- 首发:2023-05-12 00:22:56
- 互联网
- 3528
在ChatGPT等AI大模型流行前2年,我的代码就已经有超过50%是AI辅助编程情况下完成的。之所以AI编程有那么大的占比,是因为我的开发基于低代码DSL,编程过程中存在很多“套路”,因此我的开发效率通常是同类型任务开发者的2-6倍(效率与具体工作内容密切相关)。
上图为2022年使用Tabnine辅助编程中,AI自动完成的代码占比情况。
由于ChatGPT对中文注释的理解能力更强,目前我已经由团队版Tabnine切换为Github免费提供给我使用的Github Copilot,效率只增不减。
现今AI辅助编程大行其道,我们再也不用纠结于专精某一门编程语言了。毕竟编程语言设计之初就是为了人类更好的和计算机沟通,如今很多事情可以在AI帮助下快速完成,在掌握主流算法和基础数据结构的基础上,我们可以自由选择对应场景所适合的编程语言,提高效率的同时最大化利用语言优势。
截至目前(2023年5月12日),我所使用的主要编程语言占比情况如上图。
最新一周使用的编程语言如图,可以看到主要是Golang、Rust、JavaScript、C++,移除的代码主要是JAVA和PHP。近期主要在做任务管理相关的开发。
最近一个月各个编程语言的使用变化情况。近期主要在做Web开发(API开发),算法练习。
最近一年各个编程语言的使用变化折线图。
包括自有统计数据以来每隔六个月统计的编程语言使用情况等数据,我均公开在yi-ge (Yige) (github.com)。
目前来看,我本人近期使用较多的编程语言是TypeScirpt、Golang、Rust、Python。我就这几个编程语言擅长的应用场景询问了GPT4,以下是AI的回复。
rust适合做哪些事情?
Rust是一种高性能、安全和内存管理优越的系统编程语言,适合以下几种场景:
- 系统编程:操作系统开发、嵌入式系统、底层库等。
- Web后端:使用Actix-Web, Rocket等框架开发快速且安全的Web服务。
- WebAssembly:用于创建高效且安全的浏览器运行时代码。
- 并发与多线程:Rust的所有权系统有助于避免数据竞争等问题。
- 加密与区块链:构建安全、高效的加密应用程序和区块链平台。
- 游戏开发:通过Amethyst等游戏引擎进行高性能游戏开发。
- 网络编程:利用Tokio等异步库实现高性能、低延迟网络应用。
- 命令行工具:开发高效、可靠的命令行工具和脚本。
- 跨平台开发:支持多个操作系统和硬件架构的应用程序开发。
总之,Rust适合需要高性能、安全以及内存管理方面的优势的领域。
golang适合做哪些事情?
Golang(Go语言)是一种编译型、静态类型的编程语言,以简洁、高性能和高度支持并发等特点而闻名。Go适合以下场景:
- Web后端:使用Gin, Echo等框架开发高性能Web服务。
- 微服务:构建轻量级、可伸缩的微服务架构。
- 并发与多线程:Go协程 (goroutine) 和通道 (channel) 支持简单且高效的并发编程。
- 网络编程:实现高性能、低延迟网络应用,如代理服务器、负载均衡器等。
- 分布式系统:构建可扩展、分布式的计算和存储系统。
- 容器技术:例如Docker,使用Go编写的容器管理和虚拟化工具。
- 命令行工具:开发简易、快速的命令行工具和脚本。
- 数据管道和ETL:处理大数据集和构建数据转换管道。
- 云原生应用:支持Kubernetes等云原生应用开发。
总之,Golang适合需要轻量级、高性能、简洁代码以及高度并发的领域。
TypeScript适合做哪些事情?
TypeScript 是 JavaScript 的一个超集,为 JavaScript 提供了静态类型支持。它适用于以下场景:
- Web前端开发:结合React, Angular, Vue等流行的前端框架进行更强大、可维护的前端应用开发。
- Web后端开发:使用Node.js 和 Deno,结合Express, Koa, Fastify等框架进行后端服务开发。
- 跨平台桌面应用:利用Electron或Tauri等工具构建跨平台桌面应用程序。
- 跨平台移动应用:通过React Native, NativeScript 或 Ionic 等框架进行移动应用开发。
- 游戏开发:借助Phaser, Three.js等库进行2D和3D游戏开发。
- 编辑器插件和扩展:为Visual Studio Code等编辑器编写插件。
- 前端工程工具:构建前端工程化工具和脚手架,如Webpack插件、Gulp任务等。
- 云函数与Serverless:在AWS Lambda, Azure Functions等云平台上部署基于TypeScript的无服务器应用。
总之,TypeScript 主要适用于需要类型安全、高可维护性以及与现有 JavaScript 生态系统协同工作的场景。
Python适合做哪些事情?
Python 是一种通用、易学的编程语言,适用于多种场景:
- Web开发:使用Django, Flask, FastAPI等框架进行Web应用及API开发。
- 数据科学:借助Pandas, NumPy, SciPy等库进行数据分析与处理。
- 机器学习:通过TensorFlow, PyTorch, scikit-learn等库进行模型训练和预测。
- 自然语言处理:使用NLTK, spaCy, Gensim等库进行文本处理、分析及生成。
- 爬虫与网络爬取:利用BeautifulSoup, Scrapy等库获取网络数据。
- 桌面应用程序:结合Tkinter, PyQt, Kivy等库构建跨平台桌面应用。
- 游戏开发:借助Pygame, Panda3D等库进行2D和3D游戏开发。
- 脚本与自动化:编写各种实用脚本以简化日常任务和系统管理。
- 物联网(IoT):利用树莓派、Arduino等硬件平台开发智能设备。
- 云计算与DevOps:在AWS, Azure或Google Cloud等云服务上部署应用并进行自动化运维。
总之,Python是一种广泛应用的编程语言,适合从初学者到专业人士在多个领域中使用。
总结
以下是对TypeScript、Golang、Rust和Python擅长的应用场景的总结分析:
- TypeScript:
- 强项:前端开发、类型安全、高可维护性
- 场景:Web 前后端开发、跨平台桌面/移动应用、游戏开发、编辑器插件与扩展、前端工程化工具、云函数与Serverless
- Golang(Go):
- 强项:简洁、高性能、高度并发
- 场景:Web 后端开发、微服务、并发和多线程、网络编程、分布式系统、容器技术、命令行工具、数据管道与ETL、云原生应用
- Rust:
- 强项:高性能、内存安全、底层系统开发
- 场景:系统编程、Web后端、WebAssembly、并发与多线程、加密与区块链、游戏开发、网络编程、命令行工具、跨平台开发
- Python:
- 强项:通用性、易学性、丰富的库和框架
- 场景:Web 开发、数据科学、机器学习、自然语言处理、爬虫、游戏开发、脚本、物联网、云计算
在不同场景下选择最适宜的编程语言将有助于提升开发效率、降低风险,并充分利用AI技术带来的巨大潜力。
暂无内容
老师你好,我希望能用一个openwrt路由器实现IPv4和IPv6的桥接,请问我该如何实现?我尝试了直接新增dhcpv6的接口,但是效果不甚理想(无法成功获取公网的ipv6,但是直连上级路由的其他设备是可以获取公网的ipv6地)
![%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE20241205230845.png](https://cdn.wyr.me/visitor-files/2024-12-05/1733411344287屏幕截图 2024-12-05 230845.png)你好
,为什么我这里是0039 813C 0600 0075 16xx xx xx,只有前6组是相同的,博客中要前8位相同,这个不同能不能照着修改呢?我系统版本是Win1124H2
大神你好,win11专业版24h2最新版26100.2033,文件如何修改?谢谢
win11专业版24h2最新版26100.2033,Windows Feature Experience Pack 1000.26100.23.0。C:\Windows\System32\termsrv.dll系统自带的这个文件,39 81 3C 06 00 00 0F 85 XX XX XX XX 替换为 B8 00 01 00 00 89 81 38 06 00 00 90。仍然无法远程连接。原来是win11 21h2系统,是可以远程链接的。共享1个主机,2个显示器,2套键鼠,各自独立操作 各自不同的账号,不同的桌面环境。
博主,win11专业版24h2最新版,C:\Windows\System32\termsrv.dll系统自带的这个文件,找不到应该修改哪个字段。我的微信:一三五73二五九五00,谢谢