草庐IT

8大主流编程语言的适用领域,你可能选错了语言

退休的龙叔 2023-04-13 原文

很多人学编程经常是脑子一热然后就去网上一搜资源就开始学习了,但学到了后面发现目前所学的东西并不是自己最喜欢的,好像自己更喜欢另一个技术,感觉自己学错了,于是乎又去学习别的东西。

结果竹篮打水一场空,前面所付出的努力都白费了。

所以在你学一门编程语言之前,一定要弄清楚它适用于什么领域。龙叔今天就来给大家讲讲8大主流编程语言的适用领域,看看它们学完能干什么


一、C语言

C语言的主要应用领域是操作系统、嵌入式和服务器这三块,它是一门强大的被广泛运用于底层的高级语言,比如说微软的Windows系统占据着全球90%以上的操作系统份额,而它的内核就是用C语言写的。

毫不客气地说,如果C语言排第二的话,没人敢排第一。

不过C语言也是出了名的难学,市面上真正懂C的人并不多,如果你精通C语言,那么收入必然不会低。


二、Java

Java主要用于企业级应用开发、网站平台开发、移动领域的手机游戏和移动android开发,举个例子吧,几乎所有的交易网站(淘宝,天猫,京东等)的保险和金融等网站都是用的Java做开发。

Java是目前市面上找工作机会最多但也同样竞争最激烈的一门语言,相对于C语言来说,Java更容易学一些。


三、C++

C++主要用于游戏领域、办公软件、图形处理、网站、搜索引擎、图形界面层、关系型数据库、浏览器、软件开发、集成环境IDE等等,太多了。龙叔也给大家举个例子,我们来看一下用C++写的游戏引擎的代表作:


C++在目前的招聘情况中,招聘数量仅次于Java,它的学习难度也不低。


四、Python

Python的主要应用领域是爬虫、数据分析、自动化测试和机器学习,还有一些中小企业会用它做后端开发,也是比较容易学的一门语言。

尽管目前Python在所有编程语言排行中已经高居第一,但它依然是饱受争议,这也很正常,毕竟学习和使用Python的人也不止程序员,还有其他岗位的人,比如运营,甚至财务。

我查了一下目前的招聘情况,目前的话Python的招聘数量比以前多了很多,已经达到了Java的2/3了,大家可以去前程无忧看一下就知道了。

我自己也收藏了很多python干货,可以共享给大家,很多粉丝都已经拿到了:


五、C#

C#主要用于Windows运用、商业应用和软件开发领域,比如网站,b/s应用系统,c/s桌面应用系统,手机wf7游戏开发,手机应用开发,xna游戏开发等等,近几年的话也是势头不错。


六、JavaScript

JavaScript以前大多用于前端开发,同时也奠定了它在web前端不可撼动的地位,但现在的JavaScript可不只是前端,后端也可以用Node.js来做,可谓是前后端开发必学JavaScript。


七、PHP

相信很多人都听过“PHP是世界上最好的语言”这种说法,曾经PHP在web开发方面确实占据着很大的市场比例,甚至还多于Java。但其实PHP并没有多强,它也只能用于web开发,任何能用PHP做的东西,其他语言都能做。

它之所以流行起来,是得益于它易学、开发容易且维护方便的特点。不过这几年势头不太好,在前十的编程语言排名中已经摇摇欲坠了,市面上的招聘数量也下滑了很多。

一般人不建议学它来找工作,因为你可能会饿死。


八、Go

全称Golang,简称GO语言,谷歌的“孩子”,它主要用于区块链技术和后端服务器应用,在去年的时候Go开始火起来了,为什么会火起来,你大致可以这么理解:

C++默认完全相信人类,所有权力交给了开发者;Java完全不相信人类,把人的权力锁到JVM的沙箱里,但是给开发者提供了更友好的编码方式。
.
Golang,试图在调和这两个矛盾。
.
而Rust更激进,既不相信人类,也不考虑对开发者友好,你可以简单地认为,Rust在试图让开发者创作更容易让机器处理的代码,从而实现最高的性能。


结语

我自己也很喜欢Python,收藏了很多技术干货,可以共享给喜欢我文章的朋友们,干货内容包括:

