网资酷

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 167|回复: 20

学什么编程语言?

[复制链接]

1

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-12-3 19:16:32 | 显示全部楼层 |阅读模式

  • 我要学编程,先从哪里开始入手呢?
  • 学什么编程语言?
  • 学编程之前要不要先学一些其他预科知识?
生存还是毁灭,这是一个问题,选择不当会直接导致你的编程之路中道崩殂。

  • 想知道学什么编程语言最好,得先知道这些编程语言都能用来做什么
  • 知道这些编程语言能用来做什么,你才能根据自己想做什么学习适当的编程语言。
编程岗位广泛分布于各行各业,其中超过50%的程序员工作在 互联网软件金融交易 这三大主力行业。
下面是主流编程相关行业技术应用和岗位分类搜索词,按容易入门、时下流行度和未来发展前景等综合排名。这里只列举大众化、主流、工作岗位较多的技术,小众编程语言和技术不涉及。
从这个编程技术列表里你可以总览主流编程行业概况和边界。
编程语言和技术门类分类汇总列表

注:HTML,CSS应用广泛但不算是真正的编程语言,这里不列入。
本表中,互联网、软件、金融交易等能就业的主流编程行业和语言、技术都在这儿了,大家可以收藏保留,已备在你想切换编程语言、技术和行业时查询。

  • 互联网开发:互联网行业应用,WEB网站、手机APP应用等。

    • 移动开发:手机移动APP应用。

      • HTML5,JavaScript,Android(JAVA),iOS(Swift)

    • 前端开发:网站前台界面。

      • WEB前端,HTML5,JavaScript,

    • 后端开发:WEB和移动应用服务器端开发。

      • JavaScript(Node.js),Java,PHP,Python,C#(.NET),C++,C,Go,Ruby,VB

    • DBA:数据库工程师。

      • SQL,MySQL,MongoDB,SQLServer

    • 运维:运维工程师,服务器管理

      • Linux,shell,Python

    • 测试:测试工程师,python
    • 全栈工程师:上面所有技术门类,每类最少会一种(如果你会JS基本都能做了)。

  • 游戏,VR/AR开发:移动或桌面端,2D或3D游戏和近几年发展出来的VR(虚拟现实)/AR(增强现实)行业

    • Unity3d(U3D),COCOS2D-X,C#,JavaScript

  • 桌面开发:传统桌面软件开发,带下载需要在电脑安装那种软件。

    • JAVA,C#(.NET),C++,C,GO,JavaScript(Electron)

  • 硬件开发:传统硬件和智能硬件。

    • 硬件,嵌入式,单片机,FPGA开发,树莓派,C,Python,JavaScript(Node.js)

  • 数据行业:大数据、数据分析、数据挖掘、机器学习等数据相关。

    • 大数据:数据科学底层软件和环境的搭建使用维护。

      • Java,scala,SQL,Spark,Hadoop,

    • 商业智能:BI工程师,数据仓库,ETL
    • 数据科学:数据科学上层,使用搭建好的底层环境分析、挖掘数据。

      • Python(Numpy,Pandas,Matplotlib,scikit-learn,TensorFlow),R,Julia,Matlab
      • 数据分析,数据挖掘,机器学习,深度学习,算法
      • 无人驾驶,自然语言处理,计算机视觉


  • 金融量化

    • 数学 + 数据科学(见上面) + 金融学
    • Python,Java,C++

编程语言三大门派

一个应用门类可以使用多种编程语言技术实现,一种编程语言往往也能做许多类别的工作,如何选择呢?
理论上,任何图灵完备的编程语言都是等价的,可以彼此通用做任何编程工作。例如,有人用PHP做工业控制软件,还有人用JavaScript写硬件驱动。但你要明白,可以做不等于适合做,每种语言都有自己的最佳使用范围,我们最好在每种应用上使用最适合的编程语言。
编程语言和技术会聚集形成应用族群,意味着一个程序员往往需要掌握多种技术才能胜任工作。其中一门为主力技术,其他为辅助。
目前中国人接入计算机和互联网的主流渠道有:移动端APP,微信端,WEB网页端,客户端。没有错,微信端已经强到可以独立山头了,不信你看看自己手机里的微信内存占用量和耗电率就知道了。
编程圈主流有三大门派,学习之前你最好选择一个门派作为方向。
JavaScript派


  • JavaScript语言的应用领域

    • JavaScript诞生之初是为了给浏览器写飞来飞去的动画特效发明的一种浏览器脚本语言。
    • JavaScript是世界上使用人数最多的编程语言(基本上,所有程序员都会用)。
    • JS最主流的应用是WEB前端编程。
    • React native、Hybrid APP技术使得JavaScript可以编写手机移动端APP应用。
    • Electron使得JavaScript可以写桌面软件。
    • Node.js,只要是能安装Node.js的地方,都可以用JS来编程。JavaScript可以代替PHP做服务端编程,代替C做嵌入式、智能硬件、物联网编程,甚至代替Python做机器学习(未成熟)...
    • 总之JavaScript无所不能。没有JS不能做的编程工作。

