56星座屋
当前位置: 首页 星座百科

教你学习编程在哪里学(什么是编程语言)

时间:2023-06-05 作者: 小编 阅读量: 4 栏目名: 星座百科

陈小速在一个月之后,又过来找吴进了。吴进热情地邀着陈小速,来到了学校东面的大草坪上。两人席地而坐,此时正值下午,暖融融的阳光洒向大地,令人心旷神怡。陈小速依令而行,他知道吴进要通过闲聊的方式,以浅显的语言把一些核心的知识说明白。吴进一边问着,陈小速一边点头表示明白。吴进耸了耸肩说,两个人都因此笑了起来。吴进为陈小速的主动思考而感到开心,没想到陈小速紧接着又提出了下一个问题。吴进温和地告诫他。

教你学习编程在哪里学?陈小速:一名职业技术学院计算机技术与应用专业的学生,他梦想成为一名程序员,我来为大家科普一下关于教你学习编程在哪里学?下面希望有你要的答案,我们一起来看看吧!

教你学习编程在哪里学

陈小速:一名职业技术学院计算机技术与应用专业的学生,他梦想成为一名程序员。

吴进:一所重点大学软件工程专业大三学生,编程经验丰富。

阅读本文需要一些基础知识,可以先温习一下历史文章:小速学编程:CPU的结构、指令与程序初探

没有学习能力差这回事

“吴大哥,我又来啦。” 陈小速在一个月之后,又过来找吴进了。这一次陈小速随身带着笔和精装记事本,他要将自己的学习体会都记下来,回去好好温习。

吴进热情地邀着陈小速,来到了学校东面的大草坪上。两人席地而坐,此时正值下午,暖融融的阳光洒向大地,令人心旷神怡。

“小速,最近学习什么新内容了吗?” 吴进关切地问着。

“除了那些基础课,专业方面的还是讲计算机系统导论那些内容。老师说我们的学习能力一般,所以进度放得比较慢。但我自从听了吴大哥的讲解之后,觉得挺好理解的呀。” 陈小速自顾自地说着。

“根本就没有学习能力差这回事!” 吴进皱着眉头急促地说。他的表情和语气都让陈小速有些吃惊。

可能意识到自己有些失态,吴进缓和了一下情绪,说:“可能你们老师的本意是好的,想让大家都跟得上。但这么说其实是不合适的。尽管你们高考确实是没有发挥好,但不能因此就给自己贴上一个不会读书的标签了。”

吴进顿了一下,继续说:“计算机科学虽然看起来是高科技,但它的核心理念和基本原理都是很简单的。就像小速你现在这样,并没有感觉到这是多么高深的东西。从我们交流时的反馈就可以看得出来,你掌握这些知识和你以前的考试成绩有关系吗?”

“没有。” 陈小速很诚实地回答。

“所以,我也希望你回去以后能多和同学们交流。不仅是专业知识上的,还有学习认知上的。99%的正常人,智商相差都不会太大,天才只是极个别。关键还在于学习的方法和专注度上,小速你觉得呢?”

“要说以前,我真的会认为是自己脑子笨,不会读书。但跟着吴大哥学习之后,我能体会到你说的意思。解决问题,就是要抓住它的本质去下手。这样才会快而且好。”

“非常正确。” 吴进欣慰地笑着。

机器语言

“那吴大哥,我现在就想开始学编程了,我应该怎么下手?” 陈小速打开记事本,热切地望着吴进。

“先把你的笔记本合上。” 吴进笑着下了命令。陈小速依令而行,他知道吴进要通过闲聊的方式,以浅显的语言把一些核心的知识说明白。

“上回我们讲到,CPU是怎么工作的,你也知道程序是由一条条指令构成的,对吧?” 吴进一边问着,陈小速一边点头表示明白。

“那么问题来了,CPU最终能识别的指令是二进制形式的。这里先解释一下,二进制就是只由0和1两个数字构成的数字体系。我们以后会详细讲解计算机的数字系统,包括八进制、十六进制。你只要知道,一条指令表示出来,就是一串长长的、只包含0和1两个数字的字符。这种的就叫机器语言。”

陈小速听到这里不禁心中啧啧称奇,他也在脑子里记下了“二进制”这个术语,回去他要好好学习一下。

