首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编程语言「考古」:曾经影响一代人的BASIC,原来还有前身

Kemeny 和 Kurtz 都见证了计算机如何改变自己的生活,也认识到这项技术不会止步于此。 随后,两人给自己设置了一项任务:教特茅斯学院的每一位学生使用计算机。...以 FORTRAN 为例, FORTRAN 中,变量需要用特定的数据类型来声明,而且变量声明需要在程序的特定位置进行。相比之下,BASIC 不使用显式类型,任何变量都可以保存任何你想要的东西。...凭借这些线索,我找到了一个藏在特茅斯学院档案馆里的文件夹,里面的手稿被简单地命名为「特茅斯超简化编程实验」,存在 Kurtz 的笔记文件夹里。...除非你知道第 11 行写了什么,否则你无法马上说出「GOTO 11」是什么意思。 DOPE 中,「T」操作可以让你跳转到给定的行号。...条件语句 DOPE 中的工作方式与此类似。 唯一的例外是循环。BASIC 中最让我感到奇怪的是它如何处理 FOR 循环。一般来说,循环是你一个程序中应对重复操作的方式。

61220
您找到你想要的搜索结果了吗?
是的
没有找到

第三十四章 : 流程控制:for 循环

我们可以很容易的说明它是如何工作的: [me@linuxbox ~]$ for i in A B C D; do echo $i; done A B C D In this example, for is...循环体内,我们有一个 echo 命令会显示 i 变量的值,来演示赋值结果。正如 while 和 until 循环,done 关键字会关闭循环。...正如我们所看到的,我们已经更改了最外围的循环,用 for 循环来代替 while 循环。通过省略 for 命令的 words 列表,用位置参数替而代之。循环体内,之前的变量 i 已经改为变量 j。...这一传统的基础源于 Fortran 编程语言。 Fortran 语言中,以字母 I、J、K、L 和 M 开头的未声明变量的类型自动设为整形,而以其它字母开头的变量则为实数类型(带有小数的数字)。...我们仍然测试超级用户(superuser),但是我们 if 语句块内设置了一些随后会在 for 循环中用到的变量,来取代 if 语句块内执行完备的动作集合。

25210

悼念!首位图灵奖女得主去世,她说编程与登山一样,充满挑战

艾伦纽约州北部一个没有电的农场长大。童年时期,她的梦想是当一名老师。 她的确做到了。从纽约州立师范学院(现为奥尔巴尼大学,隶属于纽约州立大学)毕业后,她成为一名教师,甚至姐姐也成为她的学生之一。...1957年,艾伦密歇根大学获得数学硕士学位。为了偿还大学债务,她开始任职于IBM。 进入IBM后,艾伦教新员工使用一种名为Fortran的新编程语言。...据IBM介绍,艾伦大力支持指导其他女性编程,她被选入国际科技女性名人堂,并获得了计算机女性协会颁发的奥古斯塔·阿·拉夫莱斯奖。 除了烧脑的计算机领域工作,艾伦还把热情「分」给了登山。...接受作家珍妮特·阿贝特(Janet Abbate)的采访时,艾伦回顾了她对远足的热爱,并将其等同于她的职业生涯:充满挑战性和趣味性。 「我就是喜欢智力和技术方面都具有挑战性。...你知道,这在某种程度上是相同的事情:这是一种挑战,也很有趣。一个人该如何参与其中呢?一个人能给它带来什么能力来改变它?」

37830

编程语言简史《一》

机器的语言 19世纪英国,诗人拜伦的女儿阿·洛夫莱斯,1842至1843年间,投入了9个月的时间,翻译了意大利数学家路易吉·米那比亚关于查尔斯·巴贝奇最新计算机设计 — 分析机的备忘录。...她的工作不仅仅是翻译,还包括对米那比亚备忘录的注解,其中她增加了大量自己的见解和算法描述,包括指导机器如何计算伯努利数,这通常被认为是世界上第一个计算机程序算法的原型。...因此,阿也被认为是世界上第一位程式设计师。 然而随着时间的推移,阿的算法逐渐被人遗忘。...当我对着雪花深思时, 从未见过两片相同的, 我知道,上帝偏爱那一门 名字是四个字母的语言。...到了1970年,以Algol-W为基础,尼克劳斯·维尔特发明了Pascal语言,这距离他离开Algol小组差不多两年的时间。

9610

《代码英雄》第三季(2):学习 BASIC

