slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
编程的乐趣
17611538698
webmaster@21cto.com

编程的乐趣

技术人生 0 1875 2022-09-07 09:36:50


图片


我喜欢编程。


我 11 岁时开始使用 Basic 编程。我算是幸运的一代,是第一个在家中使用个人电脑的人。我最先开始在Epson HX-20上自学 Basic语言 。Epson HX-20 被一些人认为是世界上第一台笔记本电脑。


我现在后悔在大学时卖掉了这段精彩的计算机历史。


我花了几个小时阅读计它附带的用户手册,并编写了第一个程序,我用它来计算每周加班工资。


接着我很快试验计算机的图形编程能力。


后来我越来越发现编程的乐趣,接下来我就被它彻底迷住了。


我的故事


我现在 51 岁,能够用 20 多种不同的编程语言,在进行了近 40 年的编程生涯之后,我很高兴地说现在仍然着迷。


在过去的 20 年里,我一直在向 15 到 80 岁的学生讲述代码职业生涯以及我对编程的无比热爱。


我强调我将“继续编程,直到有人从键盘上撬开我冰冷的手指”。这可能听起来有点病态,但已经清楚地表达了这一点。编程是我的热情所在,我很幸运能从此处得到报酬,然后去做我喜欢做的事。


在过去的 20 年里,我意识到除了自己编写代码之外,我还喜欢教别人如何写代码。


好故事里的英雄

预测未来的最好方法是发明它。

——Alan Kay

本文的配图就是我在 2007 年“每个孩子一台笔记本电脑赠一赠一”计划中购买的 XO 笔记本电脑。屏幕上运行的程序叫作Squeak Etoys。


Alan Kay 是 Etoys 的设计师,而 Etoys 是在 Squeak Smalltalk 语言中开发的。


我是在高盛工作时遇到了 Alan Kay。当我还是一名员工,他被邀请参加GS Panel 的会谈,我经常观看这次演讲并重温这段经历。2015 年 2 月 26 日,当我在这次谈话的同一天见到 Alan Kay ,他很友好地为我的 XO 笔记本电脑签了名。


好故事里往往有英雄。Alan Kay 是我儿时的程序英雄之一。我 11 岁时不知道真人是谁,很想见到他。直到我二十多岁时,终于有机会遇到了Alan。


我知道注定要见到他,他改变我的人生,我也最终遇到我的英雄。


1980 年代


在 80 年代中后期,我学习了一堆编程语言,包括 BASIC、FORTRAN、COBOL、Pascal、Logo、Prolog、Dbase III+ 和 Clipper '87。


我在 1980 年代中期自学了 Dbase III+,然后高中毕业后立即找到了一份工作,担任Clipper Summer '87 的兼职顾问。这帮助我支付了在罗格斯纽瓦克/新泽西理工学院的大学学费。


1990 年代


完成学业后,我在新泽西州蓝十字蓝盾 (BCBSNJ) 的评级和承保部门找到了一份程序员的工作。


我开始使用 Clipper 5.x 进行编程,后来在称为 CA-Visual Objects 的 Windows 版本的 Clipper 中学习和编程。我在 DOS、Windows 3.1、OS/2 和 Windows 95/NT 中度过了我早期的职业生涯。


90 年代中期,BCBSNJ 将其 IT 部门外包给 Integrated System Solutions Corporation (ISSC),后者后来成为 IBM 全球服务部。


我一夜之间成为了 IBM 员工。起初我还有些惴惴不安,但事实证明这是我职业生涯中的绝佳机会。在 IBM 工作将使我走上学习重要编程语言的道路。在此过程中,我才真下发现 Alan Kay 以及他对现代计算的影响。


1994 年 10 月,我参加了一个为期 5 周的 Smalltalk 面向对象编程的沉浸式实践课程。该计划是 IBM 技术大学的一部分。我在佐治亚州亚特兰大用 IBM 的 VisualAge Smalltalk 学习了 OO 编程和设计 5 周。这些课程每天持续 6 到 8 个小时,由 OO 设计和 Smalltalk 方面的优秀行业专家(如Ghica van Emde Boas )教授。我每天花4 到 6 个小时在实验室编码和探索 VisualAge Smalltalk。我还读了 Rebecca Wirfs-Brock 撰写的第一本关于面向对象设计的书。Rebecca Wirfs-Brock 是我的另一个编程英雄。我认为自己很幸运能够签署她的两本 OO 设计书籍。


Smalltalk 进一步巩固了我对编程的热爱。这是一个优美的语言,还有有一个身临其境的学习环境。


回到工作岗位后,我积极寻找一个可以使用 IBM VisualAge Smalltalk 构建的项目。与此同时,我继续使用 CA-Visual Objects 开发应用程序。我现在能够在这种面向对象语言中应用新的 OO 编程和设计技能。我变得精力充沛,也想与他人分享这种能量。


所以我建议派更多的开发人员参加为期 5 周的沉浸式研学项目。一年后,我开始与其他两位参加 Smalltalk 沉浸式计划的开发人员一起用 IBM VisualAge Smalltalk 构建医疗保险注册系统。


我们聘请了来自 IBM 快速解决方案小组的专家导师一起工作。我们利用并学习了他们在项目上构建的持久性框架。这是一次非常棒的学习经历。


随后,我继续重新设计和实现之前在 Clipper 中编写的企业评级和承保系统。在持续了大约三年的努力中,我们聘请了 Distributed Smalltalk 的专家顾问团,他们教会了我们很多关于如何思考构建和测试分布式系统的知识。他们还向我们介绍了编程和 Smalltalk 的历史。Dan Ingalls 是我的另一位编程英雄,他写了一篇令人惊叹的论文,题为“ Smalltalk 背后的设计原则”。


