11 Replies to “[技术评论]不值一驳”

  1. bug报告:
    Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 53 bytes) in /usr/vhome/3/0/5/305570.ctc-ue1-g1.dns.com.cn/www/pivot/pv_core.php on line 1153

  2. 我最喜欢这句话:这些底层开发并不属于主流的应用开发领域,跟这世界上99%的程序员没有关系!
    就好像学物理的,一辈子都不太可能去造原子弹。许多工科生,一辈子都不可能拿诺贝尔奖。
    不过,我倒是还有希望拿诺贝尔文学奖,是不是? o(∩_∩)o…哈哈!
    文科和理科的区别可能就在这里。

  3. 99%?只能说老方的观点跟他们差不多。
    软件业根本没有什么主流,做哪方面开发的人都有,都很多,适合用的语言也是五花八门,只有土鳖才会自以为”主流”。
    再说搞底层也没有诺奖那么难,计算机界的诺奖级人物基本上是数学家。

  4. 在一个delphi论坛转贴了关于gc的话题
    结果也引发了一次难得的技术讨论。。。。
    └这个话题值得展开否。。。。 [haitao](580) 18:19:09 2007-01-11
     │  { --C的缺点。。。。
     │  {
     │  { # cloudwu 发表于2007-01-11 14:15:28 IP: 218.72.14.*
     │  { 我现在每天都用 C (非 C++)写程序,觉得 C 有诸多不足,但是并不讨厌它。
     │  {
     │  { 其实单就低阶语言来说的话,C 语言也不完美。在作为实现其它语言的工具时(比如用来实现
     │  { 函数式语言,或是把 java 这样的语言写出的代码静态翻译成 C 等等),局限性很多。比
     │  { 如对堆栈的控制性太弱,在语言级无法准确的操控堆栈。这使得 gc (基于根扫描)的实现,
     │  { 尾调用的优化非常困难。
     │  {
     │  { 我最近读了篇 paper 很有共鸣。
     │  { http://www.hpl.hp.com/personal/Hans_Boehm/gc/
     │  {
     │  { 虽然现在我们在低阶开发上把 C 当万能药在用,但它毕竟不能包治百病。如果真要证明 C 语
     │  { 言已经不适用了,前面的文章的比较角度就错了。至于反驳,也不够理直气壮。
     │  {
     │  { 单说 gc , C 语言本身就不适合实现高性能的 gc 模块,寄托于未来有个天才写出一个 gc
     │  { 库来是不现实的。那不会是一个 java 实现的那种 gc , 这是 C 语言本身的硬伤。
     │  {
     │  { 想用 C 库形式来实现性能足够的 closure 更是天方夜潭。
     │  {
     │  { 最后倒是 C++ ,颇让我觉得有种恨铁不成钢的感觉。高不成低不就,现在已经不大用了。
     ├自己的屁股自己擦 [好望角](7) 20:30:53 2007-01-11
     │   { 别老指望别人。
     ├不值得 [holly](12) 20:36:56 2007-01-11
     │   { 写的那位简直什么都不懂.
     ├不值得,gc gc,没有会死啊,没gc还不照样那么多工业级、商业级的软件诞生,有gc后、有…
     ││  { 标题:不值得,gc gc,没有会死啊,没gc还不照样那么多工业级、商业级的软件诞生,有
     ││  { gc后、有其它智能更高的语言后、又在此基础上出了些蛤好软件? [周星驰](0) 20:44:00
     ││  { 2007-01-11
     ││  { 正文:–无内容–
     │├为懒人、不合格的程序员准备的东西离精益求精还有距离 [周星驰](0) 20:45:00 2007-01…
     │││  { 标题:为懒人、不合格的程序员准备的东西离精益求精还有距离 [周星驰](0) 20:45:00
     │││  { 2007-01-11
     │││  { 正文:–无内容–
     ││└当机器做的事情越来越多,人做的事情就越来越少。当机器越来越像人,人就越来越像?..
     ││    { 标题:当机器做的事情越来越多,人做的事情就越来越少。当机器越来越像人,人就越
     ││    { 来越像机器。 [sealw](0) 09:01:00 2007-01-12
     ││    { 正文:–无内容–
     │├我的意思是:为gc这么点屁大的事儿不足以诟病一个语言 [周星驰](0) 20:51:00 2007-01…
     │││  { 标题:我的意思是:为gc这么点屁大的事儿不足以诟病一个语言 [周星驰](0) 20:51:00
     │││  { 2007-01-11
     │││  { 正文:–无内容–
     ││└如果真的有高效率的gc,应该是解放了很多程序员的不少精力了。。。。 [haitao](29)…
     ││ │  { 标题:如果真的有高效率的gc,应该是解放了很多程序员的不少精力了。。。。 [hai
     ││ │  { tao](29) 09:11:27 2007-01-12
     ││ │  { 正文:当然,也会引得更多水平略低的程序员抢更高一些的程序员的饭碗
     ││ ├再高效的gc都是由开销的。 [老玉米](42) 09:24:37 2007-01-12
     ││ ││  { 这个开销,对很多系统是不能忍受的,understand?
     ││ ││  {
     ││ ││  { 别整天正这些没用的了
     ││ │└武断啊,武断。。。 [haitao](67) 09:38:26 2007-01-12
     ││ │ │  { 对很多系统是不能忍受的,就是对所有系统是不能忍受的?
     ││ │ │  { 对你没有用,不等于对其他人也没有用
     ││ │ │  { 更何况你可能不过是没有发现而已呢。。。。
     ││ │ └你们俩彼此彼此. 呵呵 [holly](0) 09:40:00 2007-01-12
     ││ │  └你如果能做个没额外开销的gc,我就收回我的话。 [老玉米](0) 09:46:00 200…
     ││ │   │  { 标题:你如果能做个没额外开销的gc,我就收回我的话。 [老玉米](0) 09:4
     ││ │   │  { 6:00 2007-01-12
     ││ │   │  { 正文:–无内容–
     ││ │   ├高效率==没额外开销 [haitao](12) 09:47:47 2007-01-12
     ││ │   │   { 这是一个可容忍程度的问题
     ││ │   └不做 [holly](8) 09:48:00 2007-01-12
     ││ │    │  { 啥叫没额外开销?
     ││ │    └比直接管理内存,gc需要更多地cpu time [老玉米](0) 09:49:00 2007-01…
     ││ │     │  { 标题:比直接管理内存,gc需要更多地cpu time [老玉米](0) 09:49:00
     ││ │     │  { 2007-01-12
     ││ │     │  { 正文:–无内容–
     ││ │     ├可以考虑把GC功能集成进内存控制器嘛 [品雪](0) 09:50:00 2007-01-1…
     ││ │     ││  { 标题:可以考虑把GC功能集成进内存控制器嘛 [品雪](0) 09:50:00 2
     ││ │     ││  { 007-01-12
     ││ │     ││  { 正文:–无内容–
     ││ │     │└这个idea很牛比,但是估计还要有年头才能实现。 [老玉米](0) 09:5…
     ││ │     │ │  { 标题:这个idea很牛比,但是估计还要有年头才能实现。 [老玉米]
     ││ │     │ │  { (0) 09:55:00 2007-01-12
     ││ │     │ │  { 正文:–无内容–
     ││ │     │ └这个 idea 是扯淡 [holly](17) 09:57:23 2007-01-12
     ││ │     │  │  { 还不如就直接硬件实现 vm 算了.
     ││ │     │  └搬凳子 [老玉米](0) 09:58:00 2007-01-12
     ││ │     │   └凳子我收下了,去靠墙根站着吧 [品雪](0) 10:29:00 2007-01…
     ││ │     │    │  { 标题:凳子我收下了,去靠墙根站着吧 [品雪](0) 10:29:00
     ││ │     │    │  { 2007-01-12
     ││ │     │    │  { 正文:–无内容–
     ││ │     │    └靠,国让是正常人类大学毕业的,老师的职业病 [老玉米](0) …
     ││ │     │     │  { 标题:靠,国让是正常人类大学毕业的,老师的职业病 [老玉
     ││ │     │     │  { 米](0) 10:35:00 2007-01-12
     ││ │     │     │  { 正文:–无内容–
     ││ │     │     └重新小学去回炉 (空) (holly [1] 今天 10:00) [holly](…
     ││ │     │         { 标题:重新小学去回炉 (空) (holly [1] 今天 10:00)
     ││ │     │         { [holly](0) 10:52:00 2007-01-12
     ││ │     │         { 正文:–无内容–
     ││ │     └这不废话吗? [holly](23) 09:51:35 2007-01-12
     ││ │      │  { 硬要争的话例外也有, 比如整体释放的固定内存池
     ││ │      └靠,知道废话,你还问. [老玉米](0) 09:53:00 2007-01-12
     ││ │       └注意, 是反问! [holly](0) 09:57:00 2007-01-12
     ││ │        └分不清 [老玉米](5) 09:58:36 2007-01-12
     ││ │         │  { 什么叫反问
     ││ │         └重新小学去回炉 [holly](0) 10:00:00 2007-01-12
     ││ └标题这句话同意 [holly](6) 09:40:30 2007-01-12
     ││     { 里面的反对.
     │└没有gc,就没有java,就没有.net [JoJo](0) 09:51:00 2007-01-12
     ├呵呵,这都是什么观点啊,我靠 [pigprince](0) 08:49:00 2007-01-12
     ├真有敢满嘴跑火车 [老玉米](0) 09:17:00 2007-01-12
     ├CSDN上已经吵过了 [品雪](0) 09:22:00 2007-01-12
     ├这无聊的千年水坑跨过去就是了,没什么必要喷口水进去了 [amo](0) 09:25:00 2007-01-12
     │└我是觉得c/delphi能否实现一种高效率的gc。。。。 [haitao](32) 09:44:21 2007-01-12
     │ │  { 目标:
     │ │  { 释放垃圾时对cpu的压力不大
     │ │  { 释放垃圾的及时性比较好
     │ └它们的设计目标就是让主要由开发者来维护 [amo](42) 10:25:35 2007-01-12
     │     { 不过应该还是可以做得出来的,毕竟都有自己的内存管理器
     │     {
     │     { 但要做到效果好就非常难了
     └已经展开了啊。与其讨论是否需要GC,还不如讨论GC的优点和缺点。对了,几年前那个关于?..
      │  { 标题:已经展开了啊。与其讨论是否需要GC,还不如讨论GC的优点和缺点。对了,几年前那
      │  { 个关于“对象在被自动回收时发生异常的解决方法”的讨论,最后有没有结果? [李战](0
      │  { ) 09:45:00 2007-01-12
      │  { 正文:–无内容–
      ├gc已经不需要讨论优点和缺点的问题了 [JoJo](85) 09:58:47 2007-01-12
      ││  { 所有新出现的高级语言都必然提供gc,不然就没有人用。整个高级语言都在向描述性语言
      ││  { 发展,而类似C/C++这种中级语言已经非常完善(指语言本身),基本上不会再有新语言
      ││  { 出现了。
      │└不知道垃圾回收器在销毁废品时发生异常,它该怎么办? 有没有人试过在对象的析构函…
      │ │  { 标题:不知道垃圾回收器在销毁废品时发生异常,它该怎么办? 有没有人试过在对象
      │ │  { 的析构函数中抛出异常?这个对象会不会被正确释放? [李战](0) 10:13:00 2007-01
      │ │  { -12
      │ │  { 正文:–无内容–
      │ ├去查specification, 应该有定义 [老玉米](0) 10:15:00 2007-01-12
      │ │└无定义 [李战](0) 10:50:00 2007-01-12
      │ ├反正都在“栈”里,不管出了什么事,弹掉了事 [amo](0) 10:22:00 2007-01-12
      │ │└没那么简单吧 [李战](0) 10:51:00 2007-01-12
      │ └析构函数由宿主控制,你根本没权利创建和控制析构函数 [JoJo](36) 10:52:34 2007…
      │     { 标题:析构函数由宿主控制,你根本没权利创建和控制析构函数 [JoJo](36) 10:52
      │     { :34 2007-01-12
      │     { 正文:例如Java的finalize函数,只是看上去像析构函数,实际上根本不是
      └你是说gc的实现上的优缺点吧? [haitao](68) 10:19:25 2007-01-12
       │  { 我觉得好的gc就要满足:
       │  { 释放垃圾时对cpu的压力不大
       │  { 释放垃圾的及时性比较好
       │  {
       │  { 至于销毁垃圾遇到异常,应该记下异常日志就行了吧
       └异常日志是可以被记录,但对象是否被释放干净? [李战](0) 10:52:00 2007-01-12
        └保证释放干净 [JoJo](12) 10:53:33 2007-01-12
         │  { 对象所使用的资源就不一定
         └就是啦 [haitao](70) 10:56:34 2007-01-12
          │  { 仅仅释放对象本身的空间还不够,应该确保对象的销毁前是有机会执行自己的善后
          │  { 函数
          │  {
          │  { 但是,既然出现了异常,就应该记录下来,又程序员分析解决了
          └你说的这个,已经超出程序语言本身的范围了 [JoJo](87) 11:03:19 2007-01-12
              { gc是指对象回收,并不包括资源回收,还没有听说过自动资源回收的说法。资源
              { 和特定的硬件与操作系统有关,绝大部分程序语言都使用类库来提供资源支持,
              { 而没有把它设计到程序语言中去的。

  5. 在静态语言的社区里,从上面的转贴,对 gc 的普遍误解可见一斑。用 gc 来解放程序员的精力更多的只是一种宣传吧,它只是一种 C 语言无法实现的资源管理模型。把大多数语言转换为 C 来思考本身就是一种错误。
    当然对 gc 有一定理解的程序员也不会只用 C 一种语言,更不会来争论这种无聊的话题 😀
    C 是一个好语言,只是现在承载了太多本不该它承载的东西。有些问题,用不用 C 来解决并非开发效率/难度的问题,而是做不做的了的问题。硬把 C 用在不适合的领域,并非做不出来,而是做出来效率低下罢了。而(C)程序员们不觉得效率低下,仅仅是因为没有比 C 更好的选择而已。

  6. 那就换种说法:
    搞操作系统等,就高人一等这种观点
    基本属于扯淡
    因为这是 兴趣 和 分工 的不同
    操作系统是软硬件的界面
    本身是提供了一个平台
    平台给出,在上面能做事情
    同样需要专业的工程师们来做
    软件开发里很多思想都来自于企业级应用开发
    搞操作系统的
    未必能做出来一个能用的业务系统
    分工不同
    兴趣不同
    术业有专攻
    重要的是 爱好,热情,做事认真, 责任心, 不固步自封,
    大家把业务系统的开发 看得太过简单
    搞成建筑工地民工砌砖头般的力气活般对待
    而且一贯地漫不经心,外行充内行,很少有人能持之以恒的学习
    中国也有LINUX,各种版本的UNIX,WINDOWS,操作系统,开发平台一个不少,但是做出来的大批垃圾业务系统和应用程序,列位做过项目的都有体会吧
    眼高手低
    要求工程们能 专业地学习,做好自己的应用程序开发工作,
    就已经是很难很难的事情了
    也就是能继续吹吹 搞操作系统更高级 吧
    问题是,中国人就这种态度,
    让中国人搞,搞得出来么??

  7. 正因为没有比C更好的选择,所以我说没有C是万万不能的。很显然的一点就是:如果有更好的选择,C不会成为今天的C。
    我同意老方的观点,不论做哪个方面的开发,本来就是分工的不同,不存在高低之分——当然冯·诺依曼之类的数学家那的确是比较高的。只不过现在的情况是,CSDN上很多人总觉得自己做的那一块业务应用领域就是最主流的,可以无视别人的存在。事实上即使是业务应用领域也有很多的区别的,就拿我现在做的SAP应用领域来说,用.net/JAVA也可以通过BAPI进行二次开发,但是绝对没有用ABAP方便高效统一。而ABAP就是一个非常小众的开发圈子。所以我要说那些家伙就是一群土鳖,嘿嘿。

  8. 的确,一直以来,把MIS开发看成是软件业里最低层次的工作了
    其实要把用户的需求(他们自己都不确定,而且变化频繁)了解清楚,并用软件实现成一个当前能用、日后能扩展的MIS系统来,也是一件相当的技术活。。。。

Leave a Reply

Your email address will not be published. Required fields are marked *