精华内容
下载资源
问答
  • Linux之父毕业论文

    2018-11-29 12:02:16
    看看Linux之父的毕业设计论文, 在论文中Linus叙述他对操作系统的理解.
  • Linus Torvalds:只是为了好玩——Linux 之父林纳斯自传 (扫描版).pdf
  • 该书是Linux之父林纳斯的自传,有兴趣的小伙伴可以下载。该资源不得用于商业用途。
  • Linux之父Linus Torvalds的自传,也是Linus唯一一本书。Linus以调侃的语气讲述了自己的成长经历,在他看来,一切都是为了好玩儿,兴趣引发革命。书中内容共分为五章,一部分是Linus自己写的,一部分是合著者David ...
  • 只是为了好玩 Linux之父林纳斯自传 文字版 只是为了好玩 Linux之父林纳斯自传 文字版 只是为了好玩 Linux之父林纳斯自传 文字版
  • Linux之父林纳斯

    2015-07-26 18:53:35
    为了好玩-Linux之父林纳斯,详细叙述Linux开发的缘由和过程。 有兴趣的人可以看一下
  • 对话Linux之父感受Linux内核乐趣.pdf
  • Linux之父不认可GPLv3.pdf
  • 《只是为了好玩:Linux之父林纳斯自传》 基本信息 作者: (美)Linus Torvalds David Diamond  译者: 陈少芸 出版社:人民邮电出版社 ISBN:9787115361646 上架时间:2014-7-31 出版日期:2014 年8月 开本...

    《只是为了好玩:Linux之父林纳斯自传》

    基本信息

    作者: (美)Linus Torvalds    David Diamond   

    译者: 陈少芸

    出版社:人民邮电出版社

    ISBN:9787115361646

    上架时间:2014-7-31

    出版日期:2014 年8月

    开本:16开

    页码:1

    版次:1-1

    所属分类:计算机 > 操作系统 > Linux

    更多关于》》》 《只是为了好玩:Linux之父林纳斯自传》

     

    内容简介

        书籍

        计算机书籍

    《只是为了好玩:linux之父林纳斯自传》是linux 之父林纳斯·托瓦兹的自传,内容不只包括他的成长经历、linux 系统的诞生过程、与之相关的争议,还有他本人对于版权、开源、商业软件等的看法以及对生活意义的思考。

    《只是为了好玩:linux之父林纳斯自传》语言幽默活泼,读来生动有趣且发人深思,适合所有人,尤其是对linux 感兴趣的读者阅读。

     

    媒体评论

      “此书极其有趣,一点儿不枯燥,充满了各种好玩的笑料,以及对技术和软件的严肃思考。如果你是一名程序员,我高度推荐此书。”

      ——阮一峰,知名博主,著有《如何变得有思想》

      “目前几乎整个互联网都是运行在Linux及其衍生产品之上的,可以说没有Linux,互联网不可能得到如此迅猛的发展。林纳斯用自己精彩的编程人生和对自由软件的热爱演绎了现代社会中一个书呆子的胜利。”

      ——池建强,瑞友科技IT应用研究院副院长,著有《MacTalk·人生元编程》

      “一些人生来就注定能领导几百万人,一些人生来就注定能写出可颠覆世界的软件。但只有一个人两样都能做到,他就是托瓦兹。”

      ——《时代周刊》

      “如果技术都商业化,今天最赚钱的IT公司不是Google和苹果,可能会是Linux。如果Java在普及后收费,可能是Sun反过来收购Oracle。如果C语言收费,那完全不敢想。但是,像Linux、Java、C这样的免费的东西,却创造了比商业公司更大的价值。所以,成功并不单一的是挣钱,而是创造价值。”

      ——陈皓(@左耳朵耗子),酷壳coolshell.cn博主,阿里巴巴核心系统专家组资深专家

      “写得十分有趣,让读者豁然开朗,原来一个创造性开发者的脑子是这样运转的。”

      ——《新闻周刊》

      “这是一本可读性极强的自传,清晰描绘出了林纳斯?托瓦兹的人生经历。”

      ——Salon.com

      “这本书棒极了,为读者了解GNU/Linux提供了一个全新的视角,十分有趣且易于阅读。要轻松地阅读一些关于技术的东西通常很难,但读者可以从本书中学到很多。”

      ——亚马逊读者

      “这本书太有意思了,不仅包括关于知识产权、著作权、开放源代码和自由软件基金会的思考,在关于日常生活的原则方面也有良好的道德观,有助于Linux爱好者更全面地了解林纳斯。”

      ——亚马逊读者

     

     

    作译者

    林纳斯·托瓦兹

    当今世界最著名的程序员、黑客,开源操作系统Linux之父。生于芬兰,毕业于赫尔辛基大学,1997年~2003年任职于美国加州硅谷的全美达公司,现受聘于开放源代码开发实验室,全力开发Linux内核。2004年,他被《时代周刊》评为世界最有影响力的人之一。

    大卫·戴蒙

    职业撰稿人,曾为《纽约时报》《连线》《美国周末》及许多刊物供稿。

    陈少芸

    出生时经医生证实为80后晚期,毕业于广东财经大学。做事情常出于“我不懂所以我想知道”的好奇心,在笔译学界颇负“陈少芸是谁啊没听说过”的盛名。

     

     

    目录

    《只是为了好玩:linux之父林纳斯自传》

    一个怪胎的诞生  001

    大鼻子的孩子  001

    外公的计算机  004

    芬兰的严冬  006

    我的家族  009

    中学时代  020

    长大成人  023

    爱洗桑拿的国家  027

    一个操作系统的诞生  032

    昨天的电脑  032

    上大学  043

    从unix开始  045

    第一台386和终端仿真  051

    编程的美妙  065

    长了腿的终端仿真器  069

    linux的诞生  072

    开放源代码  076

    linux能换来金钱吗?  081

    minix与linux之争  088

    最后的冲刺  102

    朵芙  108

    舞会之王  113

    1.0版本闪亮登场  113

    版权之争  119

    接受全美达的邀请  126

    欢迎来到硅谷  133

    一夜功成名就  139

    linux系统呈蔓延之势  147

    财富的到来  155

    糟糕的演讲  161

    媒体的攻击  167

    道德不应制度化  172

    舞会之王  178

    还会再干  182

    知识产权  184

    消灭控制欲  195

    科技的过山车之旅  201

    开放源代码的意义  206

    名声与财富  216

    生活的意义之二  223

    译后记  231

    附录:中国程序员眼中的林纳斯——林纳斯,一生只为寻找欢笑  233

     

     

    本图书信息来源:互动出版网

    展开全文
  • 机器之心报道编辑:张倩、蛋酱既然是冬天停电的时候诞生的,那就叫它「冰冻荒原」吧。上个月,受恶劣天气影响,美国多个地区出现大规模断电,Linux 之父 Linus Torvalds 所在的俄...


    机器之心报道

    编辑:张倩、蛋酱

    既然是冬天停电的时候诞生的,那就叫它「冰冻荒原」吧。

    上个月,受恶劣天气影响,美国多个地区出现大规模断电,Linux 之父 Linus Torvalds 所在的俄勒冈州波特兰地区也没有幸免。但比较励志的是,即使经历了六天的断电生活,Linus Torvalds 还是赶出了新一版的 Linux 内核(候选版本)——Linux 5.12 rc1。

    由于诞生的过程过于坎坷,Torvalds 还给这版新内核取了个有纪念意义的名字:「Frozen Wasteland(冰冻荒原)」。这也是 Torvalds 在断电的家中完成的杰作,个中滋味想必已经隐藏在新名字里了。 

     

    据 Newsweek 报道,上周,受到暴风雪影响,美国西北部有 50 多万个家庭断电。在依然实行家庭办公的地区,断电对日常工作造成了极大的影响。对于 Torvalds 来说,他要面对的是来自 1000 多位贡献者提交的上万个更改。

    美国得克萨斯州断电后在壁炉旁取暖的一家人。

    「我们现在已经有了两个不同寻常的合并窗口:第一个是节日期间,但这一次,受到暴风雪的影响,波特兰地区有 25 万人断电。」Torvalds 在 Linux 5.12-rc1 的相关日志中写道。 

    Torvalds 曾说过,他现在的工作其实更多的是处理邮件,而不是编码。在停电之后,他也曾想过扩大合并窗口来确保一切就绪。但在电力恢复之后,他发现大家都非常善于发送拉取请求,一切井井有条,这让他的合并工作进展非常顺利。因此,Linux 5.12 rc1 才能那么快问世。

    还有一点比较重要:5.12 是一个相对较小的更新。Torvalds 表示,该版本的内核只收集到了 1 万个左右的提交贡献,比通常的 1.2~1.3 万要少得多。但小也只是相对的,「尽管这次的合并窗口比之前的要小一些,但它仍然很大,我添加的只是我平常的合并日志,而不是 1500 多个人提交的 10982 个非合并 commit 的完整列表。」Torvalds 在日志中写道。

    在谈到新版本的变化时,Torvalds 表示,「比较突出的一点是,这个版本做了大量的历史清理工作。但总的来说,增加的代码还是要多于被删掉的代码。在这次『春季大扫除』活动中,我们删除了对 OPROFILE 的支持(用户工具多年前就在用『perf』了),还删除了几个遗留的 SoC 平台以及过时的驱动。」

    在新特性方面,Linux kernel 5.12 中新增了 Clang Link-Time 优化,以改进编译器性能。同时支持了 Intel 的 eASIC NX5 芯片(在边缘和云计算领域作为 FPGA 的替代方案)、支持骁龙 888 5G SoC 等。

    Linux 5.12 新特性

    Linux 5.12 是一个令人兴奋的内核版本,稳定的 Linux 5.12 发行版大概会在 4 月下旬或 5 月初发布,具体时间还要取决于最终的进展程度。从发行历史有 20 多年的 Nintendo 64 内核移植,再到索尼官方的 PlayStation 5 控制器驱动,Linux 5.12 提供了很多惊喜的附加功能。

    总体来看,Linux 5.12 的亮点包括支持 Clang LTO(Link-Time Optimizations);IDMAPPED mount 在很多应用案例中表现优秀;KLeak 被添加为内核内存泄漏检测器;支持 Radeon RX 6800 系列显卡超频;此外还包括索尼 PlayStation 5 DualSense 驱动程序已配备等等。

    有关 Linux 5.12 新特性的完整描述,请参见:https://www.phoronix.com/scan.php?page=article&item=linux-512-features&num=1

    「Talk is cheap. Show me the code.」

    提到 Linux 之父 Linus Torvalds,他本人的人生经历似乎更加有趣。

    2000 年 8 月 25 日,在讨论关于内核线程优化问题时,一个人提出了自认为非常高效的方案。Linus Torvalds 认为这个方案不怎么样,就在回复邮件中写下了「传世名言」:

    Talk is cheap. Show me the code.

    Linus Torvalds 是当今全球最著名的程序员之一,喜欢「吐槽」甚至「炮轰」那些自己认为不靠谱的公司、人和事,比如 C++、Java、英伟达,他都毫不留情地批评。

    去年接受公开采访时,Linus Torvalds 曾表示,自己的大部分时间花在邮件往来上,而不是编程。他的代码大多直接写在邮件内,不会专门编译和测试。

    去年,Linus Torvalds 也是在邮件列表里发表了关于英特尔 AVX512 指令集的一段言论,并表示自己转投 AMD 了。

    我希望 AVX512 去死,然后英特尔就可以开始去解决实际问题了——而不是试图去创造神奇的指令,然后围绕它寻找基准测试结果让它看起来很好。

    他承认自己「脾气暴躁」,但不是无脑喷。

    苹果发布搭载 M1 芯片的 Mac 之后,有人问 Linus Torvalds 怎么看,他说:「我一直在等待可以在 Linux 上运行很长时间的 ARM 笔记本,除了操作系统以外,新的 MacBook Air 几乎是完美的。如果它能运行 Linux,我绝对想买一个。」

    ·················· END ··················

    关注后回复「1024」,获取海量学习资源

    展开全文
  • 【图灵图书推荐】Linux程序设计(第3版) 众所期待的程序设计圣经 【写在前面】此文贴出后,引起了大家的较多关注,是意料
    原文地址为:
    Linux之父炮轰C++:糟糕程序员的垃圾语言
    

     


    【图灵图书推荐】Linux程序设计(3

    众所期待的程序设计圣经



    【写在前面】
    此文贴出后,引起了大家的较多关注,是意料之中的事情。毕竟,C、C++、Linux之父,都是大家最最熟悉的东西。但是许多同学把精力放在纯粹语言优劣的争论上,就没有太大意思了。这场争论的主角之一,微软的Dmitry Kakurin有一句话非常正确:“这是一种信仰问题。因此,任何讲道理和争论都会无穷无尽,而且也毫无意义……”

    我想,正确的态度,应该是从高手们的争论中汲取营养,提高和深化自己对相关语言的认识,结合自己的实际环境,想想应该怎么学,怎么用。孟岩云风pongba在这方面都有“有营养的”文字,大家可以看看。

    各种语言都是有自己的局限性的,也都有自己最擅长的用武之地。今天,软件项目中越来越倾向于采用多语言开发,所以与其花精力做口舌之争,不如多学学对方的语言。写《程序员修炼之路》的Andy Hunt和David Thomas大师早就教导我们,要在软件开发这个行当立于不败之地,应该“每年学一种新的语言”。



    Linux之父Linus Torvalds为了Linux内核开发而专门打造的版本控制软件Git已经引起了业界的广泛关注。昨天,有一位Dmitry Kakurin老兄在查看了源代码之后,发现使用的是纯C而非C++,表示不可理解,他直言:“别拿可移植性说事儿,这是屁话(BS,bullshit)。“(此外,他还批评Git蛮力地直接操作文本,既啰嗦又易错,而且很难跟上高层代码逻辑。)


    这个BS引起了Torvalds的强烈反应,他用*YOU* are full of bullshit.“(你才满嘴屁话呢)作为自己反驳的开场白。接着,他先转向了对C++的罕见的火药味十足的炮轰:

    ”C++是一种糟糕的(horrible)语言。而且因为有大量不够标准的程序员在使用而使情况更糟,以至于极容易产生彻头彻尾的垃圾(total and utter crap)。老实说,选择C就是为了把C++程序员踢出去。……我有这样的结论,任何喜欢用C++而不是C开发项目的程序员可能都是我希望踢出去的人,免得他们来搞乱我参与的项目。C++会导致非常非常糟糕的设计选择。你们这些C++程序员总是一上来就用语言的那些‘漂亮的’库特性比如STL、Boost和其他彻头彻尾的垃圾,这可能对你们的程序有所‘帮助’,但是却会导致:

    “——当库无法工作时无穷无尽的折磨(别跟我说什么STL尤其是Boost很稳定而且可移植性很好,那全是屁话,而且一点都不可笑)

    "——低效的抽象编程模型,可能在两年之后你会注意到有些抽象效果不怎么样,但是所有代码已经依赖于围绕它设计的‘漂亮’对象模型了,如果不重写应用程序,就无法改正。


    【图灵图书推荐】近10年来最好的C语言图书,哈佛、MIT教材:K.N.KingC语言程序设计:现代方法即将出版!!
                                    C语言摇篮贝尔实验室培训秘笈《C语言解惑》热卖中                                                             



    ”也就是说,使用优秀的、高效的、系统级的和可移植的C++的唯一方式,最终还是限于使用C本身具有的所有特性。项目限制只用C,意味着参与的人不会捣乱,也意味着会得到许多真正懂得底层问题,而不会折腾那些白痴‘对象模型’垃圾的程序员。

    "所以,我很抱歉,但是对于Git这样效率是主要目标的软件,C++的所谓优点只是巨大的错误。而我们将看不到这一点的人排除在外却成了一个巨大的附加优势。

    "如果你想要用C++写的版本控制系统,去玩Monotone吧。他们确实使用了‘真格的数据库’,使用了‘漂亮的面向对象库’、使用了‘漂亮的C++抽象’。可是说老实话,所有这些对某些计算机专业人士而言富于吸引力的设计决定,其最终结果确是一堆可怕、难以维护的垃圾。“



    【070907更新】Torvalds和Dmitry Kakurin争论继续中。
    对Torvalds的回击,Dmitry反唇相讥:“随着只用C编程的恐龙们逐渐灭绝,你很快就会发现只剩下自己一个人在固执己见。用Git贡献者的数量是说明不了问题的。显然C++开发者也能够贡献C代码。但是以为他们喜欢这种方式,那可就错了。

    “没有C的时候我用汇编编程。然后在C++诞生之前,我转向了C。现在我使用C++和C#,而且不再走回头路。差劲的程序员用任何语言都写不出好程序。但是为了将差劲的贡献者拒之门外这样一个没谱的理由而惩罚优秀的开发者,这简直是胡闹。”

    只过了10几分钟,Torvalds就回贴了:“和你不同的是,我实实在在地给出了不喜欢C++的原因,而且指出了它可能导致的各种问题的一些例子。而你呢,没有给出一条像样的使用C++的理由。事实上,Git比其他软件配置管理软件都要好,而好的品味(taste)和C正是原因之一。

            对上面的最后一句话,Torvalds后来又做了如下补充:
            ”说得更具体一些:
            “——简单和清晰的核心数据结构, 非常精益(lean)且颇具雄心的代码管理着它们,将”简单胜于花哨”
                     这一方法发挥到极致。
            ”——有意识地不抽象数据结构和算法,因为它们恰恰是Git核心的全部要素(whole point)。

            ”如果你想用更花哨的语言,C++绝对是最糟糕的选择。如果想要真正的高级特性,那就选择有垃圾回收或
                      者好的系统集成的,而不是既缺乏C的简约(sparseness)又缺乏C的直接而且没有重要概念的高层                  绑定(high-level bindings to important concepts)的东西。

            “一言以蔽之,C++正处在困境当中,它既无法帮助原型化或者简单的GUI编程足够简化从而真正可用,又                  不是C那样积极地鼓励你使用简单和直接的语言构造的精益系统编程语言。

                       (另一位同学插了一句:这还没有提到很难找到两个C++编译器支持同样的特性。)

     

    “这与什么恐龙毫无关系。好的品味永远不会过时。将C与汇编语言相提并论,恰恰说明你对自己所讨论的问题缺乏起码的概念(don't have a friggin idea)。"


    【图灵图书推荐】 不容错过的C++圣经《C++ Primer中文版》习题集
                                    凝聚C++业界专家智慧的《C++编程规范》
                                   


    【070908继续更新】
    争论还在继续。半个小时之后,半小时后,Dmitry回帖

    “我说过,这是一种信仰问题。因此,任何讲道理和争论都会无穷无尽,而且也毫无意义,就像任何其他宗教问题一样。"

    ”我来讲讲Git开发应该使用C++的理由(而不是一般意义上C++对任何项目都更好的理由,这种说法同样也是毫无意义的):

    “1. 好的String类能够大大提高代码的可读性(而且代码也会显著减少)
    "2. 好的Buffer类——理由同上
    ”3. 管理内存和文件/套接字/锁句柄的智能指针和智能句柄
    “就目前而言,通过这种繁琐的宏管理字符串和内存,很难看出高层逻辑。

    接下来他的语气变得缓和,甚至最后还用了一个笑脸:
    "以我之见,Git具有非常漂亮的高层设计(对象数据库,使用散列,数据和元数据的简单而且容易访问的存储。)向你赞一个!

    “但是具体实现方式——C和shell脚本的混合、自底向上发展出来的命令行界面就很一般了。

    ”我可没有将C与汇编语言相提并论。我只是要指出我曾经用许多不同的语言编程,目睹了糟糕的程序员用任何语言都会写出差劲的代码。因此这实际上是与语言无关的。:-)


    Torvalds则依然怒气未消,他反驳Dmitry对Git用宏管理字符串和内存的批评
    "完全是屁话。字符串/内存管理根本无关紧要。还是去看看源代码吧(我敢打赌你没有看过)。这不是重要的部分,而且也不复杂。唯一真正重要的部分是设计。有些部分之所以是用 ' 原型化语言 ' 编写,恰恰是因为它们不是核心部分,而且会被C慢慢地替换掉。C++可没有办法替换shell脚本或者Perl代码。而且C++也没办法让真正核心的部分变得更好。

    "显然你这一辈子已经经历了 ' 汇编-> C -> C++/C# ' 的转变过程,你将我这样一直坚持用C的比作 ' 恐龙 ',似乎这是一种向更好/更现代的语言不可避免的演进。这是毫无根据的,因为C在很多方面都远远优于C++(更优于C#),包括可移植性,还有接口和低层支持。

    "你当然可以用任何语言编写糟糕的代码。但是,有些语言,尤其是带有一些心理(mental)包袱的语言本身就非常糟糕。你这样的新手跑来指出一些绝对无关紧要的补丁特性(【刘江按】此处应该指C++对C的增强特性),用它们作为一种语言优越的论据(这些东西语言原作者都不喜欢),这一事实本身恰恰说明你满脑子都是糊涂概念,应该好好醒悟一下了。

    "对于Git核心代码真正重要的,是诸如这样的事情:编写自己的对象分配代码,使内存占用尽可能小,从而能够高效地记录百万对象的标志。这实际上是为树形关系的多个对象编写本质上非常优化的分析程序,因为这里没有任何抽象。这绝对是在原始内存字节一级上的。

    "这些事情能够用C之外的语言编写吗?当然可以。但是那些认为C++字符串处理这样的高级特性很重要的人肯定是写不出来的。

    "事实上,这正是C擅长的事情。不仅指语言本身,还包括一种必需的心态(mentality)。C最大的优点之一,就是它不会使你认为程序是什么高层的东西。正是后一种心态会使你明显偏向其他语言,但实际上从Git的角度看来,所谓 ' 高层 ' 恰恰是错误的。"


    Dmitry回帖:
    我不仅看过源代码,而且还做过很多调试工作。我发现的问题大多数都与处理Windows上的路径(也就是字符串处理)有关。

    他表示不再纠缠于“C与C++孰优孰劣”的讨论,而是介绍了一下自己的出发点:

    我的目的是使用Git。当有些功能无法使用时,我想能够在尽可能最短时间和花费最小的力气进行改正并贡献改正的代码。对我来说,这只是我主要工作的一种消遣而已。

    而Git用C编写这一事实,对这一目的毫无好处。建议使用C++是现有C代码基础的唯一出路。所以,虽然C++可能从学术上来讲并非最佳选择,但是唯一切合实际的选择。

    “除了其他已经尝试过了的政体之外,民主是政体的最差形式。”
    ——温斯顿 丘吉尔

    现在,我认识到自己只是一个不太活跃的贡献者,但我希望自己的声音能够被人听到。而那些承担开发和维护Git主要重任的人也应该发出自己的声音。


    此后,Torvalds没有再发言,大概是认为自己已经大获全胜。而另外一些Git贡献者继续对Dmitry进行反驳,可以看出,Torvalds的看法并不是他的私见。Theodore Tso说

    “我认为字符串处理是C++会找来大麻烦的地方之一。糟糕的程序员(原文为idiot)会这样写代码:

    	a = b + "/share/" + c + serial_num;

    “其中你肯定无法弄清到底分配了多少内存,因为有类型强制转换、重载的操作符(感谢上帝,在C++中你可以重载逗号操作符!),而当这种东西出现在内循环中,结果将是性能上的大灾难,而且原因还不明显!

    另外还有同学讽刺,说的确有不少C++程序员贡献代码,但是反而需要核心的C程序员花费更多时间去修改和删除。

     


    【刘江按】以下是我的一点门外之见,做引玉的砖头之用。

    Dmitry有一点是肯定正确的,语言之争更多的是一种类似宗教信仰上的,所以很难有结果,也没有太多实际意义。这种争论因为出自高手之间,所以还是会透露出很多重要的信息。比如:

    1. 对于要求性能高的系统编程领域,C++其实未必胜过C,而且事实上,也确实有很多此类项目是选择C作为主要语言的。C的生命力目前仍然毋庸置疑。更多的信息可以读这里

    2. C++目前确实处于一种被夹攻的态势,一方面在企业级系统开发(数据密集、业务规则复杂多变)中,C++已经基本被Java和C#等淘汰出局,另一方面在系统编程和嵌入式等更接近硬件的领域,又遭到C的强烈狙击。

    3. OO技术并非one-size-fits-all。
    ……(大家补充)

    必须看到的是,C语言作为一种古老的语言,其局限性也是很明显的,比如已经成为安全问题渊薮的缓冲区溢出。C的标准库也存在各种各样的问题。对于更加贴近现实世界的众多项目,没有面向对象机制,显然会影响开发效率。(有关C标准库源码层次的分析,图灵将出版著名C/C++专家Plauger的《C标准库》一书。)而且,即使是C程序员所引以为豪的性能优势,现在也岌岌可危了(参见C++之父Stroustrup的文章中相关的比较)。

    C++目前的困境,很大程度上是由于此前的图书和文献曾经一度倾向于炫技,陶醉于对语言各种细节的深入探索,有华丽化、复杂化的趋势,语言设计者们苦心设计出来各种丰富的特性和多范型的编程风格,却成了学习者和使用者的负担,加上微软等开发工具又用MFC之类的糖衣,结果造就了大批基础不牢、半桶水叮当响的C++程序员,而且因为自以为掌握了世上最难的语言,往往有目空一切的傲气。这样开发出来的代码质量,可想而知。对C++的各种误解和不良使用习惯,可以说是漫天飞舞。而这种局面继而造成C++逐渐成为一般人心目中望而生畏、学不好教不好更用不好的“专家语言”,越来越无法吸引新入行的程序员。老人毛病多多,新人青黄不接,C++社区的确面临危机。

    这几年,C++界的核心人物,包括Bjarne Stroustrup、Herb Sutter、Stan Lippman、Andrei Alexandrescu和Andrew Koenig、Stephen Dewhurst等,对此局面有过较多的反思,痛定思痛之后,写作了Learning C++ as a New Language中译文)、《C++ Primer》第四版《C++编程规范》、《Accelerated C++》和《C++必知必会》等返璞归真的文章和图书。其核心变化,是对标准库(Torvalds语气中对STL和Boost也很不屑,不知是何原因,请方家告我)、规范化、领域概念和设计的强调,弱化底层语言细节,或者说强调更规范地选择使用语言特性。

    比较同一作者的《C++ Primer》第四版和第三版、《C++编程规范》和《Modern C++ Design》以及Exceptional C++系列,可以清楚地看到这一点。

    比如Primer第三版一上来就突出C++的多种编程风格(过程式编程、基于对象编程、面向对象编程、泛型编程),并且以此作为布局谋篇的主线,很容易使初学者晕倒。到了第四版,则更多地把力气花在打好扎实的基础,介绍那些实际开发中通用的、行之有效的编程技术,在特定场合,C++提供的丰富“武器库”中应该选择哪些设施、应该注意哪些问题、业界已经总结了哪些优秀的编程实践和易犯的错误等,成了书中的主干。这使此书成为目前最适合的C++学习和使用的百科全书。

    与此配套的,当然应属《C++编程规范》,用条款形式说明了C++各种语言设施的正确用法和适用场合。如果你在学习C++的时候,就能结合其中的相关条款,了解所学特性的正确用法,当然是最理想的。而《C++必知必会》则选取了对C++程序员非常重要的知识点,进行一番贴近实际的讨论。

    C++图书推荐请参见:
    C++藏书阁(上)

    最后八卦一下,
    Dmitry Kakurin同学经查应该是一位微软公司的工程师(参考这里最后的Thanks to),致力于Git on Windows的开发。——但是不许联想啊,免得又引起另外一个门派之争。


    【070909更新】好像是和Linus Torvalds呼应似的,有相当权威性的TIOBE的编程语言指数最近一期的结果显示,C++下降了两名,落后于(Visual) Basic和PHP,成了老五。而C则稳居第二。

    Position
    Sep 2007
    Position
    Sep 2006
    Delta in PositionProgramming LanguageRatings
    Sep 2007
    Delta
    Sep 2006
    Status
    11Java21.701%+0.17%  A
    22C14.908%-3.15%  A
    34 (Visual) Basic10.748%+0.12%  A
    45 PHP10.204%+1.08%  A
    53 C++9.938%-0.82%  A
    66Perl5.416%-0.01%  A
    78 C#3.583%+0.59%  A
    87 Python3.025%-0.12%  A
    99JavaScript2.722%+0.28%  A
    1013 Ruby2.065%+1.13%  A

     


    【070910更新】
    刚才看到,有两位资深同学写了相关的讨论文章,用姜文的话说,属于“有营养”的好文字,大家可以去看看:
    孟岩:Linux之父话糙理不糙
    云风:C的回归

    【070910夜更新】
    今天偶然翻到《Unix编程艺术》一书,其中第4章中“Compactness”(紧凑性)部分里,Eric Raymond写道:

    在通用编程语言中,C和Python是半紧凑的;Perl、Java、Emacs Lisp和shell则不是(尤其是真正的shell编程要求你知道半打sed和awk这样的其他工具)。C++是反紧凑的——语言的设计者承认,他并不指望任何一个程序员能够完全理解这一语言。


    【070911更新】
    刚才看到一张Linux内核开发者峰会照的全家福,有历史价值,给大家分享一下。上面有Torvalds(大致在中间)、Andrew Morton(目前的内核主要维护者,第二排右数第二个)、Alan Cox(Linux贡献最大的黑客之一,为《Linux程序设计》写序的老大,两个柱子之间个子不高的大胡子)、Jonathan Corbet(《Linux设备驱动程序》一书的作者,第一排左数第一个)和写书的伙伴Greg Kroah-Hartman(中间的柱子
    左边)、上面发言的Tso(中间的柱子右边,看简历也是个大牛呢,IBM的)、Olaf Kirch(《Linux网络管理员指南》的作者)等等。有位中国人Yang Li,飞思卡尔的。Herbert Xu是澳洲的,那个坐在地上的华人女士Mingming Cao是IBM美国的。




    Monotone也是一个自由的CVS,网站在这里

    C和C++的比较是一个非常有趣的话题。你怎么看呢?


    【延伸阅读】
    C标准中的一些新术语
    C语言入选十大已死和垂死IT技术和职业
    C++失去竞争力了吗?《C/C++ User's Journal》停刊有感
    销量超过10万册Amazon第一PHP图书出版
    新闻:Linux内核支持团队裁员,CEO离开
    2007开源大奖揭晓

     
    

    转载请注明本文地址: Linux之父炮轰C++:糟糕程序员的垃圾语言
    展开全文
  • Linux之父Linus的自传:《只是为了好玩》

    千次阅读 多人点赞 2018-05-07 08:34:12
    本文转载自得到平台:每天听本书,如有侵权,...林纳斯·托瓦兹,著名黑客,Linux 之父,开源理念的发起者之一,曾被微软视为头号劲敌,2004年被《时代周刊》评为世界最有影响力的人之一。他曾花两周时间写出著名的 ...

    本文转载自得到平台:每天听本书,如有侵权,请告知。
    链接:https://pan.baidu.com/s/1uvvceZMYmYMLJWd0hMAcoQ 密码:1a38

    《只是为了好玩》| 弈喜解读

    关于作者

    林纳斯·托瓦兹,著名黑客,Linux 之父,开源理念的发起者之一,曾被微软视为头号劲敌,2004年被《时代周刊》评为世界最有影响力的人之一。他曾花两周时间写出著名的 GIT 版本控制器,这个版本控制器现在已成为全世界应用最广的版本控制器之一。现在林纳斯任职于非营利性组织——开放源代码开发实验室,全职开发 Linux 系统。
    记者大卫·戴蒙,曾为《纽约时报》、《美国周末》等许多刊物供稿。

    关于本书

    这本书于1999年开始筹划,2001年出版,由林纳斯本人口述,记者大卫·戴蒙整理而成,同时书中掺杂了小部分大卫对林纳斯的描述等。出版这本书时林纳斯只有32岁,所以这本书只能算是林纳斯·托瓦兹的半个自传。

    核心内容

    林纳斯21岁开发出 Linux 系统,同时致力于开源理念的传播,Linux 系统和开源理念所造成的强大影响令林纳斯名声大躁。面对名气和财富,林纳斯却表现得非常理智。推动这一切的根本因素,都是林纳斯的生活哲学:一切为了好玩。
    这里写图片描述
    点击查看大图,保存到手机,也可以分享到朋友圈

    一、Linux 系统的诞生与发展
    1. 什么是 Linux 系统

    Linux 系统是一款操作系统,不同于大众消费领域的 Windows 系统和苹果系统,Linux 系统主要是应用于服务器和大型计算机领域。我们生活中的大部分的网页和 APP,其实都是基于 Linux 系统运行的,这其中就包括我们经常会使用的淘宝和微信。Linux 系统的开发模式是开源,而这也正是它的核心特色。开源代表该系统的源代码能被自由获取、使用和修改。所以 Linux 系统和其他商业软件最大的区别就是它拥有更多的自由性。

    2. Linux 系统的诞生与成长

    Linux 系统的诞生主要源于林纳斯个人,而 Linux 系统的成长则更多得益于所采用的开源模式。林纳斯12岁开始接触计算机和编程,并从此狂热地爱上了编程。
    因为这份热爱,林纳斯自学了大量的编程知识,并不断地将学到的新知识进行练习。这些学习和练习为 Linux 系统储备了足够的知识弹药。而在开发过程中,林纳斯也不免遇到很多困难,但是他身上永不言弃的精神,让 Linux 系统最终诞生。在 Linux 系统诞生之后,它所采用的开源模式,令全世界对这个项目感兴趣的人都能参与进来。在世界各地优秀程序员的帮助下,Linux 系统不断走向完善,最终大获成功。

    二、Linux 开发者林纳斯的名利观

    在 Linux 系统获得广泛认可之后,林纳斯收获了名气,却并没有收获大量的财富。究其原因,是因为林纳斯希望 Linux 系统保持自由,不被商业因素所左右,所以他拒绝了很多公司抛来的巨额财富。
    但林纳斯并不是不爱财,他在书里公开声称他很喜欢名利带来的好处,他希望自己有很多钱。这样看起来矛盾的名利观,其实并不矛盾,隐藏在其背后逻辑就是林纳斯的生活哲学:追求愉悦、快乐至上。林纳斯是技术的狂热分子,所以他对技术的追求超过对财富的渴望。让 Linux 系统追求最佳技术的方式,在林纳斯看来,就是保持自由的开源模式。这就是他为何拒绝那些巨额财富的原因。
    另一方面,财富能给生活带来许多的便利和乐趣,在不影响追求最佳技术的前提下,对于林纳斯这种快乐至上的人来说,他当然是爱财的。林纳斯这种追求愉悦的生活哲学不仅反映在他的名利观里,更渗透到他生活的方方面面,可以说追求愉悦是林纳斯的行动方针,甚至连 Linux 系统,也是因为他对愉悦的追求而诞生的。

    三、林纳斯为什么倡导开源,开源产生了哪些巨大影响
    1. 什么是开源

    开源是开放源代码的简称,代表该源代码能被自由获取、使用和修改。同时这些被修改过的代码,也必须让其他人可以自由获得。拿 Linux 系统来说,就是所有人都可以自由获取 Linux 系统的源代码,并且能够自由地使用和修改它的源代码。同时修改过的版本,也必须让其他人可以自由获取、使用和修改。相比于商业模式,开源模式更像是一个集市。集市是自由的,你摆一个摊子,我摆一个摊子,逐渐一个集市就出现了。开源就和集市很像,是去中心化的,自下而上的生产模式。

    2. 开源的发展历史

    开放源代码运动脱胎于自由软件运动,而自由软件运动又是继承早期的黑客文化而产生的。在最初的时候,软件是自由且不收费的,当时商业公司主要是销售硬件卖钱,软件则作为硬件的附属品免费赠送。当时的软件不掺杂商业利益,大家出于兴趣等原因编写程序并且分享给别人。这就是早期的黑客文化。打破黑客文化的人就是我们熟知的比尔·盖茨,他率先开始售卖软件,并且关闭软件的源代码。在他的影响下,软件便由最初的免费且自由模式发展成了现在的收费模式。
    而对此提出反对意见的是老牌黑客理查德·斯托曼,他发起了以源代码必须可以被自由获得为核心点的自由软件运动。但由于他提出的 Copyleft 概念有着很强烈的反商业感,自由软件运动下的 GPL 许可证又强制性要求修改后的软件,其被修改的那部分源代码也必须对外开放,这种对商业文化的不友好,令自由软件运动受到商业公司的排挤。当时Linux系统也是采用 GPL 许可证,所以也被称为自由软件。但是因为大家对自由“free”这个单词的总是产生歧义,认为那是免费的意思,于是林纳斯等人便提出了开放源代码这个概念,Linux 系统也就成了开源软件。源软件的条件比自由软件更宽松,对商业文化也更包容,于是伴随着 Linux 系统的成功,开源理念也就逐步被世界各地所接受。

    3. 林纳斯为什么支持开源

    林纳斯支持开源主要有两个原因,第一是开源能促进软件行业的发展,第二是开源是追求最佳技术的最好方式。一个行业要想发展得好,其整个行业的市场氛围是非常重要的。拿 PC 机市场举例,在最初 PC 机市场并不火热,直到 IBM 公开了 PC 机技术,才点燃了整个 PC 机市场。这就和开源一样,只有通过共享,让整个市场活跃起来,才会有更良好的市场环境,这个行业才会发展得更好。这就是称开源能促进软件行业发展得原因。
    另一方面根据开源的定义,所有人都可以参与到开源项目中来,这代表参与开源项目的人数可以达到数万人甚至更多,这也就代表它将拥有极高的效率。同时开源能让项目保持自由和活力,不受商业因素影响,不会被各种盈利目标所限制。所以开源项目是既不设限,又拥有极高的效率的,可想而知这个项目会有多么强大的生命力和发展空间,这也就是将开源称之为追求最佳技术的最好方式的原因。

    4. 开源的影响力

    开源运动不仅是技术改革,更是一场信息时代的文化革命。它不仅影响了软件行业,更渗透到制造业、教育业等多个领域。首先是软件行业诞生了很多优秀的开源软件,而且有很多大型商业公司将自己的软件认证成为开源软件。其次是教育业,受到开源理念的影响,公开课应运而生。就连特斯拉的创始人也受开源理念的影响,公开了自家专利技术。开源不止影响了各个行业,还得到了多国政府的认可和支持。时至今日,开源早已超出了最初的预想范围,其巨大的影响力正在渗透到各个方面。

    金句
    1. 喜欢财富天经地义,无可厚非,但在追逐财富的过程中,切勿舍本逐末,把赚钱当成了目的而忽视了自己内心最真实的需求。
    2. 不妨一边做好手头的事情,一边多尝试不同的事物,给自己的生活多一点可能性,或许在玩着玩着的过程中,你就找到了你的终生事业。
    3. 林纳斯之所以能成为林纳斯,兴趣和努力缺一不可。
    4. 和商业公司沾上关系,一个项目就很难自由发展,而在开源的模式下,所有的一切都是不设限的,这个项目有多大的生命力,就能爆发出多大的精彩。当一个项目既不设限,又拥有极高的效率,可想而知这个项目会有多么强大的生命力和发展空间,这也就是将开源称之为追求最佳技术的最好方式的原因。

    撰稿:弈喜
    脑图:摩西
    转述:徐惟杰

    展开全文
  • Linux之父发布新版内核 多项技术调整.pdf
  • 中国市场倍受瞩目 Linux之父欲投资冲浪.pdf
  • Linux之父发函收取商标费引发开源业界争议.pdf
  • 漫画 | Linux之父:财务自由以后,我失眠了!

    万次阅读 多人点赞 2021-03-06 00:18:26
    有个叫做Eric Raymond的人,专门写了一篇文章,叫《大教堂与集市》,总结了Linux的成功道,我建议你好好看看: 1. 好软件都源自解决开发者的切身痛。 2. 把用户当作开发伙伴,是快速改进代码和有效调试的...
  • Linux之父:Linus

    千次阅读 2017-08-14 09:57:03
    林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds),是Linux之父,是Linux内核的缔造者。 1991年,年仅22岁的芬兰程序员Linus Torvalds发布了自己独创的操作系统—Linux。他将代码公布在网上,爱好者们...
  • Linux 之父、黑客、开源倡导者?Linus Torvalds 一直坚持在技术第一线,开发了 Linux 和 Git 两个项目,并深刻影响了软件行业。如果没有 Linux,就不会有基于 Linux 的安卓系统,那世界是怎样的?如果没有 Git 的...
  • 只是为了好玩解读 by搬砖松 关于作者 林纳斯托瓦兹著名黑客Linux 之父开源理念的发起者之一曾被微软视为头号劲敌2004年被时代周刊评为世界最有影响力的人之一他曾花两周时间写出著名的 GIT 版本控制器这个版本控制器...
  • Linux之父盟友分道扬镳 直言开源模式软肋(ZT).pdf
  • jsut for fun,linux之父自传,jsut for fun,linux之父自传
  • 林纳斯目前受聘于开放源代码开发实验室(OSDL,Open Source Development Labs),全身心的开发Linux内核。 主要成就 ...”美国《时代》周刊对“Linux之父”林纳斯·托瓦兹(Linus Torvalds)给出了极...
  • Linux之父自传-justforfun 蛮不错的东西,txt格式
  • Git的诞生(Linux之父,一个人两周搞定)

    千次阅读 2018-03-15 10:16:55
    https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137402760310626208b4f695940a49e5348b689d095fc000很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断...
  • http://www.linuxdiyf.com/viewarticle.php?id=277501在芬兰学校的一次活动中Linux之父Linus Torvalds对Nvidia表达了可怒的...Linux之父的指责,Nvidia方面表示宁可向Linux提供私有驱动也不会将驱动源码整合至Linux
  • Linux 之父归来!

    千次阅读 2018-10-24 09:15:46
    去修身养性的 Linux 之父 Linus Torvalds 在时隔一个余月后笑着归来,从曾临时接手 Linux 4.19 开发的稳定版维护者 Greg Kroah-Hartman 手中再次接过 Linux 内核开发的交接棒。这位向来天不怕地不怕、为写出颠覆世界...
  • Linux 之父:我就是觉得苹果没意思!| 人物志

    万次阅读 多人点赞 2019-05-21 11:24:23
    “有些人生来就注定能领导几百万人,有些人生来就注定能写出天翻地覆的软件,但只有一个人两样都能做到,Linus Torvalds。”——《时代周刊》 ...Linux之父Linus的这句话,好像一副小鞭,隔空“抽打”着...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 122,643
精华内容 49,057
关键字:

linux之父

linux 订阅