首页 > 学习资料 > 编程知识

编程初学者学什么语言好? 2022-07-11 05:07:15

  首先根据提问可以判断出题主对编程不是很了解,所以针对这个问题,我们深入浅出地介绍一下什么是编程,然后再针对性地分析如何选择适合自己的编程语言。

  

  一、什么是编程

  

  编程,就是编写程序的简称,是驱使计算机为人类服务的一种工具,要驱使这样的机器,就需要一种专门对计算机下达命令的方式,这种“下达命令的方式”就是编程语言。

  可实际上为什么不止有一种编程语言呢?有一位名人曾说过,“如果我们说另一种不同的语言,那么我们就会发觉一个有些不同的世界”。人类可从不同的角度和切入点给计算机下达命令是众多编程语言并存的根本原因。

  

  我们通过情景模拟简单理解不同编程语言的区别:我们命令计算机推算出2和3相加的结果。

  

  A类交流方式:计算机请注意,现在需要你先存放一个整数,这个整数是2,再存放一个整数,这个整数是3,然后把它们两个加起来。

  

  B类交流方式:计算机请注意,给你的一切东西,都只是符号(键盘上你能看到的一切),至于这个字母是什么意思,你不用关心,到时候我说是什么就是什么。好了,现在我给你一个符号2,还有一个符号3,你先把这两个存起来,最后,我要求你把这两个符号当成是数字,进行相加的运算。

  

  现在,我们从计算机的角度来解释一下刚才发生了什么:

  

  

  A类交流方式:“哦,人类需要存放一个整数,在我这里,存放一个整数需要16个连续的格子,所以我先拿出16个连续的格子,然后又说这个整数是2,那我就把数字2放在这16个格子里;同理,我又把3放好了;现在,要把这两个数字加起来,于是我又把这两个数字从格子里拿出来,放到可以做加法运算的地方,把他们两个加起来”。

  

  B类交流方式:“哦,人类需要存放两个符号,2和3,已经放好了,至于这两个字符是abc还是123还是+-×,我并不关心,在我看来它们都是一样的;哦?人类说这俩是数字,还要做个加法运算?好的,我现在把他俩看成数字,做一下加法运算”。

  

  我们可以看到,同样都是让计算机把2和3加起来,但由于我们用了不同的切入点,整个过程是完全不一样的。

  

  现在,我们试着根据上面的A类和B类两种交流方式,发明两种编程语言:

  

  A类:

  有一个整数,它的名字叫x,它的大小是2;

  有一个整数,它的名字叫y,它的大小是3;

  计算并显示x+y;

  

  B类:

  有一个符号,它的名字叫x,符号是2;

  有一个符号,它的名字叫y,符号是3;

  把x和y看作是数字,然后进行加法运算并显示结果:x+y;

  

  我们将上面的两类语言简化:

  

  A类:

  整数 x = 2;

  整数 y = 3;

  显示x+y;

  

  B类:

  x = 2;

  y = 3;

  显示(x+y);

  

  

  于是我们就发明出了两种逻辑的编程语言:

  

  在A类语言中,直接“显示x+y”并得到计算结果5,为什么呢?因为一开始就已经告诉计算机x和y都是整数,所以直接做加法即可。

  

  而在B类语言中,为什么要加括号呢?这是因为,如果不加括号,计算机会认为x、+、y只是三个符号,所以最后得到的显示结果是字符组合:2+3。如果让这两个符号以数字形式相加并得出运算结果,则需要一种告诉计算机把x和y看作是数字的方式。这里我们是通过用两个小括号括起来的方式来告知计算机。如果我们告诉计算机“显示x+y”,那么我们会得到2+3这个结果,而如果我们告诉计算机显示(x+y),我们会得到5。

  

  就是通过这样的方式来达到让计算机区分不同的处理方式。另外,在已有的一门叫Bash的编程语言中,需要用((x+y))来达到同样效果的,因为一对“()”被Bash用作它途了。

  

  至此,我们就基本把编程语言中最基本的两种类型的编程介绍给大家了。A类编程语言的代表,就是C、C++、Java;B类语言的代表,就是Bash、PHP、Python。

  

  

  二、如何选择适合自己的编程语言

  

  编程初学者的学习背景分许多种——需要用编程来解决问题的大学教授、刚刚进入大学计算机学院的大一新生、看到SDE的工资比较高,想要转行的职场人士,甚至觉得编程很神奇想学习一下的小学生……目的不同,给出的选择也不一样。

  

  (一)根据语言逻辑选择

  

  就A和B两类编程语言来说,如果大家喜欢A类语言的推算逻辑,比较推荐Java或者C++。虽然Java比C++简单,但要把这两种语言学精通都不是一件容易的事情。如果大家喜欢B类语言,比较推荐Python。因为Python属于B类语言中涵盖范围比较广泛的,既可以做维护系统,也可以开发网站,还可以用于这几年大火的人工智能。

  

  (二)根据自身背景和未来发展方向进行选择

  

  我们针对当前几大需求给出具体的推荐方向:

  

  1、专业学习,励志做未来的程序员

  

  对于科班出身的学生来说,学习C++是非常有必要的。C++是一门能够让初学者真正从底层理解编程的语言,万变不离其宗,学了C++后再学其他的程序语言就容易得多。从教学方面来讲,C++有着其他语言的不可替代性,虽然目因C++开发效率太低而放弃对其使用,但是结合csapp(《深入了解计算机系统》),完全可以对计算机有一个全面的认识,更有助于在以后的开发中优化代码细节。

  

  

  2、业余编程爱好者学习秒杀众人新技能

  

  只是好奇且没有明确使用方向的初学者在挑选语言时,我们不太推荐像C、C++这种语法难度过高且短时间内难以学成的编程语言,按照推荐顺序,更倾向于推荐Python、Java/Kotlin for Android、Objective-c/Swift for Ios、JavaScript、html、css。推荐的原因是入门都不难,而且可以做到所见即所得,可以迅速实现初学者心中的想法,得到正反馈。

  

  对于上班族来说可以用Python处理一些实际生产中的问题,比如做个表格,做个统计计算,画个统计图等等,并且你不需要知道多少计算机的工作原理、语言结构、语言原理等等,给个例子就可以照葫芦画瓢的开工。

  

  Android和ios简单应用的开发入门门槛也比较低,手机中装上一个自己写的app还是很拉风的。把ios排在Android之后是因为把未发布的app装在ios手机上比装在Android手机上麻烦的多。

  

  JavaScript、html、css放在最后是因为做web开发想弄出个自嗨的demo比较容易,但是如果想弄出个像样的成品,其实并不简单,涉及到服务器的部署,后端的协调等等因素,如果没人指导,自己抱着本书学习还是有一定难度的。

  

  

  3、想要转行并迅速缩小差距

  

  市场需求是不断变化的,所以,对于想要转行提高薪资水平的人士来说,这个答案是具有时效性的。就目前来讲,比较推荐JavaScript、html和css。首先,学习成本不高,前端工程师缺口比较大,且由于技术的快速更新,学习最新的前端技术与老工程师和其他科班出身的人竞争中劣势不大。另外,简历关对于转行人士来说是一个巨大的门槛,非科班背景且没有任何项目经历、相关工作经验,找第一份工作是比较困难的。所以学习前端技术并且做出一个漂亮的项目是可以给简历增加许多竞争力的。

  对于刚接触编程的小伙伴来说,编程学习比较枯燥,因此,首先明确自己要做编程的哪个领域,再针对性选择一门感兴趣的语言。各种编程语言的解释比较抽象,具体介绍和功能应用,可以参考网站:

慕课网-程序员的梦工厂

  里面集职业路径、免费课程、实践练习于一体,可以帮助初学者快速找到适合自己的方向。

  

  每种编程语言都有其特性,无论选择了哪一种,重要的在于坚持。不畏艰难,持之以恒,让我们用程序,去美丽这个世界。

  

(文中所有图片均来自网络,侵删)

  推荐阅读:

  编程中,有哪些好的习惯从一开始就值得坚持?

  有哪些新手程序员不知道的小技巧?

相关标签:

<