首页 > 编程语言 >主流编程语言的“介绍”与“选择”

主流编程语言的“介绍”与“选择”

时间:2024-03-01 11:34:34浏览次数:39  
标签:Java 语言 编程语言 Python 介绍 JS 主流 开发 Go

前言:

编程语言本身没有优劣之分,不同的语言适合不同的场景,文中说的建议,多是站在小白要就业的立场给出的建议。

正文

我们看这张导图,这张图右侧是前端类的语言,左侧是服务端的语言:

 

我们先说右侧。

第一个就是 JavaScript,简称 JS。

我强调下他和 Java 是没有关系的,只是名字类似。

他的用途是前端开发,他负责网页上的交互事件和交互数据,比如你在界面上做了点击滑动的操作,这都是 JS 负责的,你能在界面上看到文章、视频等数据,比如在知乎你能看到推荐的文章(数据),这也是 JS 负责的(通过 Ajax 调用后端接口获取)。

建议:你要做前端,那只有这一门语言能选择,属于必选项,JS 占了前端很大的比重,说白了做前端开发就是在搞 JS。

第二个和第三个都是原生app的开发语言

我对这两个的建议就是不建议作为入行语言,

因为 App 开发分原生和混合:

原生开发拥有更好的流畅度,更丰富的动画,但是一套 App 要分两个版本,要两组不同的人来维护。

而混合开发就是前端来做的,不需要分两组,这几年混合开发也在进步,考虑到成本问题,中小公司或者说这个项目没有很高的要求,那一般会采用混合开发的方案。

所以说如果你是已经在做安卓或者 iOS 的,可以根据情况来斟酌,但作为想入行的小白,不建议以这两个语言入门。

我们再看这张图左边的语言。这边都是后端类的语言。

 

Node.js

Node.js 用途一般是后端开发,他其实就是 JS,只是 Node.js 多了操作文件和数据库的语法,所以可以做后端,但是真用它做后端的公司很少很少。不适合作为第一门语言学,一般是做前端之后,把它作为了解后端的跳板。

PHP

PHP,用途也是 web 后端开发,他还有个头衔是——“世界上最好的语言”。

不过以现在来说,这个世界上最好的语言可以说大势已去~

PHP 在互联网初期因为其轻量和快捷,适合中小型应用,再加上易学,所以在以前的互联网很有统治地位,后来前后端分离了,公司也慢慢成熟,面对性能等问题其他语言有更好的解决方案,所以公司大多舍弃了 PHP,到了现在就算是初创公司做web后端的项目适合用 PHP,但是出于跟风或者为了拉投资画饼,以及招人成本,也会选择其他语言。

我认识的在一线工作的 PHP 程序员基本都转前端、转 Go 或者 Java 了,二线做Php还有在坚持的,新手不建议再从 PHP 入手,并不是它不好,语言没有好坏之分,但是我们要考虑到我们要就业的事实。

Python

应该很多人在网上看过 Python 的广告吧,比如 9.9 学 Python,下班早等。

它的用途服务器开发,数据相关工作(采集分析,机器学习)。

Python 语法简单易学,插件丰富,作为工具确实会方便很多人的日常工作。

如果你是以学习为目的,可以把 Python 当成第一门语言,因为更容易上手,能做的事儿也多,会体会到编程的趣味性,从而更积极的学习编程。

如果你是小白,以找工作为目的,我不建议你把 Python 当成第一门语言。因为 Python的主力还是人工智能、数据处理这一块,而这一块对数学是有要求的。

虽然 Python 还能做后端啊,比如知乎和豆瓣的后端就是 Python,但是以后端来说 Python 的就业岗位是逊于java的。

当然也有可能你搜 Python 你还会说,老师这 Python 岗位数量也不少啊。

那是因为做数据相关的、做测试时候也需要懂 Python,招聘网站会把这些统计到 Python 工程师之下,这样来说就多了。

总得来说,你以学习为目的,以 Python 为第一语言不会让你自闭,因为他语法简单,插件丰富的特点,能让你学的轻松,并且能快速实现一些东西,让你感受到编程的魅力,但是如果以工作为目的选择第一语言,我不会把这一票投给 Python。

