当前位置: 首页 > news >正文

转行编程语言该怎么选择?小扎给你安排上

编程语言的发展

​ 编程语言到目前为止,经历了三个发展阶段,机器语言,汇编语言、高级语言。在高级语言中,又可以分为面向过程语言以及目前最为广泛流传的面向对象语言。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zFR3IK38-1670306562480)(..\img\编程语言发展阶段.jpg)]

机器语言

​ 第一代计算机语言称为机器语言。机器语言就是 0/1 代码。计算机只能识别 0 和 1。在计算机内部,无论是一部电影还是一首歌曲或是一张图片,最终保存的都是 0/1 代码,因为 CPU 只能执行 0/1 代码。那么这是不是就意味着我们编程一定要用 0/1 代码呢?
首先这么编写肯定是可以的,但是这样太麻烦,而且很不好理解,所以后来就出现了汇编语言。

汇编语言

汇编语言就是将一串很枯燥无味的机器语言转化成一个英文单词。比如说:

add 1, 2;

add 就是一个英文单词,这样看起来就稍微有一些含义了,即 1 和 2 相加。这个就是汇编语言。
如果直接用机器语言编写的话,这几乎是无法实现的。因为用机器语言太难记忆了,也没人能看得懂。所以后来就设计出了第二种语言,即将 0/1 代码翻译为英文单词,这些英文单词直接对应着一串 0/1 指令。这个就是汇编语言。
通过专门的软件就可以将这些英文单词转化成 0/1 代码并由计算机执行,这种专门起翻译的作用的软件叫作编译器。
这些英文单词和与它们对应的 0/1 代码之间的对应关系,以及语言的语法,在编写这个软件的时候就已经写在里面了。我们只要通过编译器就可以将这些都转化成 0/1 代码。这样大大方便了我们对程序的编写。

但是汇编语言,学习成本太大了,我们举个例子,我们用汇编语言,跟这个世界打个招呼:

#hello.s 
.data            
        msg : .string "nihao,laotie!\\n"
        len = . - msg                
.text                   
.global _start        

_start:               
        movl $len, %edx  
        movl $msg, %ecx  
        movl $1, %ebx   
        movl $4, %eax    
        int  $0x80       

      
        movl $0,%ebx     
        movl $1,%eax      
        int  $0x80       

高级语言

​ 汇编语言之后又出现了第三代语言。第三代语言又叫“高级语言”。高级语言的发展分为两个阶段:

​ 以 1980 年为分界线,前一阶段属于结构化语言或者称为面向过程的语言,

​ 后一阶段属于面向对象的语言。

​ 什么叫面向过程,什么叫面向对象?这个非常的专业,我们可以举一个例子来简单说明。

​ 比如现在有一个需求:我要吃一个大饼卷大葱。

​ 如果用面向过程的语言实现:

​ 那么就需要自己和面,做大饼,洗葱,切葱,再用饼将葱卷起来。简单理解就是所有的步骤都需要自己实现。

​ 如果用面向对象的语言实现:

​ 我直接找一个能做大饼卷大葱的人,具体你怎么做的我不管,我找到你,你把东西给我就可以了。只注重结果。

​ 其中,面向过程语言中最经典、最重要的就是C语言。其他的Fortran、Basic 和 Pascal 语言基本上已经很少有人使用了。
从 20 世纪 80 年代开始又产生了另外一种“以面向对象”为思想的语言,其中最重要、最复杂的就是 C++。C++ 从易用性和安全性两个方面对C语言进行了升级。C++ 是一种较复杂、难学的语言,但是一旦学会了则非常有用。当C和C++都研究很透彻的话,一般都会成为业界大牛。
因为 C++ 太复杂,所以后来就对 C++ 进行了改装,产生了很多其他高级语言, Java,C#,python等。
到目前为止,Java 语言是现在最流行的语言之一。C# 则是微软公司看 Java 很流行而写的一个与 Java 语法相似的语言。而Pyhton语言,因为他语法非常简洁,开发周期短,也是现在越来越火的一门语言。

学编程又没基础最好的办法就是试试,基础是好学的,入门后才是难。既然知道自己没基础就要在开始接受自己的平庸,出错都是正常的,坚持练习才是王道。

先来个各语言的简要概括:

Java,服务器端最好的编程语言
C++,最通用的编程语言
C,迄今为止,最值得信任的编程语言
Python,AI(人工智能)、机器学习方向最佳的编程语言
JavaScript,客户端最常用的脚本语言
C#,微软最强有力的面向对象编程语言
Swift,IOS 端最高效的编程语言
GO(Golang),可扩展的编程语言,谷歌出品
PHP,世界上最好的编程语言,不,最好用的 Web 编程语言
Ruby,数据科学方面最可靠的编程语言
技术本身无优劣,应当根据特定场景下适合不适合来选择和看待。打个比喻,产品和需求是脚,技术是鞋子。但,不可否认的是,不同的语言,在你择业时,薪水起点是不同的。

我们做事一定要有目的,先想清楚自己学编程是为了什么?

单纯出于好奇、感兴趣?为了搞钱?想多门手艺、提高工作效率?想开拓视野?想创业做自己的产品?还是只是碰巧选了计算机专业呢?…

说点实在的大多数朋友学编程还是为了找工作。别扯什么远大抱负,先填饱肚子才能做事情

这两个语言学哪个都行java、python。
如果有很多顾虑,想要学习周期短转行做开发的话,python在国外很火,月月上榜第一,易学度对于转行和非计算机专业的朋友算是比较友好的了,web开发、大数据开发、数据分析、自动化运维、游戏开发、桌面软件、爬虫,还有人工智能这个学历要求高些

标题往期干货文章:

2022年java学习路线,自学怎么才能脱颖而出?

大数据开发学习路线(非常详细)

怎么学习前端开发?求推荐学习路线?

2022年最新软件测试学习路线

相关文章:

  • Service (一) 启动/绑定服务
  • 效率倍增!5款超级好用的Python工具库!
  • 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.2 界面布局
  • React组件设计模式-纯组件,函数组件,高阶组件
  • React的useLayoutEffect和useEffect执行时机有什么不同
  • 购物车服务-----技术点及亮点
  • 前端精准测试实践
  • 电力系统潮流【牛顿-拉夫逊法】(4节点、5节点、6节点、9节点)(Matlab代码实现)
  • java计算机毕业设计企业运营管理系统的设计与实现源程序+mysql+系统+lw文档+远程调试
  • PMP备考大全:经典题库(敏捷管理第10期)
  • OutOfMemory内存溢出问题排查
  • u-BOOT启动流程
  • 自动化运维场景在数据中心的落地之网络策略自动化管理-人保科技
  • akshare量化是如何精准分析的?
  • 日常学习之:Yaml 和 Json 有什么区别
  • Debezium系列之:支持数据库ddl和dml数据发往同一个Kafka Topic
  • 项目统一规范包管理器
  • 04 Vue 注册plgins的多种形式
  • 【C语言程序设计】实验 4
  • Java中Map集合体系的基本使用和常用API
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