编程之路:我为什么要编程

我童年时期是个安静内向的孩子,最快乐的时刻是手中握着一捆电线。父母常把它们当作玩具送给我,还有一把螺丝刀和一台可以拆解的旧磁带播放器。那时我三岁,虽然不知道自己在做什么,但探索机器内部、试图理解其工作原理的感觉让我着迷。

一年级时,我接触到了 MS-DOS、Logo 语言和一点 PASCAL。后来学校配备了更好的电脑,我开始用 BASIC 编写小型程序:井字棋、计算器之类的东西。这种创造过程让我感到神奇。

10 岁那年,我终于拥有了自己的 PC。起初主要用于玩游戏,但接入互联网后一切都改变了。我发现了 HTML、CSS 和基础 JavaScript。这是 HTML5 发布前的时代,网页功能有限,但我仍建了许多奇怪而丑陋的网站。我的计算机老师甚至喜欢它们。我还通过帮同学(甚至包括我哥哥)完成 HTML 作业赚了点零花钱。

那时我沉迷于《GTA》系列,并发现了 MTA 和 SAMP------社区开发的多人游戏模组。我沉迷于创建自己的服务器,添加自定义模组和规则。这让我接触到了 PAWN(一种用于这些模组的脚本语言)。我想打造一个可以实现现实世界几乎所有活动的虚拟空间,某种意义上的"元宇宙原型"。

最终,我发现了 Second Life------一个拥有完整经济系统的虚拟世界。它包含了我在 GTA 中想要实现的一切。我开始创作:服装、建筑、使用 LSL(Lua 语言的超集脚本语言)编写的程序。甚至通过兑换 Second Life 货币获得了真实收入。

但后来我意识到,自己不想只为虚拟世界创作。16 岁时的我仍不确定真实世界的"意义"是什么。 当时我最大的愿望是购买新电脑和 Korg microKORG 电子合成器。为此,我在本地白帽黑客论坛上开展了一个小型"业务":转售 ICQ 号码和其他数字资产。虽然赚够了钱,但因旷课差点被学校开除。

大约在那个时候,HTML5 的发布让网页功能重新变得强大。我创建了第一个带有动画 JavaScript 云层的主页,云层在标题栏中分层运动,如同真实天空。虽然源代码已丢失,但我仍保留了截图。同期,我发现了Bret Victor的《基于原理的发明》演讲,它彻底改变了我对编程与创造的理解。

在大学期间,我攻读了"创新工程"专业------融合半技术性与商业导向的课程。最喜欢的课程包括《工程制图》(大量使用CAD)、《计算机安全》(曾"黑入"过学校的 SMTP 服务器------不是因为技术高超,而是因为系统漏洞明显)和《哲学》,它教会我提问的重要性以及构建个人哲学体系的价值。

毕业后,我一度迷茫。幸运的是,朋友邀请我加入初创公司 MipoTheBot------一个面向 Upwork 等平台自由职业者的 Slack 机器人。我负责设计、UI/UX 并重新开始编写代码。我的职业生涯由此开启。最终我们因不擅长销售和营销关闭了项目,但这段经历让我明白:商业策略同样重要。

此后几年,我在多个行业积累了丰富经验。最重要的是,我意识到优秀产品往往源于小而紧密的团队,团队成员共同对结果负责

亚伦·布德曼(Aaron Boodman) 文章中最触动我的部分是他关于"职业倦怠"的描述。我同样经历过两次。最近一次并非工作相关,而是源于个人生活的剧变。我休了一个月假去欧洲拜访朋友,回来后重新燃起了创造的欲望。这段间歇让我意识到,我仍然热爱编程,编程对我而言从未只是工作。

对我而言,编程的魅力在于永远有新的领域等待探索:运维、后端、前端、硬件、系统编程------每个方向都吸引我以不同方式深入。在这些领域中,还有更多细分方向:网页性能、本地优先软件、分布式系统、加密技术、去中心化、AI、设计工程等等。

有时最大的挑战是保持专注,而不是追逐每个新奇事物。

对我而言,编程始终不仅是技能。它是探索世界、动手实验、满足好奇心的方式。从电线和螺丝刀到应用程序,工具在变化,但这种探索的冲动始终未变。这正是我不断回归编程的原因------它是我与世界互动的自然方式。

原文链接:esafev.com/notes/why-i...

相关推荐
一个懒人懒人2 分钟前
Promise async/await与fetch的概念
前端·javascript·html
Mintopia8 分钟前
Web 安全与反编译源码下的权限设计:构筑前后端一致的防护体系
前端·安全
输出输入11 分钟前
前端核心技术
开发语言·前端
Mintopia15 分钟前
Web 安全与反编译源码下的权限设计:构建前后端一体的信任防线
前端·安全·编译原理
林深现海35 分钟前
Jetson Orin nano/nx刷机后无法打开chrome/firefox浏览器
前端·chrome·firefox
黄诂多1 小时前
APP原生与H5互调Bridge技术原理及基础使用
前端
前端市界1 小时前
用 React 手搓一个 3D 翻页书籍组件,呼吸海浪式翻页,交互体验带感!
前端·架构·github
万岳科技程序员小金1 小时前
多商户商城系统源码 + APP/小程序开发:技术架构与应用解
程序员·开源·源码·多商户商城系统源码·多商户商城小程序·多商户商城app开发·多商户商城平台开发
文艺理科生1 小时前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
前端·后端·架构
千寻girling1 小时前
主管:”人家 Node 框架都用 Nest.js 了 , 你怎么还在用 Express ?“
前端·后端·面试