编程生涯。 第 1 章 第一个程序

编程生涯。 第 1 章 第一个程序亲爱的哈布尔读者,我向你们展示了一系列帖子,我计划将来将它们合并成一本书。 我想深入研究过去,讲述我如何成为一名开发人员并继续成为一名开发人员的故事。

关于进入IT的先决条件、试错之路、自学和幼稚的天真。 我的故事将从童年开始,到今天结束。 我希望这本书对那些刚刚学习IT专业的人特别有用。
那些已经从事 IT 工作的人可能会与自己的道路进行比较。

在这本书中,你会找到我读过的文献的参考资料,以及与我在学习、工作和创业时遇到的人交流的经验。
从大学教师到大型风险投资者和数百万美元公司的所有者。
截至今天,本书的 3.5 章已经准备就绪,原本可能有 8-10 章。 如果第一章得到读者的积极回应,我将出版整本书。

关于我

我不是约翰·卡马克、尼古拉·杜罗夫或理查德·马修·斯托曼。 我没有在 Yandex、VKontakte 或 Mail.ru 等公司工作。
虽然我有在大公司工作的经验,但我一定会告诉你。 但我认为重点不在于大名鼎鼎,而在于成为开发者之路的历史,更进一步在于我12年的商业开发生涯中所发生的胜利和失败。 当然,你们中的一些人在 IT 方面拥有更多的经验。 但我相信,在我目前的职业生涯中发生的戏剧性事件和胜利是值得描述的。 发生了很多事件,而且都是多种多样的。

作为一名开发人员,我今天是谁
— 参与了 70 多个商业项目,其中许多是他从头开始编写的
— 在我们自己的十几个项目中:开源、初创公司
— 从事 IT 工作 12 年。 17年前——写了第一个程序
- 微软最有价值人物 2016
— 微软认证专家
— 认证 Scrum Master
— 我精通 C#/C++/Java/Python/JS
— 工资 — 6000-9000 美元/月。 取决于负载
— 我今天的主要工作地点是自由职业交易所 Upwork。 通过它,我在一家处理 NLP/AI/ML 的公司工作。 拥有1万用户群
— 在AppStore和GooglePlay发布3款应用
— 我正准备围绕我目前正在开发的项目创建自己的 IT 公司

除了开发之外,我还为热门博客撰写文章、教授新技术并在会议上发言。 我和家人一起在健身俱乐部放松身心。

就这本书的主题而言,这可能就是我的全部内容。 接下来是我的故事。

故事。 开始。

我第一次知道什么是计算机是在我7岁的时候。 我刚上一年级,在美术课上我们被布置了作业,用纸板、泡沫橡胶和毡尖笔制作一台电脑。 当然,我的父母也帮助了我。 妈妈在 80 年代初在一所技术大学学习,直接了解什么是计算机。 在训练过程中,她甚至成功地打孔卡并将其装入占据训练室大部分空间的巨型苏联机器中。

我们以5分的成绩完成了作业,因为我们做的每一件事都很勤奋。 我们找到了一张厚厚的A4纸板。 圆圈是用泡沫橡胶从旧玩具上剪下来的,用户界面是用毡尖笔绘制的。 我们的设备只有几个按钮,但我和我的母亲为它们分配了必要的功能,在课堂上我向老师展示了如何通过按下“打开”按钮,“屏幕”一角的灯泡会亮起, ”同时用毡尖笔画一个红色圆圈。

我下一次接触计算机技术大约是在同一年龄。 周末,我经常去看望我的祖父母,他们反过来出售各种垃圾,也愿意花几分钱买下来。 旧手表、茶炊、锅炉、徽章、13 世纪武士的剑等。 在所有这些东西中,有人给他带来了一台由电视和录音机运行的电脑。 幸运的是,我的祖母两者都有。 当然是苏联制造的。 TV Electron 有八个按钮可以切换频道。 还有一台 Vega 两盒式磁带录音机,甚至可以重新录制录音带。
编程生涯。 第 1 章 第一个程序
苏联计算机“Poisk”及外围设备:电视“Electron”、录音机“Vega”和带有 BASIC 语言的录音带