说到这里,吴进忽然笑了起来,“其实最早的程序员们真的就是写只有0和1两个数字表示的代码,而且还是在一卷长长的纸带上打孔。”

“这叫穿孔纸带,老师倒是有讲过,我终于知道这是干啥的了。” 陈小速长吁了一口气,忽然问:“那如果有一个孔打错了怎么办?”

“只能重新打啦。” 吴进耸了耸肩说,两个人都因此笑了起来。

汇编语言

“好啦,小速你肯定也发现了,如果要以这样的方式来开发程序,估计这个世界上没几个人愿意干程序员了。怎么办?” 吴进开始发问了。

“我记得上次吴大哥给我看过一段指令代码的,那个好像还好理解一些。” 陈小速回忆着,他翻开记事本,从里面找了出来。

load 寄存器1 a;将数字a从内存中复制到寄存器1中load 寄存器2 b;将数字b从内存中复制到寄存器2中add 寄存器1 寄存器2; 将寄存器1和寄存器2的内存相加,结果保存在寄存器1中store 寄存器1 主内存; 将寄存器1的内存写到主内存中

看着陈小速笔记本中的内容,吴进赞许地点了点头,说:“对,你看只要学过几年英语的人,都能知道这几个单词的意思。load就是装载,add就是相加,store就是把一个东西给到另一个,对吧?”

“是啊、是啊,这些指令的意思我上回就已经明白了。” 陈小速回答着。

“那这种形式的编程语言就被称之为汇编语言。英文名称是Assembly Language,它含有把一堆零件组装成一体的意思,是不是挺形象的?”

“还真的是,那汇编语言和机器语言的语句,其实是一一对应的是吗?就是说汇编语言只是把看起来无意义的0和1序列,变成了可以理解的语句了?”

“你的理解很正确。” 吴进为陈小速的主动思考而感到开心,没想到陈小速紧接着又提出了下一个问题。

“我还记得上回吴大哥说,这种汇编语言写起来很费事,开发一个程序效率很低,是吗?”

“对的,所以后来就有了高级语言。”

高级语言

“高级语言?是说这种编程语言,比机器语言和汇编语言更厉害的意思吗?” 陈小速充满了好奇。

“这倒不是,” 吴进笑了起来,“高级这个词其实我觉得并不完全准确,可能用高层会更合适。这里对编程语言的划分,其实依据的是它距离CPU的远近。” 吴进开始了细致的讲解。

机器语言,它是CPU可以直接执行的,离CPU算是最近的。而汇编语言,已经包含了自然语言的英文单词,就需要经过一次翻译,将汇编语句翻译成对应的机器语言。因此汇编算是在机器语言之上了。

但因为机器语言与汇编语言在编程时,要从CPU的角度来思考程序的编写,因此也被称为低级语言。后来,计算机科学家们为了提高工作效率,发明了更贴近自然语言的编程语言,这一类的都被称为高级语言。

例如上节示例中所展示的汇编级加法运算,用大多数高级语言都支持的语法写出来,就是下面这样。

c = ab;

看到这里,陈小速频频颔首,说:“这样看起来确实简单的多。吴大哥,我们下学期会开C语言课,这就是一种高级语言吧?”

“对,C语言的历史可悠久了,而且它的生命力还十分蓬勃。大多数的操作系统底层实现用的都是C语言。现在十分热门的物联网IOT应用里,就大量使用到了它。从编程模式上说,C属于过程式语言,在它之后还有面向对象编程语言,例如C,java等。”

“呀,好想现在就开始学起C语言啊。” 陈小速感叹着。

“这个你还真别着急,记得我说过的吧,一定要先把基础打牢了。在此之前你还有许多理论要学习,不过不用担心,我会一步一步告诉你的。” 吴进温和地告诫他。

编译与解释

“我现在有一个问题要问你了,就是c = ab这样的语句,它最终是如何让CPU去执行的?” 吴进问道。

“应该也是翻译,就像汇编翻译成机器语言。那么高级语言是不是也先翻译成汇编语言呢?” 陈小速的回答让吴进都有些惊喜。

“你进步得很快啊,小速。” 吴进由衷地赞叹了一句,这倒让陈小速不好意思起来了。

“你的理解很到位,高级语言的翻译方式有两种,一种是编译型,一种是解释型。” 吴进开始详细说明。

