所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

不同编程语言的区别到底在哪里?

发布时间:2020-04-12 09:13:09

资讯分类:编程语言  区别  哪里  前端开发  语言  都是  汇编
不同编程语言的区别到底在哪里?

常见的电脑编程语言有C# 、Basic、Pascal、C语言、C++、JAVA、AAuto、易语言、SQL、汇编等

实际中常用JAVA、C++、C语言、SQL、C#这些都是高级语言(一般高级语言比低级语言简单),而汇编是低级语言,这种语言最接近机器码。现在大部分实用的高级语言都是面向对象的。



一些语言他们之间的区别几乎只是形式上的差别(语法等方面),在大体概念上区别不大,因为共用同一个库.net framework(你可以理解为它们就如同英式英语和美式英语,单词都是一样,当然两种编程语言“单词”再怎么一样,语法也会有很多差异),当你学会其中一个,其他的就不在话下了

当然也有一些语言差异比较大,如c#和java,他们使用不同的库,但是他们语法逻辑相似,又由于都是面向对象的编程语言,所以编程思想、概念也接近。



另外的,有些语言是完全不同的、比如sql和汇编和basic。SQL的目的是查询数据库,所以他更类似于在命令提示符中输入的命令,他的设计诞生就是为了简洁的,语法也很明了。而汇编是晦涩难懂的,由于他已近接近机器码(基本相当于学习一门外星语言),所以并不适合使用它来写普通的程序,但高级的驱动,漏洞的查找等会用到它。

不同编程语言的区别到底在哪里?

楼主提到的几门语言,除了ruby,c,python,java都做过相关的项目,再加c#,erlang,js。整体谈谈我的体会。

先说下共同的部分,语言在逻辑控制上基本类似,判断,循环各个语言大同小异(erlang用尾递归来实现循环)。所以想上手一门语言,先看判断循环是最快的。然后就是作用域,作用域决定了变量名有效范围。每个语言都会有。

然后就是不同部分。区别最大的就是面向对象语言如java,c#,flex与不具备面向对象c,erlang或不以面向对象为主的语言Python,javascript的区别。写代码的思想真的很不一样。面向对象写法核心是通过封装,继承,多态,来实现面向对象的五个设计原则,对应衍生出23种设计模式。非常适合做关系数据库的增删改查。业务逻辑组织。所以java,c#被广泛使用在各个企业级应用里。用来做一些erp,CRM,oa之类的程序。

然后其他的语言也有办法玩面向对象,只是这么做,个人认为有点为了oo而oo的感觉。包括Python与es2015。虽然支持面向对象特性,但和真正核心业务关系不大,也就做个数据库orm。

C是最适合写操作系统与驱动的语言,因为它足够接近底层,精细的操作内存与硬件接口,太方便了。也是因为这个,很多追求性能的程序会用c来写。核心算法用c业务逻辑用Python或其他语言调用,是很不错的选择。

java,c#一起讲,两者互相抄语法已经很久了。只不过java跨平台,C#写windows桌面系统的王者。上面说过,企业应用用他们开发最合适。

Python,不要以为它只是脚本,最牛的是借助动态语言特性而诞生的数据分析工具,numpy,pandas,matplotlib,scipy。所以数据分析很合适。深入说其实Python不适合做计算。循环能慢死。主要还是动态语言,准备数据没那么多麻烦,而且胶水语言,不擅长的计算交给c。

js是为为网络而生的语言。前后端都能写,语法写起来非常简单,处理并发也还凑合。包管理完善。所以如果做网站,首选它。

不同编程语言的区别到底在哪里?

程序语言是对硬件,操作系统接口,以及问题域的封装,好的封装可以用简单的模型来描述解决方案。不同语言在面对不同的问题域时,需要不同的硬件和操作系统封装模型。比如C简化了硬件模型,但可以直接操纵内存地址,因此它可以去做系统程序,而VB有丰富的组件,可以快速搭建管理类软件。语言的区别,本质上是为了适应某一类问题而设计。问题域总是在进化,迭代。所以语言也不会停止进化,一种语言若需要兼容古老的版本,那么它就会越来越大,越来越沉重不堪,阻止不了衰老就必然有全新的设计替代它。相对稳定的是解决问题的逻辑,例如面向过程,面向对象等程序设计结构,还有各种经典的问题域解决模式,它们进化速度并不快,所以很可能从毕业到脑力退化后下岗,整个15到25年职业周期里,经历了好多种语言,但解决问题的方式大同小异。