我们开始弄清楚整个系统是如何工作的。 计算机中包含一些录音带、一本非常破旧的说明手册和另一本标题为“BASIC 编程语言”的小册子。 尽管我还是个孩子,但我还是尝试积极参与将电线连接到录音机和电视的过程。 然后我们将其中一盒磁带插入录音机舱,按下“前进”按钮(即开始播放),电视屏幕上出现了难以理解的文本和破折号的伪图形。

主机本身看起来就像一台打字机,只是相当泛黄并且重量明显。 我带着孩子般的兴奋,按下了所有的键,没有看到任何明显的效果,就跑去散步了。 尽管那时我面前就有一本 BASIC 语言手册,其中包含程序示例,但由于我的年龄,我根本无法重写这些程序。

从童年的记忆中,我当然记得父母为我购买的所有小玩意,这些小玩意是与其他亲戚一起锻炼的。 第一个拨浪鼓是大家熟知的“狼抓蛋”游戏。 我很快就看完了,看到最后期待已久的漫画,还想要更多。 然后是俄罗斯方块。 当时价值1,000,000张优惠券。 是的,那是在九十年代初的乌克兰,我因为学业上的成功而获得了一百万美元。 当我感觉自己像个百万富翁时,我为父母订购了这个更复杂的游戏,他们必须正确排列从上面落下的不同形状的人物。 购买那天,俄罗斯方块就被我的父母失控地从我身边夺走了,他们自己两天都无法摆脱它。

编程生涯。 第 1 章 第一个程序
著名的“狼叼鸡蛋和俄罗斯方块”

然后是游戏机。 我们家住在一个小房子里,隔壁房间也住着叔叔和婶婶。 我叔叔是一名军事飞行员,他经历过热点地区,所以尽管他很谦虚,但他非常顽强,无所畏惧,在真正的情况下
军事行动。 和很多90后一样,我叔叔也开始做生意,收入也不错。 于是他的房间里出现了一台进口电视、一台录像机,然后是一台Subor机顶盒(类似于Dendy)。 看着他玩《超级马里奥》、《壮志凌云》、《终结者》和其他游戏,我惊呆了。 当他把操纵杆交到我手里时,我的幸福感无边无际。

编程生涯。 第 1 章 第一个程序
八位主机“Syubor”和传奇的“超级马里奥”

是的,就像所有九十年代长大的普通孩子一样,我整天都在院子里度过。 要么打先锋球,要么打羽毛球,要么在花园里爬树,花园里长着许多不同的水果。
但这款新产品,当你可以控制马里奥,跳过障碍并拯救公主时,比任何盲人的buff、ladushka和经典游戏有趣很多倍。 因此,看到我对前缀的真正兴趣,我的父母给了我学习九九乘法表的任务。 然后他们就会实现我的梦想。 他们教她二年级,而我刚刚读完一年级。 但是,说到做到。

不可能想象出比拥有自己的游戏机更强烈的动机了。 一周之内我就轻松地回答了“七九”、“六三”之类的问题。 测试通过了,他们给我买了梦寐以求的礼物。 正如您将进一步了解到的那样,游戏机和电脑游戏在让我对编程产生兴趣方面发挥了重要作用。

就这样年复一年地过去了。 下一代游戏机即将问世。 首先是世嘉 16 位,然后是松下,然后是索尼 PlayStation。 当我心情好的时候,游戏就是我的娱乐。 当学校或家里出现问题时,他们拿走了我的操纵杆,当然,我不能玩。 当然,抓住自己放学回来,爸爸还没有下班回来的瞬间霸占电视,也是一种幸运。 所以不可能说我是一个赌博成瘾者或者整天玩游戏。 没有这样的机会。 我宁愿在院子里呆一整天,在那里我也可以找到一些东西
有趣的。 比如一款完全狂野的游戏——空中枪战。 现在你在庭院里看不到这样的东西了,但当时那是一场真正的战争。 与我们造成的大屠杀相比,彩弹射击只是小孩子的游戏。 那里有气球
装有致密的塑料子弹。 他近距离射杀了另一个人,在他的半只手臂或腹部留下了瘀伤。 我们就是这样生活的。

