人物10457 项目5215 室内592 家居及产品164 文章2393 方案1386 摄影788 视频225 图书201 读者来稿 最新评论21,730 所有作品11438 所有图片156,152
为什么初学编程我建议从Python开始(转载)
对于初学者,甚至对于业余开发者,Python都是最好的入门路径和首选的工作语言。而我也想提醒,想从事编程这个行业,或者想把编程作为一个爱好,或者本职工作的强大助力的朋友们。编程当然是一件复杂的事情,但是复杂应该复杂在处理那些复杂的问题,而不是在入门。在日常工作学习上,选用最好用易用的工具,一直都是这一个行业的应有之义。
来源:互联网

本文转载自一资深程序员员的博客

作者: tinyfool
时间: 2020.4.14

从1992年算起,我写程序已经写了28年,从2001年上班算起,我写程序也写了19年了。编程最早就是我的一个爱好,然后整个职业生涯编程养活了我,让我过了一个还不错的生活。到了这些年,我写文章的收入日益增长,变成主业。但是编程并没有离开我的生活,它又变成了我的一个爱好。

在92年的时候,我还刚上初中,我就认识到了,未来整个世界都会是被计算机驱动的。作为一个少年,我觉得我的前瞻能力还是蛮强大的。那个时候,其实对欧美来说,计算机也没那么普及,中国就更难说计算机有多大用处了。要知道这离互联网泡沫还有8年呢。对现代的这些生下来就玩互联网和手机的年轻人来说,简直就是史前年代的感觉。他们可能很难理解那时候的人类是怎么吃饭,娱乐和买东西的。

嗯,我就是从那个史前年代来的。

我学的第一个语言是Basic。简单易学,但是一直被诟病不够强大。后来,我不得不学了好多种语言。仅在工作之前,我就已经学过Pascal,C/C++,甚至我们大学当时还有Foxpro的课程。

我刚开始工作的,甚至在我工作了很多年,一直都有一种学啥都不如C++的鄙视链。最早在中国,玩Java的人都会被嘲笑没有办法接触系统底层。我们的技术社区也曾经经常有过一些,“国外某名校用Java教编程”,“用Python教编程”,这样会不会让一代程序员变成不懂系统底层细节的白痴的讨论。

然后,经过了这么多年的发展,计算机语言越来越多,也越来越简单。大家越来越理解,那么多不同的语言,都可以发展的很好。这是因为在不同的领域,需要不同的抽象模型,不同的架构,以应对不同的需求,不同的领域知识。百花齐放,争奇斗艳,所以行业才能高速的成长和发展。

所以,这两年,有人问我初学编程应该从什么入门的时候,我总是推荐Python。原因如下:

1. 简单、简洁、易学

这些特质曾经是某些人嗤之以鼻,甚至抵制的。他们认为不从最底层讲起,不把一门语言的学习搞的非常痛苦,就不是真正的深入的学习,就无法培养高手,甚至就是大逆不道的。

事实上,我们不管使用什么工具,学习什么技术,最终都是为了解决问题。如果一个东西简单易学,表达简洁,那么自然可以方便我们入门,也可以让我们更轻松的解决问题,何乐而不为呢?

至于什么深入学习,培养高手,那其实都是入门以后的事情。把入门的门槛一味拉高,只能让很多人知难而退,只能减少编程的快乐。

2. 结合实际,上手快,鼓励动手

事实上中国的大学里面以前都有C语言的教育,看似是从基础抓起,但是大多数人只学会了在课本上介绍的IDE里面写几个简单的打印*的代码。根本不知道怎么把编程知识和自己的工作生活结合起来。大多数学了就学了,一辈子也用不到,而且很快就忘掉了。白白遭受了痛苦。

而Python很简单,很容易上手。这是因为Python是一个相当现代的语言,而且设计理念和社区风格都是从实用出发,各种库和开源lib应有尽有。

3. 紧跟时代,面向未来

其实早期,Python更像一个胶水语言,方便快捷,但是很多时候都被当做小工具使用。但是这些年来随着Python受到程序员的广泛欢迎,开源社区的努力,等等的加持下,Python的功能越来越强大。用Python来构建大系统,复杂任务的例子越来越多。

特别是最近几年,随着机器学习,AI,深度学习的越来越流行和普及。Python已经成为这个领域里面的首选语言。很多时候学习AI,就是在学习怎么用Python来开发AI。

这里面有很多好玩的历史原因,比如大多数AI领域的研究者都喜欢用Python,它兼具了一般编程语言的强大功能,又兼具了R之类的数据处理专业语言的强大数学能力。于是很多深度学习,AI的库都采用了Python为主要的语言。再比如,实际上大多数科研人员并没空学更加”强力”的语言之类,但是他们用了Python以后发现,他们也根本不需要去学习那些传说中更加“强力”的语言。

对于初学者,甚至对于业余开发者,Python都是最好的入门路径和首选的工作语言。而我也想提醒,想从事编程这个行业,或者想把编程作为一个爱好,或者本职工作的强大助力的朋友们。编程当然是一件复杂的事情,但是复杂应该复杂在处理那些复杂的问题,而不是在入门。在日常工作学习上,选用最好用易用的工具,一直都是这一个行业的应有之义。

相关文章

建筑师为什么要会python编程?
Caad4Rhino:建筑绘图工具插件
Rhino及Bob McNeel的故事(转载)
递归算法(一)
递归算法(二)

建筑师编程课推广

ikuku精选课 Python4Rhino 建筑师编程课 第3期 2020.6.27开始线上直播!讲师:马海东

1-818x369

 

2020.05.07
请帖个标签,写个点评吧!
标签(多个标签用逗号隔开) 登录可保存标签
绑定新浪微博可评论

小贴士


标签收藏可以有利于您以后的内容分类管理
->进入收藏管理页


blog comments powered by Disqus