关于编程,你该知道的几件‘什么是’ | 【力荐】
本帖最后由 不二如是 于 2017-10-13 09:25 编辑推荐阅读:
编程与数学的“奇妙”关系 | 【方法论&实操】
0037 - 如何自学一门编程语言?|【老司机的套路与真诚】
#编程语言简史 | 【Life is short Show me the code】
一个小段子
网上有个著名的段子:
一个人正吸着雪茄,吐着烟圈。
他女朋友生气了发飙道,“你没看见包装盒上的警告么?吸烟有害健康!”
那人回答道:“我是程序员。我们不关心警告,只关心错误。”
.......
http://xxx.fishc.com/forum/201612/14/084716lotatdmtgxxfg5xt.gif
刨除黑咱们程序员用来自娱搞笑外,仔细想一想:
可以看出程序员的思维方式跟非程序员的思维方式的差异。
而这种差异,正是编程的奇妙之处!
如果喜欢,别忘了评分{:10_281:} :
http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif
TIPS:点击上方“目录”即可跳转到其他章节{:10_336:}
什么是 “编程”?
所谓编程,从本质上来说:
学习使用一种特定的语言,来描述现实世界的一个问题,再将这个问题通过计算机的运算,给出分析和解答。
从十七世纪开始,数学家和哲学家就都在探索如何将关于世界的知识归纳起来,并且用一套严谨的符号体系进行表征。
欲知详情请看:#编程语言简史 | 【Life is short Show me the code】
在这个过程中,数学家们奠定了现代编程语言的运算逻辑。
大名鼎鼎的艾伦·图灵(可参考电影《模仿游戏》)在此基础上描述了一种通用的计算机模型,图灵机由此诞生。
而后,冯·诺依曼等人用电子管实现了这种模型,这便是今天计算机的雏形。
虽然当时的技术无法达到真正 “人工智能” 的程度。
但是时至今日,所有的编程语言依然沿着图灵机原理和冯·诺依曼体系发展。
现代编程语言已经能够完整地描述某一个现实领域的问题,并通过运算规则,操作计算设备获得分析过程和结果。
看看你手机里的游戏,PC上的大型软件,上述观点不言自明。
如果喜欢,别忘了评分{:10_281:} :
http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif
TIPS:点击上方“目录”即可跳转到其他章节{:10_336:}
什么是 “编程思维”?
与人类的正常思维不同,程序的逻辑思维是严谨完善的。
截止到目前,机器的宽容度在很大程度上还远不如一个低年龄的儿童。
也就是说:
不管多么厉害的代码,有时一个分号出错就集体罢工。
毕竟编程语言最终要作用于机械,因此编程思维很大程度上是一种线性思维,需要符合机械的流程。
所以,想学好编程,就要养成这种理性的逻辑思维方式,并且建立自己的知识体系。
比如可以经常画流程图和时序图,或者编写伪代码来练习。
其实,随着技术的演进,编程已经没有想象中那么难了。
越来越多的普通人,只需要经过简单的训练,就可以完成业务逻辑的编码工作。
就像现在鱼C最火的Python,就是非常好的入门语言,最重要的是小甲鱼出品。
推荐阅读:为什么Python语言这么火 | 【简单粗暴直接】
如果喜欢,别忘了评分{:10_281:} :
http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif
TIPS:点击上方“目录”即可跳转到其他章节{:10_336:}
什么是 “程序员”?
大多数程序小白在遇到电子设备的问题时都会想请教程序员。
在他们意识中:
好像凡是会写代码的,都会修电脑,修手机,修一切的电子产品……
没错,程序员大多对电子设备有相当的了解和控制力。正是这种行为模式让外人产生程序员就是电子产品的医生
程序员,简单来说就是:
可以控制机器按照自己的意图做事的人。(请大声朗读出来)
程序员必须具备模块化的思维能力,要能正确评估自己的模块对整个项目中的影响及潜在的威胁。
如今,随着可穿戴设备和智能家居设备的逐步普及,越来越多的传统设备配备了操作系统,成为了可编程设备。
也就是说:
程序员们可以编写程序改变世界的机会,也越来越多。
就像越来越多加入鱼C的朋友,你们已经开启用编程改变这个世界的生活。
如果喜欢,别忘了评分{:10_281:} :
http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif
TIPS:点击上方“目录”即可跳转到其他章节{:10_336:}
什么是 “优秀的程序员”?
现在能写代码的人不少,但是能成为优秀程序员的人却并不多。(看起来像鸡汤,其实是事实)
这导致:
很多学编程的人找不到工作,同时很多高薪的工作却无人应征。看一看每个月从号称“管分配”的编程培训班毕业的人,有多少人能找到工作呢?
所以:
单纯地解决业务问题,并不能成为一个优秀的程序员。
一个优秀的程序员还需要充分了解你写的代码!
一个优秀的程序员还需要充分了解你写的代码!!
一个优秀的程序员还需要充分了解你写的代码!!!
上面那句话意味着:
你不仅需要知道写出的代码能够解决什么问题,你还需要知道系统是如何执行代码的。
甚至执行代码能给系统带来什么改变。
一个优秀的程序员不仅仅是会编写程序,而且要具备刨根究底的精神,一步步追踪到硬件的执行。
如果喜欢,别忘了评分{:10_281:} :
http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif
TIPS:点击上方“目录”即可跳转到其他章节{:10_336:} {:10_254:}
compile now is an important part of my life {:10_256:}{:10_256:}{:10_256:}这个目录实现的不错啊 lumber2388779 发表于 2017-10-13 10:13
这个目录实现的不错啊
{:10_275:} 专注于工作也是一种美好{:10_266:} {:5_90:} 感谢大佬
页:
[1]