【洪强宁的回答(89票)】:

太多硬伤和臆想,懒得批。只说“代码超过 10w 以后你就别想用 python 开发了”这一句,2012年4月豆瓣主站项目代码行数就近50万行了,可我们还在用 python 开发。

【刘鑫的回答(42票)】:

我写过几年Python,也写过几年CPP,写过几年CS,Python做大项目没什么问题,不会比其它主流语言更差,项目的可控规模多大,主要还是取决于人,不是语言——语言当然有差别,但是没有宣传的那么大。至于开发工具的问题,高水平的开发人员根本不会依赖开发工具。而且,Python本身不是那种非常依赖代码补全等功能的技术,我习惯的组合是emacs+ipython+python-mode,用doctesting做TDD,效率很高。最近一段用sublime text比较多,也没觉得离开习惯的环境就做不下去。

至于错误在运行时,这就看自动化测试的水平了。Python项目出现的bug不会比CPP或Java更高。

如果用不好,什么都是烂语言。这是个相当廉价的态度。

==========

看了一下链接里的文章,觉得挺可乐,那位老兄根本不知道Python比Java还要早一年发布吧……(准确的说,1994年是python发布了1.0版,而第一次publish代码是在1991年的0.9.0版)

【猛禽的回答(3票)】:

虽然在TL组的另一个帖里回复过这位microcai,既然在这里看到就再说一下吧。

在那个帖里,他说道:

但是说实话,他这段恰恰就是“缺乏根据在那里胡扯”,而且是从开始提到python就扯——比如解释器比编译器(他还给说成了汇编)简单,除了C++那种变态级别的编译器,python的解释器不比其它编译器简单多少。另外,python也需要编译为pyc,除非说.net/java也是解释语言,何况就算是编译成目标代码,也有cython这种间接方式,或是pypy这种动态方式。

当然我不会真的逐条反驳这么浪费时间的,上面这条就足够说明他的问题了。

回到楼主的问题上:python是否不适合大型项目?

成功的例子参见 @洪强宁 等人的答案。

事实上项目管理的根本问题是对人的管理。java之所以适合做大项目,很大原因在于比较容易找到一帮水平差不多的人,并且管理起来也比较容易。python的优点是易学,虽然找一大帮人不容易,但培养起来比较快,规划得当问题也不太大。但是C++就不同了,找一帮会C++的人不难,但是水平参差不齐,如顶楼匿名人士所说“你修不盈新手挖的坑,扶不正老人搭的庙”,就算是找到一帮C++高手,还各有各的习惯和爱好。至少python还有pythonic这条阳关道。

【梁涛的回答(7票)】:

根据这些年用过的编程语言,我总结出一条判断语言是否值得学习、使用的指导原则:

易用、灵活、高效,一门编程语言最多只能同时拥有两项。

易用 包括:

1. 简洁,易读、易理解、易写;

2. 一致性好,易协作,易接手维护;

3. 基本构造紧凑;

4. 尽可能自包含,拥有丰富的类库和软件包支持;

5. 可移植,对执行环境的假定越少越好;

6. 从编写到执行,整个过程涉及的工具越少越好,程序易部署;

7. 手册可随手取用。

灵活 包括:

1. 伸缩性好,删除依赖性与加入依赖性一样简单;

2. 允许在不同层次上抽象(含DSL);

3. 支持多种编程范式;

4. 尽可能适用于更多的领域;

5. 可定制语言子集(方言);

6. 可编译执行,也可解释执行。

高效 包括:

1. 编写快,越快越好(考虑工具支持与纯手写);

2. 编译快,越快越好;

3. 除错快,越快越好;

4. 执行快,越快越好。

还有一些特性没有罗列出来。

仔细考虑一下,上述各特性不乏相互对立的,如何取得平衡,完全视应用环境而定。

这些特性考量将与设计哲学相互影响,最终决定一门编程语言的编写风格与使用方式。

但终究,一门编程语言被设计出来的主要目的,是在成本最小化的基础上,尽可能好地解决某些问题。

另外,不从架构角度考虑开发与运维、用户操作的关系,做出来的东西必然到外都是坑,且很难持续。

不要随便看不起一门编程语言,它被发明出来必然有其用处。

