我儿子10岁,想学coding,请问有什么好的教材吗?
其实我真不觉得编程有什么好的,特影响思维,最后就变成一个谨小慎微,严守了逻辑,精雕细作的匠人。孩子那么小正是开拓思想的年纪,应该让他放眼往远看。不要束缚他。做了几年码农,思维已经成习惯了,做什么事情都把所有情况考虑一遍,估算预期结果。最后结果跟我估算的差不多。这样的生活就失去了很多随机的东西,比如中大奖,比如遇贵人,往往不再敢冒险抓机遇了。冒险抓了也不自信不踏实。只有按照自己算的设计的走才安心。倒是不会出大事吃大亏。也挺没意思的。
那是最低端的初级水平的程序员。程序员也能think big,而且也应该如此,这样设计的东西才具有灵活性和可扩展性。程序员思维缜密,但不是谨小慎微,不是怕出错(甚至希望尽快暴露错误),而是崇尚尽量从一开始就不要把错误放进代码,就像中医的“不知已病治未病”一样。
至于小孩学编程序,可能还是从学习数学,学习逻辑思维开始更好吧。就像小孩学武术(特别是内家拳),不如去跑跑步打打球更好一样。
学学素描,尤其头像素描,等今后长大了,一群一群的女生来找画像。哈哈有几个人能熬过低端初级程序员水平。就跟演员跟群演似的。又能出几个王宝强。以为最求“灵活性和可扩展性”最后你发现你写的程序就是什么都不是。“希望尽快暴露错误”的心态还是玩的心态。程序不可能没错,只要在要求的范围内不出错就可以了,要不怎么赶得上进度。我当过程序员,我知道程序员的痛苦,可能个别人很enjoy这东西。我不是。如果一个孩子特enjoy这个活,我觉得也走偏了,只是少在孩子成长发育时候别进到这里去。就跟沉默打游戏一样有害。思维缜密,谨小慎微,在写程序上,你怎么把握。你写段程序错一段程序,绝对耽误进度。一种算法N种写法,对于客户要求来说,没必要最求最好的,迅速实现,功能稳定才是最重要的。
我写过也见过一些灵活性和可扩展性好的程序。最后这类程序的特点就是几乎个空壳子。另外读程序改程序比写新程序难的多。你写出的灵活性和可扩展性程序,最后也就你一人能懂。因为为了满足灵活性和可扩展性,你只能把程序写的很别扭。观看你程序的人不明白你为啥要这么做,只有理解了以后你要如何灵活性和可扩展性的时候,你才能明白他为什么要这么写。
所以让孩子玩玩别的吧,比写程序健康。如果连他逻辑性,可以让他做做电工什么的。
有几个人能熬过低端初级程序员水平。就跟演员跟群演似的。又能出几个王宝强。以为最求“灵活性和可扩展性”最后你发现你写的程序就是什么都不是。“希望尽快暴露错误”的心态还是玩的心态。程序不可能没错,只要在要求的范围内不出错就可以了,要不怎么赶得上进度。我当过程序员,我知道程序员的痛苦,可能个别人很enjoy这东西。我不是。如果一个孩子特enjoy这个活,我觉得也走偏了,只是少在孩子成长发育时候别进到这里去。就跟沉默打游戏一样有害。思维缜密,谨小慎微,在写程序上,你怎么把握。你写段程序错一段程序,绝对耽误进度。一种算法N种写法,对于客户要求来说,没必要最求最好的,迅速实现,功能稳定才是最重要的。
我写过也见过一些灵活性和可扩展性好的程序。最后这类程序的特点就是几乎个空壳子。另外读程序改程序比写新程序难的多。你写出的灵活性和可扩展性程序,最后也就你一人能懂。因为为了满足灵活性和可扩展性,你只能把程序写的很别扭。观看你程序的人不明白你为啥要这么做,只有理解了以后你要如何灵活性和可扩展性的时候,你才能明白他为什么要这么写。
所以让孩子玩玩别的吧,比写程序健康。如果连他逻辑性,可以让他做做电工什么的。
你把软件开发写得太阴暗了。其实不是这样的,或者说可以不这样。可能在什么样的公司和做何种工作决定了性质如何。不能否认有那种需要写大量垃圾代码的地方和情况,但不都是这样的。其他各行各业也是如此啊。编程序跟写文章一样,不是白话就好或者文言就好,也不是用晦涩的字就好,而是要根据TPO用恰当的语言词句。好的文章让人读了赏心悦目,好的程序也是,让人和机器读了都很舒服。
经验丰富写程序不可能让你有时间去雕琢好的程序,而且你也不可能一人写全部程序,只有大家都按照统一约定写程序才会有可读性,比如排序,有好几种,必须得规定大家都用一种排序方法,这样写的程序才好读,还有能不用递归就不用递归,觉得递归虽然简介,但是真是读起来费劲。还有能用数组就不要用链表。这都是当年写程序的经验。可读性最重要,记得当初客户科技部有2大拿,谁也不服谁,写个程序你要二叉树实现,我就要堆栈实现,总之我要跟你不一样,看着挺牛,最后读他俩的程序是最费劲的。而且不还写文档,让他们出文档不出,说源代码写的很清楚了,让我自己去读,最后整个一个没法交接,出了错还要找他去查,最后一查,哦用错版本了。这种事太多了。
写程序不是写文章,文章是在表达自己的想法,程序是在描述想法,绝对不能让程序去lead你的想法。比如一个程序实现,如果你这么写通用性就好,灵活性就强了,最后所有程序对在一起,就变成可读性差。当时我们写程序追求灵活性通用性,去另外一个客户改改就能用了,减少了开发时间。但是最后灵活的地方太多了,咋管理,最后引入XML配置文件管理吧,最后配置文件也多的需要管理了。再来个新人接手也是件非常复杂的事情。最后写程序变成了配程序。一点没省事,还不爱干。配程序的人出了知道怎么写配置文件,啥也不会了。
所以coding是一个见最无趣的事情,干过以后,就不想再干了。如果非要说写程序跟谢文章一样,那些程序也是跟写八股文一样的。
想省事,其实是造就了更多的麻烦事写程序不可能让你有时间去雕琢好的程序,而且你也不可能一人写全部程序,只有大家都按照统一约定写程序才会有可读性,比如排序,有好几种,必须得规定大家都用一种排序方法,这样写的程序才好读,还有能不用递归就不用递归,觉得递归虽然简介,但是真是读起来费劲。还有能用数组就不要用链表。这都是当年写程序的经验。可读性最重要,记得当初客户科技部有2大拿,谁也不服谁,写个程序你要二叉树实现,我就要堆栈实现,总之我要跟你不一样,看着挺牛,最后读他俩的程序是最费劲的。而且不还写文档,让他们出文档不出,说源代码写的很清楚了,让我自己去读,最后整个一个没法交接,出了错还要找他去查,最后一查,哦用错版本了。这种事太多了。
写程序不是写文章,文章是在表达自己的想法,程序是在描述想法,绝对不能让程序去lead你的想法。比如一个程序实现,如果你这么写通用性就好,灵活性就强了,最后所有程序对在一起,就变成可读性差。当时我们写程序追求灵活性通用性,去另外一个客户改改就能用了,减少了开发时间。但是最后灵活的地方太多了,咋管理,最后引入XML配置文件管理吧,最后配置文件也多的需要管理了。再来个新人接手也是件非常复杂的事情。最后写程序变成了配程序。一点没省事,还不爱干。配程序的人出了知道怎么写配置文件,啥也不会了。
所以coding是一个见最无趣的事情,干过以后,就不想再干了。如果非要说写程序跟谢文章一样,那些程序也是跟写八股文一样的。
程序是给人看的,不是给机器看的写程序不可能让你有时间去雕琢好的程序,而且你也不可能一人写全部程序,只有大家都按照统一约定写程序才会有可读性,比如排序,有好几种,必须得规定大家都用一种排序方法,这样写的程序才好读,还有能不用递归就不用递归,觉得递归虽然简介,但是真是读起来费劲。还有能用数组就不要用链表。这都是当年写程序的经验。可读性最重要,记得当初客户科技部有2大拿,谁也不服谁,写个程序你要二叉树实现,我就要堆栈实现,总之我要跟你不一样,看着挺牛,最后读他俩的程序是最费劲的。而且不还写文档,让他们出文档不出,说源代码写的很清楚了,让我自己去读,最后整个一个没法交接,出了错还要找他去查,最后一查,哦用错版本了。这种事太多了。
写程序不是写文章,文章是在表达自己的想法,程序是在描述想法,绝对不能让程序去lead你的想法。比如一个程序实现,如果你这么写通用性就好,灵活性就强了,最后所有程序对在一起,就变成可读性差。当时我们写程序追求灵活性通用性,去另外一个客户改改就能用了,减少了开发时间。但是最后灵活的地方太多了,咋管理,最后引入XML配置文件管理吧,最后配置文件也多的需要管理了。再来个新人接手也是件非常复杂的事情。最后写程序变成了配程序。一点没省事,还不爱干。配程序的人出了知道怎么写配置文件,啥也不会了。
所以coding是一个见最无趣的事情,干过以后,就不想再干了。如果非要说写程序跟谢文章一样,那些程序也是跟写八股文一样的。
写程序不可能让你有时间去雕琢好的程序,而且你也不可能一人写全部程序,只有大家都按照统一约定写程序才会有可读性,比如排序,有好几种,必须得规定大家都用一种排序方法,这样写的程序才好读,还有能不用递归就不用递归,觉得递归虽然简介,但是真是读起来费劲。还有能用数组就不要用链表。这都是当年写程序的经验。可读性最重要,记得当初客户科技部有2大拿,谁也不服谁,写个程序你要二叉树实现,我就要堆栈实现,总之我要跟你不一样,看着挺牛,最后读他俩的程序是最费劲的。而且不还写文档,让他们出文档不出,说源代码写的很清楚了,让我自己去读,最后整个一个没法交接,出了错还要找他去查,最后一查,哦用错版本了。这种事太多了。
写程序不是写文章,文章是在表达自己的想法,程序是在描述想法,绝对不能让程序去lead你的想法。比如一个程序实现,如果你这么写通用性就好,灵活性就强了,最后所有程序对在一起,就变成可读性差。当时我们写程序追求灵活性通用性,去另外一个客户改改就能用了,减少了开发时间。但是最后灵活的地方太多了,咋管理,最后引入XML配置文件管理吧,最后配置文件也多的需要管理了。再来个新人接手也是件非常复杂的事情。最后写程序变成了配程序。一点没省事,还不爱干。配程序的人出了知道怎么写配置文件,啥也不会了。
所以coding是一个见最无趣的事情,干过以后,就不想再干了。如果非要说写程序跟谢文章一样,那些程序也是跟写八股文一样的。
绝对不会耽误人,没见到一个程序员成为大拿的。做的再好的程序员,最后的发展都是觉悟然后转行,就是早晚问题。我认识的不认识的都是这经历,所有IT有头有脸的,没一个是程序员大拿的,到时候不少很早就觉悟了,这才出来的。以后程序员这个职位会越来越少。让我想起了以前有个职位是收发电报员,就看谁电报码记得清楚,最后怎样,已经没人干这个了吧。程序员也一样,任何项目产品兴衰都不会因为一个程序员好坏来左右。怎么说呢?这只能说是你个人的体验和喜好,不能代表所有人和所有情况吧?你那样仅仅根据自己的经验武断地一棒子打死,会耽误人的。其实,做哪行哪业不都是一样呢?就算是到餐馆里端盘子刷碗,也一定有不同的参与心理与服务水平的存在。一切都在很大程度上可以自己把握。就像在以前十分艰苦的生活条件下,还是有些人会有一些生活情趣一样。
真诚的经验绝对不会耽误人,没见到一个程序员成为大拿的。做的再好的程序员,最后的发展都是觉悟然后转行,就是早晚问题。我认识的不认识的都是这经历,所有IT有头有脸的,没一个是程序员大拿的,到时候不少很早就觉悟了,这才出来的。以后程序员这个职位会越来越少。让我想起了以前有个职位是收发电报员,就看谁电报码记得清楚,最后怎样,已经没人干这个了吧。程序员也一样,任何项目产品兴衰都不会因为一个程序员好坏来左右。
所以不要把时间跟精力浪费在写程序上,要看的高远一些。
绝对不会耽误人,没见到一个程序员成为大拿的。做的再好的程序员,最后的发展都是觉悟然后转行,就是早晚问题。我认识的不认识的都是这经历,所有IT有头有脸的,没一个是程序员大拿的,到时候不少很早就觉悟了,这才出来的。以后程序员这个职位会越来越少。让我想起了以前有个职位是收发电报员,就看谁电报码记得清楚,最后怎样,已经没人干这个了吧。程序员也一样,任何项目产品兴衰都不会因为一个程序员好坏来左右。
所以不要把时间跟精力浪费在写程序上,要看的高远一些。其实最不值钱的就是程序员。我只要说清楚我要什么,任何高中生以上的人都可以学习个2月给你搞定。