因为JavaScript派的使用范围最广,所以他是主流的全栈工程师使用语言。N分钟也强烈推荐你把JavaScript作为入门编程语言学习。
Java派


  • Java语言的应用领域

    • Java被作为一种跨平台跨环境、通用编程语言发明出来。
    • Java可以做电脑桌面软件编程。
    • Java可以做移动端编程,Android编程的标准语言。
    • Java也被用作嵌入式设备编程。
    • Java可以做WEB后端、服务端应用编程,性能仅次于C++,开发效率更高。
    • Java是大数据行业领域的主流编程语言。
    • 银行、金融交易、高频等安全或性能极限领域也活跃着Java的身影。
    • 总之,如果你需要做很贵的、大型的、分布的、高效的、安全的、可持续可维护的软件工程应用,你应该选择Java。

初学者其实不大适合学习Java,他很难,而且应用领域比JS小。如果你已经具有相当编程能力又需要做上面说的工作,你可以选择Java。
Python派


  • Python语言的应用领域

    • 一门简单易学却从工程界到科学界再到金融界通吃的脚本语言。
    • Python是Linux环境下的主力编程语言。
    • WEB服务端编程,用Python的大网站例如youtube、豆瓣、zhihu等。
    • 桌面软件,用Python的如Bittorrent。
    • 运维领域,服务器管理维护需要使用Python。
    • Python在嵌入式、智能硬件、物联网编程等领域应用也很广。
    • 高科技和教学领域,如NASA使用Python做科学计算,IRobot公司使用Python做商业机器人真空吸尘器,NSA使用Python做加密和智能分析。
    • Python是数据分析、数据挖掘、机器学习、深度学习、人工智能等数据科学领域的未来王者。
    • Python也是爬虫领域的当家语言。
    • 金融量化交易,Python是各大世界级金融交易公司的技术发展方向。
    • 总之Python属于跨界级,横跨工程、科研、金融三大领域并且每个领域都能做到专业级别。

除了这三大编程门派,其他编程语言和技术各有优势,但都没有形成族群,例如PHP,是WEB网站服务端编程领域的王者,全世界的网站有80%以上都是用PHP搭建的;再例如swift,苹果iOS APP的官方指定编程语言;例如C++ ,底层开发、高性能软件领域的大王。他们在特定领域都是霸主,但他们或者应用范围没有上述编程语言宽广,或者流行度和市场占有率呈下降趋势,可以说都在走下坡路。
JavaScript和Pyhton,入门编程应该学哪个?

2017年StackOverflow开发者报告表明,JavaScript(Node.js)、Python、 在编程市场的占有率持续上升,其余的编程语言都在下滑。所以你入门编程最好是从这两门语言入手。
Python和JavaScript相比,Python在工程界的应用范围窄一些(Python不能做WEB前端和移动端编程,WEB后端虽然擅长但国内编程公司用的不多,而这三块的就业占了大部分),就业机会少很多,但Python在数据科学研究领域和金融量化交易领域是冉冉升起的新星,未来的王者。
所以JavaScript统治了工程界,Python则是横跨工程界、科研界、量化交易界三大领域,并且每个领域都能做到专业级别。
至于这两门语言你到底学哪个?哦,人生最难的就是选择二字。答案是:看你的需求!

  • 如果你学编程是面向工程、面向功利、面向钱,想要最快速度学会一门能干活、能上班的编程语言,自己写点小东西,或者赶紧去工作挣钱,你应该学JavaScript(Node.js)。入门简单、资源丰富、应用广泛、就业市场庞大、发展前景无限,可以说是编程界的今日之星。
  • 如果你学编程是面向研究、面向非功利、面向探索和发现,不着急做点什么或者上班挣钱,而是有更深层次的考虑,和能力,想用编程来搞点分析研究,例如数据分析、数据挖掘、机器学习、人工智能之类;或者研究下算法和数学;或者研究下金融量化交易,那么你必须选择Python。
PS:学Python并非不能上班,一些Python的工程应用也是行业顶级的,例如Python WEB服务端开发,Python爬虫,就业机会也很很好,但和JS为主的WEB前端相比就业少很多,所以风险大一些。
选Python,不能太势利,要有一些情怀在
其实还有第三种更好的选择,那就是两个都学
先入门JavaScript到能干活的程度,最好顺道学点PHP方便自行搭建网站应用。再根据自己的想法和情况决定继续加强JavaScript派还是走Python派。介于JS的万能语言什么都能干的特性,世界上任何程序员,或多或少都要用到JS,所以不论你最终走哪条路,先学JS都是非常好的选择。
差不多了,最后再说一个问题:
来自所谓专业程序员的鄙视