不同编程语言的区别到底在哪里?

马蓉不要脸!宋喆不是人!支持宝宝!!对不起,走错了

不同编程语言的区别到底在哪里?

感觉C#是最面向对象的语言!不过夸平台这方面做的不是很给力!

不同编程语言的区别到底在哪里?

这个技术问题,问的我有点懵。

我帮大家找了三篇文章,供参阅:(1)https://www.zhihu.com/question/30991863;

(2)https://www.douban.com/note/162574006/;(3)https://www.zhihu.com/question/19993874。

不同编程语言的区别到底在哪里?

如同关系型数据库,几十年本质沒有太大变化吧

不同编程语言的区别到底在哪里?

你用JAVA编写PSP模拟器和用C+试试,就知道差距了。C运行效率高,能最大限度调用硬件

不同编程语言的区别到底在哪里?

高级开发语言,应该普通人都看得懂会得用才算真正高级。语法和关键字尽可能不用专业术语,要用常规普通话:比如“字段”=“列”=“栏目”哪个最好理解?显然是栏目大家都懂是啥意思、字段是专门学习的人才能理解。

不同编程语言的区别到底在哪里?

其实大多数使用起来的区别就是,有的语言需要自己造轮子,有的直接用造好的轮子。

还活着的语言大多都有自己存在的价值,我们使用语言就只需要用在他存在价值的地方…

不同编程语言的区别到底在哪里?

10年C++的我我只说一句话:学好C++,其它语言上手都很快!

不同编程语言的区别到底在哪里?

一位外国友人用《如果编程语言是武器》对各个编程的区别和特征做了生动形象的描述。



C语言是M1式加兰德步枪,很老但可靠。


(开发效率太低,开发门槛高,不要以为语法简单就门槛低,指针、内存、操作系统底层才是门槛所在)



C++是双截棍,挥舞起来很强悍,很吸引人,但需要你多年的磨练来掌握,很多人希望改用别的武器。


(太复杂,如果现在的程序员全部被强制去写C++,估计90%会崩溃或者转行)



Ruby 是一把外嵌红宝石的宝刀,人们使用它通常是因为看起来很炫。


(拥有广泛的工具及功能库,使得构建应用十分轻松,但很难找到关于Ruby良好的说明文档且运行速度差。)




PHP是水管子,你通常会把它的一段接到汽车的排气管,另一端插进车窗里,然后你坐进车里,开动引擎。


(拥有庞大而活跃的社区,面对Web开发难题都有现成的解决方案,但PHP错误处理机制比较糟糕,因为它的开发历史过长且需要支持大量旧有功能。)



Python是一种“v2/v3”双管枪,每次只能用一个管子发射,你永远不知道该用哪个管子发射好。


(因为该语言易于掌握拥有极高人气,但在语言设计上存在问题,在移动计算领域表现比较糟糕。)



JavaScript是一把宝剑,但没有剑柄。


(它的代码函数可立即运行,无需等待服务器做出回应,因此速度非常出色。但由于代码在用户计算机上执行,有时会被恶意活动所利用。)



Java是M240通用弹夹式自动机枪。


(同样的效果,Java用简练的语言即可进行输出,封装了大部分的算法,用自带的库/开发环境运算,所以运行速度能像机枪一样快~)



Scala是M240通用机枪的变种,但它的使用手册是用一种看不懂的方言写的,很多人怀疑那只是一些梦话。

不同编程语言的区别到底在哪里?

其实现代高级语言,语法都不是问题,只是哪个更适合。现在一些大型项目都使用多语言开发,不同语言做自己最擅长的事情。比如c适合操作底层,适合做算法,性能要求高的模块。JAVA适合大型企业级项目。一些支持脚本运行的语言,比如Python,适合处理数据。而大数据,高并发的应用scala可能更适合。现在做研发,精通哪种语言已经不重要,重要的是如何正确高效的解决一个问题,语言只不过是一种工具。

不同编程语言的区别到底在哪里?