Golang

新晋的宠儿——Golang,说他新晋也不准确,他出来也有10年多了,只是相对其它语言比较年轻。

他的领域也是后端开发,对 Go 的建议嘛 emmm...

我个人认为,小白以找工作为目的,不适合把 Go 当成第一门语言。

因为同样是服务端开发,Go 的生态和市场占有率不如 Java,而且 Go 主要集中在一线大厂,并不是每个人都有资格进一线大厂,而且中小公司在技术选择上肯定是愿意用 Java 而不是 Go,

一来 Java 的生态足够丰富,二来员工容易招。所以我不建议把 Go 当成入门第一语言。

当然如果你学历好,对自己的成长有规划,或者目前还是大学阶段不着急找工作,也可以选择 Go。

如果你只是一般学历,就要面临就业还没有熟悉能用来工作的语言,我认为这种情况,随大流更好。

Java

Java——后端第一语言,纵然现在存在内卷严重,但是小白以找后端工作为目的的情况下,我认为 Java 仍然是不二选择,因为生态足够丰富,招聘需求大!

这几年里有人说 Python 会超过它,有人说 Go 会取代它,可事实证明 Java 还是那个 Java,还是那个后端一哥。

所以如果你面临就业没有能够开发的语言,且又想做后端,你就学 Java。

C 语言

C 是底层语言,能做操作系统、嵌入式、网络安全,但是不是学会了 C 你就会以上的事情,C 只是一个工具,你还要搭配相应的知识与工具。比如你想做嵌入式,你还需要了解数字电路、模拟电路、Linux 等

建议:C 语言能够让你更加深刻的认识内存和编译原理,还有程序思想,数据结构,了解程序的每一个细节,夯实基本功,所以优秀的程序员都会学习 C 语言。但多数程序员的开发语言不是它,因为它偏向底层,而多数程序员做的事情偏应用层。

所以你不会 C 语言你也能做程序员,计算机也分层,就像你开车并不需要会修车一样,只是 C 语言能让你让你了解的足够深,能让你有希望在技术道路上走的更长远。

C++

C++ 也是偏底层的语言,用途:桌面软件开发、游戏开发。

建议:其实建议和C语言差不多,C++ 岗位不多但是精,不少大厂需要性能的业务是由 C++ 来做,比如微软、字节的广告系统都是 C++ 来做的。

如果你是本专业的大一,学 C/C++ 这类偏底层的语言,是能够打好你的基本功的;

如果你面临就业,还是选择 Java、或者前端更合适。

C 和 C++ 也是院校计算机专业基本都教的,虽然工作可能用不上,但是学的是程序思想和数据结构,你可以理解打好基本功。

C#

最后一个 C#,这个我了解的不多,我去招聘软件上看了看,它的岗位主要分布在游戏开发、后台、工具开发等方面。

建议:C# 在国内就业市场确实行情不佳,在 Unity 3D 上比较有发展前景,其他领域前景不明。

C# 还经常和 .Net 连在一起,不过 .Net 不是编程语言,严格来说 .Net 是一个平台,支持很多语言,C# 是支持的最好的,所以在大多数语境下,.Net 工程师等于 C# 工程师。

 

总结:

如果你是零基础要就业的情况下,前端方向肯定是 JS(唯一的选择),后端方向最建议 Java。

如果你在学校以学习为目的,把学校教的基本功打好,然后从 Python、JS、Java 选择一个来学习,在我看来从 Python 或者 Java 选择了一个,然后 JS 基本也不会绕过去,因为你做了个工具,你肯定还想展示出来嘛,展示的事儿就是前端就需要用到JS了。

其实我也很建议大家大学时候就开始自学,时间多,做出小工具后的成就感能让你继续学下去,很有可能你大学几年能把前端后端(其中一门语言)都学会,再搭配良好的计科基础知识,很有希望进大厂,就算进不去大厂,那这个时候的你也不会为找不到工作发愁。

相反,如果你大学没有自学,那你就算是计算机专业,你毕业也基本找不到工作,别提什么实习,实习也是要的能干活的,大多数计算机专业的同学自己到底几斤几两能不能干活心里都应该有数吧。