在这一集,我们将继续“编程语言的过去与未来”的旅程。第 1 集中,我们深入研究了 Python,并了解了开源社区如何在其领导阶层的大动荡中生存下来。比起上一期节目,本次节目则会更注重于个人。...他们想知道:如果要编写一种所有人都可以使用的编程语言,那会是什么样的?当美国各地的青年们剧烈地抗议,要求变革时, 特茅斯(Dartmouth)团队提出了一种另类的革命。...她也是世界上第一个计算机领域使用 “bug” 这个词的人。)所追求的那种世界。当我们上一季谈到 哈伯(Hopper)时,我们到了她的语言创新如何将编程带到更多人眼前。...我不知道是否有其他任何使程序员开心的语言。我知道人们发明了许多语言来使机器开心,但我认为 Ruby 确实很自然。 00:13:44 - Saron Yitbarek: 这一点我们可以达成共识。...这是我们 特茅斯(Dartmouth)看到的一切的延续;但如今,一个多样化的开发生态系统中,新的、更加自然的入门方式将会不断涌现,初学者们已经有了更理想的手段来开始他们的编程“游戏”;有时,他们甚至会以玩游戏的方式入门

57920

图灵奖12 —— 约翰·巴克斯,Fortran和BNF的发明人,却有着不幸的童年

5 FORTRAN (1953 - 1958) 5.1 1953 年的状况 1953年,人们普遍知道如何制造我们今天所知道的计算机(即冯·诺伊曼架构)。...巴克斯后来谈到了语言设计过程: 我们对语言设计问题的无知中------当然,我们对许多后来被认为很重要的问题一无所知,例如块结构、条件表达式、类型声明------我们看来,一旦我们掌握了赋值语句、下标变量和...5.8 FORTRAN II 以及更多 FORTRAN被广泛部署后,许多疏忽被发现,这些疏忽最终FORTRAN II中得到了实现。...你可以通过观察一个程序员对FORTRAN持续生命力的态度来衡量他的观点。" 巴克斯:"我们知道自己想要什么,也不知道如何去做。它就这么增长了。第一个问题是语言应该是什么样的。...然后如何解析表达式------这是一个大问题,我们所做的现在看起来非常笨拙。"

1.4K20

c和fortran混编

这正是因为链接器(链接器其实 是ld,gcc调用了它)foo.o中找到了main.o中需要的foo的定义,并且main.o中找到了main的定义。...所以我们也需要类似c++的做法改变fortran程序编译出来的符号 名。 我不知道fortran是否有extern “C”之类的东东。但是编译fortran程序是有选项可选的。...这也就是为什么时常有人问gcc main.cc会出错的问题了,如果main.cc用到了c++库中的函数,那么当然要使用gcc -lstdc++ main.cc才行了) 如果我们保持main.c不变,...( objdum的功能比nm更强大) 有很多东西很基础我还罗嗦了很久,让大家见笑了:) 还有一件事,那就是我这里链接采用了gcc -l的方式,更基本的是ld的方式,只要你知道链接哪些库,链接的顺序如何即可...我对f‍ortran一无所知,只知道其优势在于科学计算还比较方便,再有就是某领域的早期程序大多由fortran编写。

1.5K41

论开发者最讨厌的编程语言竟然是...

看过许多最受欢迎的编程语言榜单,但小伙伴们知道开发者最想规避的语言是什么吗?Stack Overflow 近日发布了一些数据,试图找出最不受欢迎的编程语言。...为了使我们的分析与最后几个职位保持一致,我们将统计数据限制几个高收入国家(如美国,英国,德国和加拿大)。 该数据还总结出了一些技术的受欢迎情况。...开发者最不喜欢的技术包括 Internet Explorer、Visual Basic、Flash、COBOL、Fortran 和 Pascal ; 普遍喜欢的技术则包括:机器学习、Git、Python...而仅仅是衡量哪些技术至少一部分开发人员的使用过程中,是让他们感觉到舒服还是负面的。”...但是那又如何?起码现在能赚到钱就行。 @康书记:讲真,Python的代码没有一点代码美学,太讲实用性了 @haitaosoft:Delphi 用的少 也就罢了,居然还被讨厌了?

1.1K71

我的第一门编程语言

