自学编程入门,先学什么语言好?零基础入门到精通,收藏这篇就够了

今天和大家聊一聊那些编程语言值得学习,本文讲的东西一部分来自网络,一部分是我自己的理解,希望对你有些帮助。

第一门编程语言学什么?

如果你是一名刚入门的学生,大学通常都会上一门 C 语言课,无论是计算机专业,电子通信等理工科类专业都会学习作为基础入门语言,因为 C 语言是很多语言的母语言,很多语言都是借鉴的 C 语言,比如 C++,Java 都是 C 语言发展而来的高级语言,吸收了 C 语言的优点,并且在此基础上有新增了自己的特性。所以 C 语言作为入门级语言是毋庸置疑的,可以帮助你更快的学习其他语言。但是以后找工作只学习入门阶段的 C 是远远不够的。

哪些语言值得去学习

首先我们先看一张图

这张图是 Tiobe 在 2021 年 6 月份统计的编程语言流行度,评级基于全球熟练工程师、课程和第三方供应商的数量,谷歌、必应、雅虎、维基百科、亚马逊、YouTube 和百度等流行搜索引擎来计算评分。虽然以上不是每个语言都被广泛应用,但也从不同方面展现了当前时代语言的流行度。

Python

首先我们聊一下 Python(以下指的是 Python3),Python 是一门语法最为接近数学的语言,语法相比较其他语言确实简单,Python 的强大在于它的第三方包特别丰富,常被人调侃为调包工程师,它的缺点是运行比较慢,但是在当今硬件越来越便宜,而且说它慢是与其他语言比较,在人的角度是感觉不出来的,所以在不是注重性能的地方,使用 Python 开发 是可以考虑的。作者龟叔说要在将来给 Python 提速 1 倍,我们拭目以待吧。如今它在科学计算和人工智能领域应用广泛,像现在很多专业在研究生阶段都会去学习 Python,写论文的时候用 Python 整一套高大上的算法。其实 Python 在其他领域也有应用,比如 Python 在 Web 方向有大名鼎鼎的 Dingo 框架,也可以用来写脚本,最出名的就是 Python 爬虫了,爬虫领域比较出名的有 Scrapy 框架,所以 Python 也被人称为胶水语言。Python 语法简单,上手快,现在小学生都会 Python,你要是不学习一下都被小学生看不起。这几年 Python 被一群人炒的火热,很多人都慕名去学习,培训班也开设 Python 的课,有些学校也开设了人工智能大数据的相关专业,在这个浮躁的世界里,我们需要理想的看待这些事情,就我个人对大家学习的建议,我不建议用 Python 作为主语言,如果学历不错是可以的,毕业之后可以从事人工智能,算法方向,如果学历一般强烈不建议学习,但可以作为第二语言,写一些小工具还是很方便的,又或者你以后不打算从事 IT 行业也想学习一门编程语言,可以考虑 Python,我平时会用 Python 写写爬虫,嗯~真香。

Java

Java 说是一门编程语言,准确的说它是一个生态,有很多基于 Java 实现的框架,最为知名的就是 Spring 全家桶,企业级开发首选,Java 于 1995 年发布第一个版本,在 Java8 发布后大火了一把,从此奠定了一哥的位置。Java 原属于 Sun 公司,后来 Sun 被甲骨文收购,此后一直是甲骨文公司在持续维护。当初 Java 的口号是:一次编译,到处运行,原因是 Java 运行基于虚拟机,在任何装有虚拟机的地方,Java 都可以运行,正因为 Java 和底层中间有一个虚拟机所以运行速度会打一点折扣,刚出来时 Java 运行速度慢常被人吐槽,包括现在 Java 开发的程序也挺占内存的,不过在之后虚拟机这块做了优化,而且现在硬件越来越便宜,这个缺点都可以忽略。就目前而言,Java 在国内的招聘岗位是最多的,如果你是为了工作而学习编程语言,那么首选 Java,只要技术到位,找到一份满意的工作还是没问题的。Java 的应用领域主要是在后端,而在十年前 Java Web 很流行,没有前后端之分,Java 都可以做,这块可以单独写一篇文章讲一下,这里不再赘述。Java 在服务端表现较好,GUI 方向也可以做,Java GUI 做到极致的莫过于 Jetbrains 公司开发的 IDE。Java 主要应用于互联网行业和金融行业,像淘宝支付宝后端都是 Java,大部分银行的软件系统也都是 Java 开发的。如今有些人说 Java 不行了,而现在 Java 的现状恰恰发展的很好,一个语言是不是衰落在于它的社区有没有保持活力,国内阿里是推动 Java 生态的主力军,我目前所在的公司分布式框架就是用的 Spring Cloud Alibaba,而且 Java 亲爹是甲骨文,背后有亲爹的帮助,Java 现在以飞快地速度在更新,现在快要更新到 17 了。所以,作为第一门语言,推荐学习它。

