编程的未来

news2024/11/25 2:04:46

从 ChatGPT 诞生至今,在程序员的圈子里,我们一直有两种讨论:

  1. 最开始所恐慌的:编程没有未来,ChatGPT 是不是要取代程序员。
  2. 编程的方式前所未有地发生了变化。

现如今,GitHub Copilot Chat 可以让开发者们直接在编辑器里收获类似于 ChatGPT 的体验,与 VS Code、Visual Studio 深度整合,可以给开发者提供深入的分析,甚至得到对于错误的修正建议。

由于我还没有 Copilot Chat(正在 waitlist 中……),在这里就先给大家直接展示下 GitHub Copilot 的作用。它会根据你的注释或者你写的方法名等直接帮你补全后续可能会写到的代码逻辑。有的时候你会惊叹——“对!我要的就是这个!”,而有的时候你可能会疯狂吐槽——“这写的都是什么玩意儿???”。

此处附上一个完全由 Copilot 生成的项目库,主要用于解析 Java Class 文件和生成结构图。


再比如对于 Android 开发者们来说,在 Google 的 Android Studio Hedgehog 里,已经有了一项名为「Studio Bot」的对话式编程助手,可以帮助 Android 开发者生成代码、查找相关资料,学习一些开发中的最佳实践并输出出来。比如在实际编程过程中,当你碰到在 Android 范畴内的任何问题,都可以抛给它,它会回答问题,或者是直接帮你生成代码,所生成的代码可以复制,也可以一键导入到你的项目中。

下面这张图展示的,就是向 Studio Bot 进行提问生成一段用于缩放 Android 摄像头返回的 NV21 数据的工具类的代码,Studio Bot 就能在数秒之间给你生成返回,论代码质量,属于看起来还可以的样子,但代码执行起来会比较耗时(这主要还是在于 Prompt 没有写到位)。


当然,在现阶段,可能还会生成一些错误的信息。所以 Google 官方特别提示,使用时需要开发者仔细地检查代码。并且,当前对我们还有点痛苦的是,它和 Bard 一样,依然不支持中文。

还有一款名为「Cursor」的开源编辑器,集成 GPT-4,可以帮助开发者重构、理解和优化代码,支持中文。

有两种模式,一种是生成代码,按快捷键 Command/Ctrl +K,会弹出一个 Prompt 的输入框,这时输入想让它生成的代码,便会直接生成代码。同时,它还可以做优化和 Bug Fix。另外一种是 Chat 模式,按 Command/Ctrl + L 会切换到聊天界面,操作上与 ChatGPT 和前面我们所提及的 Studio Bot 是类似的。

许多人调侃,CV 工程师正在向 KL 工程师发生转移。


综合当前的这些技术创新,我们能够看到的是:在当前阶段,AI 更进一步地成为了我们的编程助手。它在至少下面这三方面对程序员的影响是巨大的。

  1. 能够解决一些可能需要搜索、查看很多资料才能找到答案的问题。多年以来,我们编程的场景一直会使用到大量的搜索,遇事不决问搜索引擎、问 CSDN、Stack Overflow,但很可能花费了大量的时间和精力,却只能查找到相关的解决方案,要解决问题还需要大量的调试和修改。而让程序员特别头疼的还有,搜索到的文章可能有 90% 都是同质化的内容,能够解决问题的往往会是那 5%-10%。而 AI 编程助手则能够很快速,而且相对精确地给我们答案,甚至是一段可以直接解决问题的代码。

  2. 还有一些编程上的体力活,比如需要写一些逻辑不复杂但代码量相对较大的活,可以直接抛给 AI 编程助手,从而实现编程效率的极大提升。

  3. 在写代码时,有时还会遇到一些不太好下手的代码,可以直接给 AI,让它去实现一些逻辑,可能会帮助开发者找到新思路。

基于此,我最近一直在思考,编程的未来会是什么样的?这种革命性的变化是牵一发而动全身的,完全改变了过去几十年来的编程规则。

我们现在能够看到的是,搜索引擎正在发生巨变,Bing 搞上了 Bing AI,带动了 Bing 和 Edge 的增长。Google 在 Google I/O 2023 上,Bard 写的代码可以一键拖拽到 Colab 里直接运行,而 Google 也推出了由 PaLM 2 驱动的全新搜索引擎。

