前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我的第一门编程语言

我的第一门编程语言

作者头像
云水木石
发布2023-02-27 09:08:29
5150
发布2023-02-27 09:08:29
举报
文章被收录于专栏:大龄程序员的人工智能之路

元旦节在家重温了一遍《三体》,看到下面一段描写:

监听部的计算机系统也远比发射部庞大复杂,叶文洁第一次走进主机房时,看到一排阴极射线管显示屏,她惊奇地发现,屏幕上竟滚动着一排排程序代码,可以通过键盘随意进行编辑和调试。而她在大学里使用计算机时,代码都写在一张张打格的程序纸上,再通过打字机噼噼啪啪地打到纸带上。她听说过从键盘和屏幕输入这回事,现在竟然真的看到了。但更令她吃惊的是这里的软件技术,她知道了一种叫 FORTRAN 的东西,竟能用接近自然语言的代码编写程序,能将数学公式直接写到代码里!它的编程效率比机器码汇编不知高了多少倍。还有一种叫数据库的东西,竟能那样随心所欲地操纵海量数据。

勾起了我的一段回忆,我的第一门计算机编程语言,就是这段话中提到的 FORTRAN

FORTRAN 是 “公式翻译”(Formula Translation)的缩写。这门编程语言估计绝大部分程序员都没听说过。不过其来头不小,历史也悠久。早在 1957 年,由 IBM 开发,是世界上第一个高级编程语言。更为神奇的是,如此古老,也没多少人听说过的语言,并没有消失,仍然在科学计算领域发挥着余热。有一次和一位从事 GPU 研发的朋友聊天,他们首先做的工作就是支持 FORTRAN 语言,可见这门语言在科学计算领域仍然是顶梁柱。在最新的 TOIBE 兵器谱上排行 26,相当不错的成绩。

想想那个时候的电脑,真的是相当简陋。显示器是黑白的,没有硬盘,没有鼠标,上机的时候,每个人带几张磁盘,样子如下:

这是一种直径为 5.25 英寸的软盘,最大容量为 1.2 MB。别小看这点容量,当时上面要存操作系统(DOS)、编辑器(ED)、FORTRAN 编译器,编写的代码也存放在这张软盘上。也就是说所有的操作都在这张软盘上,现在觉得真不可思议,哪像现在的系统,动辄好几十个 G。

关于 FORTRAN 语言的语法,现在是完全不记得。只记得有一点,FORTRAN 语言对格式要求非常严格,代码只能写在 7~72 列,当时对打字非常生疏,在这种格式上吃过很多亏。上机时最多的是碰到拼写错误,往往需要花费很多宝贵的上机时间。

FORTRAN 语言本身在发展,我们当年采用的是 FORTRAN 77,具有结构化编程特性。虽然 FORTRAN 90 加入了面向对象,并提供了指针,但这些对于我们来说过于超前。关键是,大一学了这门编程语言之后,就再也没有用过它。其实我上大学的九十年代,很多编程语言如 C/C++、PASCAL,等等,都已经出现并成为主流。而且那个时期正是从 DOS 操作系统转向 Windows 的过渡期,等我毕业的时候,Windows 3.2 / Windows 95 开始成为主流。作为程序员,编写一个带图形界面的程序才是一件炫酷的事。为了满足 Windows 下的程序开发,微软推出了 Visual Basic 语言,这门语言上手简单,通过拖拽控件就能完成用户界面设计。所以我工作后使用的第一门编程语言实际上是 Visual Basic。

学习了一门编程语言,但从没派上实际用场,是不是白学了呢?

也不能这样说,从 FORTRAN 语言的学习中,掌握了程序的基本结构(循环、判断),也学习了结构化编程思想(函数、过程),这样在后续的 C 、PASCAL、Visual Basic 语言的自学中,可以快速上手,除了 PASCAL 引入了面向对象之外,其它的编程结构基本差不多,只不过是语法有些差异。而面向对象的编程思想,也是在之后好几年才开始流行。当时的 Visual Basic 语言虽然不支持面向对象编程,但已经有封装、事件等概念,间接的帮助我后来理解面向对象编程。

技术都是有传承的,FORTRAN 有些特性被 Matlab 继承,比如可以直接对矩阵和复数进行运算,比如矩阵元素在存储空间的存储顺序采用行优先,等等。

对待大学的学习,不要认为大学都是学的落后知识,学到的东西没有直接派上用场,就抨击大学教育。要知道,有些知识,其影响是潜移默化的。

在后来的工作中,我陆续学习过不下十门编程语言,基本都是随学随用,查查手册、查查资料,就可以上手。

你的第一门编程语言是什么?有什么特别的记忆?欢迎在留言区讨论。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云水木石 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档