
如果您是程序员或计算机科学家,那么一个朋友(或一个朋友的朋友)可能会要求您花费无数的时间来教他们或引导他们进入编程世界。 但是,实际上只有极少数的朋友能够成功。 这是为什么? 我们将看到这一点。
而且,如果您是刚开始学习的程序员,请以此为动力继续前进。
我将使用此博客文章将其发送给确切地问我的人。
“嘿,马蒂亚。 你能教我编程吗? 我想做游戏,赚几百万。” —朋友
“当然。” –我会说。
“但在此之前,请阅读此博客文章,然后回到我身边。”
“您仍然要开始编程吗?”
对于新程序员
做好准备!
这个很难(硬!
关于编程的第一件事也是显而易见的事情。 它是抽象的。 您无法与现实世界建立任何关系。
您可以期望在开始时提出以下问题:
等等,这叫变量是什么? 功能? 喜欢数学中的函数吗?
循环? 哇啊?
我需要数学才能编写程序吗?
对象? 什么?! 像椅子吗? 我该如何编码椅子? 我为什么要编码椅子?
如何制作游戏?
回调功能? 给谁回电话?
运行程序时,该黑色窗口是什么? 如何创建Facebook?
这很无聊吗? 没什么像我想象的那样吗? 我想看结果!
我想现在看结果!!
初遇时一切都很难。 而且应该很难。 这将很难! 每时每刻! 诀窍是将其视为挑战。 就像运动员一样。 他们一直挑战自己,向自己证明自己有能力做这种事情。
您将无时无刻不在碰壁。 不要将其作为退出的理由。
设定目标太高!
这是我看到的另一个问题。
就像我提到的,人们试图开发游戏,新的Facebook,Instagram,Twitter或其他服务,他们认为可以在一天内完成。
Facebook的? 是的 我需要对这堵墙进行编码,添加功能以结交朋友和繁荣。 全部做完。
一切都如此明显。 那有多难?
容易油腻,柠檬浓郁。
然后,在开始时,所有人都以他们的愿景大肆宣传,创建他们的main文件。 下一行思想通常是:
好的。 怎么办?
墙…朋友? 嗯…
经过一番谷歌搜索之后…
数据库? MySQL的? 后期? MongoDb? 我该怎么办?
对象,关系,API等等?
制表符与空格
然后他们失去了动力。 大多数时候,这是他们退出的地方。
不要将目标设定得过高。 将它们设置得很高,但不要太高;)。 不要期望在一下午就能写Twitter,特别是如果您刚刚开始。
期待结果太早了!
在编程的头几个月,您将不会创建任何相关内容。 这是事实。 您可能会创建诸如乘法表之类的东西,并绘制一些模式,例如:
***o***
**ooo**
*ooooo*
ooooooo
*ooooo*
**ooo**
***o***
那太好了。 那会教你像程序员一样思考。 您会发现一些以前从未注意到的模式。 对于程序员来说,这种技能至关重要。
不要跳过这类任务,因为如果您认为这些任务既简单又愚蠢,那么您错了。
尝试做:)。 向自己证明自己可以做到,而且可以做到!
结果将随时间而来。 编程不能在两周内掌握。 但是话又说回来,不要失去动力。
我需要数学才能进行编程吗?
是的,没有! 但是大多数都没有。 知道数学是件好事,但这不是必须的。 如果您知道加法,减法,乘法和除法,那就很好了。
否则,请尝试在这些事情上刷新您的记忆;)。
选择哪种编程语言?
没关系 最主要的是从某件事开始。 事实是,有些语言比其他语言更易于掌握,但是一开始它并不重要。
一旦掌握了诸如乘法表,绘制一些图案,解析用户输入之类的“轻松”任务,根据您要实现的目标,语言将变得更加重要。
但是,当您开始时,语言并不重要。 即使您要创建Android应用程序或游戏,也可以从Python开始。 没关系,您不能使用Python创建Android应用程序。 更重要的是从某件事开始。 请记住,不要将目标设置得太高;)。
不用担心编程语言。
最难掌握的是像程序员一样思考。
我建议您从Python开始,因为它易于使用。
谁会教我所有这一切?
你会! 编程与历史不同,例如,您需要记住很多年和发生的事件。
没有!
编程需要您思考! 其他程序员可以为您提供帮助,但最终只有您自己 。 您将使用以前的经验来解决问题。 这就是解决问题的方法(通常)是:
用您所知道的解决问题。
通过这样做,您将学到可以用来解决其他问题的新事物。
这需要时间和奉献精神。
什么编程都不是!

什么是编程!
这个:

和这个:

还有这个:

最后这:

对于帮助新程序员的程序员
用耐心武装自己。 不要使用过于详尽的解释。 新程序员不关心也不应该关心指针,通过引用/值传递……。 给他们看路。 不要为他们解决所有问题,而是将他们引向正确的方向。
最后的话
现在,当您对编程有了更好的了解时,请不要害怕。 不用担心。 现在您知道启动时会发生什么。