今天写作时遇到了一个过去也经常碰到的小场景需求,尝试找一款现成的工具,但没有找到合适的。想到这个功能不算复杂,干脆试试自己写一个。
我过去没有接触过苹果软件开发,但我之前可是干过 Web 开发的,编程语言都有一定的相通性,况且现在不是还有 ChatGPT 打辅助嘛,说干就干,打开 ChatGPT,稍作寒暄,说出我的第一行功能需求。
然后是下载 Xcode,创建新项目并成功运行。看到第一个 Mac 「软件」界面中间一行小字「Hello,World!」,久违又熟悉。
GPT 写代码的速度真快,还会把每一个功能模块的意思写得很清楚(这一点就胜过很多产品/项目经理和软件工程师),我虽然几乎看不懂它写得代码,但是结合详细明了的说明,还是能大概领会到代码的用意。而我要做的就是复制 GPT 写的代码,粘贴到 Xcode 编辑器中,然后运行测试。
我们不生产代码,我们只是代码的搬运工。
接下来就是持续说出我的功能需求和修改意见,然后不停的运行测试、改正(主要是让 GPT 帮我改)。一开始对功能描述不是很熟练,可能要尝试多次,慢慢有感觉了就很快了。在此过程中我发现自己似乎在把 GPT 当作一个帮手,而不是一个代码生产机器。人和 GPT 之间也是要磨合出默契的,不急不急。
现在这个 Mac 软件长下图这个样子,到目前为止我还没写过一行代码。
经过多次摩擦,程序大体还行,但是有一些 bug 始终解决不了,索性推倒重来。
这一次我把功能需求提的更具体详细一些,所接下来的开发就很顺利,大概半小时就写完了了软件最核心的功能。
当最后一个 bug 解决,软件最基本功能完成的那一刻蛮有成就感的。虽然自己一行代码都没写,但这种跟人工智能一起完成一件事的感觉还是挺奇妙的。如果让我独立去做这件事,绝不可能在这么短的时间内达到这样的小成就,甚至可能未达到就放弃了。
这个程序还非常非常原始,但是这次尝试给了我不少信心,下一步就是继续跟 GPT 一起优化一些功能细节和把界面做得好看一些。
说说这次和 ChatGPT 协作编程体验下来的一些感悟:
1,起码在编程开发这个领域,人工智能的可用度大大超乎我的想象。其实我一直有做独立软件开发的想法,过去也尝试过 iOS 开发,但是可能方法不对,很快都放弃了。GPT 可以大大降低初学者上手编程的门槛,树立一些自信心,这些对于初学者来说还挺重要的。
2,过去写代码,我是码农,我身后是产品经理。现在写代码,我摇身变成那个产品经理,而 GPT 才是那个码农。
现今软件开发行业对工程师的能力有了更高的要求,比如提问的能力,也可以说是表达的能力。我觉得表达能力会是越来越重要的一种能力,自己心里知道和能用语言、文字、视频等媒介表达出来是两回事。
3,虽说人工智能可以帮编程人员写大部分(甚至全部)代码,并且大大提高了编程的效率,但并不代表完全零基础就一定能很好的上手。人工智能只是大大降低了入门编程的门槛,并不是没有门槛。非新手,哪怕像我一样只是接触过其他类型编程语言,也会比真正的零基础有优势得多。
下面这张图片是我的第一个(尚在开发中的) Mac 软件生成的图,放在此处留个纪念。