<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>编程未来 &#8211; 老范讲故事｜AI、大模型与商业世界的故事</title>
	<atom:link href="https://lukefan.com/tag/%E7%BC%96%E7%A8%8B%E6%9C%AA%E6%9D%A5/feed/" rel="self" type="application/rss+xml" />
	<link>https://lukefan.com</link>
	<description>这里是老范讲故事的主站，持续更新 AIGC、大模型、互联网平台、商业冲突与资本市场观察，帮你看清热点背后的底层逻辑。</description>
	<lastBuildDate>Thu, 23 Jan 2025 00:42:37 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://lukefan.com/wp-content/uploads/2026/03/cropped-jimeng-2026-02-28-5245-用图一的人物形象，替换图二中的人物，使用图二的风格。文字替换：老范讲故事，Yo-32x32.jpeg</url>
	<title>编程未来 &#8211; 老范讲故事｜AI、大模型与商业世界的故事</title>
	<link>https://lukefan.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>字节跳动全面进军AI编程 &#124; Trae抢占AI IDE市场，质量与免费就是杀手锏！剑指AI落地的最后一公里，仅限字节跳动在AI领域的野心</title>
		<link>https://lukefan.com/2025/01/23/%e5%ad%97%e8%8a%82%e8%b7%b3%e5%8a%a8%e5%85%a8%e9%9d%a2%e8%bf%9b%e5%86%9bai%e7%bc%96%e7%a8%8b-trae%e6%8a%a2%e5%8d%a0ai-ide%e5%b8%82%e5%9c%ba%ef%bc%8c%e8%b4%a8%e9%87%8f%e4%b8%8e%e5%85%8d%e8%b4%b9/</link>
		
		<dc:creator><![CDATA[老范 讲故事]]></dc:creator>
		<pubDate>Thu, 23 Jan 2025 00:42:36 +0000</pubDate>
				<category><![CDATA[AIGC]]></category>
		<category><![CDATA[字节跳动，故事多]]></category>
		<category><![CDATA[AI Agent]]></category>
		<category><![CDATA[AI IDE]]></category>
		<category><![CDATA[AI IDE对比]]></category>
		<category><![CDATA[AI IDE推荐]]></category>
		<category><![CDATA[AI与编程]]></category>
		<category><![CDATA[AI创新]]></category>
		<category><![CDATA[AI对话]]></category>
		<category><![CDATA[AI开发平台]]></category>
		<category><![CDATA[AI开发环境选择]]></category>
		<category><![CDATA[AI思考]]></category>
		<category><![CDATA[AI技术免费]]></category>
		<category><![CDATA[AI插件]]></category>
		<category><![CDATA[AI竞争]]></category>
		<category><![CDATA[AI编程]]></category>
		<category><![CDATA[AI编程案例]]></category>
		<category><![CDATA[AI集成开发环境]]></category>
		<category><![CDATA[AI项目管理]]></category>
		<category><![CDATA[Claude 3.5]]></category>
		<category><![CDATA[Claude模型]]></category>
		<category><![CDATA[Cursor]]></category>
		<category><![CDATA[DeepSeek]]></category>
		<category><![CDATA[Defi工具]]></category>
		<category><![CDATA[Flutter]]></category>
		<category><![CDATA[Github Copilot]]></category>
		<category><![CDATA[GPT-4]]></category>
		<category><![CDATA[GPT模型]]></category>
		<category><![CDATA[JavaScript编程]]></category>
		<category><![CDATA[Llama Coders]]></category>
		<category><![CDATA[MacOS应用]]></category>
		<category><![CDATA[MidJourney]]></category>
		<category><![CDATA[Trae]]></category>
		<category><![CDATA[Trae免费策略]]></category>
		<category><![CDATA[Trae功能解析]]></category>
		<category><![CDATA[Web开发]]></category>
		<category><![CDATA[Windsurf]]></category>
		<category><![CDATA[代码生成质量]]></category>
		<category><![CDATA[代码补全]]></category>
		<category><![CDATA[代码调试]]></category>
		<category><![CDATA[代码错误修复]]></category>
		<category><![CDATA[免费AI工具]]></category>
		<category><![CDATA[千问Coders]]></category>
		<category><![CDATA[国内AI工具]]></category>
		<category><![CDATA[国际AI战争]]></category>
		<category><![CDATA[图片生成]]></category>
		<category><![CDATA[大模型]]></category>
		<category><![CDATA[字节跳动]]></category>
		<category><![CDATA[字节跳动野心]]></category>
		<category><![CDATA[技术演示]]></category>
		<category><![CDATA[技术补贴]]></category>
		<category><![CDATA[技术趋势分析]]></category>
		<category><![CDATA[文本生成]]></category>
		<category><![CDATA[最后一公里]]></category>
		<category><![CDATA[编程小应用]]></category>
		<category><![CDATA[编程工具未来]]></category>
		<category><![CDATA[编程工具评测]]></category>
		<category><![CDATA[编程提示]]></category>
		<category><![CDATA[编程效率]]></category>
		<category><![CDATA[编程教育]]></category>
		<category><![CDATA[编程新手]]></category>
		<category><![CDATA[编程未来]]></category>
		<category><![CDATA[编程辅助工具]]></category>
		<category><![CDATA[自动化开发流程]]></category>
		<category><![CDATA[自动化项目完成]]></category>
		<category><![CDATA[自动生成代码]]></category>
		<category><![CDATA[自动编程]]></category>
		<category><![CDATA[豆包模型]]></category>
		<category><![CDATA[跨平台IDE]]></category>
		<category><![CDATA[跨平台开发]]></category>
		<guid isPermaLink="false">https://lukefan.com/?p=1864</guid>

					<description><![CDATA[大家好啊！今天给大家带来重磅消息——字节跳动的AI IDE Trae正式上线啦！啊啊啊啊，你们绝对不能错过这个改变编程游戏的革命性工具！

如果你有一个心中爱的IDEA，却苦于并不懂编程，这个问题将被Trae轻松解决！Trae以其强大的AI能力，能帮助你从零开始，快速生成原型！！！这简直就是编程小白的福音呀！

Trae结合了最新的AI技术——不仅引入了顶级模型GPT-4和Claude 3.5，还实现了整合开发环境（IDE）的完美体验。你只需要告诉它你的需求、确认一下，就能自动生成代码，完成项目！是不是觉得很神奇？

而且最最重要的是，Trae现在是限时免费的哦！🙌 这一点在市场上是绝对有优势的，因为许多同类产品都要收费，而字节跳动却愿意让你先体验，抓住你的心！

当然，对于完全的小白来说，虽然Trae能够简化很多步骤，但如果没有一些编程基础，你还是可能面临一些挑战。不过没有关系，Trae将帮助你克服这些困难，慢慢熟悉编程的世界！🎉

想象一下，你的创意可以变得如此简单，动动手指便能实现，像我刚刚用Trae生成了一个温暖的咖啡博客页面！这简直是“最后一公里”的完美解决方案！✨

所以，快来下载Trae吧，让编程变得有趣又简单！加入我们，一起与字节跳动的AI技术同行，感受未来编程的魔力！不允许有人错过这一机会哦！😄

感谢大家看完这篇文章，记得点赞、分享，更多精彩内容等着你们来发现！我们下期再见！💖

字节跳动全面进军AI编程 &#124; Trae抢占AI IDE市场，质量与免费就是杀手锏！剑指AI落地的最后一公里，仅限字节跳动在AI领域的野心。

字节跳动正式发布了旗下AI IDE工具——Trae，加入AI编程竞争的浪潮。本文深入剖析AI编程的发展历程，从早期的代码补全工具如GitHub Copilot到全新一代的AI IDE如Cursor和Trae。详细介绍了Trae的功能特色，包括支持自动项目完成、跨平台开发及其免费策略。同时，文章展示了AI编程工具在“最后一公里”场景中的实际案例，通过Flutter在MacOS和Web上开发应用的全过程。字节跳动的Trae不只是弥补了现有工具的不足，还以免费模式成为市场的潜力黑马，为未来AI编程竞争格局带来了新的可能性。关键词覆盖：AI编程、Trae、字节跳动、AI IDE、GitHub Copilot、Cursor、Flutter、Claude 3.5、代码补全、跨平台开发。]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="字节跳动全面进军AI编程 | Trae抢占AI IDE市场，质量与免费就是杀手锏！剑指AI落地的最后一公里，仅限字节跳动在AI领域的野心。" width="900" height="506" src="https://www.youtube.com/embed/yDB9909sQrA?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>字节跳动正式加入了AI编程大战，野心尽显。大家好，欢迎收听老范讲故事的YouTube频道。今天咱们来讲一讲AI编程的故事。</p>



<p>一直有人在跟我讲一个话题，叫什么呢？就是“我有一个idea，就差一个程序员了”。非常非常多有想法的人，他们被写程序这件事情拦截了，无法实现他们的想法。AI来了以后，这个问题得到了一部分的解决，但并没有彻底解决。</p>



<p>AIGC，也就是我们这一波的AI，是从哪里开始的呢？就是从写程序开始的，不是从ChatGPT开始的，也不是从MidJourney画图开始的。最早的AIGC项目，或者说被广泛传播和使用的项目，叫GitHub Copilot，就是帮助程序员写程序的。当然，这个项目并不能让那些真正的程序小白，或者说完全没有学过程序的人写出程序来，它只能帮助这些会写程序的人，或者对程序还相对比较了解的人提高编程效率。它是这样的一个工具。</p>



<span id="more-1864"></span>



<p>AI辅助编程，或者叫AI程序员，这个事情经历了这么多年的发展，现在到底发展成什么样了呢？你说我现在是一个小白，是不是就可以去用了呢？字节跳动这样的一个明显ToC的公司，大量的用户是C端用户，是个人用户，他们加入AI编程大战，是不是意味着他们推出的产品普通人就可以用了呢？咱们慢慢来讲一下。</p>



<p>现在的AI编程的发展，首先，它是分成三个大的组成部分：第一个叫插件，第二个叫大模型，第三个叫AI IDEE，叫AI集成开发环境。现在的插件，从最早的GitHub Copilot依然在不断更新升级，然后有一个叫Continue，叫继续的一个插件，这个做得也还是相当不错。还有一个插件叫C L I N E，这个插件现在用的人也比较多了。其他还有一些插件，比如说LLama Codesr，是可以使用LLama模型来进行编程的插件；MazCodes是字节跳动在国内推出的编程插件；还有一个叫通意零码。</p>



<p>大家一听就知道这是阿里做的。所谓的编程插件呢，就是你需要把这些插件插到你的集成开发环境里去，比如说微软的VS Code或者是IntelliJ。插进去以后，它就可以进行自动编程了。当然，这并不是说你告诉他说要有光，于是就有了光这样的自动编程。而是什么呢？就是你已经写好了一个程序，然后问他说我这里应该添点什么、补点什么，他会给你完成这样的工作。甚至呢，你告诉他说我这有一个错误，告诉我应该怎么去修改，他们会帮你去改错误。这是插件。</p>



<p>第二块呢就是大模型。现在我们使用AI编程的大模型呢，最主要的两个，一个是GPT-4，另外一个呢是Claude 3.5 Sonnet。其他的呢，GPT-1以及Llama专门有一个对编程重新训练或微调过的一个模型，叫Llama Coders。千问呢，也有千问Coders，这是专门给通义千问做的编程的微调。DeepSeek现在做编程的效果也还是不错的。这就是各种大模型去做编程。</p>



<p>再往后一个呢，就是IDE。IDE叫集成开发环境，就是从写程序到编译、运行、部署，所有这个东西在一起。AI IDE呢，除了刚才我们讲的这个VS Code，你加各种插件来实现AI编程之外，现在也有一些专门的AI编程那种IDE，比如说最有名的叫Cursor，它出来的比较早，这个呢是20美金一个月，主要使用Claude大模型进行AI编程。然后呢，有一个叫Windsurf，这个是前面咱们讲的Continue这个插件，他们公司做的一个AI IDE。</p>



<p>今天我们要讲的这个东西呢，Trae，这个应该怎么念，是字节跳动最新出的AI IDE产品。都是在VS Code的基础上，加上他们自己的AI agent，加上他们自己挂的一些模型，形成的完整的IDE。这就是现在AI发展到的一个状态。那么整个AI编程发展的各种历程是什么样的呢？从最早的叫代码补全，就是你写完了几句话以后。</p>



<p>他给你告诉你下边几句该怎么写。再往后呢，是开始进行自动的代码提示，或者多代码的这个更正。经常我们写的很多项目，需要在不同的代码文件里边去进行调整。再往后一步的话，他就会自动地给你在多代码文件里边进行调整，以及多代码文件进行阅读和建议。因为原来代码补全，就是你给他一个文件，他读这一个文件，现在他可以读整个的项目了。</p>



<p>再往后呢，就开始进行完整的脚本执行。这个什么意思呢？因为我们去写程序的时候，并不是说上来说，我们开一个新文件程序，第一句写什么，第二句写什么，不是这样。经常有很多这种叫做要执行的脚本，比如说命令他创建一个什么样的程序，或者命令他加载哪些库，命令他开始执行，命令他去做各种的清理。他有非常非常多这样的脚本。现在的AI编程工具呢，这块都可以自动做了，甚至呢，最终可以做成一个完整的流。什么样的流呢？比如说你告诉他，现在我想要做个博客，他就说行吧，我想想该怎么办。比如说执行了一个脚本，执行完脚本以后呢，说我根据你的要求生成了博客的页面，而又生成了什么东西。然后，这里还缺一些这个样式库，再执行一个脚本，他得一步一步这样去执行下去。基本上可以完全自动化，可以把这事搞定了。这就是目前来说，AI IDE可以达到的一个效果。</p>



<p>待会儿我们会看一个案例。那么，AI IDE到底是不是可以让小白去写程序了呢？给大家一个结论：很遗憾，还是不行的。前面有人说了，9岁小姑娘40分钟写一个游戏出来，这不是应该可以吗？这个呢，只是一个样例而已。这个9岁的小姑娘应该还是接受过一点点的编程训练的。如果完全没有任何编程训练的人，甭管是9岁还是九十岁，给你AI IDE，你还是写不出程序来的。而且呢，还要注意什么呢？就是很多这种让你觉得哇哦、这种眼前一亮的案例，都是特别编排出来的。可能这个9岁小朋友只能去写这样的一个用例出来，你让他换一个用例，他就写不出来了，里面会有很多的错误抛出来。</p>



<p>他就根本不知道该后面怎么办。这个事情，而且按道理说，按完回车，他自己再去确认确认，前进，继续什么，做一些这样的点击，为什么需要40分钟？这里头还是有一些bug需要去调整的。待会儿我们去看Demo的时候，你们就知道大概需要去调整哪些东西了。</p>



<p>但是现在的这种AI IDE呢，可以让一些稍微受过一点点快速开发教育或培训的这些人写出快速的原型程序了。工程项目如果变得很大的话，可能还是比较费劲的，但是些小应用已经是可以去跑了。</p>



<p>现在咱们来讲一下今天字节跳动推出的这个叫Trae，它到底有什么不一样？首先呢，要跟大家讲，这一块没有什么特别大的门槛。VsCodes它就是底层，大家都是在这个开源的底层基础上去改的。甭管是今天我们讲的Trae，还是前面讲的Cursor，还有Windsurf，都是在这个基础上进行修改。</p>



<p>他们使用的大模型呢，基本上也都不是自己的，就是Claude 3.5、Sonnet或者是GPT-4O，都是用这样的底层模型来干活的。他们真正在里边做的什么，就是一大堆的提示工程。Trae呢，它可以进行自动的项目完成，你只要告诉他说我要做什么什么事，后边就是确认确认确认就完事了，他就可以给你把整个项目写完。这块呢，做的还可以，跟Cursor、跟Windsurf基本上是可以达成一致的。</p>



<p>至于说生成项目的质量怎么样的话，这个我觉得可能并没有那么容易去评判，因为底层都是Claude 3.5和GPT-4O，最终形成的项目的质量或者有多少个bug或者什么，这些东西的话，有的时候看的不是这些IDE自己的能力，而是看大模型的能力，所以你去评判它意义也不是特别大。</p>



<p>那你说Trae跟其他的Cursor、跟Windsurf比起来到底有多大差异呢？最大的只有一个，免费。至少现在是免费，号称叫限时免费。未来是不是会继续免费呢？看用的人多少，用的人少的话，可能就开始收费了；用的人多可能会继续免费。很多人说不对。</p>



<p>你这个说反了吧，是不是应该用的人少接着免费，用的人多了就该收费了呢？因为用的人多，你需要消耗很多的Claude 3.5 Sonnet的TOKEN，这个东西是要收费的呀。大家想反了，为什么呢？一旦用的人多，说明什么？说明字节跳动抓住用户了，这是一个未来的方向。那么他一定会说：“我继续免费，让大家接着我，慢慢地向我整个的平台去转移。”这才是字节跳动想要的。如果用的人少的话，发现这个产品姥姥不疼舅舅不爱的，算了，收费吧，以后没有拨款倾斜了，不能再去继续赔钱了，他会变成这样。</p>



<p>所以他跟很多这种美国项目是不一样的。美国像Cursor也好，Windsurf也好，都是要收费的，为什么？因为公司很小，就算他融了资了，他也不敢说：“我拿融资的钱去给大家补贴这个TOKEN。”但是字节跳动是谁？像什么豆包这些大模型都是免费的，随便去使用。跟这些国内收费的文心一言，这些模型比起来，那这肯定是打的他满地找牙，用户就直接就回来了。</p>



<p>所以呢，越是用的多的，越说明这个产品可能会成为未来的方向，字节跳动就越会愿意花钱给大家发补贴。现在这个Trae到底怎么样了，未来还有哪些欠缺的地方可以去添加呢？第一个呢是更多的模型可以加入，现在只是GPT4O和Claude 3.5，未来的话还可以加上，比如说DeepSeek，DeepSeek R1，包括千问Codes这些模型，其实都可以加进去。因为国内你是没法使用Claude 3.5，也不能使用GPT4O的。但是呢，你每次换模型了以后，你要重新调这个提示词这块的话，他们可能还需要一些时间跟这些国内比较强的模型去进行匹配。</p>



<p>DeepSeek R1的话，应该是昨天发布的，是DeepSeek做的这种推理模型，那个编程效果杠杠的，很多指标都已经超过了Claude 3.5 Sonnet，而且特别便宜，它的价格是Claude 3.5 Sonnet。</p>



<p>可能1/10或者1/20这样的一个水平，非常非常便宜。那么未来应该是会续加的。而且现在的Trae只支持MacOS操作系统，不支持Windows。也许再过个一两个月会去支持，这个其实也很简单，因为Windows本身的操作系统比较乱，里头各种的环境都比较混乱。特别是现在的各种编程的这种底层的环境，都是在MacOS或者Linux上跑的。你让它去在Windows上跑的话，都会比较费劲。所以目前为止只支持MacOS。你说我是个Windows电脑，稍微再耐心等一等。</p>



<p>从功能角度上讲，现在其实还欠缺几块。现在呢，还不能切图。什么叫切图呢？比如说我用Midjourney画一个设计图给他，说“你给我照这样做出一个网站来”。他呢，现在只能去理解一下这个图的风格，然后我照这个风格给你把这个网站做出来。他并不能把你这个一个完整的设计图切成一小块，这个是一个图标，那是一个按钮，不能给你切出来。你按道理说呢，应该是切好了以后再去应用到网页的不同位置上去。这个实际上就是设计师跟程序员之间配合的一个过程。设计师先把这整个的界面设计出来，然后呢，再把每一小块图标、按钮或者是里边的各种图片都给你切下来，让你去使用。他是这样去工作的。</p>



<p>现在这块还没做。这块呢，我觉得以字节跳动自己在这个AI生成图片这块的这些努力的话，他们去做这一块应该是有机会的，只是现在还需要再去等。而且未来的话，有可能会加上这种自动切图。就是给你一幅图以后，自动去在里边把需要的元素切出来，以及呢，自动的图片生成。假设你有一个生成好的界面的样例了，那么说“OK，我按照这个风格去给大家做”。做完了以后说：“我这里还需要个按钮，那里还需要个图标，哪个地方还需要一个背景图。”你有一个基本的风格之后，他完完全全可以自动再去生成一些图片，把后边的一些东西补上。因为字节跳动自己也有文生图的大模型，那就直接用呗。而且现在字节跳动的文生图大模型。</p>



<p>你在豆包里是可以直接免费用的。那它如果可以把这些功能加上去，让字节的这个AI编程助手，或者叫AI IDE，被大家广泛接受和使用的话，未来这一部分应该都是可能进入的。而且字节跳动家里是什么都有，他不光是可以生成图片，还可以生成视频，还可以去做很多的图片编辑、视频剪辑，以及还可以生成声音。未来字节跳动的这个IDE里边，就有可能把这些东西慢慢都加进去。</p>



<p>那么好了，再往下咱们讲一下这个Trae到底有什么用。第一个，你如果一点编程都不会，这个事情跟你没关系。如果你稍微会了一点点编程，未来很多人就都可以使用Trae这样的AI集成开发环境去编写一些小的应用程序。为什么我要这里专门强调这个小的应用程序呢？新手程序员去写一个完整的应用，这个是非常非常难的。但是你说我去写一个小应用，这个应用只给我自己用，这块呢，难度一下就降低非常多了。为什么在这里强调第一小，第二只给自己用呢？小了，你需要考虑的问题就比较少；第二，只给自己用的话，你就没有什么兼容性的问题。你比如说我这程序跑得好好的，换你机上跑不了了。对于程序员来说，我们经常解决这上的问题。但你说我就写一个程序，自己跑一跑能使就完事了，这个呢，很多的新手程序员都可以去搞定的。</p>



<p>那么这件事情到底有什么意义呢？我为什么需要一个很小的程序，只给我自己用的程序呢？大家有没有听过一个词叫最后一公里？光纤的最后一公里，把这光纤拉到这个小区里了，但是最后挨家挨户去装的，这个叫最后一公里。还有很多人叫快递的最后一公里，比如说我们的快递柜，或者说我们已经把这个快递送到最后的一个集中站点了，再由快递员一家一家的给我们送上门来，这也叫最后一公里。即时零售和外卖的最后一公里，甭管是他有前置仓，或者外卖的小饭馆，最后由这些外卖员把这些东西给我们送到家里边来，这个叫最后一公里。</p>



<p>那你说这件事情跟我们有什么关系呢？有，现在有这么多的大模型。</p>



<p>还有很多的叫AI agent的工具，比如Codess也是字节跳动自己家的，或者是Defi这样的工具出来以后，但总是觉得好像跟我们最终的使用场景稍微差那么一点点。这个时候，就需要“最后一公里”。我们怎么把最后差的这一点点补上呢？而这一点点，对于Codes、Defi等平台来说，他们去补是很麻烦的，包括像GPT或者Claude这些大的模型公司，让他们去补这个东西也是非常烦的。</p>



<p>那怎么办呢？干脆你们每一个人回去自己去写最后这一公里吧。每一个人只要接受一点点的编程教育，大概知道程序是怎么回事，就可以使用这种AI集中开发环境去把这个最后一公里补上。我就可以把Codes里的很多AI agent运用到我们的生活当中去。这个其实才是字节跳动的巨大野心，他们要继续推动豆包、豆包的大模型、豆包自己的应用以及Codes，他们的AI IDE平台向前走。</p>



<p>如果他们可以通过Trae这样的AI集成开发环境，让所有用户把这个最后一公里弥补上，Codes就可以在所有的AI agent平台竞赛中胜出了。大家要注意，字节跳动虽然豆包的大模型现在不是那么被人看好，在各种比赛和使用体验上，豆包的大模型还是稍微差一些的。但是，Codes现在在各种AI agent的竞赛里面已经是比较名列前茅了。</p>



<p>豆包的APP聊天应用在国内绝对是异军突起，遥遥领先的一个位置。另外，还要注意一点，全世界买CPU最多的公司，除了微软、梅塔、XAI之外，就是字节跳动了。他手里有大量的显卡，字节在AI这一块的野心一直都是非常大的。那么，他们推出的这个Trae应该也是为了补全他们野心中的一个缺口。如果这个缺口补上去了，能够一直免费下去，后边就没有cursor和Windsurf什么事情了，可能未来就只能往这个方向走了。而且，就算是GPT也是要付钱的。</p>



<p>微软给的 GitHub Copilot 也是要一个月 10 美金，要付钱的。再怎么着，你也没有这个纯免费的香。在这一块，字节跳动应该有可能在未来 AI 战争中拔得头筹。</p>



<p>再往后呢，我们去做一个 Demo，让大家看一看这个东西到底能干什么。下面呢，我们来做一下演示。第一件事呢，是要去下载网址，就是这里 Trae.AI。如果你是 MacOS 电脑，就可以去下载了。下面我们去看一下 Trae 到底长什么样子。</p>



<p>大家注意，这里是有一个聊天，有一个 build 构建。build 现在还是 Beta，也就是说如果 build 出什么问题了，别怪我。正常的聊天的话，就跟我们使用普通的这种 AI 编程工具是一样的。你跟他聊天，说我有这样的问题，有那样的问题，他会一点一点的帮你去调整。但如果使用 build 就全自动了。</p>



<p>上面还给你两个案例，一个是生成贪吃蛇游戏，一个是生成 to do list 的应用。大家看到那种 9 岁小女孩快速完成一个应用的这种事情呢，基本上都是点击，他们这种案例是可以出来的。你稍微改一点，他就出不来了。</p>



<p>所以今天呢，咱们稍微难为他一下。咱们先去打开一个文件夹，创建个新的吧。咱们找个他不太熟悉的东西去玩一下。现在给大家演示呢，很多人都是玩什么 note GS 或者是这种 next GS，使用这样的这种纯前端的项目给大家去做演示。今天呢，咱们去稍微的给大家演示一个它没那么熟的跨端应用。</p>



<p>Flutter 应用就是可以在 MacOS、Windows、iOS 和安卓上，以及 Web 上运行的一个应用。不这么复杂，今天我们就只展示这个 MacOS 和 Web 的应用吧。第一件事先整给他张图片，是一张咖啡手绘风格的一个博客的图片，这个图片是 Midjourney 画的。</p>



<p>好，现在我来写提示词了，请按照设计稿，在当前目录做一个 Flutter 应用，可以在 Web 和 MacOS 平台上使用。回车，干活去了。上来大家看到吗？</p>



<p>叫AI思考中。首先告诉我们，我会帮你创造一个Flutter的博客应用。从设计稿来看，我采用了温暖的咖啡色调作为主色调，创建一个优雅的博客界面。然后说说我要执行这句话了，你要点执行点运行。你看，这边开始干活了。这呢也告诉你说，我已经创建好了这些基础的文件。</p>



<p>然后他后边又思考中了，说我要再去修改文件了，说我要去修改mean.Dart和mean.dot文件，然后要去改下边这个文件。首先现在先把这个文件先拿出来读了读，读完了以后进去改去了。这边还在转呢，就是我们要耐心等着他慢慢转去。转完了以后他会告诉我说，我要加点什么减点什么。说我现在要改这文件了，你说我们全部接受，就给你都写进去了。他实际上改什么？改颜色去了。他要按照这个咖啡师的这个方式去改颜色。说做完这个，我们就可以执行一下了。</p>



<p>那执行吧，他要再思考一下。这执行起来了，这个颜色有了，但是呢，你看里头所有图都没了。刚才我们也讲了，他缺一些什么呢？缺这个切图的功能。如果你没有切图的功能的话，这个出来就会变成这样。好，你看他上面写了说，请检查一下Flutter Web应用是否已经成功运行了，以便我们可以预览博客的界面。</p>



<p>看，已经成功完成了Flutter博客应用的基本实现，创建了支持Web和Mac OS平台的Flutter项目，实现了主页面的布局，包含了博客列表展示，设计了温暖的棕色调主题。因为我给了这张咖啡的相关的图片嘛，待会我们来看一下这图片长什么样。然后呢，添加了搜索和这个新建博客的入口按钮，实现了响应式的卡片博客布局。每个博客卡片包含了标题、预览内容和发布时间，成功启动了Web版本的预览和测试。</p>



<p>他做了这样的一个东西出来，让我们来看看这东西长什么样。你们应该还没有看到运行的一个结果，这个东西长成这样了。告诉我们说，我这是有博客的主题，博客的预览的信息，一个发布的时间，做了这样的一个东西，还有一个添加文章的一个按钮。</p>



<p>但是，他后边并没有去实现这个按钮。搞定了，那你说这种东西我要他干嘛使呢？那么丑陋，对吧？来吧，咱们干一个有趣的事情吧。我们来加一个调AI agent的API吧。来，先把这个应用的停止共享，关掉，重新共享脐橙开发环境。在这里添加一个页面，可以和AI agent聊天，要聊天界面。AI agent上哪去询问呢？我们用Defi吧。这是一个什么样的Defi功能呢？就是每次我给他一句话，他就给我写一个Midjourney的提示词出来。它实际上是用的DeepSeek V3的大模型来实现的相关功能。下一步怎么办呢？来，发布访问API。我们要使用它的API，我就把这些东西贴到Trae里面了。现在就不给大家看那边了，因为这个切来切去的太麻烦。</p>



<p>再往下一件事呢，是需要key。我怎么调用这个API？来，我们也告诉他API。好，看一下，我现在写了一个很长的提示词，说我要添加一个页面，可以和AI agent聊天，要聊天的界面。API的输入格式是这样的，这个是刚才我们从Defi里面去抄的，输出格式长这样，具体就不跟大家仔细看了。API key是这样，然后再写一个将输入改成阻断模式。好，回车，他干活去了。跟大家讲这个，什么叫阻断模式？就是我们经常看到，甭管是ChatGPT或者其他AI agent聊天的时候，那个字是一个一个蹦出来的，它叫流模式。如果是说我打完回车之后，一次性把所有的结果都出来，叫阻断模式。我们就不去处理流模式，稍微麻烦一点点。</p>



<p>好了，首先呢，他说我们要去增加一个按钮，接受。有了这个按钮以后，点击这个按钮就可以到新的页面里去了。他现在去创建新的，叫做chat page，那就是一个聊天的页面了。大家看嘛，这儿还有错呢，这个地方是有错的。为什么呢？因为那个chat page还没有创建出来，这块呢要稍微的等它一小会儿，全部接受，等于又给你做了一个200多页的文件出来。</p>



<p>这里也还有一些错误。这个错误是什么呢？AI修复一下。我估计应该是没有引用对这个东西。接受，应该在这个里边添加这个。这就属于比较笨了，所以大家看到了吗？这东西还没有那么聪明，就是需要改一些其他文件的时候，有时候没改对。所谓这个pop space.YAML，这个文件是干嘛使的呢？看他哈，还是没有自己把它加进去哈，那我们来手动添加吧，手动添加，添到这里吧。</p>



<p>Dio，这就是我们需要哪些库，就是干这个的。这还有个错误，AI修复。我现在就把自己当成完全不会写程序的人选，当然会稍微会一点点。如果完全不会的话，你们会看到说这个还是有一点难度的。修复接受，这是什么错误？缺了一个引用，就是我们做了一个新的文件，他忘了引用了。那么这块你说一点都不会咋弄，还是会有一点难度的。</p>



<p>OK，这个程序我们就可以去跑了。给大家看一下它运行起来以后的结果。这一次呢，我们并没有用Web的方式启动，它现在是一个Mac OS上的APP的一个应用。看，这里这个debug后面有一个按钮，这个就进入到我们的聊天的界面里来了。抱歉，发生了一些错误，请稍后重试。我们要来看一下发生了一些什么样的错误，经常还是会有错误的嘛。</p>



<p>还有呢，这个debug很丑陋，我们要看看怎么把它消掉。让我们回到开发环境里面去。首先我们要求删除主界面上debug的标签，还要思考一下，他想清楚了，要加哪句话。然后呢，说我现在要去修改程序了，全部接受，搞定。然后呢，我们再告诉他说AI聊天的时候报错误了，但是没有看到错误信息，将错误信息放在页面底部显示展示。他只告诉我们一个有错，这事你让我怎么去改这个东西嘛。</p>



<p>其实我们还可以去debug，这个事是可以的，但是我们用一些更简单的方式来去处理它。他要在这个文件里边去调整，全部接受，执行。首先看我们这里刚才有一个debug的，这个标签就没了，刚才我们做的第一项修改。然后进来，这个是什么意思呢？</p>



<p>实际上是他拒绝了为我们去连接。这个也是一个很常见的错误。什么意思呢？就是我们这是一个Mac OS应用。在做这个应用的时候，需要向本地的操作系统申请权限。我们没有申请去联网这个权限，所以他就给我们拒绝了。</p>



<p>我们先用一些简单的方式来测试吧。我们先不让他通过MacOS的方式来启动，这个需要去修改很多东西。当然，你具体也可以在项目里边去修改。你就是直接要求说：“我这现在缺一个权限，请给我加上。”这个事是可以的。</p>



<p>下面，我们用这个Chrome的方式来去执行Web的方式，它就没有这种问题了，它就可以直接去跑了。好，让我们开了一个页面，展示咖啡。好，你看，它给我们写好了提示词回来了：“午后，阳光洒在咖啡桌上，桌上有咖啡、糕点和一本书。”我们已经成功地自己写了一个程序，然后自己跑到我们的defi的服务器上去调用了。这个程序是大家眼巴瞅着我写的吧？一个舒适的咖啡桌，温暖的下午的阳光，有一杯咖啡，一个糕点，打开的书，阳光的角度，直接给你去写去了。就拿它去画MidJourney，不是效果很好吗？就可以得到我们想要的东西了。</p>



<p>但是你说，我们现在还想再看一眼，在Mac OS上怎么把刚才咱们这bug解决掉？好吧，咱们稍微再花一点点的时间来去解决这个问题。首先，我们要在Mac OS上去执行，然后告诉他说：“现在操作系统禁止我的MacOS应用访问HTTPS的网址，请帮我打开权限并刷新执行环境。”回车他就去干活去了，又开始AI思考中。呀，好喜欢这几个字。他告诉我会帮你配置MacOS应用的这个网络访问权限，需要在这个里面添加权限声明。他告诉你这个文件是在什么什么地方， 说我们需要在这个文件里头去配置。那么接受再release一个东西出去，再接受执行。它要Flutter clean，如果不clean的话，他是有问题的。Flutter clean完了以后，怎么给了我一堆错误？执行，他去执行去了，看看这次对不对。</p>



<p>执行起来了。好，我们的MacOS应用在这里呢。点咖啡，看着有点像哦。出来了！我们在AI的帮助下，又把这个错误修复掉了。</p>



<p>但是你们有没有发现，如果你没有任何的编程经验的话，出了错误你是不知道该怎么办呢？但是像我这种稍微有一点点编程经验的业余程序员，就可以拿这种程序去进行调整了。而且这个程序，因为我是用Flutter写的嘛，我可以在Mac OS上运行，也可以在iOS和安卓上运行。以后我就可以把自己的一些AI agent，包括本地知识库，建立在网站上去。然后呢，自己写一个程序，在手机上就可以随时调用了。</p>



<p>这个就可以去展示什么叫“最后一公里”。否则的话，甭管是Defi也好，还是直接跳动自己做的Codes也好，都没有那么方便，最后一公里没有那么完善。现在所做的这些AI IDE或者AI集成工具，实际上就是帮助大家去补齐最后一公里的。</p>



<p>今天讲到这里，感谢大家收听。请帮忙点赞，点小铃铛，参加Discord讨论群。也欢迎有兴趣有能力的朋友加入我们的付费频道。再见！</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>谷歌代码1/4由AI生成：程序员的失业危机即将到来还是杞人忧天？</title>
		<link>https://lukefan.com/2024/11/06/%e8%b0%b7%e6%ad%8c%e4%bb%a3%e7%a0%811-4%e7%94%b1ai%e7%94%9f%e6%88%90%ef%bc%9a%e7%a8%8b%e5%ba%8f%e5%91%98%e7%9a%84%e5%a4%b1%e4%b8%9a%e5%8d%b1%e6%9c%ba%e5%8d%b3%e5%b0%86%e5%88%b0%e6%9d%a5%e8%bf%98/</link>
		
		<dc:creator><![CDATA[Luke Fan]]></dc:creator>
		<pubDate>Wed, 06 Nov 2024 00:38:00 +0000</pubDate>
				<category><![CDATA[AIGC]]></category>
		<category><![CDATA[Google的故事]]></category>
		<category><![CDATA[AIGC工具]]></category>
		<category><![CDATA[AI代码生成]]></category>
		<category><![CDATA[AI合成]]></category>
		<category><![CDATA[AI和人类]]></category>
		<category><![CDATA[AI审校]]></category>
		<category><![CDATA[AI工具]]></category>
		<category><![CDATA[AI工程]]></category>
		<category><![CDATA[AI延伸]]></category>
		<category><![CDATA[AI替代]]></category>
		<category><![CDATA[AI算法]]></category>
		<category><![CDATA[AI编程]]></category>
		<category><![CDATA[AI编程工具]]></category>
		<category><![CDATA[AI编辑]]></category>
		<category><![CDATA[AI计算]]></category>
		<category><![CDATA[AI设计]]></category>
		<category><![CDATA[AI语音]]></category>
		<category><![CDATA[Facebook Copilot]]></category>
		<category><![CDATA[Github Copilot]]></category>
		<category><![CDATA[IT行业趋势]]></category>
		<category><![CDATA[Microsoft GitHub]]></category>
		<category><![CDATA[OWL编码]]></category>
		<category><![CDATA[临界点]]></category>
		<category><![CDATA[云端数据库]]></category>
		<category><![CDATA[产品向程序员]]></category>
		<category><![CDATA[人工与AI]]></category>
		<category><![CDATA[人工智能]]></category>
		<category><![CDATA[人工码农]]></category>
		<category><![CDATA[代码合并]]></category>
		<category><![CDATA[代码库]]></category>
		<category><![CDATA[代码统计]]></category>
		<category><![CDATA[代码自动化]]></category>
		<category><![CDATA[分子系统]]></category>
		<category><![CDATA[制度改变]]></category>
		<category><![CDATA[前端程序员]]></category>
		<category><![CDATA[失业危机]]></category>
		<category><![CDATA[安全认证]]></category>
		<category><![CDATA[对话窗口]]></category>
		<category><![CDATA[岗位替代]]></category>
		<category><![CDATA[工具使用]]></category>
		<category><![CDATA[工具差异]]></category>
		<category><![CDATA[工具选择]]></category>
		<category><![CDATA[市场竞争]]></category>
		<category><![CDATA[开发工具]]></category>
		<category><![CDATA[开发者指南]]></category>
		<category><![CDATA[技术应用]]></category>
		<category><![CDATA[技术更新]]></category>
		<category><![CDATA[技术革新]]></category>
		<category><![CDATA[接口代码]]></category>
		<category><![CDATA[数字化]]></category>
		<category><![CDATA[数据分析]]></category>
		<category><![CDATA[数据生成]]></category>
		<category><![CDATA[文生图工具]]></category>
		<category><![CDATA[文科生编程]]></category>
		<category><![CDATA[未来挑战]]></category>
		<category><![CDATA[未来科技]]></category>
		<category><![CDATA[消费者吸引]]></category>
		<category><![CDATA[用户需求]]></category>
		<category><![CDATA[界面代码]]></category>
		<category><![CDATA[界面规划]]></category>
		<category><![CDATA[百度AI]]></category>
		<category><![CDATA[程序员失业]]></category>
		<category><![CDATA[程序需求]]></category>
		<category><![CDATA[算法代码]]></category>
		<category><![CDATA[算法程序员]]></category>
		<category><![CDATA[类库]]></category>
		<category><![CDATA[类目优化]]></category>
		<category><![CDATA[系统连接]]></category>
		<category><![CDATA[编程创新]]></category>
		<category><![CDATA[编程学习]]></category>
		<category><![CDATA[编程技术]]></category>
		<category><![CDATA[编程效率]]></category>
		<category><![CDATA[编程教育]]></category>
		<category><![CDATA[编程未来]]></category>
		<category><![CDATA[编程简化]]></category>
		<category><![CDATA[美术AI]]></category>
		<category><![CDATA[职业前景]]></category>
		<category><![CDATA[自动化]]></category>
		<category><![CDATA[自动补全]]></category>
		<category><![CDATA[行业发展]]></category>
		<category><![CDATA[行业变革]]></category>
		<category><![CDATA[行为艺术]]></category>
		<category><![CDATA[计算机革命]]></category>
		<category><![CDATA[设计师AI]]></category>
		<category><![CDATA[谷歌AI]]></category>
		<category><![CDATA[谷歌代码]]></category>
		<category><![CDATA[进阶编码]]></category>
		<category><![CDATA[逻辑代码]]></category>
		<category><![CDATA[阿里AI]]></category>
		<guid isPermaLink="false">https://lukefan.com/?p=1674</guid>

					<description><![CDATA[哇！大家快来围观！最近发现一个超级震惊的信息——谷歌的最新财报透露，居然有1/4的代码是由AI生成的！😱这到底是不是真的？难道程序员们要失业了？我们一起来扒一扒这个神秘的内幕吧！

首先，这个消息源于谷歌的CEO在电话会议上说的！他表示，现在谷歌的程序员还需审查并确认这些代码，就像医生开药一样——AI给出建议，人来把关！这种合作方式难道意味着程序员的价值在下降吗？

不过，百度和阿里也纷纷宣称，各自的代码中也有不同程度的AI生成代码。哟，这是什么操作？看起来大家都想搭上AI的顺风车！但我得提醒你们，别被那“具体”的数字给迷了眼，真正的统计是相当复杂的，这可不是瞎说的！🙄

试想，如果你原本的团队是10个程序员，现在只剩8个，那是不是马上就能算出“哇，我们的代码里有20%是AI”了？这无疑是“数字游戏”！小心呀，程序员们要重视自己的价值，AI再厉害，还是需要我们来把关！🤔

当然，有很多程序员开始担心自己的未来，我也不是没想过这个问题！但我认为，让AI来辅助我们，其实是一种提升效率的机会！我自己用Github Copilot编程的时候，那可是嗖嗖的加速啊！我原本不擅长的技术，从此轻松上手！谁说程序员就要被AI取代呢？我们可以选择在AI的帮助下，变得更强！

所以，程序员的朋友们，趁现在学习编程，保持对新技术的敏感度，不要沦为被替代的对象！而是拥抱它，成为懂得运用AI的程序员！💪✨

要记住，最终我们需要做的，不是与AI争斗，而是提出问题、检查结果！找到更多的需求，这才是生存之道！所以，别再担心失业了，未来你会发现：你和AI的合作将开启新的领域！让我们一同迎接未来吧，家人们！❤️

谷歌代码1/4由AI生成：程序员的失业危机即将到来还是杞人忧天？

谷歌在其财报电话会议中透露，目前至少有1/4的代码是由AI生成，如同医生依赖AI提供建议般，程序员面临调整工作模式的挑战。百度声称27%的代码由AI生成，而阿里则是20%。代码统计本无固定标准，而谷歌等巨头此时大力推崇AI益处在于市场竞争需要。微软GitHub Copilot在AI工具中独占鳌头，并无发布生成代码比例声明。逻辑、算法代码短期依然需人工参与，但界面和接口代码极易被AI替代。对程序员行业来说，发掘更多需求为重心，避免失业风波。尽管AI代码比例攀升，最终人类仍需提出问题和校验结果，掌握提出需求和审查结果能力为关键。]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="谷歌代码1/4由AI生成：程序员的失业危机即将到来还是杞人忧天？" width="900" height="506" src="https://www.youtube.com/embed/NChhTfwyXZI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>谷歌最新的代码中，居然有1/4是由AI写的，这到底是不是真的？程序员是不是又要失业了？大家好，欢迎收听老范讲故事的YouTube频道，咱们来讲一讲谷歌代码的事情。</p>



<p>首先，上面这个消息是哪来的？谷歌在发布三季度财报的时候，开了一个电话会议，由Alphabet的CEO皮彩直接在财报电话会议上讲的。他说我们现在至少有1/4的代码是由AI生成的。人干嘛去了呢？读这些代码，然后再把它确认入库，就像是AI建议大夫怎么开药，大夫开完药以后要在下面签名字一样。现在他是这么来工作的。</p>



<p>其实现在各个公司都在讲这个事情，百度宣称他们的代码里头有27%是由AI生成的，阿里呢，宣称他们最新的代码里头大概有20%是由AI生成的。当然，这个里头，百度应该是在骗人。</p>



<span id="more-1674"></span>



<p>那你说为啥呀？有25%的，有20%的，有27%的，咋这27的就骗人了呢？大家要注意，甭管是谷歌说的至少1/4，还是阿里说的20左右，这个数其实都是一个大约的数字，或者说是一个概念性的数字。而这个里面，一旦提到一个很具体的数字，比如像27%这种数，那么这个数通常不会是真的，因为你很难去统计到底哪一行代码、哪一个字符是由AI生成的。你到底是按照行数，还是按字符数，还是按照什么样的方式来去统计比例，这个事情其实是没有一定之规的。</p>



<p>所以真正能够去验证说代码到底有多少是由AI写的，只有一个方法：你开除了多少程序员。原来10个程序员写代码，现在剩8个了，那你20%代码是AI写的；原来5个程序员写代码，现在剩4个了，开了一个，那你25%的代码是由AI写的。那这个里头，你到底能不能算到一个27%这样的一个有零有整的数据呢？这个大概率在骗人。</p>



<p>那咱们讲到开人的事情了，谷歌的程序员肯定就不乐意了嘛，上来说：“我们不承认这个事，你凭什么说我们25%的工作都是由AI做的？这不行，你是要降薪呢，还是要裁员？咱得把话说清楚，咱不能随便一张嘴就来这个事。”</p>



<p>当然，谷歌说这个话，包括百度、阿里说这个话，咱们能够理解他。为什么？因为人家是要靠AI来挣钱的。如果你自己不在身上贴个标签来，我也用AI了，你怎么好意思把AI的产品卖给别人呢？所以这个话人家还要说。其实，真正在里头挣到最多钱，或者说用户量最大的那个产品，他们公司啥也没说。最大的产品是谁？是微软的GitHub Copilot，这个是AI编程工具里的老大。但是微软从来没有出来说过，我们家百分之多少的代码是由AI写的。这已经不需要去争辩了。</p>



<p>其他需要追赶的厂商，挨个儿要出来说。当然，百度呢，属于是想去吹个牛，结果还没吹好的那种。人家20%、25%，他整了27%，稍微有些丢人。那么，从程序员的角度上来说，到底有多少代码是由AI生成的呢？因为我自己也是程序员，虽然现在只能算业余程序员。当然，有了AI编程以后，我觉得我这个业余程序员又行了。现在我的编程能力蹭蹭蹭的往上涨，我现在可以去学习一些原来不会的编程技术，因为我并不需要把一本书看完了。我只需要问GitHub一些问题，然后到VS Code里头用GitHub Copilot，就可以去进行新技术的使用，去编程去了。这还是非常开心的一件事情。</p>



<p>我们要去衡量，到底有多少代码是由AI自动生成的，这件事本身其实没什么意义。为什么呢？很早的时候，我应该是在2007年，在Borland的公司任职的时候，当时我们的开发工具里头就有这种代码自动补全的功能。只是当时的代码自动补全，它是根据你整个项目的编译结果来进行补全的。但是他的补全也不像现在这样，你可以补出一个完整的函数来，或者补出一整段代码来。他能干嘛呢？就是当你去一个地方，说我现在要补全这一个单词后半截，他是可以做到的；或者是说我需要去填参数，需要去填空的时候，他会给你一个比较好的建议，比如说，这里应该是填一个什么样的参数，什么类型的，你前面有没有定义过这样的东西。</p>



<p>可能是哪个哪几个里面去挑一个。他可以把这个约束条件收束得比较紧，然后让你一次性命中，或者可能一两次就可以命中。你真正要去填的这个东西，已经可以极大地提升效率了。这是在很早就开始有的。而且我们写程序这件事呢，我们经常干这种叫“一句顶一万句”的事情。</p>



<p>什么叫“一句顶一万句”？前两天跟一个语言学家去聊天的时候，他给我讲了一个事情。我们问他说，语言发展的方向是什么？人类语言发展的方向是什么？他给我们讲说，全人类的语言发展方向都是变得越来越简单。因为像西班牙语、俄语这种又非常复杂的各种格式的语言，现在都在变得越来越简单。因为你要交流、要沟通嘛。而且会有越来越多的这种代词，会有一些新的词汇产生。这些词汇可能原来会有一个很复杂的意思，他就用一个缩写，或者用一个很简单的词就给你带过了。</p>



<p>它是这样的一个发展趋势。人类可能说的话始终就是这么多，但是呢，我们这个话语里边所表达的含义，会变得越来越丰富，信息密集度越来越高。而且在这个过程中呢，各种对格式的要求会变得越来越低。当时他讲完那个故事以后，我就想起了我们程序员的一句顶一万句了。</p>



<p>我们使用的叫类库（class library）。原来你要去写程序的时候，你要写说：“我在屏幕上哪个点画一个红色，画一个绿色，下一个点再画一个什么颜色，拼起来是个按钮或是什么样的。”以前你要这么来写程序，但是现在的话，我们只需要告诉他说：“请给我画一个按钮，下头有个阴影，什么样的字体，给我写什么字上去就完事了。”那中间执行的部分都是谁来执行的呢？就是类库来执行。</p>



<p>你下一次说：“我连这个按钮具体想摆在什么地方我都不想告诉你了。”那你可以告诉他什么呢？你说：“请给我按照横向平均排列，比如三个按钮横着了。”他给你均匀地排开，或者你给我按照纵向什么排列。为什么我们后来这么写程序，不再告诉他你给我从左上右下去写？这个其实很简单，因为我们后面面临的各种设备越来越多，各种设备的分辨率是不一样的。</p>



<p>你如果每一次都写死了，说请给我从左边哪个点开始画，上面哪个点开始画，右下哪个点结束。你换到不同的设备上，长的位置不一样。所以我们后来都是改成说，请按照一个比例，给我画在一个什么位置上。那甭管你用什么样分辨率的设备，我们都保证这个按钮是在一个相应的比例的位置上。基本上是一句顶一万句。</p>



<p>那你要这样算的话，我们可能写了几百行的一个代码，但是呢，实际上这个代码编译了以后，可能有几十万行，或者有几百万行，因为你每一句后边，可能都调用了非常多的底层程序去工作。所以你说我来算一下，到底有多少代码是由人写的，有多少代码是由AI写的，或者人写的多少代码去调用了AI写的多少代码，或者AI写的多少代码去调用了人写的多少代码，这个事其实是没有什么意义的。</p>



<p>所以为什么我说百度，这个稍微有点夸张，27%算的还有零有整了。那么到底什么样的代码适合AI生成呢？有各种各样的地方都可以写代码。你说C代码适合AI生成，Python代码适合AI生成，Java代码适合AI生成，这个都没有什么意义。现在呢，AI代码生成器是我们常用的代码，都是可以生成的。</p>



<p>那么到底什么样的代码更适合AI生成，应该怎么去分类呢？我们分成四类：界面代码、逻辑代码、算法代码和接口代码。一般写程序大概率就是这4种东西。</p>



<p>什么叫界面代码？就是刚才我描述的，哪个地方写一个按钮，按钮什么颜色，字是多大字，字体什么样的，字写什么颜色，摁了以后该怎么办，这个东西呢就叫做界面代码。</p>



<p>哪一部分叫逻辑代码呢？逻辑代码就是，比如说你现在要去做一笔交易，这个交易我应该先确认一下库存够不够，然后确认库存够了以后，我在库存里扣除你的钱，把东西发快递发给你，然后把钱存到我自己账户里去。这一部分呢叫逻辑。</p>



<p>然后呢，算法代码，比如说我现在需要做个排序，需要做个查找，需要做一个很复杂的分类，这个东西呢就属于叫算法。特别是像现在做AI算法这一块，要求会越来越高。</p>



<p>还有一块程序叫接口程序。接口程序干嘛呢？比如说，我今天要使用谷歌的账号来进行登录，我就需要去查一下谷歌的文档，谷歌账户登录的这个API应该怎么去写。我应该先到谷歌哪个地方去申请这个权限。申请好权限以后，得到一个叫做TOKEN的东西。然后呢，再把这个TOKEN放到我们自己代码里去，按照谷歌的文档去调用某一个接口，把TOKEN放上去，说明现在我要用这个TOKEN，然后用谷歌的账号去登录。</p>



<p>得到了谷歌账号登录以后的一个凭证，之后我们在网上做各种操作的时候，就可以使用谷歌账号登录以后的凭证，再去申请各种各样的权利。这部分呢，实际上就属于接口代码。这四个里面，逻辑代码跟算法代码相对来说没有那么容易被替代，而剩下两部分，界面代码跟接口代码呢，相对来说是比较容易被AI所取代的。</p>



<p>而接口代码呢，是更容易被AI取代的。为什么呢？因为你不需要好看的界面代码，界面好不好看这件事是要靠人来看的，这个事情你没法完全被AI取代。但是接口代码是可以完全被AI取代的。像刚才我们讲的百度、阿里、谷歌，他们所使用的代码里头，接口代码的数量占比是比较高的。像公司内部这么多的分子系统，需要跟公司外部的各种系统去连接，所以他们需要大量的接口代码，这部分完完全全都可以交给AI去处理，而且AI会处理得非常好。</p>



<p>你不需要去看文档了。比如说，我举一个例子，我前两天希望在我的一个程序里边使用谷歌家的Firebase这种大数据库。原来你需要干嘛？看文档，看各种的接口，再进行一步一步的配置。因为你可以直接从Web端访问这种云端数据库，所以它在安全处理上做了非常多的认证，这不是那么容易的。我就交给AI了，我说我现在要干这个事情怎么办。它说，行吧，我给你搞定吧。你第一步先到谷歌那去申请这个授权。我说申请完了，那行了。然后它说，下面我们去执行哪一个命令。</p>



<p>这个命令就可以自动化地帮你做完所有的配置。然后我就开始做这个命令，做完了以后说，谷歌上你申请了哪些项目？你现在想把你这一个APP所使用的数据库挂在哪个项目的授权里头去。然后只要选一下，剩下都不用管了。他在问你说，你这个应用是要在Mac OS、Windows、iOS、安卓、Web，需在哪些端跑。先是打勾，打完勾以后，一按确认，他就呲咔嚓嚓嚓咔给你去搞去了。可能在这个过程中，他就生成了几百行、上千行代码，把所有的配置给你做完。这就是挺好的事情嘛。</p>



<p>现在呢，有非常多的成熟的AI编程工具。我最早使用的AIGC工具实际上就是Github Copilot，它就是AI编程工具，非常好用。现在呢，我自己个人使用最多的AI变声工具还是GitHub Copilot，那没办法，我交了100美金给他，我总要把这一年使完。虽然很多人都说Cursor好用，我也确实用了一段时间，在他给我的免费试用期里试了一下。但是现在看来呢，我觉得Github Copilot还是很好用的，可以把Cursor基本上扔掉了。为什么呢？就是底层的模型还是做得很好的嘛。</p>



<p>你像Cursor自己，底层的模型也是用的GPT-4O，GPT-4O MINI，用的GPT-o1以及Cloud 3.5 Sunnet。现在Github Copilot也是把所有的模型都扔进去了，而且下一步可能还会去开Gemini 1.5 Pro这样的模型进去。他的所有功能又非常完善，我觉得Github Copilot还是可以再战几年的。而且Cursor再怎么着，他需要20美金一个月，他一个月要找我多收10美金，还是觉得稍微有些心疼。</p>



<p>国内呢，有一大堆免费的产品，比如说阿里的通义零码，百度的叫文新快码，质朴的叫Codegeex，字节叫MARSCODE，就是火星代码。这些都不要钱，免费的大家可以随意去使用，效果呢其实都还可以。我用过字节的MARSCODE。</p>



<p>其他几个用的不多，基本上可以满足大家的需求。现在所有的这些工具做的，使用的方式都差不多。你只要向它提出要求，说我想去做什么，什么事情都是有聊天窗口。你直接提完要求以后，它给你生成代码。生成完代码以后呢，你只要说：“哎，我现在需要去进行合并了。”它就把新生成的代码直接跟你原来的代码进行比较。合并完了以后告诉你：“哎，这我给你加点什么，那给你改点什么。”你只要去确认就行了。确认完了以后，这些代码就合并到自己的代码库里边去。</p>



<p>或者说你直接在代码库里边打字的时候，它也会根据当前的情况给你做一些建议，使用方法都很像。另外呢，所有的工具都有代码解释。什么叫代码解释？就是你选中一段代码，问：“给我讲讲这段代码说什么。”以及改错误。遇到错误了，或者有什么错误信息出来以后，把这些东西扔给这些大模型的聊天窗口，问：“这到底咋回事，我应该咋改？”所有这些功能差不多，但也都有很多不方便的地方。</p>



<p>你比如说，我最近在学习一个新的开发环境，叫 Next.js，算是一个前端加后端的开发工具吧。实际上都是错的，因为分很多版本，不同的版本之间有不同的约束。每一次在回答问题的时候，它就忘记了你前面的约束是什么，然后就给你一些错误的代码。现在请给我把错误改掉，它也都给你改的没有问题，能给你改过来。但是你下次再要求它生成的时候，还是会有一些错误。你说：“哎，现在再去给我把这些错误都改了，通通通给我改回来。”这是可以工作的，但还没有那么顺畅。</p>



<p>那么程序员是不是又要失业了呢？百度的李彦宏就讲过说：“再过多少年就没有程序员这个职业了。”当时还引出周鸿祎以及一大堆的行业老大跟他对喷。那么程序员是不是又要没有工作了？这个里头呢还差那么一点点。现在那到底差在哪一点上呢？这个临界点到底是什么呢？临界点就是如果你完全没有受过编程训练，这些工具你使不了。什么意思？你说：“我就是个文科生，我这个程序一点都不懂，完全不知道。”</p>



<p>这个程序的架构是什么样的？什么叫面向对象？什么叫函数式编程？什么叫顺序编程？这些东西，比如说你都不了解，那所有刚才咱们讲的那些工具，就跟你都没啥关系了。等真到哪一天能够达到说“端到端，上帝说要有光，于是就有了光”的时候，那那个时候程序员就真的失业了。现在还不行，你还是需要经受编程教育，才可以使用刚才我们说的这些工具。</p>



<p>那你说这个临界点，是不是在近期就可以快速被突破呢？嗯，可以说是，也可以说不是。为什么呢？因为你去想一下，说你用嘴去描述一个应用需求的时候，你能说得清楚吗？有一些简单的通用化的需求，你可能能够快速地用嘴把它说清楚。对于这一部分来说呢，程序员确实没什么用了，你只要告诉他：“我现在想要什么东西”，马上就交给你了，这个事是可以的。但是所有的复杂需求，你用嘴一句说不清楚的，或者需要很多人去一起才能把一个事情定义明白的这种需求，这一部分呢，短期内或者说在相当长的一段时间内，这个临界点都是过不去的。</p>



<p>所以为什么说既是又不是呢？就是看你的需求到底是有多简单，还是多复杂。昨天还有一个朋友说：“哎呀，我想去学一下编程，想做一些应用。”后来我说：“你想干嘛？”然后提出来的那个应用的需求叫复杂呀。我说：“你再好好想想，你要看什么？你又没学过编程，何必要跟自己过不去呢？”</p>



<p>那么现在学习编程还有必要吗？还来得及吗？首先，现在还是建议大家去学习一下，只是呢，学法可能需要调整一下。就不需要像我当年上大学那么个学法了，我们可能只需要学一些基础知识，剩下的交给AI就完事了。我们上大学的时候，大量东西需要背，记忆这种事情，计算机永远比人强。所以未来计算机编程，肯定也是需要新的教学方式的。</p>



<p>再往后一个问题，什么样的程序员最容易失业呢？第一个，产品向的程序员其实是可以大展拳脚的。什么叫产品向程序员？就是他知道我做这个东西是为什么，我到底在解决一个什么具体的产品需求，而且可以去跟真正的需求方进行讨论，去确定产品需求的这些人。</p>



<p>或者说，他有一部分产品经历，职能的这些程序员，对于他们来说呢，未来大有可为。为什么呢？就是原来他们沟通明白了以后，还需要跟一些编码的程序员再去沟通，再去写一大堆程序，而且这个沟通成本还很高。</p>



<p>现在的话，他们只需要把前期的需求搞明白了，后面他自己就可以在AI的帮助下，快速地完成大量的代码了。然后，算法向的程序员呢，这个其实永远都不够用。你只要是能够把算法的效能提高一些，把一些原来做不了的事情能够做掉，这一块的需求是非常大的，特别是在AI时代，这一块的需求会变得更大。</p>



<p>那你说前端程序员呢？前端程序员，未来应该会更多地被设计师所替代。就是我能把画画出来了，那你这个程序就算写完了，不需要再通过这个画再怎么切，切完了以后再怎么一块一块拼起来。这一块其实就不太需要了。</p>



<p>因为以前我们去写程序的时候，都是先让设计师设计，设计完了以后呢，我们在写程序的时候，再把这个设计的稿件搬到这个程序的表达上面去，原来有这样的一个过程。以后呢，就不需要了，直接设计师就完事了。</p>



<p>当然，设计师说我也烦这了，别来烦我。设计师烦什么呢？这边还有文生图的很多模型，mid journey、达利，还有一大堆这样的模型，我都快失业了，你们不要来烦我。可能是未来会有一个过渡吧，有一段时间还是需要他们的。</p>



<p>等过完这一段时间以后呢，更多的可能是需要他们提出想法，然后再把大量的文生图所产生的结果进行判断，我到底要哪个，不要哪一个，或者拿到一些文生图的结果以后进行一些精修，这可能是未来的一个方向。</p>



<p>现在已经有一些公司里边出现这种岗位了，就是给机器人打工。机器干完了以后，这个图出来了，让美术去修这个图。原来一个美术可能还能挣个一万多块钱，没准只做得好的能有两三万。现在这种给AI修图的美术的话，一个月的薪水大概也就只剩五六千了。</p>



<p>原来写接插件的这些程序员，很多程序员原来是给接口写程序的，这些程序员呢，以后应该重新找找新出路了。</p>



<p>也只能言尽于此了。对于整个程序员行业来说，现在真正需要做的事情，不是说我到底应该向产品向程序员发展，是向前端程序员发展，还是说我应该去做一些算法，不是这个事情，而是什么呢？应该要找出更多的需求来。如果整个程序的需求量不上升的话，那么大量的程序员失业，这件事情是不可避免的。</p>



<p>所以现在呢，还是要去看看，我们到底能够用AI配合程序员做点什么事，这个是需要现在去思考的。未来AI程序的占比呢，一定会越来越高，甭管现在谷歌说的至少1/4，阿里说的20%，还是百度说的27%，未来这个数一定会越来越高的。而且程序员呢，也不像是很多设计师似的，一定要用笔画，没有这支笔了，我就失去灵魂了。程序员从来不讲究这种事情。</p>



<p>现在欧美的程序员已经大量的开始使用GitHub Copilot这样的AI编程工具，国内的我相信也是如此。你说我就不用这个玩意，除非你最后变成行为艺术，否则真的没有任何意义。人以后真正需要做的事情是什么？不是看代码，改代码，不是这些事情。人以后真正需要做的事情，叫提出问题。我到底要解决一个什么问题？我希望通过什么样的方式解决？我需要规避哪些东西？这个是人真正需要干的活。</p>



<p>然后呢，是检查结果。AI拿出来结果以后，你要去检查一下，是不是很好的依从了你前面的提示，还是说你前面的提示本身有一些什么样的问题？是不是有一些代码拼接接口的地方，有不合适的地方？有不合适的，我们就再拿出来修改一下，或者说再告诉AI说这里不对，再给我改一改。就哪怕我自己不会改也是如此。</p>



<p>你像我现在使用新的编程技术去写程序的时候，这个编程技术我除了一些大的逻辑清晰之外，其他的所有细节我都不知道。报的所有错误，都是人给GitHub Copilot说来给我改一下，出什么毛病了，在这个地方我希望怎么个改法，他就去给我认真的修改。只是比较费劲的就是屡教不改，这次犯了错误，下次接着犯，这次是改正了以后，下次接着改。</p>



<p>这个是让人稍微有一些烦恼。所以，人呢，就是提出问题，检查结果，最终再把一些新的问题处理掉。这就是人以后干的事情，找到更多的需求，才是避免大面积失业的一个唯一途径。我觉得现在咱们不用去纠结，到底是有多少代码是由AI写的，这个没有任何意义。</p>



<p>好，这就是今天跟大家讲的故事。感谢大家收听，请帮忙点赞，点小铃铛，参加Discord讨论群。也欢迎有兴趣、有能力的朋友加入我们的付费频道。再见。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>华为仓吉编程语言发布，中文编程语言骗局终告破灭。超级缝合怪，未必不是好的编程语言，但仓吉的成败，更加依赖其他因素</title>
		<link>https://lukefan.com/2024/06/28/%e5%8d%8e%e4%b8%ba%e4%bb%93%e5%90%89%e7%bc%96%e7%a8%8b%e8%af%ad%e8%a8%80%e5%8f%91%e5%b8%83%ef%bc%8c%e4%b8%ad%e6%96%87%e7%bc%96%e7%a8%8b%e8%af%ad%e8%a8%80%e9%aa%97%e5%b1%80%e7%bb%88%e5%91%8a%e7%a0%b4/</link>
		
		<dc:creator><![CDATA[Luke Fan]]></dc:creator>
		<pubDate>Fri, 28 Jun 2024 00:45:33 +0000</pubDate>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[华为很厉害]]></category>
		<category><![CDATA[Dart语言]]></category>
		<category><![CDATA[Go语言]]></category>
		<category><![CDATA[HDC大会]]></category>
		<category><![CDATA[LLVM编译器]]></category>
		<category><![CDATA[Objective C]]></category>
		<category><![CDATA[Rust语言]]></category>
		<category><![CDATA[Swift]]></category>
		<category><![CDATA[TypeScript]]></category>
		<category><![CDATA[中文编程]]></category>
		<category><![CDATA[中文编程语言]]></category>
		<category><![CDATA[互联网编程]]></category>
		<category><![CDATA[人工智能编程]]></category>
		<category><![CDATA[仓吉]]></category>
		<category><![CDATA[仓吉编程语言]]></category>
		<category><![CDATA[仓颉编程语言]]></category>
		<category><![CDATA[代码库]]></category>
		<category><![CDATA[全域编程]]></category>
		<category><![CDATA[兼容性]]></category>
		<category><![CDATA[内存安全]]></category>
		<category><![CDATA[内存泄漏]]></category>
		<category><![CDATA[内存越界]]></category>
		<category><![CDATA[前端开发]]></category>
		<category><![CDATA[华为]]></category>
		<category><![CDATA[华为仓吉]]></category>
		<category><![CDATA[华为仓颉]]></category>
		<category><![CDATA[后端开发]]></category>
		<category><![CDATA[多核心设计]]></category>
		<category><![CDATA[嵌入式系统]]></category>
		<category><![CDATA[并发安全]]></category>
		<category><![CDATA[并行处理]]></category>
		<category><![CDATA[开发效率]]></category>
		<category><![CDATA[开发者社区]]></category>
		<category><![CDATA[开源项目]]></category>
		<category><![CDATA[技术革命]]></category>
		<category><![CDATA[数据类型]]></category>
		<category><![CDATA[新兴编程]]></category>
		<category><![CDATA[新技术]]></category>
		<category><![CDATA[新技术解析]]></category>
		<category><![CDATA[新语言发布]]></category>
		<category><![CDATA[易用性]]></category>
		<category><![CDATA[易读性]]></category>
		<category><![CDATA[版本更新]]></category>
		<category><![CDATA[现代编程]]></category>
		<category><![CDATA[瑞斯克5]]></category>
		<category><![CDATA[生态建设]]></category>
		<category><![CDATA[科学计算]]></category>
		<category><![CDATA[科学计算适用]]></category>
		<category><![CDATA[程序员调试]]></category>
		<category><![CDATA[程序完整性]]></category>
		<category><![CDATA[程序开发.]]></category>
		<category><![CDATA[程式优化]]></category>
		<category><![CDATA[程式设计]]></category>
		<category><![CDATA[程式调试]]></category>
		<category><![CDATA[类型安全]]></category>
		<category><![CDATA[编程发展]]></category>
		<category><![CDATA[编程工具]]></category>
		<category><![CDATA[编程工具链]]></category>
		<category><![CDATA[编程平台]]></category>
		<category><![CDATA[编程效率]]></category>
		<category><![CDATA[编程教育]]></category>
		<category><![CDATA[编程新法]]></category>
		<category><![CDATA[编程未来]]></category>
		<category><![CDATA[编程案例]]></category>
		<category><![CDATA[编程模式]]></category>
		<category><![CDATA[编程环境]]></category>
		<category><![CDATA[编程生态]]></category>
		<category><![CDATA[编程社区]]></category>
		<category><![CDATA[编程简洁性]]></category>
		<category><![CDATA[编程规范]]></category>
		<category><![CDATA[编程语言]]></category>
		<category><![CDATA[编程语言比较]]></category>
		<category><![CDATA[编程语言特性]]></category>
		<category><![CDATA[编程语言进化]]></category>
		<category><![CDATA[编程趋势]]></category>
		<category><![CDATA[编程逻辑]]></category>
		<category><![CDATA[编程革新]]></category>
		<category><![CDATA[编译器选择]]></category>
		<category><![CDATA[网络设备]]></category>
		<category><![CDATA[自主控制节奏]]></category>
		<category><![CDATA[自主研发]]></category>
		<category><![CDATA[英特尔CPU]]></category>
		<category><![CDATA[跨平台编译]]></category>
		<category><![CDATA[软件工程]]></category>
		<category><![CDATA[软件开发]]></category>
		<category><![CDATA[软件更新]]></category>
		<category><![CDATA[软件架构]]></category>
		<category><![CDATA[高性能程序]]></category>
		<category><![CDATA[高效编译]]></category>
		<category><![CDATA[麒麟CPU]]></category>
		<guid isPermaLink="false">https://lukefan.com/?p=1353</guid>

					<description><![CDATA[大家好，欢迎收听“老范讲故事”的YouTube频道。今天，咱们来讲一讲华为，仓吉编程语言终于来了。在刚刚过去的 ... <a title="华为仓吉编程语言发布，中文编程语言骗局终告破灭。超级缝合怪，未必不是好的编程语言，但仓吉的成败，更加依赖其他因素" class="read-more" href="https://lukefan.com/2024/06/28/%e5%8d%8e%e4%b8%ba%e4%bb%93%e5%90%89%e7%bc%96%e7%a8%8b%e8%af%ad%e8%a8%80%e5%8f%91%e5%b8%83%ef%bc%8c%e4%b8%ad%e6%96%87%e7%bc%96%e7%a8%8b%e8%af%ad%e8%a8%80%e9%aa%97%e5%b1%80%e7%bb%88%e5%91%8a%e7%a0%b4/" aria-label="阅读 华为仓吉编程语言发布，中文编程语言骗局终告破灭。超级缝合怪，未必不是好的编程语言，但仓吉的成败，更加依赖其他因素">阅读更多</a>]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="华为仓吉编程语言发布，中文编程语言骗局终告破灭。超级缝合怪，未必不是好的编程语言，但仓吉的成败，更加依赖其他因素。" width="900" height="506" src="https://www.youtube.com/embed/N9k3Q3Uerzc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p>大家好，欢迎收听“老范讲故事”的YouTube频道。今天，咱们来讲一讲华为，仓吉编程语言终于来了。在刚刚过去的HDC，也就是华为开发者大会上，除了发布鸿蒙新一代操作系统，感谢了一大堆友商，还故意把腾讯的名字落掉之外，还发布了众望所归，或者大家期盼已久的仓吉编程语言。2020年，华为就申请了仓吉的商标，而且告诉大家说，我要去做编程员了。当时很多人就直接疯了，说哎呀，华为要做中文编程语言，我们再也不需要使用英文字符去写程序了，我们要用古老的中文去写了。</p>



<p>在这件事情上呢，华为采用了叫不承认不否认，不负责的态度。什么意思？就是华为自己从来不承认说，我要做中文编程语言，没有任何中文编程语言相关的报导是从华为出来的。但是华为呢，也不否认任何人说华为要做中文编程语言了，他也不出来辟谣，也对所有市面上流传的信息不负责任。反而不是我说的这件事情呢，传来传去，传来传去，传到2024年，这个仓吉编程语言终于发布了。</p>



<span id="more-1353"></span>



<p>对于程序员来说，中文编程语言这件事就是个笑话，不可能有，想都不用想。为什么？因为中文的输入效率很低。我们现在使用这种26个字母的英文键盘，你打英文肯定是最快的嘛。这么大量的内容要输进去，你要打中文拼音，然后再挑字，有时候还写错别字，这玩意咋弄？而且中文那么多的字之间，入和这个人为和末它很像，你到最后找bug，你咋吵？所以，这件事是不可能的，想都不用想啊。现在，华为的仓吉编程语言终于发布了。</p>



<p>首先，说结论是：它不是中文的，而是英文的。跟中文有关系的部分不是完全没有啊，是什么呢？就是它的名字——仓吉编程语言的这个语言名呢，是仓吉的汉语拼音，也不敢写中文。它的程序后缀是CJ，仓吉嘛，仅此而已啊。剩下的跟中文就没有任何关系了。大家要知道，我对于华为的看法呢，就是他们的技术一直都还是可以啊，但是他们使用的很多手段，让我觉得比较不齿。但是技术我从来不质疑啊，包括他们很多生产的设备的工艺，都是很好的。</p>



<p>咱们讲讲仓吉编程语言到底怎么样。仓吉编程语言呢，是一种缝合怪。他把现在最好的这些语言特性，都缝在一块。但这个呢，并不是贬义词。其实所有的编程语言，就是新发展出来都是缝合怪。什么意思呢？编程语言发展一段时间以后说啊，现在的新的编程环境啊，新的程序编造的任务有些什么变化了，那么我们有一些新的编程语言的特性需要出来。那么只要有新的编程语言出来，他们就会把所有这些新特性都塞进去。所以只要是新编程语言都是缝合怪，不是说到华为这都变缝合怪了。</p>



<p>最后，这个编程语言到底能不能成功啊，是不是大家喜欢用，跟它是不是缝合怪本身，这件事并没有关系。编程语言本身呢，其实也一直在发展。发展的方</p>



<p>可能就是其他新编程语言的3-5倍，或者有的可能达到十几倍。包括Objective C，这是苹果原来在iOS上开发用的。这种语言相对来说比较繁琐。现在新的语言都比较简洁，相对来说更易读易懂。以前为什么搞得那么复杂？因为那时候的都是软件工程，有架构师负责设计，然后底下的人必须按照这种复杂的规则工作，像螺丝钉一样。你写的越严格定义，写的越长，它就越不容易出错。通过这样的方式来实现。</p>



<p>但是现在呢，都是小团队开发，甚至有好多代码是一两个人写的。你让他写一大堆又臭又长的代码，人家觉得才不费这劲呢，太累了。然后易读性这个事，程序是一个工程，即使到现在可能也还是工程，需要多个人来配合。你这个人写完程序以后，下一个人读不懂了，这玩意你咋弄啊？或者说我自己写的程序，过俩月我再看，我自己看不懂了，这事也没法整啊。所以程序一定要易读。</p>



<p>然后第三个呢，叫什么就是适合描述当前主要任务。因为大家知道，随着计算机行业、互联网行业，包括现在人工智能行业不断地往前发展，我们用写程序的方式要解决的主要问题和矛盾转变了。以前的很多程序语言其实不太适合描述当前的任务。你描述的过程，可能会变得非常的冗长。这个事是非常麻烦的。所以呢，就会要求编程语言发展。这个发展实际上是两个方向：第一个方向呢，就是传统编程语言其实也在一个版本更新的过程中，不断地在优化和改进。</p>



<p>第二个方向，就是新兴的编程语言，它们在设计之初就考虑到了现代软件开发的需求，更加注重易读性、易用性和描述当前主要任务的能力。这些语言往往更简洁，语法更贴近自然语言，使得开发者能够更加专注于问题本身，而不是语言的细节。这种趋势使得编程语言的发展更加多元化，满足了不同场景和需求下的开发工作。</p>



<p>一个版本往前迭代的二个分，就是要不断有新的编程语言出现。那么，新的编程语言到底需要具备什么特性呢？让我们稍微讲点技术，我尽量讲得让大家能听明白。现在有很多新的编程语言，比如说谷歌现在在推广的Kotlin，安卓里边现在使用Kotlin；苹果做的Swift；还有Go和Rust，这些都是属于新编程语言。它们都会有一些共同的特性。为什么讲这个？因为，仓吉把所有东西都放到自己身上，谁最后一个出现，就会把前面的都放到自己身上。都有哪些新特性呢？</p>



<p>第一个，它内存安全。程序运行的时候，在内存里头有执行代码，有数据代码。传统的编程语言呢，会经常出现一些叫内存越界和内存泄露的问题。所以，新的编程语言一定要解决这个问题。内存越界是什么意思？就是我告诉操作系统说，我需要10个字节的内存，它分配给我了，然后我去访问第11个字节去了，这个事肯定是不行的。他分配给你以后，实际上是告诉你说，给你一个地址，说这个地址就是你的，从这个地址往后十个字节都是你的。我去访问第11个字节，这事肯定是错的。访问其他的，在我这个地址范围之外的地方，都是错的。什么人去干这种事？病毒都是干这个事的，还有很多破解，都是要内存要越界的。</p>



<p>那么内存泄露是什么意思？就是我分配了10个字节，用完了以后，我得告诉操作系统，我用完了，释放掉。然后操作系统呢，再有人来分配的时候，再把这块内存再分配给别人。</p>



<p>他是这样去工作的。但是如果我光去调用了，我告诉操作系统来给我分配，内存分配回来了，用完了以后呢，我没有去释放啊。最后积攒了一大堆没释放的内存，就是内存的碎块在这个计算机里头啊。这叫内存泄漏啊。传统的编程语言都是这种问题啊。现在新的编程语首先要解决这个啊。第二个呢，叫什么叫并发安全啊？什么叫并发安全？现在的这个计算机呢，甭管是手机啊，电脑啊，还是平板啊，其他所有设备吧，都是多核心设计啊。就是你的CPU上有非常多的计算核心。那么我们需要什么呢？并行处理。传统的程序是顺序的啊，执行完第一句，执行第二句，执行完第二句执行第三句，对吧。那么现在呢，说我们要提高效率，我一看哦，8个核心，我就赶快把这个数据拆好了，分配到八个核心里，你们都去执行，执行完了以后，把执行结果拿回来，我再把这些执行结果拼在一起，再接着往前走。但是在这个过程中呢，却有个问题：计算核心他在工作的时候呢，不能随便去访问外边的数据啊。他只能访问他自己分配到这个计算核心里面缓冲里边的数据。所以呢，一般情况下，县城跟县城，或者说叫并行运行的这些程序之间是隔离的。你不能说我执行一段时间以后，我要到外面去访问一下别人的数据，这事是不允许的啊。这个就叫并发安全。在写程序的时候，你先要把这个事情搞定。然后第三个呢，是类型安全。现在新的编程语言大部分是强类型，就是我们规定好你这个东西到底是什么类型，你再去给他赋一些其他类型。</p>



<p>他是这样去工作的。但是如果我光去调用了，我告诉操作系统来给我分配，内存分配回来了，用完了以后，我没有去释放。最后积攒了一大堆没释放的内存，就是内存的碎块在这个计算机里头啊。这叫内存泄漏啊。传统的编程语言都是这种问题啊。现在新的编程语言首先要解决这个。</p>



<p>第二个呢，叫并发安全。什么叫并发安全？现在的这个计算机呢，甭管是手机啊，电脑啊，还是平板啊，其他所有设备吧，都是多核心设计啊。就是你的CPU上有非常多的计算核心。那么我们需要什么呢？并行处理。传统的程序是顺序的，执行完第一句，执行第二句，执行完第二句执行第三句，对吧。那么现在呢，说我们要提高效率，我一看哦，8个核心，我就赶快把这个数据拆好了，分配到八个核心里，你们都去执行，执行完了以后，把执行结果拿回来，我再把这些执行结果拼在一起，再接着往前走。但是在这个过程中呢，却有个问题：计算核心他在工作的时候，不能随便去访问外边的数据啊。他只能访问他自己分配到这个计算核心里面缓冲里边的数据。所以呢，一般情况下，县城跟县城，或者说叫并行运行的这些程序之间是隔离的。你不能说我执行一段时间以后，我要到外面去访问一下别人的数据，这事是不允许的啊。这个就叫并发安全。在写程序的时候，你先要把这个事情搞定。</p>



<p>然后第三个呢，是类型安全。现在新的编程语言大部分是强类型，就是我们规定好你这个东西到底是什么类型，你再去给他赋一些其他类型。</p>



<p>是不允许的啊。比如说，我规定了这是一个整数，你现在想往里头赋一个浮点数——就是带小数点后边那部分的那种数——这是不允许的，直接报错啊。然后呢，还有很多新的语言特性，比如说什么范型啊，闭包啊，命名函数，或者是函数增强什么的，它们都算是新的语言特性。为什么会有这种特性呢？就是为了让更大规模的程序可以被更灵活地编写。</p>



<p>然后呢，是需要有完善的生态和工序链。我记得我上大学，刚开始学计算机语言的时候啊，学C语言，学Pascal语言，学BASIC语言，每一个语言里头，它的关键词其实很少，大概有个几十个，有的有一两百个，也到头了。而且都很短小。但是学完这个语言的基本的结构，控制之后，你就会编程了吧。扯吧，你那玩意编不出来。真正要编程需要什么呢？就是需要大量的周边的函数库。比如说鸿蒙操作系统里头啊，我要调用某一个设备，你如果没有这些函数库，那这事费劲了对吧。你需要从最底层的去一层一层去折腾去。现在都是什么？有一个函数库叫摄像头，我现在调用函数库说，首先摄像头初始化一下，摄像头给我设定参数，摄像头给我拍一张照片回来啊，或者摄像头给我拿出一个预览图片回来。然后我要到哪里去显示啊。现在都是这样编程序的对吧。这个写的代码，基本上刚才我说的一句话，可能就对于编程语言就是一句对吧。现在都是这样，你要有完整的生态，然后呢，要有工序链啊。比如说，我可以给这个鸿蒙手机写程序啊，可以给鸿蒙平板写程序，可以给手表写程序。</p>



<p>那这个他要有完整的工序链，来去对应他们。然后呢，要有不同的应用场景——你比如说，我到底是前端用啊，就是写界面；还是网络上使用，做科学计算使用；还是后端操纵各种设备。它要有不同的应用场景。这是现代编程语言的一些新特性啊。所有这些特性，咱们的仓吉编程语言都有，都已经弄得齐齐的了。</p>



<p>另外还有一个什么东西呢？就是编译器啊。编程语言，你写完程序以后，是不能直接执行的呀。你要经过编译，编译成这种可执行的代码才可以去做。康杰编程语言呢，它使用的编译器，也是现在最时新最流行的，叫LLVM架构——叫low level virtual machine，就是底层的虚拟机系统。它呢，是一种模块化设计的编译器，里头每一个模块可以自由的拼接。然后呢，有很高级的优化，它可以将这个代码优化的非常高效。就是我写的时候，其实我是啊，不是那么在意，说你最后代码是怎么去执行的，都是由编译器去优化出来的。</p>



<p>然后呢，这种编译器最后编译出来代码，是跨平台的啊。你说我编译完代码，到底是在英特尔的CPU上跑，是在麒麟的CPU上跑，还是在瑞斯克5的CPU上跑，还是在一些啊，嵌入式的这种小的SoC上跑啊。它是用这样的编译器，可以一次性都编译出来啊。它是做这样的工作。而且呢，LLVM的这种编译器，也是有相对活跃的社区与生态的。这个编译器格式，是从2000年就开始在做，现在一些新的，比如像Swift呀什么的，也都是用这样的编译器模式啊。</p>



<p>不是说这个编译器叫 LRVM，而是编译器的形式是 LRVM。这是我们讲解的技术部分，就到这里了。然后，仓吉编程语言就包含了刚才我们讲的所有的这些新特性。那么，有没有想过为什么一定需要一种自己的编程语言呢？</p>



<p>首先，要讲的是，做编程语言这件事并没有像大家想象的那么神秘，那么高深莫测。现在我们用的一些很广泛的编程语言，其实出身并没有那么好。譬如说 PHP，很多的网站都是用它写的。PHP 实际上是某一位大神的大学本科毕业项目，他说那我自己做个编程语言吧，专门去写 Web 应用的这种编程语言。然后，就非常的流行，大家就写来用起来了。像包括 JavaScript，还有 C 语言，实际上都是很随机的就产生了。所以，做编程语言这件事本身并没有那么高大上。</p>



<p>但是，现在的编程语言已经不像那个时候了，已经发展的非常先进了。现在再有一个大学生说，我要做一个新的编程语言出来，已经非常非常难了，因为刚才那些特性你把它搞明白其实不容易的。现在，比如说谷歌最新做的 Dart 编程语言，为什么干这事呢？第一个，C++ 相对来说是一种比较笨重的语言，就是你要写同样的代码，完成同样的功能，它的代码量是别人的 5-10 倍。那个没必要嘛，对吧，何必跟自己过不去呢？我们需要一种新的、更简洁的编程语言。另一方面，C++ 的版权在谁手里头？在 Oracle 手里。Oracle 就不停地告谷歌，说你侵犯我版权了，你得给我钱。</p>



<p>那谷歌说：“算了，我不用了，行不行？我自己去整一套新的啊，quarterly到新编程语言，它的成本很高啊，因为你要自己搭建整个的生态，整个的社区，这个成本是非常高的，不是到逼不得已，一般不会有人干这个事啊。”五哥说：“既然你一直告我，那我就上吧，我有机会上新编程语言了，我就一定要把所有新特性全上！上啊，你原来那个沉重的包袱啊，这种需要写的，特别特别又臭又长的这种代码，不要了啊，整个扔掉。”这是谷歌，然后苹果的Swift呢，也是这样，就是说它的object啊，原来叫objective c啊，也是太笨重了啊，太陈旧了，说算了扔掉了，不玩了啊，整个整一套新的。所以苹果现在你做啊，Mac OS啊，iOS啊，iPadOS的开发都是Swift语言。</p>



<p>华为呢，原来其实是有一套自己的语言的，但是呢，它这个不是那么纯粹，它原来这个语言叫Ark TS，Ark是方舟的意思啊，它原来有方舟编译器，方舟的整个的代码库啊，它的编程语言TS是什么，叫typescript。但是这个里头有一个问题是什么呢？就是typescript的大版权是在微软手里的，虽然它的版权是阿帕奇2.0，它允许大家自己有去修改，允许大家去商业使用，就是华为去使用这种typescript是没有问题的。但是问题在哪儿呢？问题是，它的大版本是控制在微软手里，微软会不断地去升级typescript版本啊，不断地把新的语言特性加进去，改出来啊。而然后呢？（文本在此处似乎未完整结束）</p>



<p>所有的 TypeScript 的周边社区，对吧？你说我今天要给 TypeScript 写代码库了，啊，我要去给他写一些这个，呃，第三方的接口。我一定是跟着微软的标准走，我不可能跟着华为标准走。华为说：“哎，我想加点新特性进去。”微软说：“我不喜欢。”咔，干掉了，没了，对吧？然后那你说我这个新的代码库，我一个第三方的，比如说我是做鼠标的，我给这个设备专门写了一个 TypeScript 的接口库进去。那我肯定跟着微软标准走，不可能跟华为标准走。它是这样的，那么它这个叫什么呢？叫生态被微软绑定了。这个华为是不可接受的。</p>



<p>TypeScript 还有一个问题是什么呢？就是它更适合写前端，就是它去写很多跟界面相关的事情。因为 TypeScript 语言是从 JavaScript 的这种，就是前端语言里头演进出来的一种语言。所以呢，它对于很多的科学计算啊，对于很多后端的任务呢，其实并没有那么擅长。这也是华为为什么要去抛弃它的原因。就是现在的鸿蒙上都是使用的叫 ARCTS，未来呢，就准备通通都整到仓吉上面去。就是必须要有一套可以完全自己掌控节奏的全域编程语言啊，大家注意我讲的两个定语啊：第一个自己掌握节奏，我想升级就升级啊，我想加新特性就加新特性，不需要看任何别人的脸色啊。如果你想跟我兼容，你就老老实实跟着我的节奏走。这里头没有第二名啊，你就跟着我走。我们只有一个声音啊，这第一个。第二个是什么呢？叫痊愈编程语言。不过，最后一句似乎没有完整表达出说话人的原意，可能需要进一步的上下文来明确“痊愈编程语言”的具体含义。在这段话中，主要讨论了标准、生态绑定、以及华为对于编程语言选择的考量，特别是对 TypeScript 的观点，以及华为对于自主可控编程语言的需求。</p>



<p>我不但要负责界面的开发，服务器的编程，网络设备的设定，科学计算的处理，我还要确保所有环节无缝对接，这正是“仓吉”系统所承担的任务。那么，我们来探讨一下，“仓吉”是否有望成功，它是否拥有光明的前景。如今，甚至有人开始学习编程，我是否也应该掌握“仓吉”编程语言呢？这个问题，虽与技术相关，但也并非完全取决于技术。一个编程语言能否最终立足，关键在于其生态与工具链的建设。生态，正如我们之前所讨论的，指的是是否有一群开发者围绕该语言编写程序，是否有足够的工具和上下游相关的代码库支持。例如，当我使用“仓吉”编程语言时，如果我发现手机上的运动传感器无法找到相应的驱动，这就表明生态体系存在缺陷，最终可能导致该语言无人问津。</p>



<p>“仓吉”编程语言能否成功，归根结底，还是要看其生态和工具链的建设情况。目前，华为正投入大量资源致力于此。同时，谷歌也在推广多种编程语言，如Python、Rust、Go、Dart等，并表示愿意出资支持其生态链的建设。苹果公司也在推广其Swift语言，且Swift是开源的，但问题在于，很少有人愿意主动与苹果的系统兼容。尽管Swift是一种全功能的编程语言，有人用它来编写高性能的服务器程序，但这并不意味着它已经广受欢迎。</p>



<p>在讨论编程语言的未来时，我们不能忽视其生态建设的重要性，这将直接影响到语言的普及和应用。</p>



<p>都是在你手机上跑的一些APP啊。苹果的Swift始终在苹果生态里没出来，就是我们很少能看到，不是苹果系统，我去用Swift语言去写程序这个事，基本上没有。华为的现在也是如此。它的生态本身，相对于苹果这种封闭生态来说呢，还是要稍微小一点。毕竟苹果全世界那么多人在用，相对来说，华为也好，苹果也好呢，都是在外面没有人用。鸿蒙系统，你离开华为也没人使，对吧，就跟iOS、iPad OS什么这个东西，离开苹果也没人使是一样的啊。所以呢，他有可能就在华为鸿蒙生态系统内啊，可以继续跑下去，就像Swift一样啊。这个事可能性是存在的，但是前提你是鸿蒙得推的下去啊。如果你鸿蒙也没推下去的话，那这个仓吉也就没有任何意义了。华为的生态链啊，到底是不是足够强大，才是仓吉本身是不是成功的核心。他的生态链强大了，他就可以养的活，社区啊，社区这个东西其实是很现实的。如果我在你这个社区里写了程序，没有人用，没有人让我这个吃饱肚子，那就没有人在里头去玩耍，那这个社区就会快速的枯竭下去。玩编程社区里头还有很多其他的东西，明后天我们有机会再给大家讲啊。这个里头还有什么礼节对吧，还有很多的约定俗成的东西，如果你不遵守的话，会被整个的程序员社区所唾弃的。好啊，这就是仓吉编程语言这个故事啊，我们今天讲到这里啊。稍微有些技术啊，有些可能大家听着会费劲一点，但我尽量是用简单的方式讲。好啊，这期就讲到这里，感谢大家收听，请帮忙点赞。</p>



<p>点小铃铛，参加disco讨论群。也欢迎有兴趣、有能力的朋友加入我们的付费频道。再见。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
