精华内容
下载资源
问答
  • PLC编程语言梯形结构化文本的比较
    千次阅读
    2021-05-21 03:05:31

    陈世委

    [摘 要]本文结合开化华埠污水厂自控编程中遇见的实际情况,举例研究了常用的梯形图语言和结构化文本在顺序控制逻辑以及数据算法中的实现,并对它们的优缺点进行了分析与总结。

    [关键词]PLC编程语言;梯形图;结构化文本

    中图分类号:TP273 文献标识码:A 文章编号:1009-914X(2017)08-0179-02

    0 引言

    可编程控制器(Programmable Logic Controller)简称PLC,它是一种用编程来改变控制功能的控制器。最早在20世纪60年代,由美国率先研发成功,伴随着计算机技术、软件技术、芯片技术、互联网技术的发展,PLC的软硬件性能均得到了较大的提高。随着工业技术的发展,特别是中国制造业的兴起以及机器换人等工业化进程的深入,PLC的应用越来越广泛,产生的经济价值也越来越明显。

    在PLC发展过程中,国际电工委员会(简称IEC)于1993年指定并公布了PLC的相关标准,称为IEC61131。在IEC61131标准的第三部分,阐述规范了PLC的编程语言,该部分標准为IEC61131-3。该标准规范了PLC编程语言的五种类型,分别为:顺序功能图(SFC)、梯形图(LAD)、功能块图(FBD)、指令表(IL)、结构化文本(ST),PLC编程语言均有各自的优劣,如何合理选用PLC编程语言将直接影响到PLC程序的编辑与执行效率。

    1 PLC编程语言

    IEC61131-3标准规范了PLC的五种编程语言,具体如下:

    1、顺序功能图提供了一种组织程序的图形方法,用来描述开关量控制系统的功能,根据它可以很容易地画出顺序控制梯形图程序。

    2、梯形图是使用得最多的PLC图形编程语言。梯形图与继电器控制系统的电路图很相似,直观易懂,很容易被工厂熟悉继电器控制的电气人员掌握。

    3、功能块图是一种类似于数字逻辑门电路的编程语言,有数字电路基础的人很容易掌握。

    4、指令表是一种与微机的汇编语言中的指令相似的助记符表达式。指令表程序较难阅读,其中的逻辑关系很难一眼看出。早期使用手持式编程器时应用较多。

    5、结构化文本(ST)是IEC6113-3标准创建的一种专用的高级编程语言。与梯形图相比,它能实现复杂的数学运算,编写的程序非常简洁和紧凑。

    在水行业的PLC控制功能编程过程中,应用最多的是梯形图与结构化文本两种语言。下文对两种编程语言进行深入的探讨。

    1.1 梯形图

    梯形图语言是PLC程序设计中最早,也是最常用的编程语言。它是与继电器线路类似的一种编程语言。PLC的起源就是替代维护、升级较为复杂的继电器回路。由于电气设计人员对继电器控制较为熟悉,因此,梯形图编程语言得到了广泛的欢迎和应用。梯形图编程语言的特点是:与电气操作原理图相对应,具有直观性和对应性;与原有继电器控制相一致,电气设计人员易于掌握。

    1.2 结构化文本

    结构化文本语言是用结构化的描述文本来描述程序的一种编程语言。它是类似于高级语言的一种编程语言。结构化文本编程语言与BASIC语言、PASCAL语言或C语言等高级语言相类似,但为了应用方便,在语句的表达方法及语句的种类等方面都进行了简化。结构化文本编程语言的特点:采用高级语言进行编程,可以完成较复杂的控制运算;需要有一定的计算机高级语言的知识和编程技巧,对工程设计人员要求较高。

    2 梯形图与结构化文本语言的比较

    在PLC编程过程中选用哪种编程语言不是绝对的,大部分的程序控制功能梯形图与结构化文本均能实现,但在不同情况下,不同的编程语言将展现出不同的优劣,我们通过几个例子来分析。本文PLC程序案例基于GE的PAC3i系列,硬件环境为PAC3i的IC695CPE310 CPU模块,编程环境为Proficy Machine Edition(简称ME)。

    2.1 水泵自锁逻辑

    水泵自锁启停逻辑是PLC编程学习过程中最常用的案例,也是在水处理行业设备控制中使用最广泛的逻辑。

    具体要求为:当设备处于远程状态时,可由上位机设置设备的运行状态为中控控制或者自动控制。在中控控制模式下,由上位机鼠标操作设备的启动或者停止,在自动控制模式下,由PLC逻辑程序控制设备的启停。

    梯形图编程实现如图1:

    标签名注释如表1:

    梯形图编程实现上述功能简单明了,程序逻辑在此不做分析。

    结构化文本实现如下:

    IF rem AND ((PC AND (start OR OutQ) AND NOT stop) OR (auto AND auto_start)) AND NOT fault THEN

    OutQ:=1;

    ELSE

    OutQ:=0;

    END_IF;

    结构化文本虽然也实现了设备不同控制模式下的启停控制功能,但是控制逻辑不够直观,甚至较难理解。当设备故障查询时,较难发现故障点的存在。

    上述例子可以发现,在设备的顺序控制逻辑中,梯形图较为直观、简洁,查询处理故障时,较为方便。结构化文本较为复杂、逻辑形式抽象,查询处理故障时,难以入手,直观性和操作性较差。

    2.2 模拟量平均值信号处理

    在信号采集过程中,由于各种因素的影响,造成模拟量信号的波动,当信号波动时,除了硬件上消除信号干扰的存在,软件上通常也使用多种滤波程序来实现信号采集的稳定,平均值计算是常用的一种方法。

    以流量为例,要求利用最近五次采集的瞬时流量的平均值,做为瞬时流量的信号。

    梯形图编程实现如图2:

    标签名注释如表2:

    以上程序分三部分功能组成:

    1、每个扫描周期将存储的改周期的流量值赋值给上一个扫描周期的流量值,利用MOVE REAL块功能实现;

    2、将五个扫描周期的流量值累加,利用ADD REAL块功能实现;

    3、计算五个扫描周期流量累加值的平均值,利用DIV REAL 块功能实现。

    结构化文本编程实现如下:

    //將本扫描周期流量值赋值给上一个扫描周期

    for i:=0 to 3 do

    FET[i+1]:=FET[i];

    end_for;

    FET[0]:=FET_OR;

    //计算总值

    for i:=0 to 4 do

    FET_SUM:=FET[i]+FET_SUM;

    end_for;

    //计算平均值

    FET_AVG:=FET_SUM/5.0;

    结构化文本与梯形图实现逻辑基本相似,但结构化文本使用了高级计算机语言的for循环来实现,梯形图只能使用较为原始的赋值、相加、相除等功能块来实现。由于现在PLC的扫描周期是毫秒甚至是微秒级的,如果要实现100个扫描周期的模拟量平均值计算,使用梯形图编程则要不断的叠加,程序将变得异常庞大与复杂。而使用结构化文本,只需要简单修改for循环的次数就可以实现100个扫描周期的平均值计算,不仅修改方便,程序长度几乎没有变化,计算逻辑简洁明了。

    3 结论

    通过上述两种PLC常用功能程序的分析,我们用梯形图和结构化文本分别编程并做了相关分析,可以很清晰的分辨出:当实现顺序控制逻辑时,使用梯形图编程可以使得程序变得逻辑明确,检修维护较为方便;当实现数值计算、算法处理时,使用结构化文本可以发挥高级计算语言的优势,简单明了的实现较为复杂的数据计算、算法实现。

    在实际应用过程中,只有熟悉掌握了不同的PLC编程语言,并深刻了解它们之间的优缺点,才能合理利用PLC编程语言,编写出结构简单、逻辑明确、高效可靠的PLC程序。

    参考文献

    [1] 娄勇.PLC常用三种编程语言的比较[J].魅力中国,2010,09(下):77.

    [2] 邬建新.一种基于PLC梯形图的结构化程序设计方法[J].电工技术,2006(8):56.

    更多相关内容
  • 三菱PLC结构化文本编程ST语言资料合集
  • FX 三菱PLC 结构化文本ST 语言与 梯形混合编程模板, 使用 WORKS2 编写. 内有 结构化文本ST语言 编程手册 和 模板实例文件, 学ST 语言入门的非常推荐.
  • 结构文本是一种高级语言,如果你知道如{可使用高级语言编程,像:Basic、 PAC SAL或C,那么你会很轻松的掌握StructuredText CST)编程:如果不知道,你会看到ST有着简单、标准的结构,保证程序高效、快速运行并...
  • 一张概括编程语言发展史

    千次阅读 2018-07-26 11:12:21
    一张概括编程语言发展史 一张概括编程语言发展史 Intro 编年史 Intro 编程语言是一组用来定义计算机程序的语法规则。它是一种被标准化的交流语言,用来向计算机发出指令。一种计算机语言让程序员...

    一张图概括编程语言发展史

    一张图

    编程语言是一组用来定义计算机程序的语法规则。它是一种被标准化的交流语言,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是设计程序语言的初衷不同,对语言学习曲线的追求不同,不同程序之间的运行成本差异等。

    下面这张图片描绘了整个编程语言的历史。包括各种编程语言的发明人,编程语言的特点和适用领域,被什么网站或公司使用等。

    lang-history

    编年史

    我们一个统计出来256种编程语言,当然,这么多的语言中只有一些是常用的或实用的。

    1951 – Regional Assembly Language
    1952 – Autocode
    1954 – IPL (LISP语言的祖先)
    1955 – FLOW-MATIC (COBOL语言的祖先)
    1957 – FORTRAN (第一个编译型语言)
    1957 – COMTRAN (COBOL语言的祖先)
    1958 – LISP
    1958 – ALGOL 58
    1959 – FACT (COBOL语言的祖先)
    1959 – COBOL
    1959 – RPG
    1962 – APL
    1962 – Simula
    1962 – SNOBOL
    1963 – CPL (C语言的祖先)
    1964 – BASIC
    1964 – PL/I
    1966 – JOSS
    1967 – BCPL (C语言的祖先)
    1968 – Logo
    1969 – B (C语言的祖先)
    1970 – Pascal
    1970 – Forth
    1972 – C
    1972 – Smalltalk
    1972 – Prolog
    1973 – ML
    1975 – Scheme
    1978 – SQL
    1980 – C++ (既有类的C语言,更名于1983年7月)
    1983 – Ada
    1984 – Common Lisp
    1984 – MATLAB
    1985 – Eiffel
    1986 – Objective-C
    1986 – Erlang
    1987 – Perl
    1988 – Tcl
    1988 – Mathematica
    1989 – FL
    1990 – Haskell
    1991 – Python
    1991 – Visual Basic
    1993 – Ruby
    1993 – Lua
    1994 – CLOS (ANSI Common Lisp的一部分)
    1995 – Java
    1995 – Delphi (Object Pascal)
    1995 – JavaScript
    1995 – PHP
    1996 – WebDNA
    1997 – Rebol
    1999 – D
    2000 – ActionScript
    2001 – C#
    2001 – Visual Basic .NET
    2002 – F#
    2003 – Groovy
    2003 – Scala
    2007 – Clojure
    2009 – Go
    2011 – Dart

    从1951年2014年,人类一共发明了256种编程语言,每一种语言的出现都带有某些新特征。编程语言不断的在革新,很快就会有超出这个清单的新编程语言出现


    1801 - Joseph Marie Jacquard用打孔卡为一台织布机编写指令,在挂毯上织出了“hello, world”字样。当时的reddit网友对这项工作的反响并不热烈,因为它既缺少尾递归调用,又不支持并发,而且甚至都没有注意在拼写时恰当地区分大小写。

    Jacquard织布机是第一台可进行程序控制的织布机。用打孔卡进行编程的概念,直到电子计算机被发明出来之后仍然被广泛运用。

    最早的Hello World程序(出自K&R C)打印的是全小写的字符串:”hello, world”。

    在许多英文技术社区里,不正确地使用大小写发贴会被视作是小白的行为。(如把“Python”拼作“python”,把“FreeBSD”拼作“freebsd”,把“Qt”拼作“QT”)


    1842 - Ada Lovelace写了世界上第一个程序。她的努力只遇到了一点点小小的麻烦,那就是:实际上并没有任何计算机能够用来运行她的程序。后来的企业架构师们重新吸收了她的这个技能,用来学习如何更好地使用UML进行编程。

    Ada Lovelace为Charles Babbage的分析机写了一个计算伯努利数的算法实现,因此被后世公认为是世界上第一个程序员。实际上,分析机由于其设计思想过于先进,在当时根本没有 被制造出来。(Babbage的分析机一般被认为是现代电子通用计算机的先驱)

    讽刺现在的某些“软件架构师”顶多只会纸上谈兵地画画UML。


    1936 - Alan Turing发明了世间一切程序语言的最终形态,但很快他就被英国军情六处“请”去当007了,以至于他根本来不及为这些语言申请专利。

    与通用图灵机(Universal Turing machine)等价的语言被称为图灵完备的(Turing
    completeness),它定义了“什么样的语言可以被称作是程序语言”。

    二战期间Turing曾秘密地为英国军方工作,破解德军的Enigma密码机,并在战后被授予大英帝国勋章。但这项事实直到多年以后才向公众公开


    1936 - Alonzo Church同时也发明了世间一切程序语言的最终形态,甚至做得更好。但他的λ演算被绝大部分人忽视了,因为它与C语言“不够像”。尽管存在着这样的批评,但事实上,C在当时还没有被发明出来。

    Church是Turing在Princeton的博士生导师,他在λ演算方面的工作先于Turing指出了不存在一个对可判定性问题的通用解法,这后来证明和Turing针对停机问题提出的图灵机模型是等价的。即著名的Church-Turing论题。

    说Church“甚至做得更好”,因为λ演算为后世所有的函数式语言提供了理论基础。

    现在一种常见的关于函数式编程的批评就是:“它们与C语言不够像”。


    1940年代 - 一些直接采用布线和开关来进行程序控制的“计算机”出现了。工程师们当时这么做,据说是为了避开“用空格还是用制表符缩进”这样的论战。

    据说当时负责设计ENIAC的工程师中间曾经发生过这样的争论:

    • 空格比制表符好。

    • 制表符比空格好。

    • 4个空格比8个空格好。

    • 什么?用2个空格的统统烧死。

    关于这台具有里程碑意义的人类史上第一台电子计算机ENIAC上应该预装何种编辑器,工程师们还发生过这样的争吵:

    • Vim比Emacs好!

    • Emacs比Vim好!

    • 强烈推荐Sublime Text。

    • 你丫用编辑器的都是找虐,IDE才是王道。

    • 没错,要用就用世界上最好的公司微软开发出来的世界上最好的IDE:Visual Studio。

    • 我早就看透了无谓的编辑器论战什么的了,我要告诉楼上吵架的,你们全都是傻逼!

    最后,工程师们一致决定使用布线和开关来为他们即将发明的计算机进行编程,机智地避开了所有这些无谓的争吵,最终齐心协力创造出了人类历史上第一台电子计算机:ENIAC。(鼓掌)

    两位ENIAC程序员在运用敏捷开发方法进行愉快的结对编程。“自从抛弃伴随我多年的Emacs和HHKB Pro、改用布线和开关进行编程之后,我的左手小指麻痹奇迹般地痊愈了。”其中一位接受采访时如是说。另一位则表示:“新的编程方式让曾经专注颈椎病20年的我得到了彻底的康复,不用再整天盯着显示屏,身心同时得到了极大的放松,值得大力推广!”)


    1957 - John Backus和IBM发明了FORTRAN语言。关于IBM或FORTRAN并没有什么特别好笑的地方。除了,写FORTRAN程序的时候不系蓝领带将被编译器视作是一个syntax error。

    蓝领带、白衬衫、深色西装似乎是IBM公司20世纪经典的dress code。

    早期FORTRAN(FORTRAN 77)对程序书写格式的要求那是相当严格。(例如,蛋疼的固定格式缩进)


    1958 - John McCarthy和Paul Graham发明了LISP。由于冷战期间的战略括号资源储备所造成的巨大成本,LISP从未流行过。尽管欠缺足够的流行度,LISP(现在叫做 “Lisp”,有时叫“Arc”)仍然被视作一门有影响力的语言,在关键的算法思想诸如递归(recursion)和提升逼格 (condescension)上尤为典范。

    LISP发明的那一年Paul Graham其实还没有出生。据说是因为某本叫做《Haste and
    Waste》的伪程装黑圣典实在太有名了,以至于许多编程小白们把写这本书的传奇人物同Lisp之间画上了等号。

    提升逼格确实是一种与递归调用同样关键的算法思想。嗯,你懂的。


    1959 - 在输掉了和L. Ron Hubbard之间的一场打赌之后,Grace Hopper和其他几个抖S发明了所谓的“面向Boilerplate的全大写化语言(Capitalization Of Boilerplate Oriented Language,COBOL)”。多年以后,由于一些被误导的、性别歧视主义者对Adm. Hopper关于COBOL的工作的报复,在Ruby技术会议上不时会看到一些厌女主义乃至仇视女性的材料出现。

    L. Ron Hubbard是山达基教(Scientology)的创始人,二战期间曾与Grace
    Hopper同样供职于美国海军。(尚不清楚这两人之间有无其他联系)

    COBOL语言以代码极其冗长和通篇大写字母的书写风格而闻名。

    Adm. Hopper:Grace Murray Hopper女士的军衔是Rear Admiral Lower Half,即美国海军准将。


    1964 - John Kemeny和Thomas Kurtz创造了BASIC,一个为非计算机科学家设计的非结构化的程序语言。

    1965 - Kemeny和Kurtz两人goto到了1964。

    调侃BASIC语言对行号和goto的无节制滥用。


    1970 - Guy Steele和Gerald Sussman创造了Scheme。他们的工作导致了一系列以《Lambda之究极(Lambda the Ultimate)……》为标题开头的论文发表,并在《Lambda之究极厨房神器》这一篇中达到了最高潮。以这篇论文为基础,开始了一个长年累月的、收 视率究极失败的晚间电视购物节目。Lambda们因为其概念相对难以理解而被大众所忽视,直到未来的某一天,Java语言终于让它们变得有名了起来。通过 不包含它们这件事情。


    1970 - Niklaus Wirth创造了Pascal,一个过程式的语言。很快就有人开始声讨Pascal,因为它使用了类似“x := x + y”这样的语法,而不是更为人熟知的类C语法“x = x + y”。尽管存在着这样的批评,而事实上当时C还没有被发明出来。


    1972 - Dennis Ritchie发明了一把射击时能同时向前和向后两个方向发射子弹的绝世好枪。但他对此发明造成的致死和终身残疾数量感到还不够满意,所以他又发明了C语言和Unix。


    1972 - Alain Colmerauer设计了逻辑编程语言Prolog。他的目标是创造一个具有两岁小孩智商的程序语言。为了证明他成功达到了这个目标,他展示了一个Prolog程序,它对于每条查询都会机智地给出相同的回答:“No”。


    1973 - Robin Milner创造了ML,一个建立在M&M类型理论基础上的语言。由ML衍生而来的SML加上了一套形式语义的规范。当被要求给这个形式语义本身 书写一套形式语义时,Milner的脑子爆掉了。其他ML家族的著名语言还包括OCaml,F#,和,Visual Basic。


    1980 - Alan Kay创造了Smalltalk并发明了“面向对象”这个词。当被问到它的含义时,他回答道:“Smalltalk程序本身就是对象。”当被问到对象是由 什么组成时,他回答到:“对象。”当再一次被问到这个问题时,他说“看,它从里到外都是对象。直到你抽出一只乌龟。”

    Smalltalk的设计从很大程度上受到了Logo的影响。


    1983 - 为了纪念伟大的先辈程序员Ada Lovelace那能够写出永远也无法被执行的代码的彪悍技能,Jean Ichbiah和美国国防部创造了Ada语言。尽管缺乏证据显示有任何重要的Ada程序曾经被完成过,历史学家仍然确信Ada是个成功的公益项目,它让数 以千计的国防承包商免于沦落为与黑帮为伍。

    Ada曾经是美国国防部指定的嵌入式计算机系统唯一开发语言,在其研发上耗资巨大。(国防承包商们于是不用靠贩卖军火给黑帮来维持生计了)

    虽然有充分的证据显示Ada的整型范围溢出检查失败导致弄坏了欧空局的一枚Ariane 5运载火箭,不过美国国防部发言人对此表示:关我P事。


    1983 - Bjarne Stroustrup把他所听说过的一切都试图嫁接到C上,创造出了C++。最后得到的语言是如此地复杂,以至于程序必须被送到未来去让“天网”人工智能 进行编译。编译时间难以容忍。天网开展这项服务的动机仍然不为人知,但来自未来的发言人说道:“没什么好担心的,宝贝。”带着一口奥地利腔的机械口音。有 一些来自坊间的推测,所谓的天网只不过是个自命不凡的缓冲区溢出而已。


    1986 - Brad Cox和Tom Love创造了Objective-C,宣称“该语言完美地结合了C的内存安全性与Smalltalk的神奇效率”。现在的历史学家怀疑这两人其实是诵读障碍症患者。

    “C的内存安全性…”

    Smalltalk编译出来的程序以低效缓慢著称。


    1987 - Larry Wall在电脑前打了个盹,Larry Wall的脑门子压到了键盘上。醒来之后,Larry Wall深信 ,在Larry Wall的显示器上出现的神秘字符串并非是随机的,那是某种编程语言之程序样例的神谕。那必是上帝要他的先知,Larry Wall,去设计的。Perl语言就此诞生了。


    1990 - 一个由Simon Peyton-Jones、Paul Hudak、Philip Wadler、Ashton Kutcher和善待动物组织(PETA)组成的委员会创造了Haskell,一种纯函数式的、非严求值的语言。Haskell由于使用了Monad这种 较费解的概念来控制副作用而遭到了一些批评意见。Wadler试图平息这些质疑,他解释说:“一个单子(Monad)说白了不过就是自函子范畴上的一个幺 半群而已,这有什么难以理解的?”


    1991 - 荷兰程序员Guido van Rossum为了一次神秘的手术而进行了一次阿根廷之旅。回来后他带着一个巨大的颅疤,发明了Python,而被数以军团计的追随者们加冕为“终生大独裁 者”,并向全世界宣布“要办到一件事情,只可有唯一的一种方法!”。整个波兰陷入了恐慌。

    BDFL(Benevolent Dictator for
    Life):开源社区一种流行的说法,“仁慈的”终生大独裁者。这个说法最早指的就是Guido van Rossum。

    希特勒在提出建立“纯正的雅利安人国家”“统一的大德意志帝国”并实现了德奥合并之后,翌年便入侵了波兰,引发了第二次世界大战。“我一个人征服了整个欧洲!”(感觉好棒好棒的)


    1995 - 在家门口附近的一个意大利饭馆用餐时,Rasmus Lerdorf意识到他吃的那盘意面正好是一个用来理解WWW万维网的极好模型,而所有的Web应用都应该仿照它们的媒介那样去做。在他的餐巾的背后,他 设计出了著名的“可编程超链接Pasta(Programmable Hyperlinked Pasta,PHP)”语言。PHP的文档至今仍然保留在那片餐巾上。

    PHP最显著的特点就是:代码是可以直接嵌在HTML文档中的。


    1995 - 松本“Mad Matz”行弘创造出了Ruby语言,用来辟谣一些意味不明的、有关澳洲将会变成一片由莫霍克族战士和Tina Turner统治的荒漠的末世预言。该语言后来被它的真正发明者David Heinemeier Hansson重新命名为Ruby on Rails。(关于某个叫松本行弘的人发明了一种叫做Ruby的语言这件事情从未发生过,最好在这篇文章的下一个版本中删掉。 - DHH表示)

    最早关于Ruby的国际会议不是RubyConf,而是每年在澳大利亚举办的OSDConf。

    这里应该是在吐槽Ruby的杀手级应用Ruby on Rails实在太有名了,以至于超越了原来的Ruby语言本身。

    Matz并没有为“Ruby”这个名字注册商标——本着开源的黑客精神。

    而DHH(RoR的作者)却把“Ruby on
    Rails”这个(包含了“Ruby”字样的)名称注册成了商标,并且阻止别人未经授权使用“Rails”这个名字。

    (虽然抢注商标对开源来说未必是一件坏事情——Python基金会今年在欧洲还卷入了一场商标之争了不是)


    1995 - Brendan Eich读完了历史上所有在程序语言设计中曾经出现过的错误,自己又发明了一些更多的错误,然后用它们创造出了LiveScript。之后,为了紧跟 Java语言的时髦潮流,它被重新命名为JavaScript。再然后,为了追随一种皮肤病的时髦潮流,这语言又被命名为ECMAScript。


    1996 - James Gosling发明了Java。Java是一个相对繁冗的、带垃圾收集的、基于类的、静态类型的、单分派的面向对象语言,拥有单实现继承和多接口继承。Sun不遗余力地宣传着Java的独一无二不同凡响之处。


    2001 - Anders Hejlsberg发明了C#。C#是一个相对繁冗的、带垃圾收集的、基于类的、静态类型的、单分派的面向对象语言,拥有单实现继承和多接口继承。微软不遗余力地宣传着C#的独一无二不同凡响之处。


    2003 - 一个叫Martin Odersky的醉汉看见了好时瑞森花生酱杯的广告,展示了某个人的花生酱倒入另一个人的巧克力的场景,他忽然有了个点子。他创造了Scala,一种结合 了面向对象和函数式编程的语言。这同时激怒了两个阵营的忠实信徒,他们立刻宣布要发动圣战烧死异教徒。


    • 转载自微信公众号 STEAM解密
    展开全文
  • 之所以说这件事,就是想告诉同学们,努力固然重要,但选择必须要对,一旦选择错了,那很多努力都是白费。这篇文章就是来给同学们提个醒,2022 年最好的编程语言是什么?看完后你就知道该如何地去选择了。

    本文 Gitee【https://gitee.com/issavior】已收录,汇集了一线大厂的核心技术和资源。

    软件开发行业正在全球范围内快速发展。因此,重要的是要掌握最流行的编程语言,以便在这个竞争激烈的行业中建立前途似锦的职业生涯。

    您可能不必掌握我们今天讨论的所有语言,但您的简历中掌握的语言越多,在 2022 年和未来几年内,就越有客户和开发团队希望与您合作。考虑到这一点,希望你能规划好自己的学习计划,并开始一一学习,以成为这个蓬勃发展领域的顶级专家。

    一、最受欢迎的语言

    在这里插入图片描述
    在这里插入图片描述

    二、最值得学习的语言

    先来个简要的概括:

    • Java,服务器端最好的编程语言

    • C++,最通用的编程语言

    • C,迄今为止,最值得信任的编程语言

    • Python,AI(人工智能)、机器学习方向最佳的编程语言

    • JavaScript,客户端最常用的脚本语言

    • C#,微软最强有力的面向对象编程语言

    • Swift,IOS 端最高效的编程语言

    • GO(Golang),可扩展的编程语言,谷歌出品

    • PHP,世界上最好的编程语言,不,最好用的 Web 编程语言

    • Ruby,数据科学方面最可靠的编程语言

    1、Python

    Python无疑位居榜首。它通常被认为是最好的编程语言,因为它非常平易近人。它是一种快速、易于使用且易于部署的编程语言,广泛用于开发可扩展的 Web 应用程序。YouTube、Instagram、Pinterest、SurveyMonkey 都是使用 Python 构建的。

    编程语言为初学者提供了一个很好的起点。如果您正在寻找一种更易于学习和流行的编码语言来学习,那么您绝对应该尝试 Python!许多初创公司使用 Python 作为他们的主要后端堆栈,因此这为全栈 Python 开发人员提供了很多机会。

    如果你打算进入数据科学或人工智能行业,你几乎肯定必须学习 Python。它还可以用于其他领域,例如 Web 开发。多功能性和可访问性使其成为初学者的绝佳选择。
    难度等级:易学。适合初学者的最佳编程语言之一。

    职业前景:职位空缺最多,平均工资高

    优点

    • 由于 OOP 特性,创建和使用类和对象很容易
    • 广泛的库支持
    • 专注于代码可读性
    • 甚至能够扩展最复杂的应用程序
    • 非常适合更快地构建原型和测试想法
    • 开源与不断增长的社区支持
    • 为多种平台和系统提供支持
    • 非常容易学习和使用

    缺点

    • 不适合移动计算
    • 由于是一种解释性编程语言,所以速度较慢
    • 数据库访问层有些不成熟
    • 由于 GIL(全局解释器锁),线程不好

    2.Java

    Java是大型组织中的另一种流行选择,并且几十年来一直如此。它广泛用于构建企业级 Web 应用程序。众所周知,它非常稳定,因此许多大型企业都采用了它。如果您正在大型组织中寻找软件开发角色,Java 是您应该学习的第一门语言之一。

    Java 也广泛用于 Android 应用程序开发。由于有数十亿 Android 用户,如今几乎所有企业都需要 Android 应用程序。这也为 Java 开发人员提供了很好的机会,因为 Google 已经创建了一个出色的基于 Java 的 Android 开发框架 - Android Studio。

    难度级别:容易到中等

    职业前景:优秀,很多大企业都在用

    优点

    • 大量的开源库 自动内存分配和垃圾收集 遵循 OOP 范式 有栈分配系统 由于 JVM 特性,高度的平台独立性
    • 由于排除了显式指针并包含了负责定义类访问的安全管理器,因此高度安全 分布式计算的理想选择 提供大量 API
    • 来完成不同的任务,例如数据库连接、网络、实用程序和 XML 解析 支持多线程

    缺点

    • 缺少模板限制了创建高质量数据结构
    • 昂贵的内存管理
    • 比 C 和 C++ 等本地编译的编程语言慢

    3.C/C++

    C 和 C++ 在编程世界中占有重要地位。几乎所有的低级系统,例如操作系统和文件系统,都是用 C/C++ 编写的。如果您想成为系统级程序员,那么这些是您应该学习的编程语言。

    C++ 也被有竞争力的程序员广泛使用,因为它非常快速和稳定。它提供了一种叫做 STL - 标准模板库的东西。这是一个用于各种数据结构、算术运算和算法的即用型库。该语言的库支持和速度使其成为高频交易社区的热门选择。

    难度级别:容易到中等学习

    职业前景:很好,虽然这不是最常见的职位空缺

    优点

    • 与 [C++] 一起使用的几个编译器和库
    • 通过其他编程语言轻松访问被阻止或隐藏的对象 [C]
    • 比大多数编程语言更快地执行程序 [C/C++]
    • 为理解更复杂的编程语言奠定了基础 [C/C++]
    • 多设备、多平台应用程序开发的首选语言 [C++]
    • 提供高度的可移植性 [C]
    • 具有一组功能模块和块的面向过程的语言。这些使调试、测试和维护程序更容易 [C]。
    • 程序更高效更容易理解[C/C++]
    • 丰富的函数库 [C++]
    • 靠近系统硬件运行,因此提供了低级别的抽象 [C/C++]
    • 支持异常处理和函数重载 [C++]
    • 广泛的应用领域,例如游戏、GUI 应用和实时数学模拟 [C++]

    缺点

    • 复杂语法 [C/C++]
    • 不支持程序命名空间 [C]
    • 无法解决现代现实世界的编程挑战 [C]
    • 与其他基于 OOP 的编程语言相比,效率较低的面向对象系统 [C++]
    • 需要手动创建高级构造 [C]
    • 没有垃圾收集或动态内存分配 [C/C++]
    • 没有运行时检查 [C/C++]
    • 没有严格的类型检查 [C]
    • 学习编程不是一个简单的首选[C/C++]
    • 受到缓冲区溢出和内存损坏问题的困扰 [C/C++]
    • 更小的标准库 [C]

    4.JavaScript

    JavaScript是“前端”编程语言。JavaScript 被广泛用于设计交互式前端应用程序。例如,当您单击打开弹出窗口的按钮时使用 JavaScript。

    如今,许多组织(通常是初创公司)使用 NodeJS,这是一种基于 JavaScript 的运行时环境。Node.js 允许开发人员使用 JavaScript 进行服务器端脚本编写——在将页面发送到用户的 Web 浏览器之前,在服务器端运行脚本以生成动态网页内容。这就是 JS 现在可以用于服务器端和客户端脚本的方式。如果你想在你最喜欢的初创公司寻找一份很酷的技术工作,你应该认真考虑学习 JavaScript。

    难度级别:简单

    职业前景:优秀,因为有几家初创公司使用它

    优点

    • 客户端 JavaScript 非常快。由于不需要编译,它会立即在 Web 浏览器中运行。 使网站的界面更丰富 用途广泛 充当“网络编程语言”
    • 由于是客户端,减少了对网站服务器的需求 通过 ECMA 规范定期更新 几个附加组件,例如 Greasemonkey,用于扩展功能 简单的实现
    • 丰富的资源和出色的社区支持 用于构建各种应用程序 与其他编程语言配合得非常好

    缺点

    • 没有副本或等效方法 只允许单一继承 当代码在用户机器上执行时,许多人选择禁用 JavaScript,因为害怕被恶意利用
    • 不同的浏览器可能会有不同的解释

    5.Golang

    Go,也称为Golang,是谷歌设计的一种编程语言。它为多线程提供了出色的支持,因此经常被严重依赖分布式系统的公司以及硅谷的初创公司使用。那些希望加入一家专注于核心系统的硅谷初创公司的人可能想学习Golang。

    难度级别:容易到中等

    职业前景:大量的机会;最适合那些知道自己希望自己的职业是什么的人

    优点

    • 作为一种静态类型的语言使其更安全 更简洁的语法使学习更容易 综合标准库,提供一系列用于处理原始类型的内置函数 非常适合构建
    • SPA(单页应用程序) 智能文档 非常快,因为它被编译为机器代码

    缺点

    • 缺少虚拟机会使复杂程序的效率降低 隐式接口 缺乏多功能性 没有 GUI 库 弱势图书馆支持

    6.R

    在R编写是用于数据分析和机器学习中最常用的语言之一。R提供了一个优秀的框架和内置库来开发强大的机器学习算法。它也用于一般统计计算。企业经常使用 R。那些希望加入大型组织的分析团队的人应该考虑学习R。

    难度级别:容易到中等

    职业前景:优秀

    优点

    • 能够在各种操作系统上无缝运行 活跃、成长中的社区 开源和免费赋予了根据需要进行调整的能力 综合统计分析语言 高度可扩展 强大的包生态系统

    缺点

    • 缺乏安全功能 没有严格的编程指南 内存管理不善 一些包裹的质量低于标准

    7.Swift

    Swift是一种用于开发 iOS 应用程序的编程语言。基于 iOS 的设备正变得越来越流行。例如,苹果 iPhone已经占据了移动市场的很大份额,并给 Android 带来了一些真正的激烈竞争。如果你喜欢 iOS 开发,那么你应该学习 Swift。

    难度级别:容易到中等

    职业前景:非常好,尤其是随着 iOS 应用领域的发展

    优点

    • 自动内存管理可防止内存泄漏 由苹果支持 更好的可扩展性允许轻松地为产品添加功能和/或引入更多的开发人员 易于添加新功能
    • 鼓励开发人员编写干净易读的代码 类似英语的语法使其具有高度可读性 与 Objective-C 互操作 可以将服务器端 Swift
    • 与任何技术集成 用于前端和后端开发时,使代码共享更好,开发过程更快 与其他流行的编程语言(例如 Objective-C 和
    • Python相比,速度非常快

    缺点

    • 有限的社区支持和资源 由于在编程场景中相对较新,因此有些不稳定 不支持遗留项目;只能用于 iOS7 或更高版本的应用程序

    8.PHP

    PHP 是最流行的后端编程语言之一。尽管PHP 面临着来自 Python和 JavaScript 的激烈竞争,但市场仍然需要大量的 PHP开发人员。那些希望作为后端开发人员加入一个相当完善的组织的人应该考虑学习 PHP 编程。

    难度级别:简单

    职业前景:优秀,有大量机会

    优点

    • 大量强大的框架 轻松上手制作网页 使用 Xdebug 进行一流的调试 巨大的社区支持和庞大的生态系统 许多用于测试和部署应用程序的自动化工具
    • 用于部署和测试的良好自动化工具并不稀缺 支持面向对象和函数式编程范式

    缺点

    • 与使用其他选项相比,完全使用 PHP 开发网站要慢一些 缺乏安全性 错误处理能力差 需要更大程度的扩展

    9.C#

    C# 是微软开发的通用编程语言。C# 广泛用于后端编程、构建游戏(使用 Unity)、构建 Window手机应用程序和许多其他用例。如果您想构建桌面应用程序,那么您需要学习 C#。

    难度级别:容易到中等

    职业前景:不如其他人好,因为它的需求量不大

    优点

    • 由于不允许使用指针类型,因此比 C 和 C++ 安全得多 能够使用共享代码库 自动可扩展和可更新 面向组件、面向对象的编程语言 遵循类似于
    • C 编程语言的语法 与 .NET 库完全集成 适用于所有类型的 Windows 开发 丰富的库函数和数据类型集 支持类型安全
    • 快速编译和执行时间

    缺点

    • 允许“不安全”块中的指针 几乎所有变量都是引用,并且内存释放是使用垃圾收集器隐式进行的 提供的灵活性低于 C++ 需要体面的努力和时间来学习
    • 解决错误需要认真的专业知识和知识

    10.MATLAB

    MATLAB是一种统计分析工具,在各个行业中用于fata 分析。MATLAB也广泛用于计算机视觉和图像处理行业。这对于那些想要从事机器学习和深度学习、计算金融、信号处理和通信以及许多其他领域的人来说非常有用。

    难度级别:容易到中等

    职业前景:很好,因为它用于几个前沿领域

    优点

    • 借助丰富的内置库,轻松开发科学模拟 通过添加工具箱可以大大扩展功能 高编码效率和生产力,因为它不需要编译器来执行 开发科学研究应用的理想选择
    • Matlab Coder 允许转换代码以用于其他编程语言,例如 C++、Java 和 Python 平台无关

    缺点

    • 不能免费使用,需要购买许可证 超出数值计算范围的应用不多 处理交叉编译过程中产生的错误需要丰富的知识和经验 由于是解释性编程语言,速度较慢

    三、薪水/工资分析

    按开发人员类型划分的工资 在这里插入图片描述

    不同语言的薪水和经验 在这里插入图片描述

    四、就业状况

    在这里插入图片描述

    五、协作工具数据

    在这里插入图片描述

    六、网络框架分析

    在这里插入图片描述

    七、数据库排名

    在这里插入图片描述

    展开全文
  • 2020 年最牛逼的 10 门编程语言

    万次阅读 多人点赞 2020-08-20 14:21:03
    是 PHP 是最好的编程语言的确凿证据。 2010 年前后,PHP 在 Web 开发中一直处于王者的地位,尤其是 WordPress 等内容管理平台的流行,再加上“扎男”的 Facebook(PHP 开发的)的烘托,更加巩固了 PHP 在业界的...

    先看再点赞,给自己一点思考的时间,微信搜索【沉默王二】关注这个有颜值却假装靠才华苟且的程序员。
    本文 GitHub github.com/itwanger 已收录,里面还有我精心为你准备的一线大厂面试题。

    对于很多初学编程的人来说,尤其是马上要入学的大一新生来说,选择哪门子编程语言实在是个痛苦的事。选择对了,毕业后顺利找到工作,完美走向职场;选择错了,毕业后受伤的才华无处安放,大学算是虚度光阴了。

    前一段时间哈,我有个远房的亲戚,她家的小孩非要让我指导一下。然后就带了一本书来见我,看了一下封面,我惊呆了。

    《易语言从入门到精通》。这是哪门子编程语言,我第一次见到!不敢怠慢,也担心亲戚说我孤陋寡闻,偷偷地搜了一下。易语言的创始人是吴涛,国内为数不多的推崇中文编程语言的程序员大佬。

    郑重其事地说,我是个三观很正的人,绝没有半点虚情假意。但我实在不忍心看我这远房表弟误入歧途,毕竟易语言即便是入门了,甚至是精通了,将来也不一定能找到工作啊!

    当做兴趣爱好学编程固然好,值得称赞。我这表弟虽然学习不咋滴,年纪轻轻,初中毕业,但据亲戚反馈,酷爱编程,酷爱计算机(也不确定是不是酷爱打游戏)。易语言这本书也是他自己在网上买的。

    我有点担心地问他:“能看懂吗?”

    表弟不假思索,信誓旦旦地回答:“能啊!”

    我随手翻了翻这边书,发现书签已经夹在第 202 页,我天呐,真的有在看啊,看了将近一半了。

    必须得负责任啊,我就对亲戚和表弟说,“你看,要不咱换个编程语言吧,比如说 Java!”

    亲戚一脸惊愕,“你说哈?”

    我只好无奈地将脸迈向我这表弟,只听他娓娓道来:“J-A-V-A!”

    “哎呀,不错啊,真的私底下有研究!”我心中暗暗佩服起来了我这表弟。真看不出来,挺爱学的嘛。

    “别看这本易语言了,当做兴趣学编程没问题,可咱学习是为了啥,就是为了以后能找份工作,虽然我说得比较俗气。如果说确实对编程感兴趣的话,买点 Java 方面的书读一读。”我语重心长地建议。

    表弟深以为然地点点头。

    之所以说这件事,就是想告诉同学们,努力固然重要,但选择必须要对,一旦选择错了,那很多努力都是白费。

    那,这篇文章就是来给同学们提个醒,2020 年最牛逼的编程语言是什么?看完后你就知道该如何地去选择了。

    先来个简要的概括:

    • Java,服务器端最好的编程语言

    • C++,最通用的编程语言

    • C,迄今为止,最值得信任的编程语言

    • Python,AI(人工智能)、机器学习方向最佳的编程语言

    • JavaScript,客户端最常用的脚本语言

    • C#,微软最强有力的面向对象编程语言

    • Swift,IOS 端最高效的编程语言

    • GO(Golang),可扩展的编程语言,谷歌出品

    • PHP,世界上最好的编程语言,不,最好用的 Web 编程语言

    • Ruby,数据科学方面最可靠的编程语言

    为什么我会选择这 10 门编程语言?可不是我收了这些编程语言的钱,故意让它们上榜的,我是有足够多的理由的。

    首先来看一下 TIOBE 排行榜,非常非常权威的榜单,下面这 14 个是活得比较久的,可以看得出,除了 SQL 换成了 GO,其他 9 门编程语言都在,并且长期霸榜。

    活得比较久,意味着这门编程语言的生命力比较顽强,生态系统比较完备,它们属于丛林的王者——物竞天择,适者生存嘛。它们活得久,并且活得好,那就意味着还能活得更好更久,是这个道理吧?强者更强!

    同学们尽管放心,我是负责任的——主要是这些编程语言的作者或者团队是负责任的,尽管开源 PHP 的官方团队已经在 2019 年底彻底解散了,但 PHP 依然很坚挺,很牛逼。

    下面让我来详细地说道说道这 10 门编程语言。

    01、Java

    Java 其实是 C++ 的一个替代品,Sun 公司原本想开发一种比 C++ 更简单的面向对象编程语言,起初叫 Oak。结果没想到,随着时间的流逝,因为 Java 更容易学习,跨平台,就导致 Java 的普及程度远远地超过了 C++。

    说句不那么优雅的话,就好像狗血剧里小三上位的桥段一样。

    在 Java 虚拟机的帮助下,Java 可以无障碍的在 Linux、Windows、Mac-OS 等多种操作系统下自由地穿梭,这使得它在企业级开发中非常受欢迎。

    Java 可以做网站开发、做安卓开发、做桌面级应用开发(Eclipse、NetBeans 等等)、做游戏开发(我的世界)。

    来一发 Java 版的 Hello World 吧:

    public class HelloWorld {
     public static void main(String[] args) {
      System.out.println("Hello World");
     }
    }
    

    02、C++

    C++,从名字上就可以看得出来,它是 C 语言的亲儿子,是对 C 语言的扩展,旨在为 C 语言创造出面向对象的功能。

    随着时间的发展,C++ 进一步发展为具有最直接的内存访问和完整硬件控制的通用语言。正因为 C++ 提供了最广泛的通用功能,就导致掌握起来有一定的难度。

    C++ 可以在所有的平台上运行,并且可以有效地利用任何类型的硬件,这使得它可以在资源受到限制的平台上发挥最佳性能。

    C++ 可以做游戏开发(星际争霸、魔兽争霸),办公软件(微软 Office)、操作系统(Windows)、关系型数据库(MySQL)、3D 引擎(Microsoft DirectX)、嵌入式开发。

    来一发 C++ 版的 Hello World 吧:

    #include<iostream.h>
    using namespace std;
     
    void main() {
        cout<<"Hello World";
    }
    

    03、C

    C 语言诞生于 1960 年,作者团队对它只有一个要求:必须得通用,并且能够有效地利用系统资源。因为在那个年代,每一个字节的内存都是昂贵的。

    就像 C++ 那样,C 也可以直接访问内存并且控制硬件。C 和操作系统紧密相关,程序员必须亲自处理内存的分配细节,因此很难掌握。尽管 C 语言诞生的很早,但它仍然是目前最常用的编程语言之一。

    C 语言的设计影响了众多后来的编程语言,比如说 C++、Ruby、PHP、Python、Java、C# 等等。

    C 语言可以做嵌入式开发(单片机),基于嵌入式操作系统的应用软件、驱动程序,高性能的 Web 服务器(Nginx),常见的缓存数据库(Redis)、智能设备或者物联网设备中的操作系统(路由器、摄像头)等等。据说,反正能想到的,都可以用 C 做,就看会不会做。

    来一发 C 版的 Hello World 吧:

    #include<iostream.h>
    void main()
    {
        printf("Hello World");
    }
    

    04、Python

    Python 诞生于 1990 年,作者叫吉多·范罗苏姆(Guido van Rossum,Python 之父)。可以说,所有的编程人员都喜欢 Python,因为它的学习成本很低,但应用的等级很高,比如说当下非常有深度的人工智能、机器学习、数据分析。

    Python 的语法简洁而优雅,社区也非常活跃。但有一说一,Python 岗位对学历的要求很高

    来一发 Python 版的 Hello World 吧:

    print("Hello World")
    

    05、JavaScript

    JavaScript 是 Brendan Eich(只用了 10 天时间就设计出来了,牛逼)在第一次浏览器大战时为 Netscape(网景公司)开发的脚本语言。尽管一开始 JavaScript 的设计不够优良(毕竟时间短啊),但随着时间的推移,JavaScript 逐渐发展为一种高级的动态编程语言。

    与其说我爱 Javascript,不如说我恨它。它是 C 语言和 Self 语言一夜情的产物。十八世纪英国文学家约翰逊博士说得好:‘它的优秀之处并非原创,它的原创之处并不优秀。’

    以上 Brendan Eich 对 JavaScript 的评价,读完是不是感觉好气啊——竟然看不起自己的亲生儿子,哈哈。

    有大佬曾说,“JavaScript 是互联网的胶带。”这个称赞非常高。HTML 负责结构, CSS 负责展示, 而 JavaScript 负责逻辑,网页前端编程的三剑客形成了。

    ExtJS、prototype、JQuery 这些基于 JavaScript 的框架更是把 JavaScript 推向了巅峰。随着 Node.js 的出现,JavaScript 这种客户端的脚本语言竟然可以在服务器端立足了。

    现在非常火热的前端框架,Vue.js 就是用 JavaScript 编写的,可以这说,想从事前端开发工作的话,JavaScript 是必学的!

    来一发 JavaScript 版的 Hello World 吧:

    <script>
     alert('Hello World');
    </script>
    

    06、C#

    一看名字,就知道 C# 和 C/C++ 有着亲密的关系,微软把 C# 设计成具有面向对象的,像 C 一样的编程语言。

    最初,C# 被看作是 Java 的复制品,它们之间有着惊人的相似之处,比如说继承、接口,以及与 Java 几乎同样的语法,同样需要先编译后运行。随着时间的发展,以及微软为之付出的巨大努力, C# 沉淀了丰富的类库和框架,开发人员可以在此基础上快速地编写各种基于 .NET 平台的应用程序。

    随着 Unity3D 的出现,跨平台的 C# 终于可以大展拳脚了,在开发游戏方面的优势巨大,比如说编译速度快、类库充足。除此之外,要知道 C# 背后的大山是谁,微软啊!

    来一发 C# 版的 Hello World 吧:

    namespace HelloWorld
    {
        class Hello
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello World");
            }
        }
    }
    

    07、Swift

    关于 Swift,直接来看苹果官方给出的介绍吧:

    Swift 是一种强劲而直观的编程语言,它由 Apple 创造,可用来为 iOS、Mac、Apple TV 和 Apple Watch 开发 app。它旨在为开发者提供充分的自由。Swift 易用并且开源,只要有想法,谁都可以创造非凡。

    Swift 是一种快速而高效的语言,能够提供实时反馈,而且可以被无缝集成到现有的 Objective-C 代码中,因此,开发者能够编写安全而可靠的代码,并在节省时间的同时,创造出非常丰富的 app 体验。

    来一发 Swift 版的 Hello World 吧:

    print("Hello World")
    

    08、Go

    Go 的亲爹是 Google,又是一家互联网巨头,可以想象它未来的潜力。

    Go 语言的设计非常精致,用起来也非常简单,解决开发扩展方面的能力也比较出众。关键是学习起来也非常容易上手,这些优点促使 Go 语言的增长非常快。

    国外如 Google、AWS、Cloudflare、CoreOS 等,国内如七牛、阿里等都已经开始大规模使用 Golang 开发其云计算相关的产品。 可以说前途非常光明。

    来一发 Go 版的 Hello World 吧:

    package main
    import "fmt"
    func main() 
    {
         fmt.Println("Hello World")
    }
    

    09、PHP

    PHP 用来开发 Web 应用程序的历史已经超过 35 年了,可以说是老资历了。尽管最近流行度在下降,但瘦死的骆驼比马大。

    PHP 是最好的编程语言,这个梗是从哪里来的呢?显然不是吐槽大会!而是 PHP 的官方文档!

    PHP is the best language for web programming, but what about other languages?

    下图是 PHP 是最好的编程语言的确凿证据。

    2010 年前后,PHP 在 Web 开发中一直处于王者的地位,尤其是 WordPress 等内容管理平台的流行,再加上“扎男”的 Facebook(PHP 开发的)的烘托,更加巩固了 PHP 在业界的地位。

    我在 2013 年 底准备回洛阳的时候,还学习了三个月的 PHP。时隔多年,下面这本书还躺在我家的书架上积灰。

    好了,来一发 PHP 版的 Hello World 吧:

    <?php
    echo "Hello World";
    ?>
    

    10、Ruby

    Ruby 最初是一种面向对象的脚本编程语言,但是随着时间的流逝,它逐渐发展成为一种解释性的高级通用编程语言。它的学习曲线相当平坦,非常有助于提高开发人员的生产力。

    Ruby 的作者松本行弘曾说过一段非常经典的话:

    “ 人们特别是电脑工程师们,常常从机器着想。他们认为:‘这样做,机器就能运行的更快;这样做,机器运行效率更高;这样做,机器就会怎样怎样怎样。’实际上,我们需要从人的角度考虑问题,人们怎样编写程序或者怎样使用机器上应用程序。我们是主人,他们是仆人。 ”

    Ruby 正是基于这种理念产生的。网上有句话是这样说的,学习 Ruby on Rails 能让你看到 Web 框架顶端的景色。听说,GitHub 官网是通过 Ruby on Rails 开发的(不准确,不知道有没有同学可以确认下)。

    JavaEye 的创始人范凯曾说:

    在我们国内,Ruby 是个小众的编程语言,但在硅谷,Ruby 很火,被誉为云计算时代的 Web 编程语言。

    当然了,之所以把 Ruby 放在最后一位,同学们一定懂我的意思。


    最后,希望同学们能够从这 10 门编程语言中选择一门自己喜欢的,深入研究,无论是哪门语言,我相信,只要你精通了,就一定能够找到自己心仪的工作,如果你只是浅尝辄止,那就不好意思呵呵了。


    我是沉默王二,一枚有颜值却假装靠才华苟且的程序员。关注即可提升学习效率,别忘了三连啊,点赞、收藏、留言,我不挑,奥利给🌹

    注:如果文章有任何问题,欢迎毫不留情地指正。

    如果你觉得文章对你有些帮助,欢迎微信搜索「沉默王二」第一时间阅读,回复关键字「小白」可以免费获取我肝了 4 万+字的 《Java 小白从入门到放肆》2.0 版;本文 GitHub github.com/itwanger 已收录,欢迎 star。

    展开全文
  • 2021年十大热门编程语言

    千次阅读 2021-05-17 01:27:46
    点击上方前端瓶子君,关注公众号回复算法,加入前端编程面试算法每日一题群来源:bigo大魔王https://juejin.cn/post/6932278515714752525前言编程已成...
  •  在PLC中有多种程序设计语言,如梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言结构化语句描述语言等。梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成...
  • 本资源是《R语言编程基础》的配套资源【完整版】。包含配套源数据和代码。 本书主要分为三个部分,基础篇、建模应用篇和R语言图形工具Rattle。基础篇介绍了有关R语言的安装与使用、R语言中的数据结构、常用操作和...
  • C中的邻接列表:邻接列出了使用C编程语言编写的数据结构
  • 常用编程语言简介大全

    千次阅读 2020-05-19 15:42:55
    一、计算机编程语言分类;二、高级语言分类;三、常用语言的用途
  • 初学编程该如何选择编程语言

    千次阅读 热门讨论 2020-01-05 17:50:21
    初涉互联网都会遇到选择一门编程语言作为我们的锄头,这个问题再过来人看来可能再简单不过了,但是在初学者身上,他们难免会纠结和徘徊,本篇文章希望能解决你的疑惑。
  • 【总结】编程语言的分类

    千次阅读 多人点赞 2020-03-16 12:00:30
    一、计算机编程语言的分类 1、低级语言 机器语言(二进制代码)、汇编语言(面向机器的程序设计语言)和符号语言。汇编语言源程序必须经过汇编,生成目 标文件,然后执行。 机器语言优缺点如下: ...
  •  在PLC中有多种程序设计语言,如梯形图语言、布尔助记符语言、功能表图语言、功能模块图语言结构化语句描述语言等。梯形图语言和布尔助记符语言是基本程序设计语言,它通常由一系列指令组成,用这些指令可以完成...
  • 世界著名软件质量评估机构TIOBE推出了2010年10月最新编程语言排名来了!Python成为最大的赢家,力压C、C++和Java三大主力语言,以11.27%的评级跃居到排行榜首位,成为20多年来的新语言霸主!排名前10的一次为:...
  • PLC的梯形图编程语言主要内容一PLC的五种编程语言标准二概念介绍三梯形图编程语言介绍梯形LD指令表STL顺序功能SFC 功能块FBD 结构化文本ST一 PLC的五种编程语言标准国际电工委员会制定的工业控制编程语言标准...
  • 什么是 Python 编程语言

    千次阅读 多人点赞 2021-11-22 14:44:36
    作者主页:海拥 作者简介:CSDN全栈领域优质创作者、HDZ...Python 由 Guido van Rossum 设计,作为“ABC”编程语言的继承者,于 1991 年首次发布。它是一种高级通用语言,其设计理念是通过使用缩进来强调代码的可读性。
  • 早期PLC仅支持梯形图编程语言和指令列表编程语言. 根据国际电工委员会的说法,有五种语言可以支持PLC编程. 今天我将简短地谈谈这些语言及其特征. 和应用程序.目录首先,梯形删除(LD)第二,指令表Delete(IL)三,...
  • Beaver 是一种语义编程语言。 它以 RDF 的形式接受和操作数据。 要安装,请导航到源目录并运行python setup.py install 。 Beaver 是 Turtle RDF 序列化格式的解释超集。 因此,任何有效的 Turtle 文件也是有效...
  • 编程语言和脚本语言有什么区别?

    千次阅读 2021-01-14 10:28:38
    脚本语言和编程语言的定义脚本语言:脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言。和传统的Java,c++等编程语言不同,脚本语言,不需要编译器!!!它需要的是解释器,什么意思呢?也...
  • 原标题:plc常用的几种编程语言大家都知道学习某种新知识,技巧跟...早期的PLC仅支持梯形图编程语言和指令表编程语言,现根据国际电工委员会制定PLC编程支持的语言包括以下五种:梯形Delete(LD)、指令表Delete(...
  • 机器人十大流行编程语言

    千次阅读 2021-01-13 08:09:25
    原标题:机器人十大流行编程语言世界上有超过1500种编程语言,这是目前机器人技术中十种最流行的编程语言。每种语言对机器人有不同的优势:10. BASIC / 帕斯卡BASIC和Pascal,它们是几种工业机器人语言的基础,如下...
  • [信息]编程语言的演化过程

    千次阅读 2018-05-31 08:53:42
    下面由Services Angle制作的信息展示了过去数十年来编程语言的演化过程。大型机盛行的60年代开始出现高级编程语言,大大提高了代码编写效率,然后是微机、网络和现在的云计算时代,相继出现结构化、面向...
  • 本榜单统计的是跨语言开发者最讨厌的编程语言,比如你最喜欢使用A语言来编程,那么可能会对其他语言的某些特性看不惯。这是一种很主观的看法,上榜的语言不代表这个语言不好,只是说明某些开发者不太喜欢这个语言中...
  • html是编程语言

    千次阅读 2021-06-08 15:21:21
    html是编程语言。HTML的英文全称是Hypertext Marked Language,即超文本标记语言。HTML是由Web的发明者Tim Berners-Lee和同事Daniel W. Connolly于1990年创立的一种标记语言,它是标准通用化标记语言SGML的应用。用...
  • 十大热门编程语言的介绍

    万次阅读 2019-03-30 09:44:07
    小编给大家分享一篇关于现阶段十大热门编程语言的文章:经过流行的搜索引擎,如谷歌,必应,雅虎,维基百科,亚马逊,YouTube和百度,用于计算评级;得出十大热门编程语言排行榜的榜单: 根据百度百科以及网上查阅...
  • 使他们着迷的最好方法之一是教他们编程语言,即编码,或使他们写一份小型研究论文以激发他们对编码的兴趣 Image Source 图片来源 Computer software, applications and websites applications are developed by ...
  • 对TIOBE发布的2020年2月编程语言流行榜前50名进行年龄统计分析后,发现他们的焦虑是完全有科学依据、有数据支撑的,并不是杞人忧天。 根据统计结果发现流行榜单前50的席位1990年以后出现的语言占了54%,也就是...
  • plc编程语言有哪几种?

    2022-01-06 16:45:46
    plc编程语言标准(IEC 61131-3)中有五种编程语言,即顺序功能、梯形、功能框图、指令表和结构化文本。顺序功能(SFC)、梯形(LD)和功能框图(FBD)是图形编程语言,指令表(IL)和结构文本(st)是书面语言。  1....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 496,981
精华内容 198,792
关键字:

编程语言结构图