编程生涯。 第 1 章 第一个程序
小时候的玩具枪

提到《黑客》这部电影就不能不提。 该片于 1995 年上映,由 20 岁的安吉丽娜朱莉主演。 要说这部电影给我留下了深刻的印象,那是毫无意义的。 毕竟,孩子们的思维从表面上看待一切。
这些人如何清理 ATM 机、关掉交通灯以及在整个城市玩弄电力 - 对我来说这很神奇。 然后我想到,如果能像黑客一样无所不能,那就太酷了。
几年后,我买了每一期《黑客》杂志,并尝试入侵五角大楼,尽管当时我还没有互联网。

编程生涯。 第 1 章 第一个程序
我的电影《黑客》中的英雄

对我来说,真正的发现是一台真正的 PC,配有 15 英寸灯监视器和基于 Intel Pentium II 处理器的系统单元。 当然,它是他叔叔买的,到九十年代末,他的叔叔已经升到了可以买得起的水平。
这样的玩具。 他们第一次为我打开游戏时,并不太令人兴奋。 但有一天,审判日到来了,星星排成一行,我们去看望不在家的叔叔。 我问:
— 我可以打开电脑吗?
“是的,你想怎么处置他就怎么处置吧。”慈爱的阿姨回答道。

当然,我对他做了我想做的事。 Windows 98 桌面上有不同的图标。 WinRar、Word、FAR、Klondike、游戏。 单击所有图标后,我的注意力集中在 FAR Manager 上。 它看起来像一个难以理解的蓝屏,但有一个可以启动的长列表(文件)。 通过依次点击每一个,我了解了正在发生的事情的效果。 有些有效,有些则无效。 一段时间后,我意识到以“.exe”结尾的文件是最有趣的。 他们推出了不同的很酷的图片,您也可以点击它们。 所以我可能在叔叔的电脑上启动了所有可用的exe文件,然后他们勉强把我的耳朵从超级有趣的玩具中拉出来,带我回家。

编程生涯。 第 1 章 第一个程序
相同的 FAR 经理

然后还有计算机俱乐部。 我和我的朋友经常去那里玩《反恐精英》和《雷神之锤》在线游戏,这是我们在家里做不到的。 我经常向父母求零钱,这样我就可以在俱乐部玩半个小时。 看到我的眼睛,就像史莱克里的猫一样,他们给了我另一份利润丰厚的合同。 我以 C 的成绩完成了学年,他们给我买了一台电脑。 该合同于今年年初 XNUMX 月份签署,如果遵守协议,令人垂涎的 PC 最早应该在 XNUMX 月份到达。
我已经尽力了。 我什至出于情感而卖掉了我心爱的索尼游戏机,以减少对学习的干扰。 虽然我是一名马马虎虎的学生,但九年级对我来说意义重大。 流鼻血,我只需要取得好成绩。

春天已经到了,我正期待着购买一台电脑,这可能是我一生中最重要的事件发生了。 我试着提前思考,所以在一个晴朗的一天,我告诉父亲:
- 爸爸,我不会使用电脑。 我们来报名参加课程吧

说到做到。 父亲打开登有广告的报纸,发现了一块用小字写着的标题: 「计算机课程」。 我打电话给老师,几天后我就已经参加了这些课程。 课程在城市的另一边,一座古老的赫鲁晓夫镶板大楼的三楼举行。 一个房间里一排三台电脑,那些想学习的人实际上是在它们上面训练的。

我记得我的第一堂课。 Windows 98需要很长时间才能加载,然后老师发言:
- 所以。 摆在你面前的是 Windows 桌面。 它包含程序图标。 底部是开始按钮。 记住! 所有工作都从“开始”按钮开始。 用鼠标左键单击它。
他继续。
- 在这里 - 您可以看到已安装的程序。 计算器、记事本、Word、Excel。 您还可以通过单击“关机”按钮来关闭计算机。 尝试一下。
最后他转向了当时对我来说更困难的部分。
“在桌面上,”老师说,还可以看到可以双击启动的程序。
- 双倍的!? - 一般情况如何?
- 咱们试试吧。 用鼠标左键双击记事本启动它。

