范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

编程语言简史

  软件编程的远古时代
  计算机软件编程是一个新兴行业,程序员这一职业的出现不过半个多世纪,但是追溯人类从事软件编程的探索却更为久远。在计算机出现之前,甚至在蒸汽机发明之前,人类就开始探索软件编程了。
  最早开始编程探索的是德国的莱布尼茨。早在17世纪,莱布尼茨就期望将各种事物都通过一种逻辑语言进行描述,然后用一种可执行演算规则的机器进行计算,由此计算出事物的各种结果。这种思想其实和我们现代的软件编程与计算机相差无几。莱布尼茨为了实现这个想法,进行了大量的工作,获得了丰硕的成果,其中就包括微积分和二进制。
  但是人很难超越生活的时代,莱布尼茨制造可编程计算机的梦想没有实现。百年以后,法国人雅卡尔发明了一台可编程的织布机,这种织布机读取纸带上的打孔信息,进而控制织布机织出不同的图案。于是人们开始尝试将打孔纸带用于计算机编程。19世纪中叶,当英国人Ada利用打孔纸带写出人类第一个软件程序的时候,距能够运行这个程序的计算机2的出现还有一百年的时间,而这个程序已经包含了循环和子程序。Ada因此被认为是人类第一个程序员。科技发明受时代的限制,天才的想象力和聪明才智却可以超越时代。
  人类发明计算机器有悠久的历史,但是这些计算机器都是专门进行数值计算的,如加减乘除、微分积分等。而从莱布尼茨、Ada到图灵、冯·诺依曼,这些现代计算机的开创者试图创造的是一种通用的计算机,这种计算机不是读取数值进行计算,而是读取数据进行计算,这些数据本身包含着计算的逻辑,这里的数据就是程序。当冯·诺依曼在 ENIAC计算机上输入第一个程序的时候,就标志着现代计算机的诞生,也意味着软件编程这一新兴行业即将出现。信息时代、互联网时代将接踵而至,人类开启了有史以来最大的一次科技革命。
  现在,我们编程时已经习惯打开IDE,编写程序代码,然后编译执行或者解释执行,认为编程就该如此。我们觉得那些不需要IDE只需要写字板或者vim就可以编程的人就是"大牛"。事实上,最早的计算机编程非常麻烦,程序员需要将电线编来编去作为输入数据,以控制计算机的执行,如图所示,有些人认为这也是编程这个词的由来。不过,人们很快就将打孔纸带应用到计算机上,编程的效率也极大提升。
  机器与汇编语言时代
  接近我们现在所能理解的软件编程要到1949年,随着第一台可存储程序的计算机的发明而出现,自此程序员终于可以写代码了。这个阶段的程序员需要牢记计算机指令的二进制编码,软件开发就是直接使用这些二进制指令进行编程,每个计算机指令后面要带操作数,操作数也是二进制编码,所有这些二进制就是程序的代码,由程序员输入到计算机中。
  早期的软件编程是程序员通过记忆计算机指令的二进制编码进行操作的,这种方式足以让程序员崩溃,于是他们发明了汇编语言。与使用机器指令二进制编码唯一不同的是,汇编语言提供了机器指令助记符,编程的时候机器指令二进制可以用助记符代替。但是软件编程依然需要使用计算机指令,一个指令接着一个指令地进行编程。因此,机器指令二进制编程和汇编语言编程本质上都是面向机器的编程。如下所示的汇编语言程序已经是PC时代的汇编语言程序了,早期计算机的汇编程序则更加古老。
  汇编语言示例2000:BMI2009 ;若结果为负数,那么转地址2009
  2002:BEQS200C ;若=0,转地址200C
  2004:CLc ;这里说明>0
  2005:ad#01
  2007:TAY
  2008:RTS
  2009:LDY#S01
  200B:RTS
  200C: LDY#$00
  200E:RTS
  高级编程语言时代
  在计算机出现的早期,对程序员而言,计算机也是一个神奇的存在。同一台计算机,既可以进行科学计算,也可以进行弹道轨迹计算,还可以进行财务核算计算计算机如此强大、神奇、昂贵,程序员匍匐在计算机的脚下,使用计算机的指令进行编程。但是随着计算机技术的不断发展和普及,程序员逐渐意识到计算机本身是呆板而机械的,真正强大、无所不能的是软件程序。为了更高效地进行编程,应采用一种对程序员更加友好的编程方式,一种更接近人类语言的编程语言,于是各种各样的高级编程语言出现了。
  最早的高级编程语言是 Fortran,这是一种专门用于科学计算的高级语言,诞生于1957年。但是真正主流的、被广泛使用的各种高级语言则诞生于1970年前后,其中包括C语言,据说丹尼斯·里奇发明了C语言然后为了验证C语言的特性,开发了一个Demo,就是UNX操作系统。
  这些高级语言使用人类语言作为编程指令,如if…lse、 whilebreak、、fs更符合人类的习惯和逻辑思维方式。由于这些语言关注逻辑处理过程,所以也被称向过程的编程语言。事实上,这些语言的本质是面向人的,因此这一时期爆发的各种语言从本质上说是面向人的编程语言,更准确地说,是面向程序员的编程语言。
  Basic编程语言示例INPUT"What is your name:", Username
  PRINT"Hello"; Usernames
  DO
  INPUT"How many stars do you want:", Numstars
  Starss STRINGS(Numstars,"*")
  PRINT Stars$
  DO
  INPUT "Do you want more stars? " Answers
  LOOP UNTIL Answers
  "
  Answers- LEFTS (Answers, 1)
  OOP WHILE UCASES (Answers)=""
  PRINT"Goodbye"; Usernames
  高级编程语言的普及极大地释放了程序员的自主性,软件开发迎来黄金时期,程序员的第一个极客时代到来,比尔·盖茨、乔布斯都是在那个时代成长起来的。但是人的欲望是没有止境的,人能做到的越多,想得到的也就越多,数亿美金的软件开发计划不断被提上日程。但是面向过程的复杂性随着软件规模的膨胀以更快的速度膨胀,很多大型软件开发过程开始失控,最终以失败告终,人们遇到了软件危机。
  面向对象编程时代
  软件危机使人们开始重新审视软件编程这件事情的本质,除了一部分科学计算或者其他特定目的的软件外,大部分软件都是为了解决现实世界的问题而问世的,如企业的库存管理、银行的账务处理等。所以,软件编程的本质是程序员用代码的方式使现实世界的事务运行在计算机上,计算机软件是为了解决现实世界的问题而开发出来的。那么,软件编程这件事情应该关注的重点是客观世界的事物本身,而不是程序员的思维方式或者计算机的指令。
  如果软件编程的重点是客观世界的事物本身,那么编程语言如何才能更好地满足这一需求?基于这一问题的思考,面向对象的编程语言应运而生面向对象编程以对象作第编程语原理为软件编程的基本单位,提出一切皆对象,客观世界的用户、账号、商品是对象;创建、组合、关联这些对象的工厂、适配器、观察者也是对象;将所有这些对象分析、设计、开发出来,一个软件系统的开发就完成了,这个软件系统灵活、强大,最重要的是可以根据需求变化快速更新维护。
  Java对象代码示例:public class User{
  private String name;
  private Integer id;
  public String getname()
  return name;
  public void setname (String name)(
  this.name = name;
  public Integer getid()(
  return id;
  public void setid(Integer id){
  this.id = id;
  }
  ... ...
  }
  编程语言的未来
  回顾一下现代编程技术的发展历程,我们可以发现这一历程大体经过面向机器编程、面向程序员编程、面向对象编程三个阶段,这正好对应马克思经济学关于劳动力的三个要素:劳动工具(计算机)、劳动者(程序员)、劳动对象(客观对象)。面向对象编程似乎已经进化到编程在哲学意义上的终点,是编程语言的终极形态。现实看起来也确实如此,最近三十年诞生的编程语言几乎全部都是面向对象的编程语言,面向对象一统天下。
  但事实真的如此吗?回望历史,我们站在"上帝"的视角去看,一切都是如此清晰、有条理;但凝望未来,我们还能如此笃定吗?情况也许并非如此。事实上,一方面,现实中的面向对象编程几乎从未实现人们期望中的面向对象编程。上面给出的Java的User对象示例就是典型,也是所有面向对象教程的第一个程序。但这又是一个我们经常见到却又非常不面向对象的对象。这个对象只有属性,没有行为,现实中的User对象显然不是这样的。国外与国内部分企业和部分程序员做到了真正的面向对象编程,但是国内绝大多数程序员并没有做到,面向对象编程普及几十年了,国内的大多数程序员依然做不到真正意义的面向对象编程,是程序员的问题还是编程语言的问题,或者其他的什么问题呢?

共同富裕势在必行?互联网巨头疯狂助力,背后的逻辑是什么?不得了,阿里巴巴,腾讯各出资1000亿助力共同富裕,美团王兴也站出来发声支持共同富裕。这些互联网巨头是怎么了?这么多钱撒向社会,对我们普通人来说有哪些好处呢?共同富裕的提出,普通人程序员2021。9。60热搜第一!微信拟收费?网友吵翻了微信拟推出聊天记录付费云存储服务的话题登上热搜第一,引发网友广泛关注据中国日报9月4日消息,腾讯拟推出个人微信云存储付费服务,意味着微信聊天记录,首款太阳能电动车或将成功量产有望成新主流据外媒报道,世界上首辆面向大众的太阳能电动车(SEV)Sion的订购量已达1。4万辆,平均首付为3300美元。甚至在开始生产之前,总订单价值超3。5亿美元。SonoMotors的目每天5分钟,python速成(35)首先明确学习目标,今天的目标是python递归函数深入学习结合递归函数计算阶乘深度了解递归函数1,递归函数计算阶乘while循环注意调用自身函数引用循环,避免超界限调用情形defc尼康D850和宾得K1相比都有哪些可比性?K1有何差距一般玩家K1是否值得上手?谢谢邀请这两个相机不在一个档次上,宾得的像素在3600万左右,而尼康850的像素在4500万左右,相差较大。同时尼康是商业机型的旗舰。虽然宾得K1是旗舰型相机。但是,宾得不在一线品装有线电视的为什么会越来越少?我们发现有线电视用户越来越少,更多的人选择了网络智能电视来代替有线电视,有几下几个原因。一,有线电视不是按户收费,现在好多家庭基本都有两台电视,需要好几台有线数字盒,不人性化。二,任正非不应该这么绝情,合作共赢?2018年12月1日,华为创始人之女孟晚舟被美加联手逮捕,时至今日,1000多天过去了,孟晚舟案件的庭审已经结束,但据美法律专家的分析来看,孟晚舟回国的概率只有1,也就是说,孟晚舟智能T恤要来了?可监控心率追踪定位,还能像普通衣物一样清洗近年来,可穿戴智能设备成为大势所趋。全球范围内,可穿戴设备消费在2021年预计将增长18,2022年还将再增长15。而这一领域也在不断迎来创新和发展。据外媒报道,研究人员研发出一种华为nova9官宣搭载HarmonyOS,9月23日发布今日,华为终于官宣nova9系列,该机将于9月23日发布。从图中可以看到,华为nova9系列与此前曝光的图片一致,采用双圆环后置四摄,为渐变色后盖,搭载鸿蒙HarmonyOS。宣传红米K50Pro来袭,18GB2亿,骁龙888Plus加持,售价是亮点现在很多知名手机品牌厂商都去冲击高端市场了,对于中低端的投入完全不够,要么就是手机配置得不到很好的保障,要么就是配置稍好,但售价过高。而在这个行业中依然保持初心的品牌也就数红米做得AJIUYU推出4G上网卡扩展坞,自带SIM卡槽支持三大运营商对于商务办公用户来说,携带笔记本已是十分平常的事,并且为了在差旅中保持工作不断,笔记本时刻都在联网状态。以往需要通过手机开启热点提供网络支持,但这样会带来手机电量的快速消耗,并产生
国产电池巨头最终还是破产,负债197亿,没能从风口上走出来正如有人曾经说过,在机遇来临之际,站在风口处猪都能飞起来。似乎这句话很符合当前的不少的创业公司,有的公司一遇风云变化龙,但也有的公司在风口上被无情地淘汰,被时代给抛弃。在如今新能源蔚来营收高小鹏卖得多理想亏得少谁能率先盈利?来源中国新闻网中新财经3月30日电(葛成)近日,小鹏汽车2021财报出炉。至此,蔚来小鹏理想三家造车新势力的年报已经全部公布。根据三家造车新势力年度财报显示,2021年,蔚来营收最网友投诉知乎乱扣费多扣几十个月,钱都扣没了银行发短信才知道Tech星球3月30日消息,近日,多位网友投诉称,知乎App的盐选会员存在乱扣费自动续费的行为,通过投诉平台,发现存在大量的此类问题投诉,有媒体统计,单从2022年初至今就有过百例阿里腾讯要握手互联互通了?其实大家都知道啊,阿里和腾讯各自领域,在我国互联网圈具有很高的影响力,它们一直来处于竞争位置,前些年的财富榜,两位马老板都竞争上过富豪一哥位置每年的义乌互联网大会,包括互联网圈子饭英利汽车2021年净利润1。49亿元,新能源客户收入占比提升至103月29日盘后,英利汽车披露2021年年报。数据显示,2021年公司营业收入45。95亿元净利润1。49亿元,基本每股收益0。10元。拟向全体股东每10股派发现金红利0。1元(含税快手CEO程一笑平台全年助超2000万用户创收,超60来自中低线城市3月29日,快手科技发布2021年四季度及全年业绩。数据显示,快手四季度DAU(平均日活跃用户)达3。23亿,同比增长19。2,MAU(平均月活跃用户)同比增长21。5达5。78亿宁德时代麒麟电池引关注,多家公司在互动平台回应鞭牛士3月30日消息,宁德时代将于今年4月发布麒麟电池的消息引发市场关注,相关概念股今天早盘大涨。有投资者在互动平台向相关公司提问,江苏国泰称,公司生产的锂离子电池电解液适用于麒麟996改为715?国家对超时加班出手了,对996说不文小杰996真的是福报吗?3月29日,我国许多地方正在加强对加班问题的整改。自3月以来,北京山东安徽河南广西青海湖南湖北江西等9个省份,都在重点调查和整改加班问题。而互联网企业和制华为手机的哈利波特咒语!试试用咒语操控你的手机吧刚刚发现了一个有意思的东西,用华为手机的人可以试一下,这是华为和哈利波特的梦幻联动,对华为手机的小艺念咒语阿瓦达啃大瓜捂脸可以直接息屏,身为一个哈利波特迷,我玩了好久,下面是我挨个五分钟系列之Redis大规模数据存储简述互联网场景下面临的主要技术问题之一是高并发大数据量。为了提高性能保护数据库通常会在数据库之上加一层缓存。目前常用的缓存是Redis,那么Redis如何存储大规模数据?如何将数据库的iPhone14核心黑科技亮相,iPhone13现爱疯价创感人史苹果的iPhone产品将在年度秋季发布会上亮相。作为全球最受关注的手机产品之一,每年新iPhone推出前都会有好几个传闻。此前有消息称,苹果今年将重点关注新iPhone的成像系统,