在恰当的时机用适当的语言解决正确的问题比什么都重要。

【徐辰的回答(17票)】:

NASA用FORTRAN把人送上了月球;K&R用汇编和B语言写出了UNIX……

有争论哪种语言好的功夫还不如去改改程序里的Bug,优化下执行效率,要不就美化下代码多写两行注释,省得总有人说你正在用的语言是个烂语言……

【李遥的回答(1票)】:

我用Python做过商业项目,在同时支持python2和python3以及各种小版本号的时候觉得被坑了。不是完全没有walkaround,但是回顾时觉得选择Python很不明智

【王亞暉的回答(5票)】:

没有烂语言,只有烂人写的语言罢了。

【池静若的回答(5票)】:

写大项目主要是逻辑的管理,和人的管理能力,与语言没关,有些语言强制加了管理能力,就省了很多管理的规划。举个浅显的例子。

汇编语言是最没管理能力的,甚至变量就是内存和寄存器

C语言有点管理能力,至少分了全局,局部,函数,函数体内变量隔离

汇编就不说了,C语言对于没经验的几个人来说很难写大型程序,

但是简单的规划一下就可以写了

例如,每个变量都前缀个人的名字,int tom_var; char jerry_var;float xx_var;

然后如果需要共用的,就写 int public_var;

函数同样处理,这是个非常好的技巧。。。。。。。

但是这种技巧一直被别有用心的公司讽刺

于是出现了C++;c++ 其实把名字换成了命名空间,然后把一些函数加了class头,然后引入了面向对象的东西。但是class里面加了太多的歧义和难于理解。

于是又出现了,java ,强制用包,类

java算是编译语言走到的极点,算软件工程的产物,加了太多管理和约束的东西

导致写代码又罗嗦,又麻烦。适合大工程,但是效率很低(开发效率)

python出现了,更接近人的语言,高度的逻辑化,用python 基本上比java的逻辑减少了3倍。

大项目本质上是大逻辑的管理,python从理论上说能写比java大3倍的项目

一个语言只要具备了,函数,类,模块,包就是一个具有良好管理能力的语言。

如果你觉得什么语言写不了大程序,仔细思考一下你的逻辑管理能力

或许 c是个好的锻炼方式,如果没有类,每个文件变量会冲突,你该如何解决呢!

分割线----------------------------------------分割线

吐槽。。。。加班中。。。写代码。。。。。随便看到,忍不住吐槽。。。。。,继续写。。。

【Pyclass的回答(1票)】:

哪一种语言没有缺点呢?在适用的领域,用好Python,那Python就是最好的语言,在不适用的领域,即使写再好的程序,也无法完成任务。 烂的不是语言,而是不懂的人把它用烂了、、、

【长风的回答(0票)】:

可以看看OpenStack有多少行代码,或者Django多少行代码

【陈思源的回答(0票)】:

语言只是个工具,python作为动态语言,有快速开发的优势,遇到大项目时,架构是项目成败的关键,至于bug量,完全的团队的水平相关,与语言无关

【alexzhan的回答(0票)】:

Dropbox算不算大型项目?但是基本上所有的客户端都是Python写的。

有很多网站也是用Python开发的,比如豆瓣还有豆瓣的很多客户端都是用纯Python,Quora也是用的Python,不过最近可能转到Scala上了。

【夜末的回答(0票)】:

因人而异

【杨浪的回答(0票)】:

用python的好处就是这位兄弟还在跟你讲python怎么不好的时候 你的1k行的代码都快写完了..

语言之争从来都是毫无意义,好的设计架构才是最重要的

【冯子浩的回答(0票)】:

为什么python没有好的ide……因为不大需要……

为什么python没有强大的debugger……因为不大容易写出有明显bug的程序……

纵使Java死搞类型,该出bug的照样出……

【zhoutall的回答(7票)】:

我记得一句话,写出来的代码目的是给别人看的,顺便可以在机器上执行。

好的代码是可读性强的,好的语言便是为了方便写出可读性强的代码。

我觉得Python很不错