到时候只能参加培训,进入大厂的机会减少(因为失去了校招),而且还要交钱学习,不过你如果真的错过了大学自学,到了毕业才开始学,那培训反而成了性价比高的选择了。

标签:Java,语言,编程语言,Python,介绍,JS,主流,开发,Go
From: https://www.cnblogs.com/visionalsun/p/17938334

相关文章

  • 复试资料介绍
    复试部分选项五(100¥)=复试资料电子资料纸质资料初试分数低?没关系,学长搜集的复试资料已经打包整理好,资料包括复试自我介绍模板、整个复试面试流程、笔试题库、导师资料、联系导师邮件模板介绍等等,让你复试逆袭上岸! 选项六(199¥)=复试资料+干货讲解包括复试情况介绍和全流程......
  • 云计算 - 阿里云最佳云上实践介绍 卓越架构
    相较传统IDC,云计算的快速迭代增加了维持良好架构的难度。云应用需关注稳定性、安全性、性能和成本。阿里云通过多年经验,发展了一套名为"AlibabaCloudWell-ArchitectedFramework"的优秀架构框架,以协助用户构建出色的云架构。关注【TechLeadCloud】,分享互联网架构、云服务技......
  • Vue 3.0 介绍
    #Vue.js是什么Vue(读音/vjuː/,类似于 view)是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,V......
  • Rocketmq 入门介绍
    从零手写实现mq详细介绍一下rocketmqRocketMQ是由阿里巴巴开发的分布式消息队列系统,它是一个低延迟、高可靠、高吞吐量的消息中间件。RocketMQ最初是作为阿里巴巴的内部项目进行开发的,后来成为了Apache软件基金会下的顶级项目,以Apache许可证2.0发布,使其成为一个开......
  • AI 全栈作品介绍
    AI全栈学员部分作品集1.1.拜年祝福贺卡生成器,-公众号:小龙女AI凡瀚AI项目网址:https://a.fanhan-ai.com/GPTALL项目网址:https://gptall.online/OpenAI微信机器人项目地址:https://github.com/yexleo/OpenAI_wechat_botRHINOCodingHelper项目地址:https://cha......
  • TSINGSEE青犀AI智能分析网关V4区域入侵检测算法及应用介绍
    区域入侵检测算法主要应用于需要高度安全防护的场所,如:电力、水利、石油等国家基础设施场所;政府机关、军事基地等重要设施;监狱、看守所等监管场所;大型企业、工厂等生产区域;校园、住宅小区、楼宇等。这些场所通常具有明确的周界警戒区域,需要对非法入侵行为进行实时监测和预警。TSI......
  • 谷歌Gemma介绍、微调、量化和推理
    谷歌的最新的Gemma模型是第一个使用与Gemini模型相同的研究和技术构建的开源LLM。这个系列的模型目前有两种尺寸,2B和7B,并且提供了聊天的基本版和指令版。用一句话来总结Gemma就是:学习了Llama2和Mistral7B的优点,使用了更多的Token和单词进行了训练了一个更好的7B(8.5B)模型。所......
  • WPF性能优化:Visual Studio性能分析工具使用介绍
    在硬件性能不断提升的现在,软件性能依旧是开发人员关注的重点。不同类型的程序关注的具体性能指标有所不同,服务器程序注重吞吐量,游戏引擎追求渲染效率,桌面程序则关注内存消耗以及界面加载效率和流畅性。当我们需要进行性能优化时,首先需要找到性能瓶颈。本文将介绍两个WPF性能优化......
  • 苹果App Store上架工具介绍
    摘要苹果AppStore作为iOS应用程序的主要分发渠道,上架应用程序需要遵守规定和通过审核。为了帮助开发者更方便地上架应用程序,苹果提供了一些工具和服务,如Xcode、appuploder和克魔助手等。本文将详细介绍这些常用的苹果App上架工具,以帮助开发者更好地管理和发布应用程序。  ......
  • 自我介绍
    作业一:自我介绍+课程5问这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13135这个作业的目标初步认识软件工程这门课的内容作用......