编程语言说话
① 简述计算机编程语言发展历史
fortran、algol、cobol、lisp(和其各种scheme方言)、ada、pascal、basic、smalltalk等等,还有许多,找本关于计算科学的历史书看看就知道了,或到wikipedia去查相关目录。fortran主要用于科学计算,现有的程序库是大多是用其编写的;C的发明借鉴了algol的内容;过去商务计算大都用cobol,因为cobol和英语很接近;lisp多用于人工智能领域,当然用来描述算法也是很好的,其它的就不多说了,自己查查吧。
② 什么是编程语言
编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
最早的编程语言是在电脑发明之后产生的,当时是用来控制提花织布机及自动演奏钢琴的动作。在电脑领域已发明了上千不同的编程语言,而且每年仍有新的编程语言诞生。很多编程语言需要用指令方式说明计算的程序,而有些编程语言则属于声明式编程,说明需要的结果,而不说明如何计算。
编程语言的描述一般可以分为语法及语义。语法是说明编程语言中,哪些符号或文字的组合方式是正确的,语义则是对于编程的解释。有些语言是用规格文件定义,例如c语言的规格文件也是ISO标准中一部份,2011年后的版本为ISO/IEC 9899:2011,而其他语言(像Perl)有一份主要的编程语言实现文件,视为是参考实现。
编程语言俗称"计算机语言",种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言和高级语言。
基本简介
计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。 如果按语种分,可以分为英文符号语言和汉语符号语言两类。 电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
③ 开发聊天软件找谁好用什么语言最快
如果您要开发一个聊天软件,建议您找有丰富经验的软件开发公司或者团队合作,他们可以提供专业的技术支持和丰富的经验,确保您的聊天软件开发顺利进行。
至于编程语言,使用哪种语言最快要根据您的需求和开发团队的技术背景来决定。一般来说,目前最流行的聊天软件使用毁喊的编程语言包括:
java:Java是一种跨平台编程语言,非常适合开发聊天软件纤或野,因为它具有高度的安全性和可靠性,并且可以快速开发大型的应用程序。
python:Python是一种易于学习和使用的编程语言,被广泛用于Web应用程序和数据分析。Python可以帮助您快速创建聊天机器人,同时也可以轻松实现一些自然语言处理技术。
Swift/Objective-C:这两种语言都是苹果公司的开发语言,非常适合开发iOS应用程序。如果您的聊天软件主要面向iOS用户,那么使用Swift/Objective-C是个不错的选择。
总的来说,使用哪种编程语言最快要根据具体情况而定。如果您需要快速开发一个基于Web的聊天软件,那么团中使用Java或Python可能是最好的选择。如果您的聊天软件主要面向iOS用户,那么使用Swift/Objective-C可能更加合适。
④ 学什么编程语言
我想,每个人可能会根据工作要求的必然条件、兴趣爱好的充分条件,做出相应不同的选择。
也有很多工程师在学习一门新的技术时,会担心自己所学的技术是否会越来越流行,尽量去避免学习了一个非常小众和冷门的技术。
这种担忧是可以理解的,毕竟,一门技术使用的人越多,对于早期学习这门技术的工程师来说,就有越多的好处和优势。
与此同时,如果学习了一门冷门的技术,不但英雄无用武之地,而且,在求职市场上也没有什么优势。
要问我的入门编程语言选择,我首选一定是 Python,其具体原因可以引用一位网友的回答,“学完 Python,可以上天”。
运维为什么要用 Python
Good question!!!为什么不用 php,JAVA, C++,Ruby?
这里我只能说,见人见智, 如果你碰巧已经掌握了除 Python 之外的其他语言,那你爱用啥用啥,如果你是一个连 Shell 都还没写明白的新手,想学个语言的话,请用 Python,为什么呢?
首先,PHP 是跟 Python 比的最多的,其实他俩根本就不用比,为什么呢? 两个语言适用性不同,PHP 主要适用于 Web 开发,可以迅速的做出中小型,轻量级的 Web网站。
但后端嘛,基本还是要借助其它语言,借助什么语言呢?Shell?Python?呵呵。而 Python 呢,是个综合语言,前后端都可以,单拿出来比 Web,也一点不比 PHP 差,但为什么 Web 方向上 PHP 比 Python 要火?
先入为主嘛,PHP 90 年代诞生就是做 Web 的,Python 2000 年后才出现 Web 框架,但论优秀程度上,Python 的 Web 框架基本上出其无左,至少是跟 PHP 比。
搞个运维小平台,用 Java真心没啥必要,在我看来,Java就是稳定的中年男人,稳定、成熟、秃顶,而 Python 代表的就是青春,简洁、快、干净、帅!
C++/C,这个嘛,我只能说,如果你会了 Python,又会 C 的话,那你会更吃香,但是不会 C 的话,其实也无大碍。但对新手来讲,不建议把 C 做为第一门语言开始学习,为什么呢?打击自信心…呵呵,你懂的。
Ruby,日本开发的,还不错,风格跟 Python 有点像,因为 Ruby on rails 出了名,国外用的比较多,国内,放心吧!没戏,Python 已经把它的想象空间都占死了。
当然还有新的语言 GO,有些搞运维的看见做开发的人员搞 GO,也想凑热闹,觉得是未来,我想说,别没事跟风,GO 再成功,也不会变成运维开发语言。
一个博士讲过一句话,他说:程序效率高低,80% 都是写程序的人决定了,语言本身就占 20%。
所以下次有人再说 Python 效率低的时候,请让他先回去自己检查下自己的程序多了多少无用的逻辑、循环等等。
这个博士自己用 Python 写的 Web程序,一台服务器每天能处理上亿请求,一秒并发近两万,什么 Web框架这么牛 B?别问它是谁,它叫 tornado。
在选择使用哪一门编程语言之前,我还想提醒读者的是——“世界上只有两种编程语言,一种是天天被人吐槽但却被广泛使用的编程语言,一种则是无人问津没有存在感的编程语言”。
Python 语言作为排名第一的动态类型语言,自然有它的道理。如果我们充分了解它的优缺点,在使用的时候,取其精华去其糟粕,那么,Python 一定是工程师解决问题的一把利剑。
--来自wechat公众号《51CTO技术栈》
⑤ 什么是编程语言
编程语言(programming language)可以简单的理解为一种计算机和人都能识别的语言。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
编程语言处在不断的发展和变化中,从最初的机器语言发展到如今的2500种以上的高级语言,每种语言都有其特定的用途和不同的发展轨迹。编程语言并不像人类自然语言发展变化一样的缓慢而又持久,其发展是相当快速的,这主要是计算机硬件、互联网和IT业的发展促进了编程语言的发展。
计算机编程语言能够实现人与机器之间的交流和沟通,而计算机编程语言主要包括汇编语言、机器语言以及高级语言,具体内容如下:
汇编语言
该语言主要是以缩写英文作为标符进行编写的,运用汇编语言进行编写的一般都是较为简练的小程序,其在执行方面较为便利,但汇编语言在程序方面较为冗长,所以具有较高的出错率。
机器语言
这种语言主要是利用二进制编码进行指令的发送,能够被计算机快速地识别,其灵活性相对较高,且执行速度较为可观,机器语言与汇编语言之间的相似性较高,但由于具有局限性,所以在使用上存在一定的约束性。
高级语言
所谓的高级语言,其实是由多种编程语言结合之后的总称,其可以对多条指令进行整合,将其变为单条指令完成输送,其在操作细节指令以及中间过程等方面都得到了适当的简化,所以,整个程序更为简便,具有较强的操作性,而这种编码方式的简化,使得计算机编程对于相关工作人员的专业水平要求不断放宽。
⑥ 常用的计算机编程语言有那些
种类很多,要学的话,主要看你要从事哪个方面,编程都是大同小异,如果你学会一门,其他的学起来也就轻松许多。 如果你想当个普通的公司职员,建议C\C++这类的。 如果你想当个破解人员,建议汇编(我觉得是相当的难...)。 如果你想当个黑客,拥有一定的软件知识(很低层的那种)和硬件知识(使用软件掌控硬件)和网络知识(入侵这类的)。 如果你想当个红客,主要是网络安全知识。
这需要看将来想从事什么类型软件的开发吧。如果在国内开发windows类型应用程序,据说vb比较流行,但如果开发和硬件关系较大的嵌入式程序,则使用较多的还是C语言,而网络这个方面,无论是有线还是无线,大多数都选择了JAVA。以上是从应用角度来讲的,如果从性能和投入方面分析,C语言无疑性能上最好的,但它的复杂度太高,开发和维护费用较大,一般比较好的游戏程序或者速度要求较高的程序会选择C++来开发,而VB等由于它的简易性,可以极大缩短开发周期,也是程序员的宠儿之一。另外有一种语言python在国内逐渐出现,国外好像已经流行了十几年吧,linux的引导程序和BT的一些组件都是用它开发的,具有开发周期短,易维护等特点,运行速度也比JAVA要快,并且面向对象,无平台限制,据说还开放了源码,不过由于在国内流行时间不长,各大公司出于对以前开发代码的兼容性的需要,可能一时间接受不这个语言,但可以明显看出,它的发展潜力相当大。 总而言之,C为基础,掌握JAVA,会用VB,了解python,应该看得出这几个词汇之间的轻重差别吧。:)单机编程语言主要有qb,vb,c++,vc++,c语言,我觉得最常用的是c语言,因为现在我们常用的windows操作系统就是用c 语言编写的.非常常用. 网络编程语言现在用的是html 语言,还有java.ada
asp(含asp.NET)
basic(含VB)
b(C语言的前身)
css
c(含VC)
c#(含VC#.NET)
c++(含VC++.NET)
fortran
foxbase
html(含xhtml和shtml)
jacc(不确定是不是这个名字了,一种开发语言的语言)
java
java script
jsp
latex
lua
pascal
perl
php
prolog
python
ruby
sgml(html和xml用得很多,单独列出,其实也是一种sgml)
shell
sql
tcl/tk
vb script
xml 最常用的是 JAVA C C++ java VB 是比较好学的 最牛的要属C#了
世界上编程语言太多了,就像每个国家都有自己的语言一样的.但是从编程语言发展的角度说:
大概经历 这样 四个阶段: ############################################################
第一个阶段是 机器码编程 (你肯定知道计算机只能识别0和1,以前就是这样编程的).现在的PC计算机依然是这样,冯.诺依曼结构的计算机.你可以去网上搜索 冯.诺依曼 是干什么的.你会想,为什么现在编程不是0,1,计算机怎么识别呢?当你开始编程的时候,你用的编译器就在做这些事情.
########################################################### ##########################################################
第二个阶段是 低级语言,比如汇编语言,台湾叫做组合语言.其实组合翻译还是比较准确的.一般有IBM PC汇编语言,还有AT&T的汇编语言.学一个就可以了,另一个只是形式不同.对于Intel的CPU来说,8088 8086是对应于16位的汇编语言,80386以后到现在的奔腾都是对应32位汇编语言.现在大学学的是8088/8086的汇编,这远远落后于时代了.目前已经推出了64位的CPU了. 汇编之所以是低级语言,是因为可以对计算机硬件进行直接操作.尤其是对BIOS的中断调用.最典型的是,在我们操作系统启动的时候(比如XP,LINUX...),内核引导程序就要调用BIOS来获得计算机的硬件信息供内核的调用. 低级不是代表功能不强大. 对硬件进行直接操作的,一般如果代码量小的话,会选择汇编来写.汇编的效率极高.
为什么代码量小才用汇编呢?因为汇编代码别人很难读懂.而且非常难维护.所以在选择汇编语言编程的时候要考虑,我的程序是关注什么方面的.
并不是只有汇编语言才能对硬件编程,C语言一样可以,C++,JAVA都可以,但是考虑到执行效率,汇编比他们都有绝对优势.一般系统级编程用汇编,C语言比较多 很多人说汇编语言将被淘汰,但是在一定的领域,这个东西不会被淘汰的.据我所知,目前的系统启动部分除了用汇编写,还没有用其他语言写过,操作系统的内核,多用C来写,还没有用C++来写.据说Linus以前尝试用C++改写Linux内核,不过后来放弃了.如果有人对我的假设有什么疑义,请推荐给我一个不用汇编写启动的代码,或者内核是用面向对象编程语言来写的OS的程序代码,我将不胜感激.
如果有人有反对意见,我保留我自己看法,因为在计算机上没有不可能的事情! ################################################# #################################################
第三个阶段是:结构化高级语言
这个代表就是C语言,PASCAL语言,FORTANT语言.
C语言相比较这三个语言来说,应用是最广泛的. C语言对操作系统和系统使用程序以及需要对硬件进行操作的场合,用C语言明显优于其它高级语言,许多大型应用软件都是用C语言编写的。 C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。 这里提到可移植性,补充上边说的汇编语言,汇编语言因为是直接面对硬件,所以如果硬件不同,编程的语法就不同,所以汇编一般不可移植,或者移植非常困难. C语言常用的编译软件有Microsoft Visual C++,Borland C++,Watcom C++ , Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++, Lccwin32 C Compiler 3.1,Microsoft C,High C,等等...... 大学里教学用的是TC2.0,这里的T表示TURBO,是Borland公司的产品. ************************************************8
有必要了解一下C语言的发展历史 C语言的发展颇为有趣。它的原型ALGOL 60语言。 1963年,剑桥大学将ALGOL 60语言发展成为CPL(Combined Programming Language)语言。 1967年,剑桥大学的Matin Richards 对CPL语言进行了简化,于是产生了BCPL语言。 1970年,美国贝尔实验室的Ken Thompson将BCPL进行了修改,并为它起了一个有趣的名字“B语言”。意思是将CPL语言煮干,提炼出它的精华。并且他用B语言写了第一个UNIX操作系统。 而在1973年,B语言也给人“煮”了一下,美国贝尔实验室的D.M.RITCHIE在B语言的基础上最终设计出了一种新的语言,他取了BGPL的第二个字母作为这种语言的名字,这就是C语言。 为了使UNIX操作系统推广,1977年Dennis M.Ritchie 发表了不依赖于具体机器系统的C语言编译文本《可移植的C语言编译程序》。 1978年Brian W.Kernighian和Dennis M.Ritchie出版了名着《The C Programming Language》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。 1988年,随着微型计算机的日益普及, 出现了许多C语言版本。由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。为了改变这种情况,美国国家标准研究所(ANSI)为C语言制定了一套ANSI标准, 成为现行的C语言标准 3.C语言的主要特点 。C语言发展迅速, 而且成为最受欢迎的语言之一, 主要因为它具有强大的功能。许多着名的系统软件, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 语言编写的。用C语言加上一些汇编语言子程序, 就更能显示C语言的优势了,象PC- DOS 、WORDSTAR等就是用这种方法编写的。 C语言的特点 1. 简洁紧凑、灵活方便 C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。它把高级语言的基本结构和语句与低级语言的实用性结合起来。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。 2. 运算符丰富 C的运算符包含的范围很广泛,共有种34个运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。 3. 数据结构丰富 C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据类型的运算。并引入了指针概念,使程序效率更高。另外C语言具有强大的图形功能, 支持多种显示器和驱动器。且计算功能、逻辑判断功能强大。 4. C是结构式语言 结构式语言的显着特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 5. C语法限制不太严格、程序设计自由度大 一般的高级语言语法检查比较严,能够检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度。 6. C语言允许直接访问物理地址,可以直接对硬件进行操作 因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元,可以用来写系统软件。 7. C语言程序生成代码质量高,程序执行效率高 一般只比汇编程序生成的目标代码效率低10へ20%。 8. C语言适用范围大,可移植性好 C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种机型。 ######################################################
第四个阶段:面向对象的高级语言
典型的是C++ JAVA 在C语言的编程过程中,大家发现 结构化编程的C语言编程比较麻烦.
比如,我要编写 描述3个凳子的程序,如果用C写的话,我必须一个一个描写凳子.如果要写100,1000个或者更多呢?不就麻烦死了.为什么我们不能先构造一个凳子的基本模型,然后根据具体凳子的特点添加代码呢? 这样代码量不是大大减轻了,程序员就少做很多重复劳动了.这个基本模型就是面向对象里边经常提到的类.
当然C++和C比较不仅仅是这些有点,优点太多了,我只是做一个假设而已,C++的内容很多,C++是C的超集.你学习C++你就知道了. C++和C的语法很相近,C++一样能处理结构化的程序,基本和C一样.
所以,你可以直接学习C++.C++和C没有什么必然关系.
############################################# 此外还有其他一些脚本语言perl,标记语言html等等.
游戏开发也经常用到脚本语言. -------------------------------------------------
编程语言就和人说话一样,等你熟练掌握了,你应该学习如何说话的方法和技巧了.就是计算机上常说的 数据结构 和 算法 当你熟练掌握编程语言的时候,你会发现再学一门新的语言不是什么难的事情.很容易上手,确实是这样的.
--------------------------------------------------------------
--------------------------------------------------------------
刚才我说了编程语言基本分为那些,知道这些语言最擅长的地方,你学游戏还是学什么都会有个目标. 无论你从事什么计算机编程工作,我都觉得应该好好学习基础知识,不管你是先学再干,还是先干然后知不足才学.形式都是次要的,关键是解决问题. 不管怎么样,你还是要了解一些数学知识,比如游戏编程要涉及的 线性代数的矩阵知识,等等.数学是很重要的.不要认为编程和数学没有关系.在高级编程中应用数学知识太常见了. 游戏编程现在大家学习3D的比较多.毕竟玩游戏,还是要逼真的感觉的.你初学可以学习OpenGL或者D3D,这些结构和C语言相似,他们不是编程语言,只是接口.编译器你可以采用MS的VC++或者LINUX下的GCC + GLUT,当然编译器只是工具,你喜欢采用什么编译器,调试器都是你自己的选择.MS底下也可以采用其他的,Linux底下也可以采用GTK等等.看你喜好了.
再有就是Web编程语言语了:aspasp.net PHPJSP
⑦ 编程语言有哪些
一场编程语言之战
@Author:Runsen
本人懂一点Python,Java,根据自己想法而来,纯属虚构。
现状
进入2020年3月,新的编程语言排行榜新鲜出炉,TIOBE最新发布了3月编程语言排行榜。
从榜单中我们可以看到,前三名分别为Java、C、Python。相较于上个月,Python继续以1.85%上升至10.11%,以10.11%的份额稳居第三。
我们先了解下比较常见的编程语言的,如Java,Python,JavaScript,C/C++,Go,C#各编程语言的用途。
“众口难调”,面对多种多样的编程语言,大家众说纷纭,每种编程语言都有兆念棚其存在的意义,编程之战从未停止,“战火”一触即发。
家庭内战
最近,编程语言家族开了一场“家庭聚会”,都是在讨论自己的排名。
下面是家庭成员的对话。
老三Py:最近,我可厉害了。从2015年,人工智能的开始,人人学我,基本上我成为最无敌的大佬。
老四C++:可不是嘛,老三,你的爬虫,数据分析,机器学习,深度学习高悉,自然语言处理再加上你的Django,flask等Web开发等,就连你的PyQt也想占领我的QT图形界面市场,都是你这个流氓,害得我从老三变成老四。
老三Py:那都是你太难写了,学我就是几分钟就能入门的,谁叫你这么难懂,什么面向对象,你的一百行代码,我十几行就搞定了,谁还会学你,很快,我就是老大,你就是我的小弟。
老四C++对老大Java说:大哥,有人想谋权篡位。
老大Java:现在,确实是老三的时代,现在个个数据分析师只会Python,都喊出了:人生苦短,我用Python。要怪就怪数据分析人员编程水平太低了,写来写去就是py代码,完全学不会其他语言。
老二C鄙视的说:就算写Python太厉害,也最多就是一个导包侠,没有什么了不起的。老三,话说你有什么本事当老大,我都不敢谋权篡位。
老三Py:不如我们比一比,看看现在开发者需要我多些还是老大多先。
老大Java:好,比就比。谁怕谁,我到底看看你有什么本事。
老三Py:我代码简单,写起来轻松易懂,比如我打印一句HelloWorld,就是一个,就是这么简单。就问你们服不服?
老大Java:打印一个HelloWorld,我确实需要好几行代码,还要声明一个HelloWorld对象。
老二C:我还要定义一个main的主函数,打印一个HelloWorld确实有点多。
老四C++:我是抄老二的,写个HelloWorld比老二还要多。
老三Py:看见没有,这就是差距,谁会写那么多代码,直接简单粗暴我就是一个打印HelloWorld。
老大Java:老三,你这样不行啊,万物都是对象,写一行代码,我觉得都要声明一个对象。
老三Py:什么对象,我能打印出来就Ok了。
其他人:确实老三写的代码太简单了,连小学生基本都能学会,我们自愧不如,老三,你还要什么本事吗?
老三Py:要说我牛逼莫过我的第三方库,超过上万个,安装也简单,一个就轻松搞定,还给人看到安装进度条,你们说我牛不牛逼。
老大Java:这我可不服,你去的maven仓库看看
我的jar包任何一种场景都有,我的生态系早就完善,怎么不如你老三?
老三Py:你在pom.xml安装什么任何信息告诉族则别人,而且你的dependency鬼死那么长,人家愿意写吗?
老二C和老四C++:我们gcc和cmake添加第三方库还要编译才可以。
老三Py:我的requests,selenium,beautifulsoup,pyquery,lxml,Scrapy,Crawley,Pyspider等一系列爬虫库和爬虫框架厉害到爆,几乎所有爬虫都是我来编写的,你们的爬虫市场早没有你们的份了。
老大Java:我的WebMagic,Nutch,Heritrix,Jsoup,SeimiCrawler,JLiteSpider爬虫编写的代码确实比你多了好几倍,以前爬虫的市场都是基本用我,现在给你占去,悲哀。
老二C老四C++:爬虫,小心爬进监狱,现在首例爬虫禁令,禁止爬取微信公众号,都是老三你的爬虫造成多少假流量,造成多少网站奔溃,就说12306有尽20%以上都是爬虫访问流量,有多少人抢票,再提价出售,官方发票,又被他们抢了,你以前让多少人抢不票,这背后引发了一系列的肮脏的资产链。
老三Py:这关我毛事,现在的网络蜘蛛爬取,多少网站双手叫好,这都是他们的问题。
其他人:你除了爬虫,还有什么?
老三Py:我的数据分析三剑客numpy,pandas,matplotlib,在加上Seaborn,Scipy,StatModels,Pyecharts,Bokeh,Blaze,Plotly,NetWorkX,Biopython,SymPy和gwpy等数据科学库简直无敌,都喊出了,从excel学Python了。
老大Java:数据分析我虽然也有jar提供,但是我派了我的儿子scala去帮我完善。
老二C老四C++:这东西不是SPSS,stata,tableau,powerbi,excel,Echart,FineReport等强大的数据分析工具就可以解决了,都是用我们和老大开发的,干嘛还要写代码。
老三Py:我一把屠龙剑Pycharm,一把倚天剑anaconda,一个开发,一个数据分析,双剑合并,威力无敌。
老大Java:比IDE开发工具,我可不怕,我有Eclipse,MyEclipse,IntellijIDEA,NetBeans功能厉害到爆。
老二C老四C++:Dev-C++,C-free,CLion,Code::Blocks,CodeLite,C++Builder,我们觉得同样没问题。
老三Py:我的Web开发Django社区非常庞大,江湖上,Python有两条腿跑,一腿就是我的django,因为两万个包,一万以上都是我的Django,再加上了其他儿子flask,tornado,我开发了国内的豆瓣、知乎,国外:Instagram、Disqus、NationalGeographic、NASA
老大Java:Web开发,你还敢比,我就拿出一个Spring家族就够了,SpringMVC,SpringBoot,SpringCloud,再说了我还有自己的Tomcat,Jetty应用服务器,微服务的架构早就深化人心。如果以前的网站不是用php开发,那基本就是我以前的Servlet,jsp开发的(虽然落后了,但基本都在维护),现在网站开发首选我的Spring家族。
老二C老四C++:虽然在网站开发我们几乎没有市场,但是软件开发都是采用我们的,比如早期的QQ,微信,支付宝等大部分软件都是我们开发的。
老三Py:有本事比一比现在最火的人工智能,我的机器学习sklearn,深度学习keras,Pytorch,tensorflow,Caffe,PaddlePaddle,哪个不知道,哪个不用?就是因为这个,我才算最近的王者。
老大Java:你是不是想王者荣耀想多了,王者荣耀的客户端应该是C#(Unity3D)开发的,核心后端服务是C++开发,可没有你的份。人工智能,我怎么实现不了,我的深度学习库——DL4J、ND4J以及Deeplearning4j,深度学习框架就是因为数据分析者只会用Python,才让你火到现在。
老四C++:CPP-Call-Tensorflow,Caffe2C++API,PyTorch-CPP,我的性能比你的好不知道多少倍。对了,说说性能,老三,你这不怎么行。
老大Java补刀:连数据都没有,老三你做什么人工智能,看看得我的apache社区的大数据框架ApacheHadoop,ApacheHive,ApacheHbase,ApacheSqoop,ApacheFlume,ApacheSpark,ApacheBeam,ApacheFlink,ApacheStorm,SparkStreaming,ApacheOozie还有CloudersManager(CDH)都是我开发出来,大数据平台都是我干的,没有了数据,你做什么Ai,你是不是猴子请来的逗逼?
老三Py:游戏方面,我可以有我的Pygame,性能方面,我承认比较低效,大数据不是还有我的pyspark?
老五C#:你的Pygame就是小孩子过家家的,游戏市场我已经占领,老三你可不要来。
老大Java笑道:spark是我的儿子scala开发的,spark就是为了你们这些数据分析的人不会我(Java)和我儿子(scala),你们的压力下,不好意思的开发了pyspark,对Python提供了APi,再说了我们也给R提供了Rspark。话说,老R从前十掉下到了十一。
老R:就是你老三一直打击我,害得现在数据分析的人员不学习R了,都以为学你,就天下无敌了。
老四C++:就是明明每个人占领一种市场就够了,现在提出了”人生苦短,我学Python“口号。
老三Py:就是要”人生苦短,我学Python“。
老大Java:就是因为你,害得所有人的编程水平只降下来。Java开发人员学习Python,就是分分钟的事情。
老二C:不要说,大学我敢保证所有人都必须学习我开始。
老四C++:有本事你让学Python的来学我或者老大,我不信他能学得了。学我的人基本被我折磨死了,学你py就是分分钟的事情,有本事继续聊性能,我好像记得知乎得推荐系统用go重写了,还不是因为你的效率。
老十go:今天我难得上了前十,什么”人生苦短,我学Python“,明明就是”2020年,我们一起学go“。
老三Py:我去你的,你老十有什么资格说话?再说了我有cpython,Numba提高运行速度不就可以了吗?
老大Java:那你老三有什么资格在我面前说话,你连多线程和并发都处理不好,还不如提出我的口号”OnceWrite,RunAnywhere“,一次编写,到处运行,我的强大的JVM,你老三有吗?
老三Py:我可以用Pyinstall打成exe,到处运行,不就是”一次编写,到处运行“,
老大Java:我的强大,你不知道,你还是在mac和liunx运行你的exe吧。我还有一个儿子Kotlin和我占领APP市场,你有APP市场吗,还想当大佬,这日子是不是有点早了。
老三Py:我有kivy开发APP。
老二C老四C++:老三,你怎么不说用flutter开发APP?
老三Py:那是Google开源的UI工具包,关我毛事。
老二C老四C++:flutter的底层是基于我们的开发的。
老三Py:我不管,反正现在人人学Py,我的市场就是慢慢变大,我就是当老大。
老二C:我从1972年诞生,可以说我是老三你的长辈。Java可是运行在全球的三十亿设备上的,我都没有把握当老大,你哪里来的勇气?
老三Py:我是从1991年出生,Java可是1995年出生,这样我不就是老大的长辈吗?
老大Java:老三说得没错,老三要当老大,他膨胀了,要先超越老二你了。
老二C:什么?老三,他连编译器都没有,一个解释器基于我的编译器,竟然敢叫嚣超越我,用我编译器,底层封装我的代码,没有我,哪里来你,脚本就是脚本,动态语言就是动态语言,老大,老四和我哪个不是静态语言,哪个没有自己的编译器?信不信我不给你用我的编译器,让你从前十消失。
老三Py:卧槽,爸爸,我错了,别让我从前十消失啊。
一声不吭的老八php叫道:php才是最好的语言。
我想说的
Python这语言,只适合作为加分项,不适合作为技术支撑。因为它写不了复杂逻辑。只适合写一个爬虫,计算器,记事本,Qt之类的小程序。Python超越了Java和C,那是不可能的。Python从老四超越了C++,已经是一个很震惊的大事了。
说这个也许有人不服,凭什么Python就写不了复杂逻辑?豆瓣和知乎不是用Python写的吗?
先声明,豆瓣的后端,已经废弃了绝大部分的Python代码,重新写过了。youtube也正在重写中。目前以Python为主的网站,就只有知乎这么个独苗,而且知乎的推荐算法已经用go重写了。
为什么?不是因为Python的性能慢,而是因为Python的语法太悲剧了。也许Python的语法简洁,在初学者看来是优点。因为初学者一般练手,都只写1000行以下的小玩意,Python的语法简直爽翻了,真没任何缺点。
但如果你真的尝试用Python封装几十个类,去写个一万行以上的东西,自然就明白它的语法问题有多严重了。不只是难受,而是根本写不下,去维护成本太大了。没有静态类型检查是主要原因。能解决么?也能,好的模块设计还有codereview能回避掉一些,不过这样一来也就抵消掉一些Python能带来的快速开发的优势了。
还是江湖那句话,动态一时爽,重构火葬场。并不适合大项目,Python还是适合原型,前期项目。
搞it要想混得好,如果哪能只会一样东西呢,除非你不想混好,拼得就是综合素质,除非你Python登峰造极的程度,python五分钟都能入门,Python的语法和英语完全一样。学Python的人,去学Java,真的觉得很难。
如果按难度评分0-5的话,Python没有难度指数0,php难度指数1,go难度指数2,Java难度指数3,C++/C难度指数4。静态语言的难度是比动态脚本难的,如果你是编程零基础,建议从学习Python,再深入到Java。一手Python,一手Java基本在市场属于比较靠前的水平。
阿里基本Java的天下,腾讯的前世是靠C/C++出生,华为主要业务是在硬件方面,也需要C/C++的编程基础。网络,字节相反用的Python,go,ruby比较多。
不过如果自己想要有更长远的发展,只学python肯定是不够的,个人觉得Java、Python这二门语言都熟练掌握最好。如果想成为大神,那就补充一个C++,你就是无敌的存在。
@Author:Runsen公众号:润森笔记
这个分好多种,比如前段、后台、嵌入式开发、全栈、移动开发等。
如前端开发的语言有:HTML、CSS、JavaScript、HTML5、CSS3、JQuery库、Vue框架、微信小程序等;后端开发的语言有:PHP、Java、SpringBoot、Python、C、C++、C#等;移动开发的语言有:Android、IOS等。
太多了,使用人数较多的有java,C#,C,C++,html,javascript,
php......
现在最火热的就是python对于很多初学编程,或者刚刚转行IT领域的程序小猿来讲,究竟该选择哪一门编程语言学习,一直是个很费脑子的事。毕竟,大多数初学者,相关IT知识都还比较欠缺,并不是太了解编程。
那么这么多的编程语言,学习什么比较好呢?
Java
Java拥有跨平台、面向对象、泛型编程的特性,非常受企业的喜欢,广泛应用于企业级Web应用开发和移动应用开发。
Java发展到现在,按应用来分主要分为三大块:J2SE、J2ME、J2EE。三块应用范围不同,但却相互补充。广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Python
Python是一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。由于具有丰富和强大的库,又被称为胶水语言,Python极其容易上手,主要源于Python有极其简单的说明文档。
Python?的应用领域分为系统编程,用户图形接口,Internet?脚本,组件集成,数据库编程,快速原型,数值计算和科学计算编程,游戏、图像、人工智能、XML?、机器人编程等等。
常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。Python是做服务器开发与物联网开发。
信息安全,大数据处理,数据可视化机器学习,物联网开发,各大软件的api,桌面应用,都需要python。
PHP
PHP(HypertextProcessor)是一种免费的强大的服务器端脚本语言,主要目标是允许网络开发人员快速编写动态页面,同时也被广泛应用于其他领域,如Web开发并可嵌入HTML中去,受到web开发者的欢迎。包括Wordpress、Digg以及Facebook在内均使用了该语言。
PHP的语法利用了C、Java和Perl,易于学习。目前PHP的应用范围已经相当广泛,尤其是在网页程式的开发上。一般来说PHP大多执行在网页服务器上,透过执行PHP程式码来产生使用者浏览的网页。PHP可以在多数的服务器和操作系统上执行,而且使用PHP完全是免费的。
JavaScript
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。听起来好像和java有些关系,然而却不是的,只不过名字像而已。
同时JavaScrip也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript也可以用在游戏开发等方面。
js最广泛的应用毫无疑问是在web前端。简单的说,网站给你传过来的是一堆用各种标签表示格式的文档,而js负责操纵这些文档实现一些客户端动态效果。js的领地还不仅如此,现在的Node.js还可以用于服务器端的开发。
GO语言
Go语言主要用作服务器端开发,其定位是用来开发“大型软件”的,适合于很多程序员一起开发大型软件,并且开发周期长,支持云计算的网络服务。Go语言能够让程序员快速开发,并且在软件不断的增长过程中,它能让程序员更容易地进行维护和修改。它融合了传统编译型语言的高效性和脚本语言的易用性和富于表达性。
Go语言作为服务器编程语言,很适合处理日志、数据打包、虚拟机处理、文件系统、分布式系统、数据库代理等;网络编程方面,Go语言广泛应用于Web应用、API应用、下载应用等;除此之外,Go语言还可用于内存数据库和云平台领域,目前国外很多云平台都是采用Go开发。
不过,总的来讲,这只是一个大概方向上的划分,具体到每个人的兴趣特点和编程特点,还有更为细致的划分。
据各大语言类的排行榜,目前比较流行的编程语言包括Java、C、Python、PHP、C++、C#、JavaScript、R、Go、OC、Swift等,不同语言排行榜的顺序有一定的区别,但是整体上的差别并不大。判断一门编程语言是否流行一方面要看用户的整体数量,另一方面也要结合语言的使用场景,有的语言虽然用户整体数量不大,但是在具体的应用场景却有非常高的占比,比如OC。
⑧ 编程语言是什么
编程语言,可以简单的理解为一种计算机和人都能识别的语言。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
编程语言处在不断的发展和变化中,从最初的机器语言发展到如今的2500种以上的高级语言,每种语言都有其特定的用途和不同的发展轨迹。编程语言并不像人类自然语言发展变化一样的缓慢而又持久,其发展是相当快速的,这主要是计算机硬件、互联网和IT业的发展促进了编程语言的发展。
计算机编程语言能够实现人与机器之间的交流和沟通,而计算机编程语言主要包括汇编语言、机器语言以及高级语言,具体内容如下:
汇编语言
该语言主要是以缩写英文作为标符进行编写的,运用汇编语言进行编写的一般都是较为简练的小程序,其在执行方面较为便利,但汇编语言在程序方面较为冗长,所以具有较高的出错率。 [2]
机器语言
这种语言主要是利用二进制编码进行指令的发送,能够被计算机快速地识别,其灵活性相对较高,且执行速度较为可观,机器语言与汇编语言之间的相似性较高,但由于具有局限性,所以在使用上存在一定的约束性。 [2]
高级语言
所谓的高级语言,其实是由多种编程语言结合之后的总称,其可以对多条指令进行整合,将其变为单条指令完成输送,其在操作细节指令以及中间过程等方面都得到了适当的简化,所以,整个程序更为简便,具有较强的操作性,而这种编码方式的简化,使得计算机编程对于相关工作人员的专业水平要求不断放宽。 [2]
发展历史编辑 语音
第一台计算机是在二十世纪四十年代发明的,当时的计算机各项控制主要是由人工操作来实现的,但在便利性方面严重不足,经过多年的发展,相关人员提出了利用编程语言来控制计算机的构想,虽然当时的编程模式还不够完善,但却对计算机编程语言的发展产生了巨大的推动作用。而计算机编程语言也正是在这之后的半个世纪中逐渐完善的。随着社会的发展,各领域的技术需求不断提升,这使得计算机编程的发展越来越趋于复杂化和多样化。在这种情况下,一些可视的﹑集成的语言环境逐渐开始崭露头角,只需要进行简单的按键,就可以完成一段代码的编写,大大减少了计算机编程的资金成本和时间成本。加上一些高级语言的出现,如Pascal﹑Fortran以及C语言等,使得计算机操控已经不再需要大量的资本和人工,直到二十世纪九十年代,计算机编程领域高速发展,逐渐诞生了一些面向对象的高级语言,如Java等,使得计算机程序逐渐从原来的通信和计算向着视频解析﹑图像传输﹑智能模拟以及知识处理等方向发展,换言之就是通过计算机网络技术进行数据采集﹑分析﹑管理,实现智能操作。在现代文明不断发展的情况下,通过计算机编程语言已经能够对各领域的信息化需求加以满足。
经历时代及代表语言
编程语言一般分为:低级语言、高级语言和面向对象时代。
低级语言时代
低级语言时代(1946-1953)主要包括被称为“天书”的机器语言以及汇编语言。
计算机工作基于二进制,从根本上说,计算机只能识别和接受由0和1组成的指令。这些指令的集合就是该计算机的机器语言。机器语言包括的缺点有:难学、难写、难记、难检查、难修改,难以推广使用。因此初期只有极少数的计算机专业人员会编写计算机程序。
汇编语言由于机器语言的难以理解,莫奇莱等人开始想到用助记符来代替0,1代码,于是汇编语言出现了。
高级语言时代
高级语言时代(1954-至今)——随着世界上第一个高级语言fortran的出现,新的编程语言开始不断涌现出来。数十年来,全世界涌现了2500种以上高级语言,一些流行至今,一些则逐渐消失。
第一个高级语言—Fortran
为了克服低级语言的缺点,20世纪50年代由美国约翰·贝克斯(John Backus)创造出了第一个计算机高级语言——FORTRAN语言。它很接近人们习惯使用的自然语言和数学语言。程序中所用运算符和运算表达式,很容易理解,使用也十分方便。并且FORTRAN以其特有的功能在数值、科学和工程计算领域发挥着重要作用。
第一个结构化程序设计语言—ALGOL
这是在计算机发展史上首批清晰定义的高级语言,由欧美计算机学家合力所组成的联席大会于仍是晶体管计算机流行的1950年代所开发国际计算机学会(ACM)将ALGOL模式列为算法描述的标准,启发ALGOL类现代语言Pascal、Ada、C语言等出现。
最简单的语言——BASIC
1964年BASIC语言正式发布。是由达特茅斯学院院长、匈牙利人约翰·凯梅尼(John G.Kemeny)与数学系教师托马斯·库尔茨(Thomas E.Kurtz)共同研制出来的。该语言只有26个变量名,17条语句,12个函数和3个命令。这门语言叫做“初学者通用符号指令代码。
编程语言里一个重要的里程碑——Pascal
这是基于ALGOL编程语言,为纪念法国数学家、哲学家、电脑先驱布莱兹·帕斯卡而命名。它由瑞士Niklaus Wirth教授于六十年代末设计并创立的。Pascal具有语法严谨、层次分明等特点,是第一个结构化编程语言,被称为“编程语言里一个重要的里程碑”。
现代程序语言革命的起点——C语言
C语言的祖先是BCPL(Basic Combined Programming Language)语言,在1970年美国贝尔实验室的Ken Thompson在BCPL语言的基础上,设计出了B语言。接着在1972到1973年间,美国贝尔实验室的Dennis M.Ritchie在Ken Thompson的基础上设计出了C语言。 [1]
面向对象时代
面向对象时代(90年代初-至今)——面向对象程序设计(Object-Oriented Programming,简称OOP)如今在整个程序设计中十分重要,其最突出的特点为封装性、继承性和多态性。
Java
Java是由Sun Microsystem于1995年推出的高级编程语言。进入21世纪,Java企业级应用飞速发展,主要被运用于电信、金融、交通等行业的信息化平台建设。Java是一个普遍适用的软件平台,其具有易学易用、平台独立、可移植、多线程、健壮、动态、安全等主要特性。
Python
近几年来,Python语言上升势头比较迅速,其主要原因在于大数据和人工智能领域的发展,随着产业互联网的推进,Python语言未来的发展空间将进一步得到扩大。Python是一种高层次的脚本语言,目前应用于Web和Internet开发、科学计算和统计、教育、软件开发和后端开发等领域,且有着简单易学、运行速度快、可移植、可扩展、可嵌入等优点。