TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Linus - I'm a bastard Speech (2000)

37 点作者 vinutheraj超过 15 年前

6 条评论

scottdw2超过 15 年前
Personally, I find arguments against using debuggers to be absurd. More importantly, I think they tend to promote ponitification over science.<p>Using a debugger is, effectively, taking a scientific approach to understanding a software system. It's similar to using a microscope to examine bacteria. The programmer sets up an experiment, and then uses the debugger to observe the software system and learn about how it works.<p>The approach Linus advocates is one of "ponitification", where the wise pontif examines his scrolls, and makes a declaration of truth.<p>Its interesting to note that the barrier to understanding how software works via experimentation is much lower than the barrier to understanding it by reading every line of source code.<p>In the mail, Linus states that his goals in excluding debuggers from the main kernel sources is to discourage people from using debuggers to develop features, because developing with a sense of deep understanding results in better software. However, it also excludes one of the most useful tools for developing that sense of understanding.<p>I can't speak to personal motivations, because I don't know the man, but that type of behavior does smell somewhat of self-preservation. Ensuring that it is difficult to acquire a complete understanding of Linux, makes it more difficult for him to loose his position of influence.<p>Regardless of his motivations, however, lies the central fact that barriers to knowledge are detrimental to an open society.<p>Given the value that the linux community places on "openness", "freedom", and "egalitarnisim", and his position as a leader in that community, I would think he should want to eliminate those barriers.<p>If that increases the burden of incorporating change into the kernel, because the quality of developers is diluted by use of debuggers, than so be it.<p>This is equivalent to the notion that the burden of proof in acquiring a criminal conviction is placed on the state, not the defendant. Yes this means that everyone needs to work harder at justice, and that sometimes guilty people go free. However, in the end, it ensures that people actually remain free.
nearestneighbor超过 15 年前
Linus's general attitude "developer time does not matter" is appropriate only when you have free slave labor that you can afford to waste.
评论 #822146 未加载
DannoHung超过 15 年前
I would like to mock propose the following idea: A Debugger License. Like a driver's license, you have to have a certain amount of experience and qualification to operate a debugger. Improper use of your debugger may incur fines and penalties up to the revocation of your license.<p>Licensing should involve operational demonstration of design capacity, testing, and reasoning. After passing the initial phase of licensing, you may operate the debugger under supervision to learn the full spectrum of debugger capabilities (no point using a tool poorly, after all). [/tongue:cheek]<p>I don't really blame people for using debuggers badly though. They're one of the few practical coding tools that time is actually spent on in university classes. In my experience, we were expected to use them to understand the operation of the stack frame and heap in decoding a program especially built around having funny tricks. To throw back to my analogy, it's a bit like teaching a new driver how to do a powerslide before teaching them to obey stop signs.
btilly超过 15 年前
That speech fed into an interesting discussion on the merits of debuggers at <a href="http://www.perlmonks.org/?node_id=48495" rel="nofollow">http://www.perlmonks.org/?node_id=48495</a>. Note that "merlyn" in that discussion is Randal Schwartz, who is well-known in both Perl and Smalltalk circles.
lsc超过 15 年前
hm. "And sure, when things crash and you fsck and you didn't even get a clue about what went wrong, you get frustrated."<p>It seems that a serial console, even though it doesn't give you as much info as a full kernel dump, would at least give you the panic message and a back trace, which is usually enough clue to figure out what happened or to ask for help.
评论 #823090 未加载
thras超过 15 年前
<i>"I happen to believe that not having a kernel debugger forces people to think about their problem on a different level than with a debugger. I think that without a debugger, you don't get into that mindset where you know how it behaves, and then you fix it from there. Without a debugger, you tend to think about problems another way. You want to understand things on a different _level_."</i><p>This seems to be the most worthwhile part of the post. I've never gotten into the habit of using debuggers myself, so I can't say how strong his argument is.
评论 #822299 未加载
评论 #822280 未加载