某些情况下会降低编程能力,某些情况下会提升编程能力,要看你怎么理解“编程能力”。

1、使用 Python 会降低程序员的编程能力,这个假设成立的情形

如果强行要说使用Python可能存在的弊端,那就是“对底层实现不敏感”这方面了。

举个基础的例子,比如:l = [1, 2]

l.extend([3, 4, 5]) #方法一

l += [3, 4, 5] #方法二

以上的方法1和方法2功能一样,但底层实现差异挺大的,过程中新建对象的数量不同。

还有很常见的,比如用加号连接字符串导致效率下降的例子。甚至以下这两句效率差异也挺大:a = 1+2

b = 10001 + 10002

a和b都没有超过int范围,但是执行效率有差异。

日常使用Python写代码的人,都可能不会注意这个级别的效率问题。但是这些问题关系到GC所以也不能随便说忽略不计。

(话又说回来,优化性能最优先还是要考虑改进整体设计,在整体设计没有太大改善空间的时候,才会关注这些细节的优化。)

一些常见的Python使用领域,比如用Django做网站、用numpy做计算,通常热点问题并不在代码执行效率这块,所以对底层实现就更不关心了。比如一个用numpy做计算的科学家,可能会思考如何优化算式以减少矩阵相乘的次数,而不会去关心Python底层是如何实现的。

2、使用Python提升编程能力的情形

使用Python提升编程能力,常见于做小工具、小算法的情况。

一个只会C/C++的程序员,在做一些算法实验的时候会比较头疼。比如写一个脏字过滤树,如果用STL,连数据类型都要花点时间才能想清楚;如果从头造一些轮子就更麻烦,深思熟虑才能动手。

而Python在这方面确实有得天独厚的优势,有什么想法直接动手就干了,连想带试,很快就能验证自己的想法对不对。

特别是遇到一些可视化的小问题,比如把下面这张图转为矩阵: />

有了PIL库确实想都不用想,最多百度一下API就解决了。

有想法用Python验证成功后,再用C/C++实现。按图索骥,易如反掌。

这就是典型的Python提升编程能力的情况。

我们的思维是层次化的,高层与底层有关联,但不可互相代替。

举个很恰当的例子——一个人掌握的汉字水平和他的语文水平有什么关系?汉字掌握太少语文水平肯定高不到哪去;

但是确实有大字不识几个,但口头表达能力很强的人;

一个人掌握几千个常用汉字以后,记住更多汉字对提高语文水平就不会有直接性帮助;

字写的漂亮但是思维没有逻辑性,语文水平还是不行。

有一种常见的错误观念。有些基础扎实、计算机专业出身的人可能会觉得其它人对计算机和语言底层了解太少,“能力”不够强。

但是实际上,用Python语言解决问题的能力,和Python的底层实现确实关系不大。通读Python源码就能写出一流的Python代码,这句话本身,以及它的逆命题、否命题、逆否命题都不成立。

终究,编程能力没有统一的标准。相对客观的标准是解决问题的能力;也可以说是某人在特定领域达到的深度,以及整体知识技能的广度。