是的,沙斯。 那一刻最困难的就是将鼠标固定在一处,同时快速点击两次。 第二次单击时,鼠标轻微抽搐,快捷方式也随之抽搐。 但尽管如此,我还是在课堂上克服了这个难以克服的任务。
然后是Word和Excel的培训。 有一天,他们只是让我浏览自然和建筑古迹的图片。 这是我记忆中最有趣的活动。 比学习如何在 Word 中设置文本格式有趣得多。

在我的电脑旁边,其他学生正在学习。 有几次我遇到了一些正在编写程序的人,同时热烈讨论了这个过程。 这也让我感兴趣。 记得电影《黑客》,厌倦了 MS Office,我要求转学到课程
编程。 就像生活中所有重大事件一样,这一切都是出于兴趣而自发发生的。

我和妈妈一起上了第一节编程课。 我不记得为什么。 显然她必须协商新课程并付款。 外面已经是春天了,天已经黑了。 我们乘坐小巴Gazelle穿越了整个城市到了郊区,到达了臭名昭著的地方
赫鲁晓夫小组走到地板上让我们进去。
他们让我坐在最后一台电脑前,打开一个程序,屏幕完全是蓝色的,字母是黄色的。
- 这是涡轮帕斯卡。 老师对他的行为进行了评论。
- 看,我在这里写了关于它如何工作的文档。 阅读并看一下。
我面前是一张黄色的画布,上面写满了完全无法理解的文字。 我试图为自己找出一些东西,但我做不到。 汉语语法就是这样。
终于,过了一段时间,课程领导递给我一张打印好的A4纸。 上面写着一些奇怪的东西,我之前在编程课程的人的显示器上见过。
- 重写这里写的内容。 老师吩咐一声就离开了。
我开始写:
节目摘要;

我边写边在键盘上寻找英文字母。 在Word中,至少我接受了俄语训练,但在这里我必须学习其他字母。 程序是用一根手指敲出来的,但是非常小心。
开始、结束、变量、整数 - 这是什么? 虽然我从一年级开始学习英语,知道很多单词的意思,但我无法将它们连接在一起。 我就像一只训练有素的骑自行车的熊一样,继续踩踏板。 终于看到熟悉的东西了:
writeln('请输入第一个数字');
然后 - writeln('输入第二个数字');
然后 - writeln('结果=',c);
编程生涯。 第 1 章 第一个程序
第一个 Turbo Pascal 程序

唷,我写的。 我将手从键盘上拿开,等待大师出现以获取进一步的指示。 最后他走过来,扫视屏幕并告诉我按 F9 键。
“现在程序已编译并检查错误,”大师说
没有错误。 然后他说按Ctrl+F9,我也是第一次一步步解释。 您需要做的就是按住 Ctrl,然后按 F9。 屏幕一黑,上面终于出现了一条我能看懂的信息:“请输入第一个数字。”
在老师的命令下,我输入了7。然后是第二个数字。 我输入 3 并按 Enter 键。

“结果 = 10”这一行以闪电般的速度出现在屏幕上。 那是一种欣快感,我一生中从未经历过类似的事情。 就好像整个宇宙在我面前敞开,我发现自己进入了某种入口。 一股温暖传遍我的全身,我的脸上浮现出微笑,我潜意识深处的某个地方意识到—— 这是我的。 非常直观地,在情感层面上,我开始感受到桌子下面这个嗡嗡作响的盒子里的巨大潜力。 有很多事情是你可以亲手做的,她都会做!
这是某种魔法。 我完全无法理解蓝色屏幕上那些黄色的、难以理解的文字是如何变成一个方便易懂的程序的。 这也算它自己! 让我惊讶的不是计算本身,而是书写的象形文字变成了计算器。 当时这两个事件之间存在着差距。 但直觉上我觉得这个硬件几乎可以做任何事情。

几乎在小巴回家的路上,我感觉自己就像在太空中一样。 这张写有“结果”的图片在我的脑海中旋转,这是怎么发生的,这台机器还能做什么,我可以不用一张纸自己写点东西吗? 一千个问题让我感兴趣,同时让我兴奋和启发。 那年我14岁。 那天,这个职业选择了我。

待续...

来源: habr.com

添加评论