编程语言很多种,即使是常用的编程语言,在不同的应用场景下也是多种多样,那么接下来就主要阐述题主所提到的这几种语言。

C语言,静态、弱类型(如我们可以int * p = malloc(sizeof(int); 而malloc的返回类型其实是void*,不是int*,若在C++则会错误,但是C语言可以)、编译型的通用系统编程语言,主要用于在需要高度控制硬件,系统编程(如操作系统内核,嵌入式系统等),高性能编程等场景。

Python,动态、强类型、解释型的通用编程语言,语法简单,学习难度较低,具有非常多的第三方库。主要用户自动化工作(如每一天固定时候运行命令)、文本处理、数据处理、Web编程、机器学习等。

Ruby,动态、强类型、解释性的通用编程语言,完全的面向对象(包括数字类型,如1),学习难度不高,语法非常的灵活,主要用于自动化工作(如自动化测试),Web开发(比较出名的是Ruby on Rails)等。


Java,静态、强类型、解释型的通用编程语言,其标志性的口号是"Write Once, Run Anywhere",学习难度中等,语法不复杂,主要用于移动端开发(如Android),Web开发(如结合Spring, Struts2框架等)等。


那么我们现在来看的话,其实每一种语言都有其优缺点和适用的范围,其每一种语言出现都有其特定的背景,我们需要考虑的就是如何根据我们的需求来适配我们的情况。如你想要大量的文本处理或者做机器学习,肯定Python更合适一些。如果要做Android开发,肯定不会选择Python,而是Java。同样的,你要做系统开发,如操作系统内核,你肯定首选是C,而不是其他语言。

不同编程语言的区别到底在哪里?

语法不同而已,编程语言都差不多。把C语言内功心法学好,其他语言都是只要掌握语法,基本上可以写任何你想的到的东西。编程思维形成后,不同的编程语言要学的就只有语法了。为什么要学C,因为C是最接近底层的编程语言,很接近机器的思维方式。一个能以计算机的思维方式来编程的程序员,往往都是大师级的程序员。这个时候语言已经无法阻挡你的前进,编程思维已经突破了全部编程语言阻挡在你面前的障碍。

不同编程语言的区别到底在哪里?

首先是平台不同,具体可以自己百度。其次来说基本没啥不同,就好比汉语英语法语这些,都能交流,都能表达出相同的意思,无非是使用人群和语法不同而已。

不同编程语言的区别到底在哪里?

不同的语言,提供给程序员的环境不同,要想开发稳健的程序就必须对环境有一定的掌握。c语言比较裸露,内存管理都得自己搞,不熟练很容易内存泄露,没有模板,没有类,得靠自己人为去构思。JAVA就屏蔽了一些环境,内存管理不需要程序员去做。不同的语言做的事不同。

不同编程语言的区别到底在哪里?

其实我程序写得不咋样,但我估计是大部分程序员里最会赚钱的。

我觉得语言不是那么重要,关键是你写出来的东西实用不。

我学编程是因为接了客户的单子,转手外包又不划算,然后就边看教程边百度,开始的头一年基本开发是靠百度,做上两年后,市面上用到的功能都开发过了,所以现在开发基本不用思考了。

其实我连一些最基本的函数都没记住,只是知道有这么一个东西可以实现这么一个效果,至于具体代码怎么拼写,完全记不住,一是靠ide自动补全,二是靠百度,三是笔记。然后同样的事干多了就本能的记住了。即使这样我也比大部分程序员开发速度快。现在学习一门新语言,我都只看下基本语法,编程思路,临时用到在百度。

所以基本我学几天就能开发出市场需要的产品,现在自己架构系统,文档方案我都没写,边策划项目,边设计UI,边写功能。基本上是前端写完后端功能也就好了,所以我开发,基本上是photoshop Dreamweaver php ide工具一齐开着。

其实编程最重要的是编程思维,当然了像我这种是以程序开发产品卖钱为主的,不是技术研究为生。我觉得这符合百分之九十程序员的,都是以赚钱为目的。我的计划是等我公司稳定,团队打造起来了,自己可以不用写代码为生了再深入研究技术,从底层好好研究编程技术,那时候写代码就纯为了玩了。

所以别太纠结什么语言,看什么适合自己要开发的产品就用什么。哪怕你只懂皮毛,能做出产品就是好程序员。

不同编程语言的区别到底在哪里?

其实基本没啥区别,当然从功能,性能,表现方面存在客观上的区别,但是都有在某些指定方面的利弊,而一个系统是很综合的,综合到不能简单用某一个很细节的具体一面来评价,把全部综合考虑,很难出一个定论某系统到底该用哪个语言最适合,争论其实仅仅为了争论而争论。真要下客观定论,一堆人参与在一起进行精算,所需要的时间可能系统都开发出来了,再进行讨论过程中原先需求都变了,所以我认为结果上来讲重要的是,该项目负责人(cto?)决定用啥就用啥

不同编程语言的区别到底在哪里?

PHP 是十多岁的花季恋人,是你在那个夏天首次笨手笨脚寻求的女孩。但不要试图和她开始一段更严肃的关系,因为这妹纸有严重的问题。

Perl 是 PHP 的姐姐。对于你来说,或许她年龄有点大了,但在20世纪90年代,她老火了。在和 Larry Wall 有一段长期关系后,Perl 的眼光下降了,并且她现在也色衰了。“ 爷才不管你们怎么说,爷就是爱她!” Larry Wall 如是说。但其他人不是这样的。(译注:Larry Wall 是 Perl 语言之父。)

Ruby 是脚本语言家族中的酷妹。当你首次遇见她时,由其美貌而生的摄魂大法,差点让你窒息。她也很有趣。那时候她看起来有点反应慢且傻大姐,不过过去几年中,她已成熟许多。

Python 是 Ruby 更为明智的姐姐。她优雅、漂亮、成熟。她或许是太完美了。大多数男人会喜欢说“哥们,你怎么会不喜欢 Python 呢!?”。是的,你是喜欢 Python。你是把当做了既不急躁也不很浪漫的 Ruby。(You just consider her the boring version of the edgy and romantic Ruby)

嘉娃(Java) 是一位成功的职场女性。有些和她一起共事的人认为,之所以她可以在她那个岗位,虽然能力有所欠缺,但她给中层管理人员留下了好印象。或许你认为她是那种明智类型的,你应当和她一起定居。不过你要准备好在多年之中听不到“接口类型错误、遗漏分号”这样的絮叨。

熙佳佳(C++)是 Java 的表姐妹。和 Java 有很多共同点,不同的是,熙佳佳成长于更纯真的年代,她不相信要用“保护制度(protection)”。“保护制度”,我当然是在说自动内存管理。难道你以为我在说其他意思么?C 是 C++ 的妈妈。如果你和一些胡须泛白的老黑客说起她的大名,他们肯定双眼一亮,然后开始忆初了。:)

