[新闻八卦] 在豆瓣的python组看到的一些对c++的评论
simohayha
2007-05-10
在豆瓣上看到的:
http://www.douban.com/group/topic/1395156/ 我只摘抄出一些 引用 C++其实不是unix所需要的,反而是windows所需要的。unix下大多程序还是c写的。所谓复用和复杂逻辑,unix通过KISS,将功能分配到最小,然后利用管道,socks和lib来拼接功能。这样就大大的降低了复杂性。windows的GUI问题才是真正不好解决的东西,所以,我们看到的C++大部分应用,还是在VC下完成的。 C仍然是unix上最受欢迎的语言,这几乎和20年前没任何区别。 引用 /* 忍不住再发一篇笔记, 这是从我编写 JavaScript 框架 "MFOM" 的 5 年开发史引申开去的。
其中提到了为什么 C++ 是多余的, 以及 "语言没有好坏之分, 只有应用领域的不同" 这种说法是如何产生的。 */ …… 在 DHTML 刚刚提出、ECMA Script 规范尚未起步, 甚至连浏览器自己都不知道怎样提供能用的编程接口的那个贫血的年代, 要超越 MFOM0.5 确实有些困难。事实上当时并不是不想完全控制浏览器元素, 而是根本就没有办法。在浏览器生产商半推、开发社区半就之下, JavaScript 程序员们对浏览器的控制程度才逐渐提高。这对我来说是一个漫长的等待。在无比倦怠之下, 我把 MFOM0.5 的孱弱迁怒这个程序库面向对象特性的匮乏上。为什么我会瞬时联想到 OO 因素, 原因在上面已经提到, 其实在当时几乎所有程序员在碰到钉子之后的第一个念头都是 "我该死, 我不够面向, 我不够对象", 而忘了背后真正的原因。这时一个邪恶的想法诞生了, 我要使用 OO 建立一个更好用、更强大的 JavaScript 组件库。即便不能更强, 也要够大, 因为世界上传为美谈的 Win32 程序库都是足够大, 大到无法让人诟病。末了, 你见过有人诟病过一个巨型软件库吗, 不管它是如何地恶心? 没有! 除非是在 Python 社区 (Zope2 就是典型)。 然而要让 JavaScript 在 OO 上空飞起来, 却不是一件容易的事情。当时大多数负责的技术书籍在开篇时都会语重心长地交待说 JavaScript 是一种 "基于对象" 的语言。它不是面向对象的, 因为没有继承, 也不能弄出一些 "实的" 或是 "虚的" 函数来。所以 JavaScript 死定了。这在最初无疑给我叫了盆冷水, 幸好我是天生写程序的人, 于是我把大部分面向对象特性都在 JavaScript 里模拟了。这并不能算是什么奇迹淫巧, 对于一个 C 程序员, 搞出些 C++ 风格的东西是家产便饭, 再往前几年 BASIC 里面把 GOTO 当函数用的日子还不是过来了吗? 以至于后来 ECMA Script 规范里面给 JavaScript 增加了 class 关键字的时候, 我感到无比多余、无比别扭、吃不香睡不好。这是我有生之年第一次对 class 提出质疑。这给多年之后我离开 C++ 重回 C 语言的 "荣耀之都" 埋下了伏笔, 因为既然 C/Python 已经可以优雅地做完所有的事情, 还要掩人耳目地搞出那么多劳什子特性的 C++ 干什么? C++ 干的很多事情都不是它这个层次该干的, 请让给 Python 来做。而底层的事情让 C 来做避免了诡异特性的干扰岂不是更好? 而判别目前所在层次最清晰、最容易的方法, 可以仅仅就是检查一下我们当前是不是在做字符串处理那么简单而已。 所以 C++ 是一种多余的语言。当然他还不是最尴尬的语言, 这个殊荣应该归于 Lua。在底层显然该用 C, 在应用层比起 Python, Lua 简直没有任何可用性。Lua, 没有企业级特性, 它在软件的任何一个层次都是完全多余的。那么为什么现在还会有人在追捧 Lua 呢? 一说是 Lua 的设计很优美。这实在是转移话题, 世界上精彩的语言多了去了, FreeBSD、Minix 多漂亮? 可以用来编程吗。那么为什么许多游戏引擎在用 Lua 呢? 因为在 Python 成熟 (成为可选) 之前, 我们还没有更好的选择。存在只是当时合理, 就像比 Python 更拽的东西出现之前, Python 是最合理的一样 (这体现了 Python 黑客们的高明, 最早的 Ruby 玩家相当多都是 Python 黑客, 因为他们一直在寻找更拽的东西)。而现在的识时务者, 最新最强的引擎都已经主要在提供 Python 接口了, Lua 只是象征性地支持了。最简单地, Lua (包括 C++) 玩家成天讨论的是如何避免把程序写坏, 聪明地避免陷阱, 如何实现一个稀疏平常的却是在 Lua 里面极有技巧性的东西, 或者是讨论一个用 C 可以轻松解决、或者根本不是项目真正瓶颈的性能问题。反观 C 程序员正在关注系统底层, Python 程序员正在关注如何实现强大到难以致信的应用问题。事情还不明显吗? 时至今日在 Lua 和 C++ 社群里面你除了能看到一些人的拽之外, 你还能看到什么? 这是挑起所谓 "语言之争" 的一个地方。C++、Lua 包括上面, "更为面向对象" 的 Ruby, 我都毫不讳言, 他们都是不能用的工具。曾几何时 "语言没有好坏之分, 只有应用领域的不同" 成了主流, 大家脑袋都粘着一锅粥。很不幸, 我的编程生涯横跨了许多思潮的诞生点, 我现在就来告诉大家这种不负责任的言论是如何产生滴。 在 90 年代末编程成为时髦的那个特定年代 (此外还有英语, "今天你四级了吗?"), 一大跟风者涌入这个圈子, 因为微软没有告诉他们, 所以 C++ 和 VC 有什么区别, 或者 Delphi 和 VB 谁更强。所以这些鬼问题迅速淹没了国内本来就已经非常狭小的视野。同样没有看过《提问的智慧》, 不知道黑客的解决方法不过仅仅是将其用于调侃搞笑的, 云集成一推的高手、大师们不厌其烦, 终于在某一天在一个鬼论坛上, 一牛从喉咙里挤出这么几个大字 "语言没有好坏之分, 只有应用领域的不同"。这句话, 在当时确实非常之酷, 应者很快云集, 以大师视角从高空抛出这句话无疑是身份和智慧的象征。与此形成鲜明对比的是根本没有任何异见, 因为挑起所谓 "语言之争" 的人, 会让人明白而立即地联想到是那些呆头呆脑形象恶劣并且令人不厌其烦的初学者, 从而大失水准, 遭来口诛笔伐一片, 以后无论如何都不能在圈子里混了。所以从头至尾 "语言没有好坏之分, 只有应用领域的不同" 这句话都是极其荒谬的, 而必须要有人敢于承担澄清一切的大任。我本来就不是 Win32 的大师, 因此无知者开始无畏起来了。所以, 在这里我要告诉你们, 语言, 就是有好坏之分的, 许多语言就是不该用的。但是有志于 "创造一门编程语言" 这么酷的事业的人, 研习 Lua 优雅的设计也是无可厚非的, 但是在这里我想给你们一个忠告, 请先学好 C 和 Python (Ruby 也无不可), 因为 C 能帮助你们写出能用的东西, Python 能告诉你们最新的语言、一个别人乐于使用的现代语言是什么样子的。除非你只想做一个令人称道的花瓶然后带进棺材。 |
|
bigpanda
2007-05-10
走自己的路,让别人打的去吧。
这个语调不稀奇,早听过了,LISP fans说自从LISP以来就没有什么新语言了,可是那么多语言还是出来了,各个活的也挺好的。 对这种口舌之争越来越不感兴趣了。 |
|
小帽子
2007-05-11
我也觉得 喜欢就去做了 呵呵 LZ好panda老大好
|
|
fixopen
2007-11-23
其实语言不是不可以评论,只是评论是在太困难了,所以还是不要评论的好。
原来我在CSDN上有个帖子,想要评论一下各个语言,由于考虑到没有人知道所有的语言,所以我邀请他们各自给出自己熟悉的语言的特性,包括,语言本身、库、社区、心理因素等。但是很难等到有真正认真的人花大段的时间去发帖子。所以要想评论语言是在太难了。 |
|
jimmy_c
2007-11-26
python其实挺垃圾的,不过是一种OO的script语言而已,随便编个Hello world也要好几M,真是做系统也不行,做脚本语言也不方便。
|
|
danielking
2007-12-30
jimmy_c 写道 python其实挺垃圾的,不过是一种OO的script语言而已,随便编个Hello world也要好几M,真是做系统也不行,做脚本语言也不方便。
...... |
|
owlman
2008-01-27
我现在对于语言之争的做法就是直接无视即可。无需多费口舌,
|
|
zhangyafei_kimi
2008-07-19
C++开发效率就是比C高
|
|
oldbeggar
2008-07-20
我也比较喜欢C的风格~~~~
要方便就Perl了~~ |
|
dotjar
2012-06-15
jimmy_c 写道 python其实挺垃圾的,不过是一种OO的script语言而已,随便编个Hello world也要好几M,真是做系统也不行,做脚本语言也不方便。
表示反对! |
相关讨论
相关资源推荐
- System.Data.SQLite.dll 3.7.17版 sqlite最新版
- SQLite 3.9.0 or later is required (found 3.7.17)
- 【centso】sqlite3.7.17升级到更新的版本
- sqlite3.7.17 basic command line on RHEL/Centos7
- C++调用Python脚本函数
- 基于c++和基于python的服务器后台的一些比较
- 豆瓣是用python开发的吗_Google、知乎、豆瓣、网易都在用Python Web开发!
- 【python技能树】python简介
- python和c++无缝对接_总结:Python学习 和 Python与C/C++交互
- sqlite3.7.17 programming C callback function through sqlite3_exec