第26章 不打算上课了(2 / 3)

回到1997造芯片 牧狼童 3166 字 2022-07-18

在大学一年级的时候,所有的专业学习的知识都还是比较通用的,比如c语言,它几乎就是每个计算机相关专业学生的必修课,因为它纯粹就是一个面向硬件的编程语言!

打个比方,你可以把内存想象成一个书柜,通过c语言,你可以像一个管理员一般,轻松地将书柜上的各类书籍取下,也可以将新书存入其中——也就是说,它直接操作的是硬件,而并非是操作系统,这也是大多数高级语言所达不到的效果。

只要学习了c语言,就能明白硬件和软件背后是如何相互配合开展工作,也能更深层次地理解计算机的本质。

“怎么没有delphi呢?”一旁的徐建松迅速翻看了每一种教材,面色疑惑地喃喃地道。

“现在当然是没有这种东西的。”见到徐建松的疑惑,王向中也是笑了笑,解释道:“delphi是高级语言,是一种面向对象的编程语言,按照课程安排来讲,大一就学这个太早了。”

所谓高级语言,便是更加接近于人类语言的一种编程语言,其语法逻辑更像是在“下达命令”。

它们大多不像c语言那般,直接针对硬件进行操作,而是将各种硬件操作功能打包,糅合成所谓叫i(plication&ngrag terface,应用程序接口)的东西,只要将参数传递给i,就能轻松实现c语言几百行甚至上千行代码才能实现的功能。

高级语言可以摆脱程序员对背后机制的思考,将更多的精力放在功能实现这个主要矛盾上,而这也是“面向过程编程”和“面向对象编程”的本质区别。

就拿炒菜打比方,首先要洗菜切菜,接着是下锅烧油,再然后炒菜加调料,最后出锅,洗锅。

而所谓面向过程编程,就是要逐步下达指令,从头开始将每一步的操作告诉计算机,假若哪一步出了错,或者是忘了洗锅,接下来面临的就是各种各样的错误。如果你想炒五个菜,则你需要往复循环不厌其烦地把整个过程重复循环五遍,计算机才能实现出你想要的效果。

而面向对象编程,则可以将炒菜的一整套抽象动作写在一个叫“对象”的东西里,毕竟炒菜是一个机械的工作,接下来只需要向计算机“下达命令”,例如我要炒五个菜,那计算机就会按照炒菜的逻辑自动循环执行五次,无疑是相比前者方便不少。

相比于面向过程的呆板而言,面向对象编程的优越性在于重用性、灵活性和可扩展性,更加符合人类的思维逻辑。

当然,面向对象编程也不是完美无缺,选择它,就意味着需要牺牲一定的性能,随着软件纳入的功能越来越多,整个软件的内容越来越臃肿,相应的它的执行效率就会变得低下,就需要占用更多的硬件资源,也就是所谓的“吃硬件”,这也是更新软件和系统后,手机和电脑会越来越卡的本质原因。

“中哥你怎么懂这么多!”听到王向中的解释,徐建松有些面色复杂地惊叹道,旋即眼神又有些灰暗了起来。

他本来还有些自傲,毕竟自己可是获得了全区中学生编程大赛亚军的人,想必即使在这水木大学,能超越自己的人也并不多。

不过现实总是有些打击人,眼前的王向中,比自己厉害了太多。这专业程度,就算是相比真正的毕业生都不遑多让,更不要提自己这种半吊子的水平了。

瞧见徐建松旋即耷拉着脑袋,有些落寞的样子,王向中也是有些不好意思,毕竟自己学了二十几年的计算机,自然是要比前者强上太多,于是连忙正声安慰道:“闻道有先后,我也只不过是比你多学几年,略懂皮毛罢了,真要看知识,还得去认真学习。”

听闻此言,徐建松的脸色才稍稍有些好看起来。

一旁的龙云和吕大海倒是听得一愣一愣的,此时他们俩还是纯粹的小白,只是因对计算机略