想去玩游戏又不想让自己玩游戏,有些觉得编程和游戏都是在动用同一个大脑单元,那么编程应该也可以和游戏一样好玩。而且难度自定。

  指令操控,然后让实行。在屏幕上打出来怎样的图案,这些过了新手后就不那么令人热情。动动手指赚钱是个思路,或者说,动动手指完成什么可以实现社会价值的事,像做个软件,实现某种智能。

  和游戏不同的是,编程要编码很久才能看到效果,游戏动一下就一个效果。加上编码过程中老遇到BUG,让人卡顿,实在让人不好“玩”起来。

  编程强大的是,可以很确切地去完成一个指令,可以做到“没有偏差”。可以很有深度地去调动系统底层的一些处理。 /*用这些东西可以来做什么呢,总不能用来开发游戏。

  说有价值的事情就是把编码变得简单,在编码里把一些分配思想安排好。就像把任务分层,每一个不同类型的任务放到一个层面,这样每件事都有一个很好地划分和归类,变动和修改起来容易。更进一层的划分,就是把编程作用划分。在找解决方案的时候,哪些处理是需要编程解决;哪些处理是需要在现实生活中找到更好的解决方式。

  编程如果加入这些内容取舍,就会发现什么都可以做。说到底就是一个用来加速的,编程首先要看好加速的是什么,要对什么进行编程。哪部分是编程的责任,哪部分是选取编程对象的责任。这个是个很有趣的脑力活,让人思考事情的本质。

  也就是说,现在的编程走偏了方向,以为什么都可以用算法解决。可其实调节一下编程的对象,就没有那么多疑问了。就像人工智能是人模仿出来的智能,是对人“智能”行为的模仿,不是去探索那份“智能”本身是怎么形成的,只要按照人会做的方式去做就可以了。就是像人一样、通过观察总结人的行为把处理事情的过程模仿出来,而不是从计算机角度看怎么办到这件事、怎么用非人的方式去走捷径完成。就像语音识别,不是去探究人的神经系统怎么工作的而模仿出来,这种“神经系统怎么工作的”的事在人类社会本身就还没弄明白,还想让电脑直接实现出来,这也太能了吧。应该是观察人学语言的过程,模仿这个过程就可以了,根本不用管神经元这些事。

  无语,我可怜的文章,又跑题了。

  */

  编程里的事说起来很简单,都找不到不简单的地方在哪里。困难,还真说不清是什么造成的。说是底层有BUG吧,那么也不明白有什么BUG,能碰到的人有几个。说是编程逻辑太复杂,不知道怎么地就绕来绕去,不明白为什么底层那样去实现。各种协议都有它的条条框框,这些协议都是怎么来的,写协议相关的代码时要怎么去理解记忆。上述这三点和类似的情况共同作用在一起,让人在编程卡顿的时候特别头大。怎么运行不动了?变量名、作用域冲突了,哪个地方写错了字母,还是协议号记错了?怎么会一遍运行可以、一遍运行报错,明明是同样的代码呀?

  唉,什么时候编程可以如行云流水,顺溜溜地就把事情办完了。想实现的功能都给叠罗铺展出来,一层嵌一层,严严实实地。

  本来是思考的事,如果变成耐心和细心的事就不是一个味道了。所以还是要朝着人的思考方式演变,所有算法要符合人的一般思考方式。就像排序,冒泡,谁正常情况下用这个排序了?给一组试卷让按分数高低排出来,就是一个一个编进去或者都散开点摆放着,什么时候严格遵守过冒泡,那还不要累死。要让算法适应人的行为方式,而不是计算机的。适应了计算机的就意味着要背下来,那编程就更偏向于耐心和细心了,成了一个特大号图书馆。

  编程应该是一种道理,掌握这种道理就可以顺手拈来那些该用到的函数。这也是编程语言进化着在努力的事,从面相过程到面相对象,在更适应人的思考。也还是停留在包装阶段,真到底层算法,还是在面相过程,思考着计算机的处理过程。

  想做的深需要懂存储过程,这是计算机的思考方式,硬件限制或者说协议限制。懂了底层才能预估出这些代码用了多少内存,用了多少计算。知道这段代码是“瘦”是“胖”,是“沉”是“重”。这些都是以计算机的思考方式去背下来。如果排序用人的思考方式,当给一大段数据的时候,就可以直接预估出会用到多少资源,不需要再去转换到计算机的角度里思考。想说的是,计算机的存储、处理都类似成人的方式,那么在使用的时候就容易从头到底层地得心应手。

  像数据库就像是资料库,在这一层架子上放上一部分资料,空出来一部分。等以后有类似资料,或者资料内部需要新增页张的时候,就可以直接放进去。当再后来资料更多了,就直接移动处理,一次性换一个长的柜子,或换一个大的房间,或换一个高的楼。在空余的处理上,生活中已经有很多解决办法。或许数据库的建立多少也参考了这些解决办法,只是仍然不够。不够简易、透明。倒是可以知道,大体上是这个样子,于是就可以更安心做规划。

  事情朦胧中有相互影响的规律,可以借鉴这个规律来安排数据库的规模、了解计算机处理的大概方式。明白了业务逻辑,不需要去探及过多的底层就可以对编码做出分工,有效进行各个单元的编写,和之后的组合。

 

   编程有趣的地方是用脑的深度,不像游戏一样受游戏开发水平的制约,它可以“无限”铺展。可是我想找的是操控和实现感。你想操控这一部分代码去实现什么,才会有“实现感”。

  代码的设计,代码的理解,在路上尝试想明白一些或许相关的问题,来把编程简化,把实现步骤简化。学习更多的知识,来尝试弄明白困惑自己的事什么,让自己觉得难的会是什么。阻碍自己把那些程序和应用做出来的是什么。

  慢慢去熟悉一个过程,经常不用又忘记这个过程。感兴趣的是能让编程很简单地完成,各部分密切配合。与其说难的是实现过程,不如说困扰的是要去实现什么。难的是做成怎样,才是自己想要的样子。

  一件件处理都是在重复和细化,我想要得到的是一种抒情、一种体验。像使得编程更容易掌控的条理.....

  想要生活变得容易点。编程里写应用软件这些,只是在给别人做事,完成别人的规划任务。需要依赖着别人。可如果是人工智能角度就是在卖智能产品,减少客户的脑力劳动,空出更多脑力,使用在多彩的事情上。减少和取代单调的脑力劳动。

  这仍然不是自己想要的,自己想要的是探索。发现和踏足未知的领域。那些人工智能只是在垫高底部,并没有直接开探高处。想着想做的是像设计那样拼合有趣的想法,表现出来一个新意的主题。像是在游戏界敏捷的思考,挑战反应的极限,带来极致的抒情。像是解决一个个困难的问题,总能找到出路,总可以找到简单的方式。是对生活的探索,对抒情地探索,对灵感的探索。

  事情总有一种更容易的解决方法,更适合自己的解决方法。就像复杂的编码世界,有那么多问题。自己想做的不是做出来什么,而是把编码本身理透、战胜。

  编程的好玩,是它本身引起足够多的疑问,让人觉得好奇,想来弄明白。

转载于:https://wwwblogs/flangrean/p/8832280.html

更多推荐

编程好玩的地方