她听说过从键盘和屏幕输入这回事,现在竟然真的看到了。但更令她吃惊的是这里的软件技术,她知道了一种叫 FORTRAN 的东西,竟能用接近自然语言的代码编写程序,能将数学公式直接写到代码里!...有一次和一位从事 GPU 研发的朋友聊天,他们首先做的工作就是支持 FORTRAN 语言,可见这门语言科学计算领域仍然是顶梁柱。最新的 TOIBE 兵器谱上排行 26,相当不错的成绩。...FORTRAN 语言本身在发展,我们当年采用的是 FORTRAN 77,具有结构化编程特性。虽然 FORTRAN 90 加入了面向对象,并提供了指针,但这些对于我们来说过于超前。...技术都是有传承的,FORTRAN 有些特性被 Matlab 继承,比如可以直接对矩阵和复数进行运算,比如矩阵元素存储空间的存储顺序采用行优先,等等。...要知道,有些知识,其影响是潜移默化的。 在后来的工作中,我陆续学习过不下十门编程语言,基本都是随学随用,查查手册、查查资料,就可以上手。 你的第一门编程语言是什么?有什么特别的记忆?欢迎留言区讨论。

48930

「MoreThanJava」机器指令到汇编再到高级编程语言

第一个高级语言:FORTRAN 当 John Backus 1950 年以一名科学程序员的身份加入 IBM 时,已经可以使用诸如 ADD 之类的助记词代替数字代码来编写程序,也就是我们的汇编语言。...Backus 1953 年向他的经理提出了这个想法。他得到了预算,并被鼓励雇用一个小团队来测试该想法的可行性。...由此计算机更快地深入到了社会之中,它在工业部门中初露头角,更是火箭、导弹、人造地球卫星的设计中大显身手,因此有人称 FORTRAN 语言使计算机的工业应用成了可能,是推动第二次世界大战以后西方工业经济复苏和进入第二次工业革命的无形力量...FORTRAN 后时代 FORTRAN 高级程序设计语言的出现孕育了计算机软件业,继其之后,计算机高级程序语言的开发进入到了一个蓬勃发展的时代。...1964 美国特茅斯学院约翰·凯梅尼和托马斯·卡茨认为,像 FORTRAN 那样的语言太过专业,编程非常困难。于是他们简化了 FORTRAN,并设计出了更适合初学者的 BASIC 语言。

91650

NVIDIA发布全新OpenACC工具套件

减少编程工作、更多地关注科学本身 全球视觉计算技术行业领袖NVIDIA®(英伟™)今日发布了全新OpenACC工具套件,通过这款全新的套件,未来科学研究将可以做更多事情,并大幅提升计算效率。...全新的OpenACC工具套件包含行业领先、用于Linux系统的PGI加速器Fortran/C语言工作站编译器套装软件,该软件支持OpenACC 2.0标准。...该案例中,他提到了一款名为LS-DALTON的应用,该应用主要用于复杂的大规模分子模拟。 他想要在基于GPU打造的Titan超级计算机上,利用LS-DALTON来模拟更大的科学难题。...然而像许多研究人员一样,Eriksen的Fortran编程技能是自学的,他并没有计算机科学这方面接受过正规教育。...如果你有一款C语言或Fortran应用并且想要使其配备GPU的计算机系统上运行,那么现在正是时候。

1.2K50

Nature盘点:从Fortran、arXiv到AlexNet,这些代码改变了科学界

「今天,我们拥有大量算力。但问题是,这仍然需要人类的思考。」 如果没有能够处理研究问题的软件以及知道如何编写和使用软件的研究人员,计算机再强大也是无用。...早期,编程人员使用穿孔卡片(punch card)输入代码,复杂的模拟可能需要数万张穿孔卡片。不过,Fortran 使得并非计算机科学家的研究者也能够进行编程。...普林斯顿大学气候学家 Syukuro Manabe 表示:「我们第一次靠自己进行编程。」他和同事使用 Fortran 语言开发了首批成功的气候模型之一。...Fortran 代码运行速度很快,仍然有很多编程人员知道如何Fortran。古老的 Fortran 代码库依然活跃在世界各地的实验室和超级计算机上。...Hinton 表示:「我们几乎将误差率降低了一半」。

40230

无缝衔接Fortran大气模式和Keras深度学习模型!

如何利用现代语言环境下的深度学习生态,以耦合到Fortran语言的数值计算模型中,一直是大家关注的事情。...详细版本 上古语言Fortran起初是为了数值计算,由于其计算效率高,而得到了广泛的应用。...而且深度学习地球科学领域也得到了广泛的关注,比如远程遥感、气候变化、数值预报模式等,尤其是利用深度学习优化数值模式中的次网格参数化过程,比如云、辐射参数化。...然后,这些信息转换为与FKB/F中匹配的Fortran神经网络配置,从而允许用户可以Fortran中构建相同的网络,很容易Fortran环境中加载和使用。...Fortran中训练 首先要区分两种训练方式:离线和在线。这两种方式的差别主要是:如何利用模型的预测结果。