C语言就是一种典型的编译型语言,它会将程序语句先进行预处理,然后经过编译、汇编、链接过程,最后得到一个可执行程序。这个程序包含的,就是CPU可以直接执行的二进制指令。

解释型语言不用产生可执行文件,程序代码放在解释器中就可以运行。这个解释器看起来就像一个软CPU,它会负责将文本代码实时转换成机器指令,最终交给硬件CPU去执行。

说到这里,陈小速的问题就出来了,他问:“吴大哥,我发现一个问题啊。就是编译型语言是一步到位的,它产出的直接就是机器指令。而解释型每次运行都要做翻译,那么效率不是很低吗?那还有存在的意义吗?”

“这是一个很好的问题,下面我就说明一下为什么。” 吴进已经不再惊讶于陈小速的接受能力了,他又开始了讲解。

程序最终的运行取决于它使用的CPU,而这个世界上CPU的类型有许多种,每一种它的指令集都是有差别的。例如在Intel X86架构下编译出来的程序,放到arm体系的CPU上去,就无法执行。

对于编译型语言来说,那就必须为不同的硬件体系,分别编译出可执行程序来。这样就会增加很多额外的工作,而解释型语言则很好地解决了这个问题。

对于解释型语言来说,代码只需要编写一次,然后在任何平台上都可以交由解释器去执行。而且执行结果也都能保持一致,不会受到硬件指令差异的影响。

当然,缺点也正如陈小速所说,执行效率肯定是远不如编译型语言的。于是,一种改进的方案又出现了,那就是java语言所采用的,先把程序文本编译成中间码形式,然后再将中间码分发到各个平台上去运行。

这样,中间码被执行的效率又会高于解释型,虽然还是多了一步编译过程,但也只需要编译一次而已。不像C语言那样,每个平台都要编译一次。

结语

“啊,了解,明白,原来如此。” 陈小速连连感叹着,“我听同学说过java语言,他们说如果要想找工作,只用学好java就可以了,是这样吗?”

“真不是这样,” 吴进很明确地提出了自己的看法,“这个世界上的编程语言有千百万,每一种都有自己的设计哲学和应用场合。这还是要回到计算机科学本身来说,一定要将基本理论弄明白。这样你就完全不必拘泥于一种特定的语言,任何语言你经过短期的学习,抓住了它的根本,就可以很快上手用到工作中了。

“例如现在人工智能领域,使用python的占比就很大;在后台服务,使用go语言的越来越流行;而前端又是javascript的天下。”

“你说的这些有的听过,有的都没听过呢。” 陈小速看了看笔记本,还是放弃了全部记下来的念头。

“所以呀,小速你现在真不用着急。就踏实把下一步走好,比方说计算机的数字系统,二进制、十六进制这些,这可是计算机说话的方式,你要跟它对话,不得先弄明白么?” 吴进幽默地说。

