职业程序员。 第2部分。学校或自我教育

故事“职业程序员”的延续。

在院子里是2001年。 发行最酷的操作系统的年份-Windows XP。 当rsdn.ru出现时。 C#和.NET Framework的诞生年份。 千年的第一年。 新的铁产能呈指数级增长的一年:奔腾IV,256 mb ram。

从9年级毕业后,我对编程的研究充满了无限的热情。 看到这一点,我的父母决定将我转到大学攻读“编程”专业。 他们认为这样会更好,并在那里教了我。 顺便说一句,词学院不适合这个机构,在一个工业镇的郊区。 这是一所普通的技术学校,与其他技术学校没有区别,后者没有在门面上挂上带有“学院”字样的标签。
那好 我没有与父母争论,也没有对他们的决定提出异议。 无论如何,我都从事自我教育,并认为在这个新地方我会获得更多的知识。

那个夏天,在进入大学之前,我彻底开始研究《 黑客》杂志上发表的所有可能的技术。 我阅读并重新阅读它。 我特别喜欢采访真正的黑客及其建议。

大多数酷炫的黑客都坐在Linuha上。 但是“ Mazdai”(Windows)是为熔胶加工的。 读过杂志的人,他记得其中的文章风格。 因此,在我脆弱的头脑中,两个想法相互斗争–离开Windows或变得凉爽而纯粹地坐在Linux上。
每一期《 Hacker》杂志都给我一个格式化磁盘并安装Linux Red Hat 7或Windows Me的新理由。 当然,我没有任何训练方法,我做了在杂志或盗版CD(例如“黑客的秘密”)上阅读的内容。 本着“ Windows XP又名鹦鹉主妇”的精神,新的并行安装也被删除了。 而且,如果您想做严肃的事情,则必须闭着眼睛在Linux控制台中工作。” 当然,我想涉足黑客系统,了解网络的工作原理,并在那时成为无所不能的匿名者。

磁盘格式化后就毫不后悔,并且安装了一个类似Unix的系统。 是的是的 一旦我读了一个真正的黑客采访,该黑客仅从控制台使用FreeBSD 4.3。 同时,在他身后列出了银行和国家系统的黑客事件。 这是一个闪电,我把BSD OS作为主系统使用了5次。 问题在于,安装后,除了裸控制台外,什么都没有。 甚至声音。 为了放置KDE2并打开声音,您必须用铃鼓跳舞很多,并修复一些配置。

freebsd
FreeBSD 4.3-黑客最多的操作系统

关于文学


有了电脑,我就开始购买编程书籍。 首先是Turbo Pascal 7.0指南。 这并不奇怪,因为Pascal我已经对编程课程有所了解,并且有可能继续自己进行培训。 问题是黑客没有用Pascal写东西。 然后,Perl语言很流行,或者,对于较酷的人来说,它是C / C ++。 至少那是他们在杂志上写的。 读到最后的第一本书是C,即Kernigan和Ritchie编程语言。 顺便说一下,我在Linux上学习
并使用gcc和内置的KDE编辑器编写代码。

继本书之后,购买了UNIX百科全书。 她重3公斤,被印在A3页上。

在这本书的正面,描绘了一个带有干草叉的卡通恶魔到最大高度,然后在乌克兰它的价格为125格里夫纳(在2001年约为25美元)。 为了买书,我向一个学校朋友借了一笔钱,其余的都是父母加的。 然后,我热情地开始研究Unix命令,vim和emacs编辑器,文件系统的结构以及文件配置的内部。 将近700页的百科全书被吞噬了,我离梦想更近了一步-成为了一个酷炫的帽子匠。

Unix
UNIX百科全书-阅读的第一本书

爱祖父,祖母和父母给我的所有钱,我都花在书本上。 下一本书是21天之内的C ++。 书名非常吸引人,因此我没有看其他质量更高的书。 尽管如此,在这三周的时间里,本书的所有资源都被复制了,我已经了解了C ++。 尽管我可能不再理解这些清单中写的内容。 但是已经取得了进展。

如果有人问我哪本书对您的职业生涯影响最大,我会毫不犹豫地回答-“编程艺术”-D. Knut。 那是一个大脑闪烁。 我无法确切地说出这本书如何准确地落入我的手中,但这对我的未来职业产生了最大的影响。