于是,“SEO is dead?”的讨论又出现了,这一次,好像确实如此……

将时间线放得更长一些,未来还需要编程吗?在 GPT-4 发布之时,OpenAI 总裁兼联合创始人 Greg Brockman 用笔和纸画了一个网站页面草图展示给 GPT-4,而 GPT-4 基于此仅用约 10 秒的时间就生成了网页代码,设计出了静态网页。当然,放在当前来讲,还比较偏于玩票展示的性质,但在变化已经如此迅猛的今天,未来又将发生怎样的改变?是不是会像《流浪地球 2》里,因为系统被黑,量子计算机能直接实时生成操作系统,重新获取控制权限,这些动作,只需要一条指令、几分钟时间……

各位开发者朋友们,你有着怎样的想法与思考?欢迎留言我们一起交流。

本文写于 2023 年 5 月 12 日夜,和师哥一起讨论共同而成,旁边还有安静假寐的 Java(喵~)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/519961.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法修炼之练气篇——练气十八层

博主:命运之光 专栏:算法修炼之练气篇 前言:每天练习五道题,炼气篇大概会练习200道题左右,题目有C语言网上的题,也有洛谷上面的题,题目简单适合新手入门。(代码都是命运之光自己写的…

支付系统设计三:渠道网关设计02-客户端报文解析

文章目录 前言一、后台配置管理1.1 渠道配置1.1.1 渠道基本信息新增1.1.2 渠道交易类型配置1.1.3 渠道商户信息配置1.1.4 账户配置1.1.5 交易类型机构配置 1.2 渠道通讯配置1.2.1 内部渠道通讯1.2.1 外部渠道通讯 1.3 资源配置1.4 证书管理1.5 路由配置 二、运行时逻辑处理1. 控…

Fluent的视角设置

1 背景 针对不同设计方案在同一工况下的差异点进行细节分析,其中一个很重要的要求就是需要在同一视角下比较不同设计方案的差异性。设置视角并进行快速重用是很重要的提高仿真效率的方法。 2 视角设置 视角设置有2类方法:手动拖拉和定量指定。 手动拖拉即…

一图看懂 tomli 模块:一个 TOML解析器、使用 mformat -toc 生成的目录,资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 tomli 模块:一个 TOML解析器、使用 mformat -toc 生成的目录,资料整理笔记(大全) 🧊摘要🧊模块图&am…

前端开发中,定位bug的几种常用方法

目录 第一章 前言 第二章 解决bug的方法 2.1 百度 2.2 有道翻译 2.3 debugger 2.4 console.log 日志打印 2.5 请求体是否携带参数 2.6 注释页面渲染代码 2.7 其他 第三章 尾声 备注:该文章只是本人在工作/学习中常用的几种方法,如果有不对大家…

智慧园区移动应用发展面临瓶颈,如何解决?

智慧园区移动应用将在多元化服务、生态建设、智能化管理和跨界融合等方面发展,成为园区管理和服务的重要手段之一,为员工和企业提供更加智能化和便捷化的管理和服务。伴随着智慧城市的建设和智慧园区的崛起,智慧园区数字一体化建设成为园区发…

docker搭建nginx负载均衡

一点小背景 docker起了几个服务,没有配置端口映射,导致不能通过网络访问。当然,更简单的方式是加端口映射,笔者的情况更复杂一些,就想到了用nginx映射一下。 Nginx(发音同“engine X”)是异步框…

避免“文献综抄”,5种写作结构助你完成文献综述→

很多作者可能有过这样的体验:读了很多文献,但在写综述的时候总感觉不像是在写文献综述,更像在写文献总结 如果引用方面不注意,甚至会成为文献综抄。 那么,你可以参考下我们整理的以下资料哦~ 01 文献总结和文献综述的…

DCDC反馈电阻的阻值如何取值?

DCDC芯片的反馈电阻 下图为我们公司现在常用的两款DCDC芯片,TPS54335ADDA/TI和LMR14050SDDA/TI。 其中RFBT和RFBB都是反馈电阻,可以通过调节这两个电阻的比值来输出 预期电压。 FBT:feedback top&a…

保姆级丨XAMPP安装使用

0x00 前言 XAMPP 是一个完全免费,易于安装的 Apache 发行版,包含 MariaDB , PHP 和 Perl 。 XAMPP 开源软件包已经设置为非常容易安装和使用。 0x01 环境说明 Windows 11xampp-windows-x64-8.2.4-0-VS16-installer 0x02 准备工作 首先要访问…

数据库分区;pgAdmin操作pgsql分区;修改pgsql数据库名字

目录 分区 什么是分区 分区的优势 pgAdmin操作pgsql分区 创建父表 创建分区 数据入库分区 扩展(按天创建分区脚本) 修改数据库名字 链接 分区 什么是分区 指将一个大的表或索引分成多个小的、独立的部分,每个部分称为一个分区&#x…

带你了解家居智能的心脏:物联网关

本文将介绍家庭物联网关的相关内容,将明白物联网关在家庭这个场景当中的应用。现在市面上各种各样的智能家居的家电或者其他设备非常多,那么这就需要一个智能的设备去对所有的家电进行管控。这样一个设备就是家庭智能网关,家庭物联网关是家居…

Py之onnx:onnx/onnxruntime库的简介、安装、使用方法之详细攻略

Py之onnx:onnx/onnxruntime库的简介、安装、使用方法之详细攻略 目录 onnx/onnxruntime库的简介 onnx/onnxruntime库的安装 onnx/onnxruntime库的使用方法 1、基础用法 onnx/onnxruntime库的简介 Open Neural Network Exchange(ONNX)是一…

Python每日一练(20230513) 粉刷房子 I\II\III Paint House

目录 1. 粉刷房子 Paint House 2. 粉刷房子 II Paint House-ii 3. 粉刷房子 III Paint House-iii 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 leetcode题号分别为: 256、2…

32 位 ARM® Cortex®-M0+ 单片机,PY32F002B 系列微控制器

PY32F002B 系列微控制器采用高性能的 32 位 ARM Cortex-M0内核,宽电压工作范围的 MCU。嵌入24Kbytes Flash 和 3Kbytes SRAM 存储器,最高工作频率 24MHz。包含多种不同封装类型多款产品。 芯片集成I2C、SPI、USART 等通讯外设,1 路 12bit ADC…

UNIAPP实战项目笔记70 购物车删除商品的前后端交互

UNIAPP实战项目笔记70 购物车删除商品的前后端交互 思路 需要用到vuex 传id值到后端,删除指定id购物车数据 案例截图 购物车商品编辑页面 代码 后端代码 index.js var express require(express); var router express.Router(); var connection require(../db/sql.js); va…

6.Go语言学习笔记-结合chatGPT辅助学习Go语言底层原理

1、Go版本 go1.14.15 2、汇编基础 推荐阅读:GO汇编语言简介 推荐阅读:A Quick Guide to Gos Assembler - The Go Programming Language 精简指令集 数据传输: MOV/LEA 跳转指令: CMP/TEST/JMP/JCC 栈指令: PUSH/POP 函数调用指令: CALL/RET 算术指令: ADD/SUB/MUL/DIV …

PFCdocumentation_FISH Rules and Usage

目录 FISH Scripting FISH Rules and Usage Lines Data Types Reserved Names for Functions and Variables Scope of Variables Functions: Structure, Evaluation, and Calling Scheme Arithmetic: Expressions and Type Conversions Redefining FISH Functions Ex…

hadoop03

MapReduce是Hadoop系统核心组件之一,它是一种可用于大数据并行处理的计算模型、框架和平台,主要解决海量数据的计算,是目前分布式计算模型中应用较为广泛的一种。 练习:计算a.txt文件中每个单词出现的次数 hello world hello ha…

Android View 事件分发机制,看这一篇就够了

在 Android 开发当中,View 的事件分发机制是一块很重要的知识。不仅在开发当中经常需要用到,面试的时候也经常被问到。 如果你在面试的时候,能把这块讲清楚,对于校招生或者实习生来说,算是一块不错的加分项。对于工作…