前言
从这四种语言的难度、受欢迎度还有作用以及优点缺点给大家做一个全面的分析,我们可以从中了解其区别,以及难易程度。
至于今后可以用到的或者是前景问题,根据自己的职业发展大家可以自己做个分析。
最后会总结一下他们层级问题。
懒人目录:
C语言的介绍以及优缺点分析
C++的介绍以及优缺点分析
Java的介绍以及优缺点分析
Python的介绍以及优缺点分析
各种语言汇总层级展示(主次关系)
C语言、C++、Java,Python之间的区别
一、C语言开始
难度★★★★ 欢迎度:★★★★★ 创始于:1972年
C语言首先是多用于的,并且是很重要的计算机程序猿,支持的是结构化的编程还有词法的变量范围还有递归。C语言是很多大学计算机专业的基础,也是开发固件或者是移动应用的理想语言。但是一般的话是被用于编程系统软件的。
C语言是用来做什么的?
C语言的优点:
可移动性:C语言是高度可移动的语言,也就是我们在编程的时候不做改动或者是做很小的改动这样的情况下,我们可以开发运行在不同平台的软件;
C语言相对很小:这个特点指的是,C语言可以嵌入到几乎是左右现代的微小型的处理器,大到冰箱,小到闹钟。C是完全基于变量还有宏命令,函数和构架的。他们并不是特别多;
C语言等于一切:这句话是需要解释,但是开篇我们就说了计算机专业基本上以C语言为基础,因为所有的编程语言都是由C语言实现的,学会的话就能方便学会一切的编程语言;
C语言的缺点:
运行时间:在运行的过程中,C语言是没有检查机制的
面向对象编程:也就是代表不支持面向对象的编程,因为这个原因后来才有了C++的原因;
学习难度大:在难度的时候,我打了四个星。衷心的觉得C语言不算是一个适合入门的语言,但是它又是其他语言的鼻祖,又很适合第一个来学。所以我暂时把它难学作为它的缺点。
二、C++语言
难度:★★★★☆ 受欢迎度:★★★★☆ 创始于:1983年
C++是被誉为大型的程序应用最好用的面向对象编程语言,C++是从C语言优化过来的,相当升级版本;
C++可以做什么?
C++的优点:
与众不同:熟练掌握C或者是C++能让我们在任何的程序中的当中有不同的位置。这是指的使用C/C++能让我们理解其他的编程语言,比如Java或者是Python当中怎么进行内存管理以及如何处理缺陷;
能调整性:C++能允许调整我们应用的性能,以及可以影响所有的计算机性能。相比起来Java可以说不是很友善,但是我们可以用它来做很多的或者是任何事情。
C++的缺点:
学习困难:C++和C差不多吧,但是我给了四个半星星,所以我个人认为C++比C语言还要难一点。但是在真正的工作当中,我们身边用过几年C++的人,都被称为大神级别。
尺寸很大:C++可以被成为巨大啦,因为大部分的功能互相影响是机器复杂的方式,没有开发者是可以使用全部提供的组成部件。但是会发挥大量的时间来挑选我们程序当中的子部件。
三、Java语言
难度:★★★ 受欢迎度:★★★★★ 创始于:1995年
Java是一种开发者用来创造计算机应用的语言。我们在下载程序需要java运行环境并确保它安装在我们的系统上,其中java也是一些web插件允许我们在浏览器中运行的应用。
Java用来做什么?
Java的优点:
java开发人员的需求量大:在同样岗位java和众多语言相比的需求占比6到7成,这写都是根据数据统计出来的。所以需求量最大的语言就是Java优点之一;
一种进化语言:我刚刚提到过C++是由C语言优化的,实际上Java也是被优化过来的。这个平台增加了很多功能,如:lambda功能;
安卓应用开发:我们都知道谷歌的安卓移动平台是世界上第一的移动平台,那么这个安卓应用的编写开发者使用的主要语言是Java;
Java的缺点:
使用大量的内容:Java相比C++使用更多的内存,所以占用的内容更大;
学习难度:Java一定不是最简单的入门语言,但是也不是最难的;
启动时常慢:每一个试用Java写安卓应用的程序员都是知道的,一样的代码在模拟器中启动是非常之缓慢的事情。
四、Python语言
难度:★ 受欢迎度:★★★★☆ 创始于:1991年
Python是服务端的解释器、开源的、非编译语言的,它可以用于自身或 者是其他的框架,如:Django;
Python用来做什么:
python的优点:
易于学习:难度这里我只给了一颗星星,大多数了解过python的同学都说什么简单啊易读啊,库啊所以认为很好入门。
库:库都是免费的哈,很多的库和函数使得制作东西很容易。
物联网:Python也许是会成为物联网当中最受欢迎的一门语言。现在很多的新平台都是基于Python的;
python的缺点:
速度:实际上作为解释型的这种语言,相对来说比编译语言慢很多。
移动端:python在移动计算方面其实是很弱的,很少有智能机的应用是python开发的;
设计:这事一门动态语言,需要很多的测试以及错误仅仅是在运行的时候展示;
各个语言的层级汇总:
通过之前对各个语言的了解,我们再来看到这种图的时候会更加清楚层级问题,让我给这个层级排序的话,我会这样排序(不服来辩):
-
程序性能排名:汇编>系统级语言>应用级语言>脚本级语言
-
程序可读性:脚本级语言>应用级语言>系统级语言>汇编
最后最后了,我再为大家介绍一下各个层级的意思就结束:
硬件层级: 就是CPU、内存、显卡等,不属于软件范畴
汇编层级: 可读性差,但是现在有编译器哈,所以市场汇编语言的工程师需求变量是很少的。高级语言需求量增大了。因为高级语言很好读;
系统层级: Windows、Linux、Mac、OS、Andriod、IOS等等。就是电脑软件都是跑在操作系统上的。
应用层级: 是更加偏重软件的程序的执行流程和功能的。开发起来体量非常大。
脚本层级: 这里面不涉及楼主上面说的四种语言,我就是略说一下。脚本级语言的代码很直给的,代码速度快。但是虽然可读性强,但是编译器把脚本语言翻译成汇编语言的成本很大。
读者福利:如果大家对网络安全/黑客技术感兴趣,这套学习资料一定对你有用
学习路线图大纲总览
我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~
【一一包括以下各个方面,全部文末免费领取一一】
①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析
接下来我将给大家划分一张学习计划表!
学习计划
那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:
阶段一:初级网络安全工程师
接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。
综合薪资区间6k~15k
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)
2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等
3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)
4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现
5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固
6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?
阶段二:中级or高级网络安全工程师(看自己能力)
综合薪资区间15k~30k
7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。
零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完
用Python编写漏洞的exp,然后写一个简单的网络爬虫
PHP基本语法学习并书写一个简单的博客系统
熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)
了解Bootstrap的布局或者CSS。
阶段三:顶级网络安全工程师
这部分内容对于咱们零基础的同学来说还太过遥远了,由于篇幅问题就不展开细说了,我给大家贴一个学习路线。感兴趣的童鞋可以自行研究一下哦,当然你也可以与我一起互相探讨、交流、咨询哦。
资料领取
上述这份完整版的网络安全学习资料已经上传网盘,朋友们如果需要可以微信扫描下方二维码 即可免费领取↓↓↓
或者
【点此链接】领取