C/C++

C 和 C++可以放在一起讲,很多人分不清 C、C++、C#的区别,C++是 C 语言的超集,C#是微软开发的用于和 Java 做竞争的语言。C/C++主要应用于嵌入式和算法,C++是语法比较难的,据说当初设计的时候,设计者是想提高入门的门槛。第一门语言我建议学习 Java 和 C++中的一种,学完后学习其他语言也会比较轻松,C/C++的优点想必大家都知道的,就是运行快,性能之王,很多时候高性能的模块一般都是使用 C++写,另外 C++可以做算法(标准库很强大)、计算机视觉(OpenCV)以及桌面开发(QT)。C++可以作为备选,如果可以选择其他语言,最后考虑 C++,因为 C++新手写的程序 bug 比较多,如果你对 C++不是很熟悉,这会导致很容易在代码里埋雷,而且 C++底层代码非常晦涩,不像其他语言,点开源码基本就知道了底层的逻辑。

C sharp

亲爹是微软,发布比 Java 晚几年,但就晚这几年,现在市场占有率远不及 Java,光看语言本身 C#语法特性很多。C#对标 Java,.Net 对标 JVM,和 Java 一样,C#基于.Net 平台,但是它运行速度还行,原因是.Net 平台随系统启动而启动。学习过.Net 的小伙伴都知道安装好.Net 之后都要重启一下电脑。如果以后会到微软或者微软辐射到的公司可以考虑学习 C#,或者如果你对游戏开发和桌面开发感兴趣,也可以选择学习 C#。

PHP

PHP 是世界上最好的语言(狗头保命),这是一个梗,这是在一次 PHP 版本更新的时候,PHP 开发者所说的一句话。PHP 前些年很火,有一年成为了 Tiobe 年度编程语言,但是近几年每况愈下,原因是 PHP 只能用于开发 Web,太容易被替代了。PHP 作为弱类型语言,不太适合开发复杂的系统。PHP 相应的优点就是快速开发,开发速度比 C++,Java 快得多,目前 IDC 厂商的虚拟主机都支持 PHP 环境。个人建议也可以作为第二语言。

JavaScrpit

如果从事 Web 相关的工作 JavaScrpit(以下简称 JS)必学,前端开发最主要的语言,没得选,TypeScript 是 JS 的超集(其实 TS 最终也是编译成 JS 运行的),当时是因为 JS 对于开发复杂系统很鸡肋,急需一种强类型的语法的编程语言,这就诞生了 TypeScript,TS 亲爹是微软。有人会问 JS 和 Java 的区别,我打个比方它俩就是雷锋和雷峰塔的区别,啥关系没有,有一种说法是 JS 为了蹭 Java 的热点,毕竟当时 Java 非常火。说到 JS 了就要说到前端,前端三大框架 Angular、React、Vue,全部基于 JS/TS,以前可能说 JS 是前端语言,但是 Node 的出现让 JS 可以应用于服务端,从此 JS 便是一门全栈语言。如果从事 Web 方向,JS 必学。

Golang

