python因为其自身属性而引来一群粉丝,争相进行研究学习,正在风头上的时候有人却说使用python会降低程序员的编程能力,这是真的吗?其实传智播客分析了一下,那些都是关于python的好处。这样的话我还要去进行python培训学习吗?就这个问题本文给大家带来一些参考意见:
用一把利剑会降低你的武功吗?
用玄铁重剑会降低你的武功吗?
用木剑会降低你的武功吗?
同样的道理,用python会降低你的编程能力吗?
用c++会降低你的编程能力吗?
用java会降低你的编程能力吗?
编程能力和你用什么语言,没有直接关系。
亲眼见过用excel开发的游戏和网站原型。
关键在于你运用的足够精湛!
回答这个问题,首先,我们要清楚什么是编程能力?
算法吗?数据结构吗?操作系统吗?是对语法的熟练程度吗?是源码的阅读量、代码的编写行数吗?搭个网站算是编程能力吗?都不是。
编程能力是在遇到实际问题后,将问题分解、剖析、解决的能力;说穿了,就是知乎上已经说过无数遍的:解决问题的能力。
把编程能力做个拆分,大概是:
算法能力:对已知问题进行数据结构和算法的设计能力;
语言能力:用特定编程语言实现已知算法的能力。
从中又可以衍生出代码风格、抽象能力、语言理解、工具使用、工程能力。
但这些能力,无论如何汇总拆分,都是在解决问题。
Python影响到你解决问题了吗?我们先看一下Python的语言特性。
Python的特点是什么?
简单————Python是一种代表简单主义思想的语言。Python的这种伪代码本质是它最大的优点之一
易学————就如同你即将看到的一样,Python极其容易上手
高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
跨平台————你可以在多个平台上进行使用。
面向对象————Python既支持面向过程的编程也支持面向对象的编程
可扩展性————可以将部分程序用C或C++编写,然后在Python程序中使用它们
可嵌入性————你可以把Python嵌入你的C/C++程序
丰富的库————Python标准库确实很庞大
Python的缺点呢?
强制缩进————Python程序员必备游标卡尺
运行速度————相比某些语言算是黑点之一
Python的特点影响到你能力了吗?
看完了Python的特点,我想没有人会觉得这些影响编程能力吧?
是的,Python运行慢,但是Python写得快,两相权衡之下,我认为并不成为无法解决的问题,更不至于影响编程能力。
那我们试着来猜测一下讲述这个问题的人背后的故事:
Python语法简单、现成的轮子多,也不用接触一些很底层很烧脑的东西,所以就有了使用python让程序员编程能力下降这一说。
但是问题就在于,就算我压根不懂C语言,我不明白什么叫指针,我不会自己造轮子,但是我能用Python把问题解决,这就是python的价值和这门编程语言的魅力之处。
你用着所谓“能够提高编程能力”的语言,花了一天时间写出来的代码,我Google到一个现成的库,不到半小时搞定了。
你告诉我这影响到我的编程能力了吗?
任何语言的使用都是有场景、有目的的,比如:
我用Python,目的就是最快的搞定某件事;
我用C,就是为了更底层、更优化;
我用Java,就是看上了它的库;
我用PHP...
其实,不同语言的社区训练出的程序员的能力侧重点还是不一样的,但都是能力的体现:
1. C 程序员对于内存管理,计算机体系的理解能力;
2. C++ 程序员对元编程的理解能力;
3. Java程序员对于OO和设计模式的理解,对规模项目掌控的能力, 对虚拟机实现理解的能力;
4. Ruby程序员创造Web应用的能力;
5. Python 程序员在小中型Startup中应对各种问题的能力;
6. Javascript 程序员研究颠覆同行对Web交互认知的技术的能力。
编程能力主要体现在将复杂问题简单化,简单问题模式化的能力, Python有大量的开源库值得我们去学习,你会学习很多很灵巧的设计方法和设计模式,将它与C结合紧密,实现优雅与效率的紧密结合,python有着清晰易读的代码,而且传智播客的
python培训课程非常适合零基础学python入门。