点击文末的名片可以抱走

有关8大主流编程语言的适用领域,你可能选错了语言的更多相关文章

  1. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  2. ruby - 如何以所有可能的方式将字符串拆分为长度最多为 3 的连续子字符串? - 2

    我试图获取一个长度在1到10之间的字符串,并输出将字符串分解为大小为1、2或3的连续子字符串的所有可能方式。例如:输入:123456将整数分割成单个字符,然后继续查找组合。该代码将返回以下所有数组。[1,2,3,4,5,6][12,3,4,5,6][1,23,4,5,6][1,2,34,5,6][1,2,3,45,6][1,2,3,4,56][12,34,5,6][12,3,45,6][12,3,4,56][1,23,45,6][1,2,34,56][1,23,4,56][12,34,56][123,4,5,6][1,234,5,6][1,2,345,6][1,2,3,456][123

  3. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

  4. ruby - inverse_of 是否适用于 has_many? - 2

    当我使用has_one时,它​​工作得很好,但在has_many上却不行。在这里您可以看到object_id不同,因为它运行了另一个SQL来再次获取它。ruby-1.9.2-p290:001>e=Employee.create(name:'rafael',active:false)ruby-1.9.2-p290:002>b=Badge.create(number:1,employee:e)ruby-1.9.2-p290:003>a=Address.create(street:"123MarketSt",city:"SanDiego",employee:e)ruby-1.9.2-p290

  5. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  6. 7个大一C语言必学的程序 / C语言经典代码大全 - 2

    嗨~大家好,这里是可莉!今天给大家带来的是7个C语言的经典基础代码~那一起往下看下去把【程序一】打印100到200之间的素数#includeintmain(){ inti; for(i=100;i 【程序二】输出乘法口诀表#includeintmain(){inti;for(i=1;i 【程序三】判断1000年---2000年之间的闰年#includeintmain(){intyear;for(year=1000;year 【程序四】给定两个整形变量的值,将两个值的内容进行交换。这里提供两种方法来进行交换,第一种为创建临时变量来进行交换,第二种是不创建临时变量而直接进行交换。1.创建临时变量来

  7. 网络编程套接字 - 2

    网络编程套接字网络编程基础知识理解源`IP`地址和目的`IP`地址理解源MAC地址和目的MAC地址认识端口号理解端口号和进程ID理解源端口号和目的端口号认识`TCP`协议认识`UDP`协议网络字节序socket编程接口`sockaddr``UDP`网络程序服务器端代码逻辑:需要用到的接口服务器端代码`udp`客户端代码逻辑`udp`客户端代码`TCP`网络程序服务器代码逻辑多个版本服务器单进程版本多进程版本多线程版本线程池版本服务器端代码客户端代码逻辑客户端代码TCP协议通讯流程TCP协议的客户端/服务器程序流程三次握手(建立连接)数据传输四次挥手(断开连接)TCP和UDP对比网络编程基础知识

  8. ruby - 我的 Ruby IRC 机器人没有连接到 IRC 服务器。我究竟做错了什么? - 2

    require"socket"server="irc.rizon.net"port="6667"nick="RubyIRCBot"channel="#0x40"s=TCPSocket.open(server,port)s.print("USERTesting",0)s.print("NICK#{nick}",0)s.print("JOIN#{channel}",0)这个IRC机器人没有连接到IRC服务器,我做错了什么? 最佳答案 失败并显示此消息::irc.shakeababy.net461*USER:Notenoughparame

  9. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  10. ruby - 如何以编程方式删除实例上的 "singleton information"以使其编码(marshal)? - 2

    我创建了一个由于“在运行时执行的单例元类定义”而无法编码的对象(这段代码的描述是否正确?)。这是通过以下代码执行的:#defineclassXthatmyusesingletonclassmetaprogrammingfeatures#throughcallofmethod:break_marshalling!classXdefbreak_marshalling!meta_class=class我该怎么做才能使对象编码正确?是否可以从对象instance_of_x的classX中“移除”单例组件?我真的需要一个建议,因为我们的一些对象需要通过Marshal.dump序列化机制进行缓存。

随机推荐