热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linus眼中的世界

Linus眼中的世界--Linux通用技术-Linux技术与应用信息,下面是详情阅读。
2008年Linux.conf.au大会目前正在澳大利亚的墨尔本举行,Linux之父Linux Torvalds在会议期间接受了来自Andrew Hendry的采访,感兴趣的读者请随我一同往下看:

他没有手机,且引以为傲。他还认为“虚拟化”有些许言过其实了。让我们看看从Linux宗师Torvalds这里还能了解到什么。

Torvalds:嗯,人们总会为编写新代码、加入新特性之类的事情而兴奋。我们的做法是,用两个星期的时间作为合并窗口,所有新代码都在这段时间加入。 在这段时间里,每个人都真的很开心,因为这些事情很有意思,加入新代码并因此而自豪。可是当这两个星期一过去,就得确保所有bug都被清除了,我们会收到 来自于真正使用这些新特性用户的报告,这时工作起来就不那么带劲了,debug可不像一开始写代码那么有趣。

所以,最大的困难就在于让大家在下一个合并窗口前别再写新的代码了(通常这个间隔是两个月)。大家需要集中精力解决用户反馈的上个合并窗口中的bug,而非写新的代码。人人都知道这很重要,可是它确实没有编写新代码让人激动。我觉得这是在内核开发中最大的社会问题。

Torvalds: 在过去几年里我真正所做的事情是“沟通”。我最终合并其他人所写的代码。实际上除了有关内核的一些工具,我自己却很少写内核代码。我为源码控制管理工具编 写代码,用它来追踪每个人的工作情况。代码来自不同的人,每个补丁都被按正确次序单独跟踪,然后合并到一起。我把合并的代码写如内核。相对于开发者,我更 多地像是个技术领袖,在过去大约5年的时间里都是如此。

Torvalds:我是KDE的用户,不过KDE 4我还没用过。我不想赶时髦。过去我确实发送错过误报告之类,但我还有时间去升级。大概我会等到 KDE 4.1左右或者等到一些初期问题都被解决的时候。

Torvalds: 我根本就没有手机!我讨厌电话,因为我是那种工作时全神贯注的人,如果有人给我打电话,我就完全没办法集中注意力。我恨电话,因为它们总会干扰你,而手机 就更可恨了,因为它一直都粘着你,所以我根本就不用手机。我的工作间里有一台早期的Linux手机,那是免费的,但它是关着的。我所有的机器上都有 Linux,唯独电话上没有。

Torvalds:我想我们已经收到了吧。他们做的一件大事是电源管理,他们在没有程序运行的时候关闭 CPU却让屏幕能继续亮着。这是不久前提交进来的。我们对时间的看法更灵活了——我们确实能在更长的时间里避免时钟中断发生。我想OLPC已经参与进来 了,不管代码是否直接发给了我。

Torvalds:我想它有点言过其实了,“虚拟化”是时髦词汇中的一个。对虚拟化感兴趣的人大概有三种 情况。第一种是桌面应用,用虚拟器运行另一种操作系统,例如用VMWare来在Linux机器上运行Windows。我个人对此一点兴趣也没有,为何我想 在Linux机器上运行Windows?

第二是许多商务人士用虚拟化环境来更好地利用他们的计算机。他们有台很强悍的机器,但他们想运行很多不同的东西而又彼此保持隔离,所以他们用虚拟化来分割独立的机器。如果你有一台大机器能分割成小部件,这对IT人士有好处,能够更好地管理,而这也不是我需要的。

第三是运行过时的操作系统,或者一个操作系统的旧版本,因为有些程序非得这样才能运行。但是这些原因都不符合我的情况,所以我个人对虚拟化不是很感兴趣,它跟我做的事无关。

事实上,我对虚拟化完全不感兴趣并不代表我不支持它,我们已经有了很多在Linux上支持的虚拟化的方式,并非要我感兴趣了才能让事情发生。

Torvalds: Linux用在商业环境中的一个原因,我想是因为它非常灵活。不单单是便宜,还能把它调整到适合特定的用途。在开发者的世界里有两个原因,很明显首先价格 总是一个大问题,特别是当你想逐步建立自己IT系统的时候。当你不知道如何运行而且又无修改的时候,买一个预先做好的系统是毫无用处的。当面对一个完全设 置好的系统,你只有很基本的了解却根本无法看出它是如何运行时,就完全无法从零开始获得提升,你无法从中学到东西。你可以学着去使用它,但无法学着去再创 造一个类似的东西。

所以,我觉得OLPC一件做得很好的事情就是他们提供的很多应用程序都是用非常易用的编程语言写出来的。那可能不是最 高效,也不一定是我会用到的语言,但Python确实很容易学,非常直观。我想他们有一个特别的按钮,当你在用这些程序时,只要按一下就能看到源代码,因 此你能彻底了解程序是如何工作的。当你把事情搞乱时,你可以说:“我想回到原始的状态,因为我的改编程序行不通”。但我想假如真的不仅仅是提供电脑给人们 使用,而是还希望把计算机技术传授给他们的话,不单单是是会用文字处理器,而是了解它如何工作的时候,Linux和其他开源项目就当仁不让了。如果没有源 代码,用户只面对的只是一个黑箱。

别误解我,价格是很重要的,但我认为能获得源代码来学习要重要得多得多。即使大多数人看源码,仅仅把电脑当成工具来用,但哪怕只要有一小部分人去看源码并试着理解它,就会获得计算机科学中虽然小但却是核心的能力——无论在哪儿,哪怕是在撒哈拉以南的非洲。

Torvalds: 过去15年中,Linux完全做到了我想要它做的每件事。早先我的激励来自外部:来自于其他人发现,我发现不了问题。就这么简单,现在也是这样。所以真正 激励我的是其他人遇到的问题,有时他们也会让我觉得“真是疯了”,但有时正是这些疯狂的人遇到最有趣的难题。

我个人一直对桌面应用感兴 趣,因为我习惯把系统当工作站,但它的桌面功能却很有限。因为很多用户关心的我却并不关心,所以个人来说,我会对与我的使用体验相近的那些桌面用户发现的 问题更感兴趣。但同时,一些技术上更有意思问题来自于嵌入式环境。他们对Linux非常严格的要求,因为通常在一个很小的机器上做,专注一个功能,需要便 宜的机器,这样可以才卖出千万份。桌面用户要好过得多,因为他们的机器其实很大很强,但真正有趣的技术挑战有时是来自于移动用户。尽管他们经常抱怨的是用 户界面倒不是内核。
推荐阅读
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文是一位90后程序员分享的职业发展经验,从年薪3w到30w的薪资增长过程。文章回顾了自己的青春时光,包括与朋友一起玩DOTA的回忆,并附上了一段纪念DOTA青春的视频链接。作者还提到了一些与程序员相关的名词和团队,如Pis、蛛丝马迹、B神、LGD、EHOME等。通过分享自己的经验,作者希望能够给其他程序员提供一些职业发展的思路和启示。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 【Windows】实现微信双开或多开的方法及步骤详解
    本文介绍了在Windows系统下实现微信双开或多开的方法,通过安装微信电脑版、复制微信程序启动路径、修改文本文件为bat文件等步骤,实现同时登录两个或多个微信的效果。相比于使用虚拟机的方法,本方法更简单易行,适用于任何电脑,并且不会消耗过多系统资源。详细步骤和原理解释请参考本文内容。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
author-avatar
小破皮2011_292
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有