python好学吗 老程序员-使用 Python 会降低程序员的编程能力吗?相关推荐

  1. python好学吗要有什么基础-Python好学吗难不难?0基础能学会吗?

    大家都知道,Python是一门非常不错的编程语言,应用领域广泛,薪资待遇高,发展前景也是非常不错的,吸引了很多爱好者,那么Python好学吗难不难?零基础可以学会吗? 1.Python好学吗?0基础可 ...

  2. python好学吗 老程序员-学习python,难道是为了当一名苦逼的程序员吗?

    最近在和朋友聊天的时候,朋友问了我这样一个问题,问我:你报培训班学习python有用吗?听说程序员虽然工资高,但是工作强度很大,天天加班而且还会遇到中年危机,不像律师,会计这种越老越挣钱.当我听完后, ...

  3. python好学吗 老程序员-今天面试了一个34岁大龄程序员,有感而发

    原标题:今天面试了一个34岁大龄程序员,有感而发 " 昨天,我面试了一个34岁的大龄程序员--我给人事的建议是P4,结果人事说:那直接让他走吧. " 我一直以为他们在开玩笑! 结果 ...

  4. python好学吗 老程序员-为什么会有程序员不喜欢 Python?

    我个人不是很喜欢python.日常使用ruby比较多,正好对比一下.首先提个醒,以下仅代表个人意见. python和ruby对比一下,python赢在了哪里呢?用的人多所以库多 性能好一点 语法元素比 ...

  5. python好学吗一般要学多久-python好学吗

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 先来装逼一下[传说我还是第一个vip周末班完成] 大家好,本人刚学完课程 ...

  6. 0基础小白学python好学吗-零基础适合学Python吗?小白能否学会Python?

    原标题:零基础适合学Python吗?小白能否学会Python? 我没学过编程,能否学会Python? 肯定的回答您:完全能学会 其实,很多个程序员都是从不会到会,每种知识也是从基础到复杂,大家都是从零 ...

  7. python好学吗自学要学多久,python自学多久能学会

    python自学需要多久 半年到一年半左右,如果有其它编程言语的经历大概需求2个月到3个月. 自学Python的出发点,Python在数据的分析处理上有自己独特的优势,前些年的互联网一直在收集用户的信 ...

  8. python好学吗 老程序员-想自学程序员,朋友推荐了python,靠谱吗?

    回答这个问题核心的一点是题主的目标."想自学程序员",因此目标是就业对吧,而不是自己使用.如果是这样的话,并不推荐Python给你,原因我下面分析. 如果是想入行做软件开发工作,那 ...

  9. python好学吗一般要学多久-Python好学吗?精通Python需要多长时间?

    说起编程语言,想必Python是非常受欢迎的一门技术,目前Python在市场上占据了重要的作用,不少企业都在使用Python语言,因此让更多人都看中了Python前景,想要加入其中.那么Python真 ...

最新文章

  1. Oracle SCN
  2. 向往的生活---考研路上的励志鸡汤
  3. 谈谈InnoDB下的记录锁,间隙锁,next-key锁
  4. 北斗导航 | 北斗三号全球导航卫星系统6类服务测试评估
  5. php验证数字100倍数,js如何实现一个文本框只能输入数字 且是100的倍数
  6. [html] 用一个div模拟textarea的实现
  7. python可以实现操作系统管理_Python并发编程 —— 操作系统基础
  8. java quartz spring_JavaLib-quartz | 基于Spring Boot Quartz开发的定时任务
  9. android蜂巢效果、环形菜单、Kotlin影视应用、简约时钟、查看导出App、支付宝AR扫码效果等源码
  10. 如何让Ubuntu联网
  11. 当上技术领导以后才明白的事情
  12. The server cannot or will not process the request due to something that is perceived to be a client
  13. 技术债务_不要浪费时间跟踪技术债务
  14. 微软服务器2016各版本区别,Win10各版本区别 最强的你绝对没猜到
  15. C++实验六:继承,对BMP图片操作
  16. 循环队列的应用——舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时,依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。假设初始男、女人数及性别
  17. OSI模型 四层发现-nmap(诸神之眼)工具介绍
  18. 领航未来,2022 世界人工智能大会「元宇宙的数字原生进化」论坛等你来!
  19. win cmd 打开D盘
  20. 二重积分的计算.02

热门文章

  1. Chino的成绩(chino的公开赛T3)
  2. php设计模式八-----装饰器模式
  3. nginx thinkphp 配置pathinfo
  4. ConfigParser-- 读取写入配置文件
  5. python django -5 进阶
  6. Maven快照机制(SNAPSHOT)
  7. 2017.04.02【NOIP 普及组】模拟赛C组 T1:区间
  8. Missing artifact jdk.tools:jdk.tools:jar:1.6
  9. winform修改、打开窗体、构造函数传值
  10. mysql Replication机制