在ChatGPT等AI大模型流行前2年,我的代码就已经有超过50%是AI辅助编程情况下完成的。之所以AI编程有那么大的占比2d素材,是因为我的开发基于低代码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) ()。
目前来看,我本人近期使用较多的编程语言是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:Golang(Go):Rust:Python:
在不同场景下选择最适宜的编程语言将有助于提升开发效率、降低风险,并充分利用AI技术带来的巨大潜力。