有一些计算机科班出生、bat(百度,阿里,腾讯)或flag(Facebook,LinkedIn,Amazon,Google)工作的程序员,一说起学编程,就给初学者推荐从C语言开始,接着学编程导论、计算机科学、操作系统最后从头开始构造一个自己的编译器...,并竭力鄙视和嘲笑那些不懂数据结构和算法、不会英语、没上过大学、只会用JS、Python等脚本语言堆砌能勉强运行代码的下里巴码农不够优雅,不配被称作做程序员。
用JS入门编程怎么就不行了?作为一个程序员,你要是不会HTML/CSS/JavaScript,你好意思自称自己是程序员么?就像你连word都不会用,你好意思说自己会电脑么?
做决策第一要考虑的,是目的。想学编程的人,目的是学会编程并能用编程做些事情?还是变成编程领域专家?
做决策第二要考虑的,是可行性。学学HTML/CSS/JavaScript就能干活了,见效很快,立竿见影。学了计算机科学和算法导论确实写代码更优雅更有效了,但你们扪心自问,有几个人能自学完成计算机科学和算法导论?理想很丰满但现实呢?可行吗?
更奇怪的是,这些所谓专业程序员鄙视业余码农的背后,那弥漫全身、无所不在的优越感。仿佛在大公司上班,或者出国去硅谷码代码,就能俯视众生、人生赢家一般了!
人类社会衡量一个人类个体的成就和贡献,不是看他会什么也不是看他在哪儿呆着,是看他做了什么。

我就问问,各位鎏金码农、硅谷赢家,你们在自己高大上的位子上,做了什么能放上台面、拿出来说的成就?
说不出来?那还敢装X!谁给你的勇气?梁静茹吗?
编程和开车、英语一样,只是一种技能,而且是普及率越来越高的大路技能,真没什么可秀优越的。正确看待编程的方式,是把编程当成一种工具,和说话、打字一样,用编程做工具去完成自己的目标,而不是把工具本身当成目标
每个人的人生不同,目标也不同,绝大多数人对计算机这台热乎乎的机器并无也不可能产生持久和特殊的爱好。他们学编程、学计算机都只是为了用这个工具实现自己的目的。
从另一个角度看,那些把自己全部时间、精力、人生都投入研究怎么写代码更好的人,你们丧失了人生在其他方面的可能性、多样性,如果编程真是他们的内心所爱,那我祝君幸福、如果不是出于兴趣,编程只是为了多赚点钱,这难道不是一种更大的悲哀吗?
最后一句话送给广大编程学习者:
我学开车,是为了开车去想去的地方,不是为了开汽车修理厂!

----------------------------------------------
本文是系列教程《N分钟学编程 - 程序员必备技能速成》的其中一篇,持续更新中。
关注 N分钟 - 知乎专栏 和 作者帐号;
关注微信订阅号:N分钟 及时获取教程更新。扫不了码的自己微信搜索订阅号 N分钟

回复

使用道具 举报

1

主题

3

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-12-3 19:16:48 | 显示全部楼层
我现在是公司网管,公司主要是Windows平台。想学门编程开发技术。
公司研究院领导说让我考虑openstack方向,所以正在学Linux然后shell然后Python。一年时间够不够?
我听别人说Linux和Shell学几个月,命令行用熟练了就能出去找运维工作了。是这样么?
回复

使用道具 举报

1

主题

4

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-12-3 19:17:10 | 显示全部楼层
运维和openstack不是编程工作,基本也用不到编程
回复

使用道具 举报

1

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-12-3 19:17:59 | 显示全部楼层
运维好像要用Shell写脚本文件,openstack网上的招聘要求都是要会Linux和Python。
回复

使用道具 举报

1

主题

6

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2022-12-3 19:18:27 | 显示全部楼层
IT培训机构招人是不是特别热情?这边有个培训机构要外面贷款三万,签订合同包过包相关就业,送一台高配电脑,学的目的是VR游戏开发,内容是基础编程。我想学但不知道要不要去。
回复

使用道具 举报

2

主题

8

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2022-12-3 19:19:05 | 显示全部楼层
我觉得吧永远相信美好的事情即将发生。22岁了。
回复

使用道具 举报

2

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-12-3 19:19:18 | 显示全部楼层
shell基本算不得是编程语言,运维方向的python做的多是运维工作,你如果朝这个方向学那最后就是运维,做不了编程。其实运维岗位也可以,个人感觉,就是枯燥无味点
回复

使用道具 举报

1

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2022-12-3 19:20:04 | 显示全部楼层
听了你的描述我建议你不要去,VR游戏开发本身行业没怎么发展起来,就业可能会有点问题。签合同包过包就业是绝对不可能的,说说而已。真想学编程建议学发展比较成熟的门类,例如前端或后端编程。而且三万也太贵了吧,现在一般都2万。
回复

使用道具 举报

1

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2022-12-3 19:20:32 | 显示全部楼层
美好的,和不美好的事情都会发生,但如果别骗了应该不是什么美好的事,去专栏看我另一篇 怎样找到合适不被骗的编程培训学校 的文章看看
回复

使用道具 举报

0

主题

2

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-12-3 19:20:44 | 显示全部楼层
那我只学python呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|网资酷

GMT+8, 2025-7-7 07:46 , Processed in 0.115561 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表