千年虫+


2000 年,我决定放弃作为 Smalltalk 开发人员的美好编码生活,转而使用 Visual Basic 和更多企业流行的语言(如 Java)进行编程,因为这是当时行业关注的重点。


我以前的分布式 Smalltalk 导师告诉我去学习 Java 并成为它的专家,后来我做到了。我对未来的可能性感到高兴,但很遗憾我不得不用 Visual Basic 和 Java 编写代码。我用飞行的 DeLorean 时间机器换了一辆 Schwinn 自行车和一辆福特卡车。


2001 年我加入高盛 (GS)。最初作为应用程序架构师,晋升为副总裁,在伦敦生活了一年,成为 Controllers Technology 的 CTO,晋升为 Tech Fellow,建立了一支才华横溢的核心平台团队,在 GitHub 上为 GS 创建了一个不断发展的形象,并被提升为董事总经理。


一转眼就是十三年。在 GS 期间,我用 Java 将近 15 年,并用 Java 创建了一个集合库,该库在 2012 年作为 GS Collections 开源,并最终在 2015 年底成为Eclipse Collections 。


为什么要创建Eclipse Collections?主要原因是经过55年的 Java 编程,我厌倦了一遍又一遍地重复相同的编码模式。我看到 Java 中缺少很多东西,我在使用 Smalltalk 编程时用过很多高级特性,Java中没有。当时我发现向开发人员解释他们在 Java 中缺少什么变成一项挑战。


后来我决定用 Java 构建其缺少的一些功能。多年来,我教过许多 Java 开发人员有关 Smalltalk、OOP、OOAD、Lambdas、TDD、重构的知识。这些都是我在 1990 年代在 Smalltalk 中学到的东西。


编程是乐趣


这些年来我教给开发人员的最重要的一课是编程很有趣。如果你正在编程,但没有乐趣,那么你可能做错了。这可能不是你的错,你可以请求帮忙。当编程很有趣时,我们最有创造力。


创造力是游戏!我们需要创造性地解决我们今天面临的复杂问题。


我对 Eclipse Collections 充满热情。这是因为通过使用 Eclipse Collections,我可以教 Java 开发人员如何在使用 Java 在编程时获得真正的乐趣。这些年来,我遇到了很多 Java 开发人员,他们要么成为管理者,要么完全放弃编程,因为这门语言似乎打败了他们对编程的热爱。


最初几年我非常讨厌用 Java 编程,但我从未失去对编程的热爱。我当然怀念在 Smalltalk 和 Clipper 中编程,因为使用它们更有趣、更高效。


我花了几年时间在 Java 规范请求 (JSR) 335 专家组 (EG) 上与 Brian Goetz、Doug Lea、Dan Heidinga、Rémi Forax、Sam Pullara、Tim Peierls、Bob Lee、Kevin Bourrillion、Andrey Breslav 等专家一起工作。我们都想通过引入 lambda 来改进 Java 语言,让编程变得更有趣、更高效。


现在回想起来,我可以说我帮助 JSR 335 EG 为 Java“创造了未来”。从 Java 8 开始,现在 Java 编程变得更有趣了,而且工作起来也更简单了。但是仍然有很多开发人员尚未体验到这种快乐。


我仍然喜欢 Smalltalk,而且我相信一直都会。我现在也喜欢用 Java 编程了。我本可以认输,选择一种不同的语言来编程,或者转向一个完全不同的职业。我相信编程很有趣,我与社区中才华横溢的技术专家一起努力让 Java 变得更有趣,这不仅是为了我自己,也是为了数百万 Java 开发人员。


分享就是关怀


做你爱做的,爱你所做的事。尽可能获得报酬,然后与他人分享编程乐趣。激励和激励子孙后代实现他们所能做的一切。那么,也许你会像我一样理解和欣赏编程的乐趣。


未来


经过 40 年的编程,我决定更积极地编写代码。我的个人使命是尽可能多地分享有关 Java、Eclipse Collections 和 Smalltalk 的信息。我现在每个月写 1-2 篇博客。我想尽自己的一份力量让未来更美好,并为子孙后代保持编程的乐趣。


七年前,我的第一位计算机英雄——艾伦·凯(Alan Kay)给了我一份很棒的礼物。他为我签名的 XO 笔记本电脑是我永远珍惜的东西。艾伦当时不知道,因为他刚认识我,但他在笔记本电脑上写的东西对我来说就像一个预言。他写道:“未来会更好。” 。


那时,我的妻子正准备在一个月后进入医院接受干细胞移植,以对抗 AML。我需要写关于相信的东西。当我把这台签名的笔记本电脑带回家并与妻子分享这个故事时,流下了眼泪,我和妻子分享了Alan 的乐观天赋。


在你工作或个人生活,以及任何时间,有时候会遇到完全糟糕透顶的事。现在的疫情似乎证明了许多人的情况,但我内心的乐观主义者相信艾伦所写的必将是真实的。“未来会更好”,但前提是我们要非常努力地做到这一点。如果我们一起努力工作、合作和相互投资,我们就可以创造一个更美好的未来。


我在 Java 编程中学到的在 Smalltalk 中没有体验到的乐趣之一,是与大型、协作和支持社区一起工作的乐趣。Java 社区的强大令人难以置信。这是不断给予开发者的礼物。我很荣幸能成为这个充满活力的社区的一员。我们将一起继续为整个 Java 社区创造更美好的未来。


编程的乐趣还在继续。


作者:唐纳德·拉布

编译:洛逸

原文:https://donraab.medium.com/the-joy-of-programming-64cd5949bc78

评论