图片
编程艺术-必须阅读

我主要在广播市场上买书,那只在星期天才可以。 保存了接下来的几十格里夫纳作为早餐,我去买了一本有关C ++或Perl的新书。 选择的余地足够大,但是我没有导师,因此所有内容都经过连续研究。 我要求卖方向我推荐一些用于编程的东西。 据我所记得,他从书架上摘取了“编程的艺术。 第一汤姆。” 这本书显然已经被使用了。 盖的角弯曲了,在比尔·盖茨留下他的评论的地方背面有很大的划痕:“如果你读这本书,你肯定应该寄给我一份简历”。 我从杂志上了解盖茨,并认为最好将他寄来简历,即使所有黑客都拥有他。 这本书价值72 UAH。 (15美元),然后我迅速赶回电车回家,学习新材料。

我在15岁时读不懂多么深刻和基础的内容。 但是他努力地完成了每个练习。 我什至设法正确地以25或30的复杂度等级解决了问题。这是关于数学归纳法的一章。 虽然我不喜欢学校的数学并且很难抓住它,但是却超过了垫子。 纳特分析-我坐了几个小时。

接下来,第二章讨论数据结构。 这些链接列表,二叉树,堆栈和队列的图像和图片仍在我眼前。 在从事商业开发的12年中,我使用了大多数通用语言。

这些是C / C ++,C#,Java,Python,JavaScript,Delphi。 而且无论该语言如何命名,其标准库都具有Donald Knuth在其三卷本中描述的数据结构和算法。 因此,学习新东西并不需要太多时间。

第一卷被吞咽得足够快。 我将Knuth的书中给出的算法复制到了C中。它并不总是有效,但是我练习的越多,清晰度就越高。 热情不守。 在完成第一卷之后,我毫不犹豫地运行并购买了第二卷和第三卷。 我暂时不考虑第二个,但是对于第三个(排序和搜索),我已经进行了彻底研究。

我非常记得我是如何写下整个笔记本,“解释”排序和搜索算法的。 与数据结构一样,二进制搜索和快速排序在我的大脑中以闪电般的速度呈现出来,记住它们在Knuth的第三卷中的示意图。

到处都是鞭子。 即使去海边,附近也没有PC,我仍然在笔记本中指定了算法,并在其中运行了一系列数字。 我仍然记得掌握金字塔分类需要花费多少折磨,但这是值得的。

下一部对我有重大影响的书是《龙书》。 她是“编译器:原理,技术,工具”-A. Aho,R. Seti。 它之前是Herbert Shildd,具有C ++的高级任务。 正是在这一点上,这些观点融合在一起。
感谢Schildt,我学会了编写语言的解析器和解释器。 然后,《龙书》提示我编写自己的C ++编译器。

图片
龙书

到那时,我已经有了一个调制解调器互联网,并且我在程序员最喜欢的网站rsdn.ru上花费了很多时间。 C ++在那占主导地位,每个专业人士都可以回答我无法处理的问题。 这伤害了我,我意识到我与这些胡须叔叔相距甚远,因此我需要研究利弊。 这种动机使我进入了第一个严肃的项目-我自己的1998年标准的C ++编译器。 您可以在这篇文章中找到更详细的历史记录和源代码。

学校或自我教育


但是回到IDE之外的现实。 尽管到那个时候,我越来越远离现实生活,沉浸在虚拟环境中,但是所有年龄都相同,并且被普遍接受的规范迫使我上大学。 那真是酷刑。 我完全不了解自己在该机构中所做的事情以及为什么我在听这些信息。 我脑子里有完全不同的优先事项。 学习Visual Studio 6.0,尝试使用WinApi和Delphi 6。

一个不错的网站firststeps.ru,它使每个人都可以从所采取的小步骤中受益,尽管我不了解总体情况。 例如,在相同技术的MFC或ActiveX中。

大学呢? 那是浪费时间。 总的来说,如果我谈到学习的话题,我的学习就会很差。 直到六年级,我才是一个圆滑的荣誉学生,然后飞到了三岁,直到八年级到九年级,我才经常上课,因为我没有得到父母的幻想带。

