AI时代还有必要学计算机编程吗?Python是否还是最优选

OpenAI前技术负责人Andrej Karpathy有好几个收藏量非常高的AI项目。
其中一个叫llama3.c,就是下面这个,本质上就是将原来需要很多python代码才能实现的Llama2的推理,精简成只需要700行的c语言版本。   
图片
可以说相比起几十亿的参数量,700行的代码看起来非常的少,但实际上在看完这个repo后,才发现人家这种纯粹是彻底搞懂了GPT这种东西,从头到尾的细节全都明白了。   
而对于这种专家,其实不管什么编程语言,其实都只是实现他们心目中想要的效果的工具而已。
这个项目其实就是一个铁证,很多人,包括我,都觉得现在绝大多数的深度学习项目,都是基于tensforflow,pytorch之类的库,而这几个库大多都对于Python有最大化的优化,甚至来说Python跟AI已经深度绑定了。
而高手则告诉你,语言不重要,重要的是对底层原理的理解程度,因为矩阵的变化,无非就是线性代数用编程语言的实现,python是简单,但并不代表别的语言做不到。
我的观点可能更激进一点儿,以后还会涌现更多的「编程语言」,比如有汉语编程,还会有泰语编程,克林贡语编程,甚至还可以东北话编程,川普编程。
因为编程语言在未来会变成自然语言,而不是现在的Python,c++,java等等。
 

图片

 
编程语言被发明出来是为了操作一大堆的0和1,但是实际生活中用到最多的还是自然语言,比如汉语,英语,德语,法语等等。
那为什么自然语言不能被用来编程,是因为自然语言高度的歧义性、模糊性和不确定性,缺乏形式化的结构和语法规则,难以通过计算机进行解析和编译。
图片    
这也是为什么编程语言被发明的必要性:经过严格设计和形式化的语言,具有严谨的语法和语义规则,能够确保程序的正确性和可靠性。
但是实际上编程语言不过是自然语言表达的载体。
一大堆代码实现的数据库操作,增删改查,其实就是字面上的增删改查。
那未来会不会再发明编程语言,我相信是会的,但是最终的编程语言我认为只有一个,那就是自然语言。
对了,就是自然语言->编程语言->自然语言。
最终就是人类通过自然语言实现各种想要的功能,到时候比拼的是想象力和创造力,而不再是编程能力。
当然了,离这个距离还很远,起码得看到强人工智能的苗头才可以。
不过未来一定是自然语言主导,当然也不排除脑电波直接控制(:
近期的俩例子:   
第一个OpenAI的ChatGPT,以及背后的模型GPT4,就openai一个库,就可以帮助一个人完全不懂编程的人去试着开始写一点儿程序。
就一个库:openai
使用也异常简单,就这几行,然后你把“输入你的问题”改成你想问的。
# coding=utf-8import openai openai.api_key = '输入你的key'           def use(prompt):    response = openai.ChatCompletion.create(          model="gpt-3.5-turbo",          messages=[                {"role": "user", "content": prompt}            ]        )    return response['choices'][0]['message']['content']           if __name__ == "__main__":               r = use('输入你的问题')    print(r)
然后你就拥有一个可以帮你数据分析,帮你数据可视化,帮你写程序,帮你写注释,帮你改bug等各种工作的全能助手。
所以说,未来可能每个人都是「程序员」,因为不管是用中文还是英文,本质上都是在「编程」,而要我说,程序员是AI时代里面受益最早,同时也是最容易跟AI深度结合的群体。
AI可以帮助你编程,但是基本的编程理论,AI大模型的各种技术细节以及如何将AI部署到自己的工作流中,反而是更重要且更需要提前掌握的知识。   
第二个,就是meta之前发布的SAM模型,Segment Anything Model,号称可以分割一切图像。   
图片
原图长这样:    
图片
紧接着马上就有人开发出一个自然语言为输入的工具。
比如把图中的沙发的材质换成皮的: 
图片
选中黄色的椅子:
图片
等等的功能,这相当于什么,你只要说出你的需求就可以。
当然了,这取决于未来这种辅助工具,或者说强人工智能,至少是苗头的出现才可以。
未来一定是自然语言为主要媒介的世界。