这不是草稿
辛巴学院:正大光明的不务正业。
上一次的教程写出来之后,反馈还是挺多的,有很多都做了修改,也有一些让人崩溃,不得不说上几句。
有些人有些很奇怪的地方,你写篇东西,被看了以后不说他感觉怎么样。
而是说你做个干啥?能赚钱么?
而是说你做这个对我没有用,你还不如做点啥啥啥呢。
我在此郑重申明:
- 我写只因为我想写,能不能赚钱或者取得其他好处,关你鸟事。
- 我写只因为我想写,我写的东西对你有没有用,关我鸟事。
我还会继续写下去,并且写什么选题全凭我自己。我不是一个职业写手,我没有任何责任为谁写什么东西。
作为一个在内容产业瞎混了十来年的人,非常痛心于我没做出来任何有价值的内容。
何曾忠于过自己?羡慕独立游戏的非商业属性,有独立的立场,独立的思考。
为何独立游戏在中国就是一潭死水?为何中国很多的游戏公司一直在copy。
何尝不是这种你做这个干啥?你做这个干啥?这种不知所谓的质疑、噪音,充斥着空气,让独立、让个性想要往前,就一定要冲破重重的阻力。
中国的经济发展,早已成就了个性化的土壤。可是我们却不具备个性化的空气。处处是噪音,请各位想一想,你做这个行业,真就要用这种恶俗的心态去做么。
如果你不能忠于自己,最起码当你阻挡别人忠于自己时,请你闭上你的嘴。也许你觉得:这又怎么样?我说了他就不做,那是他不真的想做。
是的,没错,是我们不坚决,让我们不行动。人是社会化动物,我们会被别人影响,量变引起质变。语言真的没有力量么?
一个没有人会质疑你忠于自己做点什么的空气中,或许有那么一些人就做了什么。
一个很多人都会质疑你忠于自己的空气中,或许有那么一些人就什么都不做。
为了守护这一点点或许,我愿意同任何人友尽。
然后让我们画风突变
从图灵开始
当你完成了你的helloworld之后,你就可以算一个程序员了。
是的,没错,做一个程序员,就这么简单。写过代码,就是程序员。
让我们来拜见一下我们的祖师爷,图灵大爷。
图灵是个gay,性别男,爱好男。
我们没有图灵那么厉害,也许和爱好也有点联系?
图灵提出了用机器处理问题的理论模型,"图灵机"。
(我们团队有一位名叫"曰天"的同学,在负责录制一段"图灵机"的模拟游戏视频,希望不日我们可以附上这则视频的链接。)
而冯诺依曼奠定了计算机的工程结构和二进制这一基本思想
如果还要算上个人电脑,见我的另一篇《施乐传奇》,那我们这小熊猫要摆满一屏幕,我们就先拜两位祖师爷。
今天的电脑还是这两位大爷设计的那样,或许你知道这样一个奇妙的现象:
很多写了三年程序的人,都搞不明白二进制是个什么鬼。
所以我们不讲二进制,我们不讲很多东西,我们也会经常提醒你,有些东西,不懂也没关系。编程这件事,好大一堆坑,不必每坑必跳。
让我们荡起双桨,继续往泥潭深处去。
提起这两位就是计算机原理,我们学个代码,和计算机原理有关系么?有很大的关系。
计算机是顺序执行的,计算机执行的那个玩意叫机器指令,而c系语言,都是将自然语言翻译为机器指令的。并且,保持着和机器指令高度相关的顺序一致性。
可能上面那段绕口令式的表达,让你觉得崩溃,记住三个字:
有顺序
这篇,整篇就这三个字:有顺序。
上一篇,整篇也就三个字:是颗树。、
代码是颗树
执行有顺序
代码的执行顺序
有一个更专业的讲法,叫做结构化编程,他也是一个领域。通常学语法的前三个月,都在和你聊结构化编程。
请记下来"结构化编程",你需要学习他,而且21天绝对学不会
本系列教程属于课外教辅,我们不会像传统的教程那样逐条的把你要学的东西告诉你,我们告诉你一些要学习的东西,帮你理出一些重点,剩下的还是要看你自己。
市面上有很多"21天学会xxx"之类的资料,我们没那个本事,或者21天可以建立一个习惯,建立一个打开我们的文章看段子的习惯。
结构化编程将代码的执行顺序 分为 顺序、选择、循环 三类。
忽略他们。
很多东西靠看学不会,很多东西靠看学不会,很多东西靠看学不会。重要的事情说三遍。
那我们怎么来学习这个部分呢,我们教你调试,教你怎么去观察这个执行顺序。学会调试,自己观察这些顺序。
观察代码的执行顺序
还是从这里开始,默认情况,看起来应该有个启动按钮,对我们之前的helloworld项目来说,点这个启动,就开始调试啦。
好像你发现和之前没有任何变化,然后我们让他有一点变化吧。
打开调试菜单记住这些快捷键,有些很有用,根据你的设置不同,快捷键会有不同,我们这里要记住的是
"切换断点" F9
"逐语句"F11
选中这一行,他是我们的程序入口,一切从这里开始,我们按一下F9
多了一个红点,红点表示一个断点,表示程序执行到此处停下来,让调试者(你)观察并决定怎么做。
不一样了吧,这时候程序就停了下来,我们只学习观察程序执行顺序,按一下
高亮区域和小黄箭头动起来了,这就是顺序,你现在看我们的控制台,啥也没有,因为黄色高亮区域表示将要执行,并未执行。
再按一次
控制台应该有了一句话
继续
此时程序还是暂停的,虽然控制台上会打出按回车键退出程序,但是按了没反应。
继续逐语句执行,一直到结束。或者你也可以用"调试菜单下的停止调试"中断程序。
来点作业
然后应该做作业了,把代码搞复杂一点,调试看看。
前面说过结构化编程将代码执行顺序分为三类,顺序性就是刚才那种,从上至下,一直到底。
让我们来看一个选择的顺序
在开始之前,别忘了,代码是颗树,这个if else 语句块,你还能理出这颗树么?有括号做标记,应该不难。
然后自己感受一下,选择顺序。二选一,有的经过,有的不经过。
你学过调试了,自己调试观察一下吧。
还有一种选择语法叫做switch
注意 case 的结尾是冒号,这是一个标签语法,其他的结尾都是分号。
因为case是标签语法,所以配合break来做结尾,他也不是一个完整意义的树,这个不是现在的重点,先调试看看吧。
然后是循环,必然是先从我大for循环开始,有人说for循环是反人类的,反不反,我不知道,但是写21天for循环,你一定能习惯。
反人类么?其实一切语法都只是习惯,还有两种循环语法,while 和 do while。这俩没有啥好说的了,你如果认真的调试下来。
你通过baidu就可以学会任何语法,你已经掌握了观察方法。
还有一个遍历迭代器专用的语法foreach,这个细节更复杂一些,但都是通过调试可以掌握的东西。
这篇我们不打算说更多的内容,认识到顺序是很重要的一件事,学程序,还有比这个更重要的么?更多的时间留给你自己吧。
下一次我们聊一聊计算与类型。
哈库拉玛塔塔。