因此,上大学后,热情也很低。

-编程在哪里? 我问自己一个问题。 但是他不在上半年。 但是有计算机科学与MS-DOS和Office,以及一般主题。

除了一切,我的性格很孤僻,我很谦虚。 这个新的杂色团显然不可信。 这是相互的。 因此,各种嘲弄并没有花很长时间等待。 我忍受了很长时间,直到我受不了它,在教室里撞到一名犯规者。 是的,所以他飞去了书桌。 多亏了我的父亲-他教我从小就打架,并且出于强烈的愿望,我可以使用身体上的力量。 但是这种情况很少发生,我经常忍受嘲讽,等待最高沸点。
顺便说一句,罪犯对所发生的事情大为吃惊,但仍然感觉优越,叫我参加回击。 已经在学校后面的荒原上了。

这些不是孩子的拳头,就像在学校那样。 那里有一个高尚的马哈奇,鼻子断了,血很多。 这个家伙也不是胆小的人,而且还熟练地称重了钩子和勾拳。 每个人都还活着,从那以后,没有人在这个“程序员学院”中欺负我。 我渴望去那里,很快就完全消失了。 因此,我停止研究它,没有父母的威胁影响我。 出于某种奇迹,他们认为我在大学读10年级就读大学,而我有权升入11年级。

一切都会好起来的,但是11年级并不是最好的大学。 我回到了自己的母语学校,结识了从一年级开始就与我相识的一些熟人,并希望在自己的母语下一切都会好起来。 只有一个警告:伙计们,更像是该系列中的强盗,而不是那些我是低年级朋友的男孩。 每个人都去摇椅上锻炼肌肉。 我看起来像竹子。 瘦长而且很瘦。 当然,这样的公牛同学可能只剩下我一个。

因此,随着时间的流逝,它开始发生。 然后我的战斗技能没有效果。 我和曾经是本地人的其他男孩的体重类别已经非常不同。 而且,我的思维特点使自己感到自己。

我没有在树上散布思想,也离开了学校。 我感到很舒服的地方是在电脑显示器前,房间的门已关上。 这是有道理的,从直觉上来说,我觉得自己做对了。 上学是一种无用的练习,甚至在那儿经久不衰,每天变得越来越复杂……对我来说足够了。

在班上发生另一场冲突后,我由我担任标题,我离开了学校,不再去那里。

我坐在家里大约3个月,花空闲时间学习C ++ / WinAPI / MFC和rsdn.ru。
最后,校长受不了了,打电话回家。

-“丹尼斯,你想读书吗?” 还是要走? 决定 陷入困境,没有人会离开你。” -导演说
-“我要走了”-我自信地回答

再说一次,同样的故事。 直到毕业我才完成了半年的学业。 不要让我没有外壳。 我的父母向我招手,并告诉我我自己同意导演的意见。 我来了校长。 当我走进去时,她大声叫我脱下帽子。 然后她严格地问-“你怎么办?” 坦白说,我本人不知道该怎么办。 我对当前的状况感到非常满意。 最终她说出了这个词:

“所以,让我们这样做。” 我会同意我们夜校的校长,你会去的。”
-是的

夜校-对于像我这样的自由泳者来说,这是一个真正的天堂。 如果要走,就不要走。 全班有45人,其中有6-7人出现在教室里。 不知道名单上的每个人是否还活着,而且还自由。 因为只有我,同学才偷了别人的摩托车。 但是事实仍然存在。 我可以无限制地提高编程技能,并在需要时上学。 最后,我通过了期末考试,完成了考试。 许多人不需要他们,我们甚至毕业了。 毕业本身就是一个寓言。 我记得当地的一个同学土匪从我这里拿走了我的手表。 出示证书时,我几乎听不到我的姓氏-我在文件后小跑了,拿着子弹飞出学校,以免遇到任何其他麻烦。

夏天提前了。 在唐纳德·纳努特(Donald Knut)的支持下,在海滩,大海,阳光下,以及决定编写自己的大型项目(编译器)的重大决定。

第3部分。大学>>

Source: https://habr.com/ru/post/zh-CN449806/


All Articles