Objective- C 是 C 家庭的另一成员。她去一个奇特教堂回来后,就不和外面其他人约会了。Haskell, Clojure, Scheme 和她们的朋友都是一些爱时髦、有艺术气、聪明的妹纸。或许在多年前,你在学校就和她们一起度过了一个美好的夏天。她们是第一批让你觉得有挑战的妹纸。当然,尽管你总是自问“如果 … 将会怎么样”,但你或许从没有想要严肃对她。

C# 你或许会推迟和 C# 的约会,是因为她家名誉有问题。但她们会告诉你,这些年来,她们已经洗掉臭名。一旦你加入我们,你就是我们的一员了,你听到了吧?你需要一个数据库?她哥哥 MSSQL 会钩住你。你需要一个住的地方?哎呀,她爸爸甚至可以给你在 Azure 大道上买套公寓。怎么样,莫非你对她们这些过度热心的亲戚有其他想法?不,你不能离开。你现在已经是她们的家庭成员,亲,听到了不?

Javascript - 嘿,这不就是那个拿下你初吻的妹纸么,甚至比 PHP 还早出现。我不知道她现在在做什么。听说她近几年事业飞黄腾达了。赶上时候,旧人也能焕发光彩……(你能看到她从头到脚穿着 jQuery 设计师设计的东西)……哇,有人变成白天鹅啦…… (*^__^*)


不知道我的回答可否满意?如有任何电子方面问题,可关注微信公众号ickeybbs,咨询我。。

留言与评论(共有 0 条评论)
   
验证码:
Top