不要用面向对象来迷惑程序员新手
当我被问及“哪种编程语言是教我[儿子 / 女儿 / 其他没有编程经验的人的首选]时,”我的答案这五年多来一直没变:Python。
这也许会出乎你的意料,经常有人会说这是非主流语言,但我坚持我的看法。
Python十分适合解决很多简单的、有趣的问题,比用C语言要省力的多。(这是实话,几行Python代码你就能制作一个简单的拼写检查程序。)你会发现这种语言里几乎没有任何复杂或让人困惑的东西,用它编程简单易懂,比如说数组更新你可以用固有的方法来实现任何的操作算法。在Python里,你学习的曲线很平滑。数组,字典,集合是最主要的东西。
把Python当作入门语言,有一点需要注意:避免使用面向对象特征。你当然不可能完全的回避它们,有些基本数据类型里一些有用的方法跟它们有关 联,问题不大。你只是使用它们已经提供的东西,不要去创建什么类,要避免任何的面向对象设计里的声明,否则的话,你一点点的数据都需要会打包成类。
从面向过程到面向对象的转移带来后果是你从关注问题和解决方法转移到关注架构。你通过对比面向过程的程序和面向对象的程序,很容易能看出这点来。后者的程序会更长,到处是多余的接口和缩进和标记。你也许忍不住想将一些小代码移进类里,或往类里添加一些小方法,这些都没必要,等日后你再做这些也不迟。
当你在帮助某人把一个有问题的语句改正确的时候,你要做的最后一件事是给他们布置一些没有实际用处的技术工作。因为有些人没事时就喜欢玩能一些面向 对象的知识技术,做一些可怕的类继承,最终没有学到他们该学的东西。有些人在学习的时候慢慢的会失去兴趣,因为他们看到了太多的这些没有实际用处的继承、 接口代码,感觉程序越来越笨重、难以处理。
从某方面说,当然,你需要学习一下Python的面向对象的知识,但尽可能的避免使用它们吧。
来源:51CTO
程序员,这四个学习建议值得收藏 大家好,我是本周的值班编辑 江南一点雨 ,本周将由我为大家排版并送出技术干货,大家可以在公众号后台回复“springboot”,获取最新版 Spring Boot2.1.6 视频教程试看。
程序员如何快速提升编程能力? 俗话说得好,不想进大厂的程序员不是一个好程序员。那么作为即将步入程序员大军的小萌新/程序员界的老司机,你们都是如何备战大厂的呢?是否面对网络上纷繁复杂的资料茫然无从下手?抑或是坐在电脑旁埋头敲着代码却找不到一丝存在感?不用怕!今天我就来带大家一起解锁一款程序员必备法宝,帮你轻松提升编程能力,离大厂更进一步。
相关文章
- 程序员社区的聊天工具
- 大龄程序员的出路究竟在何处?从369个过来人问答贴里,我们得到了答案
- [C#]使用 C# 代码实现拓扑排序 dotNet Core WEB程序使用 Nginx反向代理 C#里面获得应用程序的当前路径 关于Nginx设置端口号,在Asp.net 获取不到的,解决办法 .Net程序员 初学Ubuntu ,配置Nignix 夜深了,写了个JQuery的省市区三级级联效果
- 关于测试/开发程序员技术的一些思考,水平很高超的,混不下去了......
- 讨论 | 新浪程序员因加班不在现场错失年会头奖,公司应该给吗?
- 【转】国外程序员整理的Java资源大全
- 光棍节程序员闯关秀-解密
- 《C和C++程序员面试秘笈》导读
- SwiftUI 开发经验之作为一名程序员需要掌握的五个最有力的原则
- 这些年过上幸福生活的程序员(中篇)
- android开发与程序员的副业
- 产品经理与程序员的矛盾从何而来?(给产品经理们的建议,给程序员的建议。程序员处在信息传导到最末端,因此比较弱势、信息不准确)
- OpenAI发布ChatGPT:程序员瞬间不淡定了
- 12款程序员们最爱的Bootstrap模板