编程——你准备好了吗?
编程——你准备好了吗?
即使在写这篇文章时,我想其他程序员可能会立即将我视为天真。但我不能是唯一一个觉得掌握这门学科不是小事的人。
大约 18 岁到 19 岁(目前是 24 岁)是我第一次接触到这样的事情的年龄:
An elementary program in the C language
它所做的只是打印文本“Welcome to C!”到屏幕。在获得先前试验的结果后,一个人自然会好奇地尝试更复杂和参与的程序。因此,经过一些持续的努力,您编写了如下程序:
A snippet of the bubble sort algorithm which does not utilise pointers
它需要一个无序数字数组(更具体地说是整数),并使用冒泡排序算法按升序排列和打印它们。就 C 语言而言,这仍然是一个相当基本的程序。当然,一开始你会感到很高兴。
没那么快!像我这样的初级程序员通常不会被警告计算机科学领域的广阔性,其悠久的历史渊源,缺陷和错综复杂,并且您将无法理解整个开发过程。在许多情况下,新来者可能会受到经济收益的驱动和诱惑。
例如,考虑高层 C 语:
C 从之前的两种语言演变而来, BCPL 和 乙 . BCPL 由 Martin Richards 于 1967 年开发,作为一种用于编写操作系统和编译器的语言。 Ken Thompson 在他的作品中模仿了许多特征 乙 在他们的同行之后的语言 BCPL ,并在 1970 年使用 乙 在贝尔实验室创建 UNIX 操作系统版本。这 C 语言是从 乙 由贝尔实验室的丹尼斯·里奇 (Dennis Ritchie) 于 1972 年实施。这是半个世纪的集体发展!
尽管您可能习惯于控制语句和函数、数组、指针和字符串、流和文件、聚合类型、递归、数据结构、多线程和面向对象编程,但它并不像屏幕上看起来那么简单。
还有更多。程序需要经过编辑、预处理、编译、链接、加载和最终执行。程序依赖于几十年前编写的其他外部库和头文件 - 您可能已经注意到上面,使用创造的“预处理器指令”将头文件包含到显示的文件中,即 #包括 <stdio.h>. 而且 , 程序员不会孤立地工作。从较小的团队到较大的团队,为共享源代码引入一种组织和管理方式是有意义的。最常见的是,使用 Git 版本控制系统,程序员可以系统地协作。 GitHub 和 Bitbucket 是基于 Git 的版本控制系统的流行示例。
我们当中有多少人可以说我们见证了微处理器的制造或构建了我们自己的操作系统?也许只是很小的一部分。在任何程序员的学习旅程中,似乎通过抽象推理来理解最终会耗尽自己,必须承认,为了真正理解计算机,您必须从头开始构建计算机。然而,这样做的资源对于大多数人来说是遥不可及的。
计算机科学是否应该成为推荐的职业道路,看到一个人可以花五年的时间学习和实践,仍然觉得有点无知并且无法保证可持续的收入?我的一些决定从事模特事业的同龄人正在设法比我现在更好地照顾自己。
希望这一切都是值得的。
跟着我:
GitHub : https://github.com/Lance-GH
推特 : https://twitter.com/LanceBlows
Instagram : https://www.instagram.com/lance_blows/
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明