你用过多少种编程语言?

了解为什么有这么多不同的编程语言。
172 位读者喜欢这篇文章。

机器说一种语言,但我们人类说许多不同的语言……编程语言,也就是说……从 Python 到 Go 到 JavaScript 以及更多。这一切都始于 Grace Hopper。

“语言中最具破坏性的一句话是:一直以来都是这样做的。

在 20 世纪 40 年代,Grace Hopper 在海军后备队以机器级别进行编程,逐位进行。她意识到人类使用为机器设计的语言是多么的局限,并希望彻底改变我们编程的过程。她知道,如果不改变,计算永远无法发挥其潜力。

“一旦人类学会说编程语言,并且一旦编译器开始将我们的意图翻译成机器语言,就像打开了闸门,”Command Line Heroes 播客的主持人 Saron Yitbarek 说。

通过收听 Command Line Heroes 第二季的第 2 集,了解更多关于 Grace Hopper 以及为什么有这么多编程语言的信息,以及关于第一个开源编译器的历史。

User profile image.
Jen 领导红帽数字社区团队的社区经理团队。她与丈夫和女儿 June 和 Jewel 一起住在罗利。

10 条评论

我的很多编程都是基于工作中的需求。

- 我从 Excel 中的 VBA 开始,浏览大型机中的一个庞大的文本文件,以获取最后一位的总数。
- 我学习了 VB 脚本和 SQL,将数据从大型机移动到 SQL Server。然后他们开始教我 Pick Basic(Unidata 的一种变体)。
- 当我需要从数据仓库获取数据到我们的销售代表时,我学习了 ASP (classic)。

除了上面的 Unidata,以及高中时期的 Basic 和 Pascal ('89),上面的列表都是在工作中自学的。

困难的是,在我开始上课并发现 IT 部门给出的建议与课堂上说的“不要做”相同之前,我不知道我是否学对了或学错了。

最终,在另一家公司,我接受了关于 ASP.NET 和 VB.NET 以及 SQL Server 的培训。

与此同时,在家里,我自学了 Linux、PHP 和 C#。

根据我在家里的 Linux 和 PHP 经验,我受命将公司 Drupal 站点从 5 更新到 7。我不仅要学习 Drupal 是什么以及 CMS 如何工作,还要根据我在家里的 Linux 经验,学习管理它所在的 FreeBSD。

我花了大约 14 个月,或者像我的老板喜欢指出的那样“3 个财年”(那是上一个财年的最后一个月、一个财年和第三个财年的一个月)。

有趣的是,我在自己学习的技术(ASP、Linux、PHP)中获得了机会。

你提醒了我,我确实学到了足够的 PHP 来连接到 MySQL,并且我涉猎了 MySQL 并将其内容导出到 Excel。我确实在 Drupal 和 Moodle 上做过后端工作。

回复 作者: dragonbite

我在高中开始学习 visual basic 6,我非常喜欢它,但在两个学期后,我的老师鼓励我学习一种新的编程语言。所以我一直在学习新的语言,例如 c#、c++、Java 等。我真的有学习新 PL 的动力。最近,我一直在学习 python,以便在我的项目中使用 ML。

“一直以来都是这样做的”……我们使用一个我们称之为“切掉烤肉末端”的轶事……基本上这是一个关于一个女孩想知道为什么她的母亲在烹饪烤肉时要切掉烤肉末端的故事……妈妈不知道,于是派女孩去问她的祖母和曾祖母,找出曾祖母切掉烤肉末端的原因,因为她的锅太小,放不下整个烤肉……所以妈妈这样做是因为“一直以来都是这样做的。”

我第一次听到这个轶事是在 1974 年 IBM 培训学校。这是一个很好的故事,准确地反映了我工作过的许多地方的状态。

回复 作者: AdamWood (未验证)

我是前端,Js 对我来说足够了。此外,我有时需要 SQL

我从 AppleSoft BASIC 和 FORTRAN77 开始,但不要因此而责怪我。 :-)

这些天,我使用最适合这项工作的任何编程语言或脚本语言。当我想自动化某些东西时,我通常使用 Bash。如果我要编写网站,我更喜欢 PHP。如果我想要底层编程,我使用 C。如果我需要以简单的方式处理数据,我可能会使用 Awk,如果我需要以奇怪的方式处理数据,我可能会使用 Perl。

从 cobol (bs2000) 和 asm、rexx (大型机)、prolog、fortran77、basic 开始,转移到 c、c++、c#、java、python、perl、php、javascript、rust、golang、...

我认为几乎更容易说出我没有在其中做过项目的语言。Brain***k 就是其中之一,不过,我确实从中获得了乐趣,很好的思维游戏 :-)。

我倾向于将编程/脚本语言视为高效完成工作的框架(这排除了 Brain***k)。对于语言本身,我不太在意,当然,我确实有偏好 :-)。

PS:对我个人而言,开源 a、GNU 和 Linux 在我的道路上至关重要,因为编译器变得可用,即使在当时对于私人使用来说也很昂贵且难以获得,比如一个好的 C 编译器。GNU 和 Linux 真的在那里为我带来了不同。我从未学习过编译器开发,这是一个我在教育中完全错过的领域,也是我非常钦佩的技能,即使是在 ASM 中开发也是如此。Linux 使我能够使用带有 OS 的工具。

BASIC
Pascal
C
Lisp
Modula 2
汇编器 (6502,x86, Eclipse-MV, VAX, Sparc)
Objective C
C++
Forth
Postscript
SQL
Java
Groovy
Javascript
ActionScript
Python
Perl
Bourne Shell/Bash
Powershell
C#
XSLT

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.