C、C++、Java到Python,编程入门学习什么语言比较好_其它综合

来源:脚本之家  责任编辑:小易  

最好先从C学起,当然不学也没关系,高级语言一般都比较傻瓜化,通常visual studio都支持www.zgxue.com防采集请勿采集本网。

摘要:回顾编程语言几十年来的兴衰起伏,似乎也折射了整个信息产业的变迁消亡,想要在技术的洪流里激流勇进,找准并学精一两门编程语言更加显得至关重要。

JAVA不熟,差不多都忘了,JAVA好像声明了以后不能直接使用,还必须为数组分配内存空间。但是在C++中 int a[3];这又是正确的了。好长时间了,忘得差不多了。JAVA现在基本上自己没有再用。

最近,TIOBE更新了7月的编程语言榜单,常年霸榜的C、Java和Python依然蝉联前三位。万万没想到的是,R语言居然冲到了第八位,创下了史上最佳记录。而且后续随着业内对数据统计和挖掘需求的上涨,R语言热度颇有些势不可挡的架势。

首先,java和C/C++是不同类型的语言,java是解释型语言,C/C++是编译型语言,效率上肯定是编译型语言要高。为什么这么说呢?所谓解释型语言就是不实际生成可执行代码,比如java编译后生成的是.class字节码

然而作为程序员吃饭的工具,编程语言之间也形成了某种鄙视链,各大论坛里弥漫着剑拔弩张的气氛,众口难调。也难怪有很多初学者会有疑惑,为什么会有这么多编程语言,我到底应该学什么语言?

能。你学c++的时候自然会把c的大部分东西学了。

回顾编程语言几十年来的兴衰起伏,似乎也折射了整个信息产业的变迁消亡,想要在技术的洪流里激流勇进,找准并学精一两门编程语言更加显得至关重要。

学会了C++,其他都简单了,一年大概可以入门了

编程语言的黄金时代

Java底层?里奇要气得活过来了。JVM慢的要死内存无理乱用不说, 实现起来的难度和C runtime完全不是一个等级的 另外不能跨平台的代码才叫底层,汇编、机器语言够底层?都不能跨平台。C源代码跨

“有人不喜欢花括号,开发了Python;有人在一个周末设计了出了JavaScript;有人因为上班太无聊,于是发明了C语言”。关于编程语言的八卦轶事很多,但归根结底,一个编程语言的诞生一定是需求的推动。

从面向机器的语言、面向过程的语言到面向对象的语言,编程语言的历史也经历了由繁到简。而互联网崛起的90年代,无疑也是编程语言的黄金时代。

套用维基百科的总结,“1990年代未见到有什么重大的创新,大多都是以前构想的重组或变化。”

但就是这样的一个时代,却是各种编程语言大放异彩的开始。

彼时最主流的编程语言是贝尔实验室两位大佬发明的C/C++语言,互联网的载体计算机的基础设施,都是用这套语言来编写的,包括Linux操作系统、数据库、编译器等等。

这也奠定了C语言在IT领域的地位,只要有计算机的存在,C/C++肯定会有它们的一席之地。

但后来者居上的故事也随时在发生,这里的主角是已经落幕的昔日巨头网景和Sun。

1994年,网景发布了一款真正的网络浏览器Navigator,但受限于当时的技术限制,Navigator更像是一个本地展示页面,不具备任何交互功能。巧的是,Sun公司在1995年正式向市场推出他们开发的Java(即Oak语言),特点是“一次编写,到处运行”,网景看中了这个潜力股,选择与Sun结盟。

当时的Java可以作为脚本嵌入到网页中实现交互功能,即我们所熟知的Java Applet。然而,网景认为Java作为网页脚本还是过于复杂,程序员Brendan Eich就在10天内,集百家之长,开发了Javascript,如今所有浏览器前端库都需要基于JavaScript实现。

计算机的普及、互联网的崛起,Web应用的出现,Ruby、PHP等语言也悉数登场。

如知乎作者“强哥学堂”述,“这段时间,虽然没有创造编程语言,但是由于大量企业的参与,编程语言得到了空前的发展,形成了今天的编程语言的基本形态。也使得软件开发越来越标准化,规模化。”

与此同时,还有一些“小众”的编程语言,正蓄势待发中,等待着“爆红”的机会。

苹果的搅局,生态很关键