python不适合大型项目_在大型项目上,Python 是个烂语言吗? |相关推荐

  1. python 创意项目_选择创意项目您需要知道的7个步骤

    python 创意项目 There are obvious surface-level positives and negatives to most projects. If you look be ...

  2. python编程怎么建立工程_教你如何用Python脚本快速创建项目

    相信初学Cocos2D者对Python还很陌生,今天本篇教程教你如何用Python脚本快速创建项目. 在Cocos2d-x2.1.4以上的版本中,取消了使用vs模版创建项目的方法,开始使用python ...

  3. python十个运维实战项目_干货 | 这4个Python实战项目,让你瞬间读懂Python!

    Python是一种极具可读性和通用性的编程语言.Python这个名字的灵感来自于英国喜剧团体Monty Python,它的开发团队有一个重要的基础目标,就是使语言使用起来很有趣.Python易于设置, ...

  4. 怎么创建python django项目_创建Django项目图文实例详解

    本文实例讲述了创建Django项目的方法.分享给大家供大家参考,具体如下: 创建Django项目 创建一个HelloDjango项目 GitHub地址:https://github.com/liang ...

  5. python 哪些项目_一份2018年Python开源项目Top100清单!

    2018 年的最后一天,营长为大家新鲜出炉了一份 2018 年 Python 开源项目 Top100 清单!这些项目都是营长每月通过收集 Mybridge 的数据整理而来的,是不是很棒!(我要在留言区 ...

  6. 数仓建模 项目_音乐数据项目火力全开,技能双倍提升!

    ↑ 点击上方"尚学堂"关注我们 音乐数据中心数仓综合项目 1项目介绍 音乐数据中心项目是大型企业级综合数仓项目,此项目针对音乐数据进行分析,构建数据仓库,建立用户.机器.内容等主题 ...

  7. 零基础轻松学python pdf 小码哥_零基础轻松学Python

    零基础轻松学Python电子书 Python之父Guido van Rossum力荐的Python门书.本书以通俗易懂的语言.好玩有趣的案例让读者轻轻松松.循序渐地从零始掌握Python 3 编程.本 ...

  8. python快速编辑入门答案_太惨!学Python方法用错,直接从入门到放弃!

    原标题:太惨!学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在 ...

  9. python爬虫框架排行榜-哪种Python框架适合你?简单介绍几种主流Python框架

    众所周知,Python开发框架大大减少了开发者不必要的重复劳动,提高了项目开发效率的同时,还使得创建的程序更加稳定.目前比较主流的Python框架都有哪些呢?一般大家用的比较多的是Django.Fla ...

最新文章

  1. mysql.func_Mysqlfunc.c
  2. Gitlab完整搭建手册+排错
  3. AT NEW 用法和注意
  4. 项目总结--基于Cortex-A9平台的米兰花智能培育系统
  5. [Algorithm] Good Fibonacci
  6. 常见的排序算法二——希尔排序
  7. python基础课程1(看代码看注释)--基本操作和数据类型
  8. 目前还有机会火的6大短视频内容方向
  9. js里css不起作用,CSS文件在NODE js中不起作用
  10. 按下回车键自动切换焦点到下个控件
  11. 并发编程游玩---ExecutorService的isShutdown()和isTerminated(),以及一些方法的区别
  12. 中登TA、自TA、分TA
  13. excel批量删除密码解除密码保护 可多个密码
  14. 【IT领导力】IT 使命、愿景和价值观声明:成功的基础
  15. 人生感悟:名利如云烟
  16. 房地产开发商崩盘样本:楼盘捂了两年,欠40亿巨债
  17. Android电源键亮灭屏流程
  18. Windows远程桌面连接Mac OS X
  19. 帮我写一个无数爱心滑落的html
  20. 基于PySpark的航天日志分析(SQL分析)

热门文章

  1. 诰全国散户书(带头大哥777的博客归隐别文)
  2. 【高通SIM卡】 单卡配置
  3. 曹颖生日会带货直播近5600万,一周年交出漂亮成绩单
  4. 【计算机毕业设计】毕业生就业信息管理系统
  5. jQuery 动态文字搜索功能
  6. PHP中16进制和8进制
  7. 线性回归的最小化函数
  8. jQuery事件对象
  9. 微信小程序本地存储的学习和实践案例的讲解
  10. 视频教程-Zabbix分布式企业级监控实战视频课程(完整版)-Linux