▼最近直播超级多,预约保你有收获
—1—
如果程序人生的话,这条路太漫长
编程并非我的初衷,高中时代,我未曾向往过程序员的生涯。我接触电脑纯属偶然,儿时的好友选择了计算机专业,为了与好友有更多交流,我也步入了计算机系,就此踏上了编程之路。
随着学习的深入,我意外地发现自己对编程产生了浓厚的兴趣。1987年,我进入武汉大学计算机系,直到大一下学期才开始接触专业课。当我首次获得上机机会时,我被电脑世界的魅力深深吸引,自此沉迷其中。那时我们使用的是 Motorola 68000(相当于 Intel 8088),内存仅有540K,运行的是 UNIX 操作系统,八个人共用一台机器。大二时学习PC知识,随后一学期,我开始在老师的实验室帮忙,期间编写了后来许多人使用的 RI(RAMinit,一款清内存的小工具),看来我也算是最早一批编写共享软件的人。再过一个学期,我开始与校外公司接触。1989年8月,大二暑假,我和一个朋友成立了 Yellow Rose 软件小组,并编写了我的第一个商业软件 BITLOK 0.99。此后,我尝试创业,创办过公司,也开发了一些其他软件。大学毕业后,我被分配到研究所,但不太适应那里的环境。于是在1992年初,我加入了金山软件,正式开始了我的职业程序员生涯。后来,我成为了金山软件研发部门的主管,但始终保持着一线程序员的身份。—2—
编程的感受
程序员沉浸在自己构建的虚拟王国之中。自从我初次接触电脑,便被其简洁之美所吸引,相较于人类的复杂,电脑显得简单许多。只要你的编程技巧足够精湛,就能与电脑建立起良好的关系,指挥它完成你的意志。
在这个时刻,你就是真正的统治者。每当你坐在电脑前,就如同在你的王国中巡视,这样的生活宛如天堂。电脑世界浩瀚无边,程序员在自己想象的国家中生活。你可以构思到电脑内部的每一个字节、每一个比特的细节。我对编程工作充满热爱,我确信这将是我终身的职业。许多人认为程序员到了三十五岁就应该转行,认为那时的智力和体力都无法支撑编程工作,认为编程是年轻人的游戏,年纪大了就不该再做程序员。在我初露锋芒之时,也曾和大家一样觉得编程艰辛,想着三十岁后转行。但随着年龄的增长,我意识到自己曾经的短视。一个人大学毕业后大约二十二岁,技术成熟可能是在二十五岁,随后便是生活的各种挑战。当一切稳定下来时,可能已经三十五岁了。如果这样,我们似乎没有必要选择编程作为人生之路。电脑在中国的历史并不短,但真正大规模应用始于1985年的PC时代,因此国内真正编写电脑程序的人最多也就有十几年的经验(不知道是否还有这样的人存在)。由于电脑应用在国内的时间较短,主力开发者多为三十五岁以下的年轻人。但这并不意味着程序员会像红颜一样易老。在美国,主力工程师往往是三十四十岁的人群。起初,我们认为自己无所不能(现在还能听到这样的豪言壮语),甚至觉得自己特别聪明,特别适合软件开发,远胜于外国人。当我们真正接触到那些卓越的开发者时,才发现他们有多么强大,他们拥有超过十年的开发经验。尽管许多年轻人也创造了许多优秀作品,但绝大多数优质产品还是出自这些经验丰富的程序员之手。刚毕业时,编程不仅是我的爱好,更成为了我一生的事业。那时的我不知该编写些什么,感到迷茫和沮丧,找不到方向。—3—
"编程:技术与艺术的融合之旅"
编程是一项极其耗费脑力和体力的工作,但我对此情有独钟,我确信这将是我终身的事业,尽管我并未打算一生只专注于这一件事。将一生奉献给编程,既简单又充满挑战。
如果只是敷衍了事,为了完成任务而编写代码,那样的生活过得轻松。但若想要全身心投入编程,连续编写十年代码绝非易事。
现在,我的许多朋友都已经放弃了编程,有时我也会想,“何必依赖电脑呢,Windows之外的世界不是同样广阔吗?”
然而,一旦面对电脑,我就会立刻意识到:编程是我最擅长也最喜欢的事情。
成为高级程序员并非终极目标
有些人学习编程技术,将高级程序员视为追求的目标,甚至是终身的理想。然而,当他们真正参与到商业软件的开发中时,反而感到困惑和迷茫。
一个人只要有毅力和悟性,有机会接触并学习编程技术,就能成为一名出色的程序员。刚开始编程时,学得多的人写得更好,但到了一定阶段,大家都提升了一个层次,谁写得好就取决于这个人的细心、毅力和悟性。技术上的差距,很快就能弥补。
成为一名高级程序员并不是一件难事。
在我上学的时候,也曾将高级程序员视为目标,希望我的技术能得到认可。但后来我意识到,无论技术多么高超,关键在于你是否能提出创意并创造出产品,你的劳动是否能得到社会的认可,是否能为社会创造价值。成为高级程序员绝不是最终追求。
编程不仅是技术,也是艺术
有人认为编程只是一种技能,也有人将其视为艺术创作。这两种观点争论激烈。
如果我们换一个角度,看看石匠的工作,他们似乎是熟练的工人,与艺术无关。但正是这些石匠,为我们留下了无数的文化遗产,如乐山大佛、莫高窟等。这些石匠为我们留下了无尽的文化财富。
现代软件工业已经相当规模庞大,许多软件的完成需要大规模团队合作。普通程序员在接到编写某个模块的任务时,往往只是编写代码,发挥空间有限。
在大项目中,许多程序员只能了解与自己模块相关的局部细节,同时还受到开发环境的限制,很难感受到自己正在从事“艺术”创作,更多时候感觉自己是在进行体力劳动。
有时还会担心自己辛苦参与的项目是否有意义,是否在同类产品中有竞争力,是否会在硬件更新换代后迅速过时……
我认为编程工作与石匠有相似之处,既有技术性,也有体力性。无论如何,编写一个好软件绝非易事。
这两种看法都有其片面性,编程应该说是兼具技术和艺术的双重属性。
正因为编程是技术活,才有可能大规模进行,才有软件工程和软件工厂的出现。
也正因为编程是艺术,才会有如此之多的优秀产品,让人如痴如醉。
为了帮助同学们彻底掌握 AI 大模型 Agent 智能体、知识库、向量数据库、 RAG、微调私有大模型的应用开发、部署、生产化,今天我会带来2场直播和同学们深度剖析,请同学们点击以下预约按钮免费预约。
—4—
每日精选 AI 大模型知识
—5—
加我微信
有很多不方便公开发公众号的我会直接分享在朋友圈,欢迎你扫码加我个人微信来看👇
⬇戳”阅读原文“,立即预约!