2010年iPhone 4问世,乔布斯用智能手机改写了之后的互联网发展轨迹。iOS和Android支撑起的智能手机市场,让移动互联网成为绝对的舞台主角。

苹果开创了一个全新的生态,作为iOS的应用开发语言,始于1984年的Objective-C从籍籍无名走向声名大噪,依托各种iPhone、iPad应用程序的开发,Objective-C曾一度挺进TIOBE排行榜的Top 3。

不过,苹果在2014年的WWDC上推出了新的编程语言Swift,支持编写macOS/OS X、iOS、iPadOS、watchOS和tvOS的软件应用,并在第二年宣布开源、支持Linux。

自此之后,Objective-C的市场份额逐年递减,从2014年的12%下降到2016年的1%。从下图也可以看出,新语言Swift从0开始,这几年一直处于稳定增长中,今年1月也冲进了TIOBE榜单的第九位。

虽然一门计算机语言从编译器、语法、基础库到在程序员的圈子中普及,并不是短时间可以一蹴而成,但苹果仍然以一己之力将Objective-C和Swift带入了编程语言的主流市场,由此可见,编程语言和一个产品的生态规模息息相关。

微软和Visual Basic的关系也是如此,移动互联网时代之前,VB曾经依靠可视化的开发环境,成为最炙手可热的桌面开发工具,并一度拥有300万开发者。而且借助Windows操作系统市场优势,VB如今也一直保持着居高不下的热度(遗憾的是,微软表示不打算继续演化 Visual Basic了)。

回到移动互联网时代,另一边的Android选择的是Java,随着Android阵营的越来越庞大,Java一直是TIOBE榜单上的第一,成绩最差也能拿个第二。

一个编程语言的长盛不衰,除了它本身的优势之外,其生态的建设也至关重要,毕竟用的人多了,也就能自成一派,这一点在Python的流行中体现的淋漓尽致。

大数据+AI时代,Python一骑绝尘

当学Python要从娃娃抓起的口号开始流行时,编程语言从IT圈子进入到大众圈。

大数据、AI的时代,Python可以说是一骑绝尘,从数据分析、机器学习、Web开发到爬虫开发都可以在Python的帮助下非常轻松的解决。

统计分析人员可以用Python解决数据爬取和分析的问题,大学生可以用Python解决租房的问题……

最关键的是,Python的学习门槛比C++,Java都要低,简洁的语法、成熟的第三方库,即使是非程序员群体,也能在短时间内速成。

用于统计分析、绘图、数据挖掘的R语言也是如此,赶上了数据应用分析的潮流,自然能从众多编程语言中脱颖而出。

针对今年7月榜单R语言创纪录的成绩,TIOBE的 CEO Paul Jansen 明确表示有两大趋势起着关键作用:一是商业统计语言和软件包(如 SAS、Stata 和 SPSS)的时代已经结束,大学和研究机构采用Python和R进行统计分析;二是与COVID-19相关的研究需要进行大量统计和数据挖掘,所以易于学习和使用的统计编程语言热度上升。

再比如诞生于2010年,由Mozilla主导开发的Rust语言,其更加强调安全性、存储器配置、以及并发处理等特性。去年Facebook推出的区块链项目Libra,就选择了Rust语言来构建,因为它足够安全。

Rust的排名也从2012年的200名开外,在最新一期TIOBE榜单上冲进了Top20。

我们以互联网的崛起为分界线,可以看到各个编程语言的此消彼长,必然伴随着新的产品和技术。顺应新技术发展的编程语言,即便时隔几十年,也可以重新焕发光彩。而且随着开源社区的壮大,一门优秀的编程语言可以博采众家之长,成长为后起之秀。

结语

如果你想以编程语言立生,建议你先学习Java,然后是Python和C++,因为这三种编程语言,基本上可以解决我们工作中遇到的大部分问题。

所以,不妨先试试华为云推出的Java开发全栈成长计划,让你0基础入门,构建Java技能体系,向全栈工程师迈进!

最后,如C#之父Anders Hejlsberg曾总结:如果要我概括在未来十年编程语言会变成什么样,首先,我认为编程语言应该变得更加“声明式”,我们需要设法为语言引入一些如元编程,函数式编程的能力,同时可能也要寻找让用户有办法扩展语法,使他们可以构造领域特定语言等等。不过总体来说我想强调的是,对于编程语言,新的范式则是“多范式”编程语言。

本文部分内容有参考以下文章:

1、《IT行业激荡30年->编程语言变迁史》

https://zhuanlan.zhihu.com/p/106808045

2、《计算机和编程语言的发展历史》

https://blog.csdn.net/abc6368765/article/details/83990756

点击关注,第一时间了解华为云新鲜技术~

我工作一年,Java程序员。入行还不算久,所以我只能就我看到的来回答你。首先是哪门语言,这个得看地方,大城市,像北京上海这种大城市,对于C和C++才有需求,小一点的城市一是没需求,二是给不出高工资。其次,C语言是永不会过时的语言,因为只有C语言才能开发操作系统,很多地方尤其是嵌入式方向,C是不二的选择。但是一个C语言的程序员,成长需要十年以上,但是C的工资一直会高于C++和Java,如果一直是做程序员的话。但是很少有人能够这么长时间一直敲代码,转管理,或者其他更有“前途”的工作的大有人在,Java程序员出师很快,所以有优势。Java是目前排行第二的语言(第一是C),Java目前有两个方向,一是Web,而是Android,安卓的火爆程度,想必你也是有所知晓的吧。C++的优势是在桌面程序开发,尤其是在游戏开发上,C++的优势极其明显内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 人工智能开发语言排行榜: 不死java, 不朽c/c++, 新贵python【推荐】
  • golang、python、php、c++、c、java、nodejs性能对比
  • java和python现在都挺火,我应该怎么选?
  • 大数据分析用java还是python
  • 多种语言下获取当前页完整url及其参数
  • fastjson到底做错了什么?为什么会被频繁爆出漏洞?(推荐)
  • 一文了解文档写作利器 markdown
  • intellij idea激活码获取方法(idea2020激活码汇总)
  • spark通过kafka-appender指定日志输出到kafka引发的死锁问题
  • uuencode 编码,uu编码介绍、uuencode编码转换原理与算法
  • svn 常用命令集合
  • spark在windows下的环境搭建方法
  • 每个程序员需掌握的20个代码命名小贴士
  • lambda 表达式导致 arthas 无法 redefine 的问题
  • C/C++和JAVA那个比较有前景
  • 略过c,直接学c++或者java没问题吧?
  • 详细的比较一下Java和C/C++的优劣
  • C++ 真的很难学吗?C、C++、Java 我该选择哪个?
  • Java 和 C/C++ 中数组使用的区别?
  • java为什么没有c/c++运行速度快
  • 不学C能学C++,会java,而且很熟练。。
  • 一个不会编程基础的人学习 c语言 c++ 再到 java 需要多久?
  • 既然JAVA这么底层,为什么还需要C和C++语言?
  • java; C ; C++有什么区别,他们分别是用来做什么的?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全javascriptasp.netphp编程ajax相关正则表达式asp编程jsp编程编程10000问css/htmlflex脚本加解密web2.0xml/rss网页编辑器相关技巧安全相关网页播放器其它综合dart首页人工智能开发语言排行榜: 不死java, 不朽c/c++, 新贵python【推荐】golang、python、php、c++、c、java、nodejs性能对比java和python现在都挺火,我应该怎么选?大数据分析用java还是python多种语言下获取当前页完整url及其参数fastjson到底做错了什么?为什么会被频繁爆出漏洞?(推荐)一文了解文档写作利器 markdownintellij idea激活码获取方法(idea2020激活码汇总)spark通过kafka-appender指定日志输出到kafka引发的死锁问题uuencode 编码,uu编码介绍、uuencode编码转换原理与算法svn 常用命令集合spark在windows下的环境搭建方法每个程序员需掌握的20个代码命名小贴士lambda 表达式导致 arthas 无法 redefine 的问题最新idea2020注册码永久激活(激活intellij idea激活码获取方法(i删除svn三种方法delsvn(windows+intellij idea2020永久破解,亲测c/s和b/s两种架构的概念、区别和网址(url)支持的最大长度是多少5个linux平台程序员最爱的开发工url中斜杠/和反斜杠\的区别小结提示“处理url时服务器出错”和“session的存储方式和配置方法介绍超好用:免费的图床hadoop介绍与安装配置方法一文了解文档写作利器 markdown滑动验证码的设计与理解一张图告诉你计算机编程语言的发展历史在visual studio code环境中使用svn的方案解决maven第一次创建项目太慢的问题关于数据处理包dplyr的函数用法总结
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved