不二如是 发表于 2017-10-13 09:23:14

关于编程,你该知道的几件‘什么是’ | 【力荐】

本帖最后由 不二如是 于 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:}

BngThea 发表于 2017-10-13 15:29:12

{:10_254:}
compile now is an important part of my life

lumber2388779 发表于 2017-10-13 10:13:58

{:10_256:}{:10_256:}{:10_256:}这个目录实现的不错啊

不二如是 发表于 2017-10-13 15:26:56

lumber2388779 发表于 2017-10-13 10:13
这个目录实现的不错啊

{:10_275:}

YINXINGSHU 发表于 2017-11-7 22:49:13

专注于工作也是一种美好{:10_266:}

焦作棒棒糖 发表于 2018-7-11 15:29:01

{:5_90:}

随意的风 发表于 2019-6-18 22:53:59

感谢大佬
页: [1]
查看完整版本: 关于编程,你该知道的几件‘什么是’ | 【力荐】