Golang 简称 Go,一开始是谷歌自己用的语言,后来在 2009 年开源,这个语言来头不小,背后有大公司撑腰,开发 Go 的三个人也都是大佬级别的人物,罗伯特·格瑞史莫(曾开发过 V8 JavaScript 引擎和 Java HotSpot 虚拟机),罗勃·派克(曾开发过 Plan 9 操作系统,他与肯·汤普逊共同开发了 UTF-8)及肯·汤普逊(Unix 操作系统的发明人,C 语言发明人之一)。Go 语言有着媲美 C++的运行速度,又有着敏捷的开发速度,语法优美,而且方便部署,编译好的二进制文件可以直接在服务器上运行,不需要安装 Go 语言环境。就我目前使用情况看,Go 语言有几处不足,首先异常处理不是很友好,随时随地的判断 err!=nil,第二,不支持泛型,据说 Go 会在 2.0 版本会支持泛型。Go 适合做云计算和网络编程(自带 net 包很强大),同时它也可以做后端开发(Gin&Beego),也可以做容器开发(Docker)目前 Go 的生态在国内不是很好(Go 语言官网在国内是被屏蔽的),肯定比不了了 Java 的地位,但是随着时间流逝,Go 语言终究会在某一天惊艳所有人,腾讯字节主 C/C++,据说正在转 Go。

Rust

Rust 最擅长系统开发,专注于安全,尤其是并发安全,语法和 C++类似,运行速度也媲美 C++。

Kotlin

JetBrains 开发,擅长安卓开发,原本安卓开发使用的是 Java,后来甲骨文和谷歌有版权纠纷打过很多官司,谷歌就把安卓开发的首选语言变成了 Kotlin,它也是基于 JVM 的语言。

SQL

Tiobe 上榜的还有 SQL,全称是结构化查询语言,后端开发必学,数据开发,数据分析必学,虽然在不同的数据库语言略微有些差异,但是换汤不换药。

总结

编程语言只是一个工具,语言之间没有谁好谁坏,只有擅长不擅长,我们需要锻炼的是自己的学习能力,假如某天一个编程语言要被淘汰了,我们可以扔掉换另一门语言就行了,语言之间都是互通的,你会一门语言学习其他语言也会很快。程序员最好接触和使用最好是 3-4 门语言,这样你就可以理解它们之间的差异,2 周上手一门编程语言是一个程序员的基本素养。最后我列一张表来说明每个编程语言适合的领域:

硬件相关: 汇编,C/C++
操作系统: 汇编,C/C+,Rust
安卓开发: Java,Kotlin,C++
IOS 开发: Object-C,Swift,C++
移动端跨平台: Dart(Flutter),JS(uni-app&React Native)
桌面应用开发: JS(Electron),C#(MFC),C++(QT),Java
服务端开发: Java,Go,C++,Python,PHP,JS(Node)
前端: JavaScript
游戏开发: C#,C++,Java
人工智能: Python,Java,C++
大数据: Python,Java,Scala
计算机视觉: C++,Python

说了这么多,还是适合自己的才是最好的。写文不易,希望点赞转发支持一下。

2023届大学毕业生月收入较高的前10个专业

本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中,本科计算机类专业起薪与2021届基本持平,高职自动化类月收入增长明显,2022届反超铁道运输类专业(5295元)排在第一位。

具体看专业,2022届本科月收入较高的专业是信息安全(7579元)。对比2018届,电子科学与技术、自动化等与人工智能相关的本科专业表现不俗,较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼,已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。

“没有网络安全就没有国家安全”。当前,网络安全已被提升到国家战略的高度,成为影响国家安全、社会稳定至关重要的因素之一。

网络安全行业特点

1、就业薪资非常高,涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万!

2、人才缺口大,就业机会多

2019年9月18日《中华人民共和国中央人民政府》官方网站发表:我国网络空间安全人才 需求140万人,而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W,现在从事网络安全行业的从业人员只有10W人。

行业发展空间大,岗位非常多

网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…

职业增值潜力大

网络安全专业具有很强的技术特性,尤其是掌握工作中的核心网络架构、安全技术,在职业发展上具有不可替代的竞争优势。

随着个人能力的不断提升,所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟,升值空间一路看涨,这也是为什么受大家欢迎的主要原因。

从某种程度来讲,在网络安全领域,跟医生职业一样,越老越吃香,因为技术愈加成熟,自然工作会受到重视,升职加薪则是水到渠成之事。

黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程

网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

3.技术文档和电子书

技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

4.工具包、面试题和源码

“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值