“吴大哥说得对,我先回去预习一下,下次过来跟你请教!”

    推荐阅读
  • 形成酸雨的主要气体是什么(形成酸雨的主要气体)

    以下内容大家不妨参考一二希望能帮到您!形成酸雨的主要气体是什么酸雨是指PH小于5.6的雨雪或其他形式的降水,形成的主要气体有二氧化硫、三氧化硫、硫化氢、二氧化氮。酸雨主要是人为的向大气中排放大量酸性物质所造成的。酸雨又分硝酸型酸雨和硫酸型酸雨。

  • 木棉花的花语是什么(木棉花的意义)

    接下来我们就一起去了解一下吧!珍惜眼前的幸福,珍惜身边的人给他们快乐与幸福。它的花期通常在3月或者4月份,在这一段时间盛开,而传说中四月的第十一天,是木棉花盛开的日子,所以4月11被定为木棉花的日子。

  • 炒凉皮不碎技巧(炒凉皮不碎有什么技巧)

    以下内容大家不妨参考一二希望能帮到您!炒凉皮不碎技巧炒凉皮不碎技巧:就是在做凉皮时不能炒太久,变软会失去筋度。胡萝卜切丝,蒜薹切段,葱切花,猪肉切丝,大蒜拍扁。成品凉皮一张张卷起切粗条,抖散备用。生抽,白糖,盐,鸡精,醋,胡椒粉调成汁备用。热锅倒适量食用油烧热加入大蒜,肉丝翻炒至金黄,加入胡萝卜丝和蒜薹炒熟,凉皮翻炒均匀后随即淋入调好的汁儿翻炒均匀。

  • 近几年灭绝的鱼(瞭望在长江源寻鱼)

    长江被誉为我国淡水渔业的摇篮、鱼类基因的宝库。据青海省渔业部门统计,长江流域青海段分布有土著鱼类21种。因此,严格意义上长江源的关键鱼类指的是裂腹鱼中的小头裸裂尻鱼。2019年,李伟带领团队参加长江源科考时,将小头裸裂尻鱼列为长江源鱼类研究的代表对象。2019年4月,科考小组五个人,两台车,开始了沿河寻觅之旅。“全球平均气温上升已是科学界的共识,位于青藏高原的长江源是全球气候变化的敏感区。”科考发现,江源地区

  • 鹧鸪在什么时候季节鸣叫(鹧鸪的孵化期有多长)

    鹧鸪在什么时候季节鸣叫鹧鸪一般会在繁殖季节鸣叫,繁殖期为3-6月,3-4月间开始求偶交配。求偶期间鸣叫更为频繁,常在山岩、树桩、灌木或乔木枝上鸣叫,尤以黎明和黄昏时更甚,往往是一鸟先鸣叫,其他雄鸟一起跟随,此起彼伏。鹧鸪的孵化期在21天左右,雏鸟出壳后不久即可跟随亲鸟活动。鹧鸪的繁殖期为每年的3-6月,3-4月间开始求偶交配,每窝产卵3-6枚,多时可达8枚,卵为椭圆形或梨形,颜色为淡皮黄色至黄褐色。

  • 秋天的诗词(这些都是关于秋天的诗句)

    迢迢新秋夕,亭亭月将圆《戊申岁六月中遇火》,今天小编就来说说关于秋天的诗词?《戊申岁六月中遇火》自古逢秋悲寂寥,我言秋日胜春朝。《秋词》是处红衰翠减,苒苒物华休。惟有长江水,无语东流。宋·柳永《八声甘州》落时西风时候,人共青山都瘦。《昭君怨》雨色秋来寒,风严清江爽。《酬裴侍御对雨感时见赠》秋声万户竹,寒色五陵松。唐·李颀《望秦川》秋色无远近,出门尽寒山。宋·苏轼《九日次韵王巩》

  • 广州有几种车牌(广州车牌你有吗)

    在广州的普通上班族,有房贷还想拥有一辆车,已经不容易了。但有车想让个广州牌,那更是难上加难,再加之限行,参与摇号,竞价的人是越来越多,那中标的机会更是渺茫了!截止日期是8日24时止。9月拟配置的中小客车增量指标共16313个,是这样分配的:1.以摇号方式向单位和个人配置节能车增量指标7285个,其中,单位指标100个,个人指标7185个。

  • qq注销账号有哪几个步骤(QQ将开注销帐号功能)

    1999年2月10日,一个名为OICQ、只有几百K的软件正式上线。当时,腾讯方面表示,这是QQ团队对帐号注销功能的灰度测试。网友截图出于安全考虑,也有网友表示支持有人说,QQ不推出注销服务有自己的考虑,这是为了防止用户QQ密码被他人知道后恶意注销,给用户带来无法挽回的损失。腾讯2018年第三季度财报显示,QQ智能终端月活跃账户同比增长6.9%至6.979亿。

  • 高跟鞋不合脚怎么办(穿高跟鞋不合脚怎么办)

    4、合理利用袜子,如果不喜欢垫各种鞋垫的朋友,可以穿一双船袜,再穿高跟鞋,那样既不影响穿着效果,也不影响美观,也是比较简单和实用的方法。

  • 年四旺名字打分104分 年四旺事迹

    文章目录:一、年四旺相关名字打分113二、年四旺相关名字评分115三、年四旺相关名字推荐四、年四旺相关名字大全五、其他人还看了一、年四旺相关名字打分113年灯石志明年橘纪红兵武尊道后书法孔多塞年贷款孙敬媛年立秋里蓝业珍冯景华年见朱诗词林于思冯桂年粤日林格孟昭毅年家薛邑马布鱼鲁初雪苏沫沫卜庆中年上年掌柜秦源达刘登龙严学锋国韵酒年线高成江裘梦年维泗红沙日年周王克斌王翔千毛淑红龙威信李万和年神范小慧王大