2.6K30

畅谈百年编程语言

但是如果 C 接替了 Algol,他认为这没问题,他只是想知道 Algol 的哪些特性足够好,能够转变中存活下来。 我想知道 100 年以后,哪些语言还会存在,并且基本上还可以使用。...比如说,Fortran 明显比 C 快得多。这种需求和开发者社区一直推动着 Fortran 的发展。 这就很有意思了:我们说一种百年编程语言时,并非指它的语法和特性的延续。...我们现在还不清楚。 不过,小众意味着该语言有重点和目的。小众语言之所以强大,是因为它能让用户社区知道在帮助谁,以及如何帮助他们。这也是围绕书籍、产品或许多其他事物的社区所需要的。...C++ 谷歌中得到了广泛的应用,但是这并不能成为其生存的唯一原因。Shopify 使用 Ruby,但是它的寿命只有这么长。 你需要新的用户,新的承诺,新的血液。 承诺是如何实现的?...我们只关心这个社区的词汇。 Java 或 Fortran 或 Ruby 或任何你喜欢的语言也是如此。 为了保持一种语言的健康发展,你需要知道你对社区的承诺是什么。为什么会有这些承诺?

21630

Stuart Russell专访:关于ChatGPT,更多数据和更多算力不能带来真正的智能

Stuart Russell:我首先想到的回答是——我们知道,因为没有人知道这些模型是如何工作的,包括创造它们的人。 ChatGPT 知道什么?它能推理吗?它在什么意义上理解了答案?我们知道。...但是,我们知道模型是如何做到这一点的,我们也不知道这种泛化能力的边界在哪里,我们知道这种泛化是如何在电路中实现的。...来源:《人工智能:现代方法(第 4 版)》插图 2-15 -2- 机器之心:我们不清楚 ChatGPT 的原理,但通过工程实现,得到了某些情况下好用的工具;ChatGPT 似乎也是将人纳入回路的一个很好的例子...但实际上,我并没有真正理解正弦函数,我不知道函数的形状,也不知道它的数学性质。 我很担心我们自欺欺人地认为我们正在走向真正的智能。...很显然,前人了解到了一些事情,包括他们的感官体验,然后用英语和数学这样一些表示性的语言将其记录下来,我们从中学习,了解到宇宙运行的规律,并基于这些进行推理和工程和设计,等等,从而观测到了宇宙另一端的黑洞碰撞

35210

软件随想录

(一) 软件领域有个叫格林斯潘的哥们,估计大家都不怎么熟悉,但下面这句话写过代码可能没几个不知道: Any sufficiently complicated C or Fortran program contains...学习一门对你而言「离经叛道」的语言相当于为自己开辟了一个全新的天地,让你走出克效应(D-K effect)。...一个python程序员,学习C代码,弄明白了preprocessor,compiling,linking,loading,disassemble的过程中如庖丁解牛般「看」到了系统的脉络,也会幸福地哭。...(六) 我们选择技术,完成工作的时候,忘记了软件其实是在为商业目标而打工。一切不以实际商业目标而优化的代码都是耍流氓。...我朋友的一家创业公司,研发状态混乱无比,代码没有review,没有UT,没有CI,开发人员自己测吧测吧就push production,也不写log,系统局部瘫了都要用户发现才知道

80990

f2py:连接 FORTRAN 和 Python 的桥梁

fortran 程序转换为 python 可用的程序是非常必要的,尤其是进行复杂数值计算和处理大量数据时,调用 fortran 程序比使用 python 要高效的多。...关于其优点不再多说,安装部分不再赘述,主要说一下如何使用 Windows 如果直接使用 f2py 进行程序的转换,很可能会出现问题。当然,如果你已经配置好环境了的话是没问题的。...由于 f2py 的使用需要用到 c/c++ 编译器,fortran 编译器,因此,使用之前要安装相应的编译器。...如果安装到了 Program Files (x86) 目录下,即使指定完整路径也会失败,因为路径中包含了空格。 执行后将得到以下结果: ?...当然在编写可转换的 fortran 程序时很容易出错,下一次讲一下常见错误,以及如何看错误并解决之。

4.6K10
领券