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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

John Carmack discusses the art and science of software engineering (2012)

123 点作者 hypr_geek将近 12 年前

8 条评论

mathattack将近 12 年前
&quot;I would like to be able to enable even more restric­tive sub­sets of lan­guages and restrict pro­gram­mers even more because we make mis­takes con­stantly.&quot;<p>I like this very much. For all the talk of power in languages, we make lots of mistakes. One underlooked decision factor in choosing languages should be, &quot;How hard is to make accidental mistakes?&quot; and &quot;How easy is it to find and fix mistakes?&quot;
评论 #6246641 未加载
评论 #6247528 未加载
评论 #6248472 未加载
评论 #6246078 未加载
Arjuna将近 12 年前
Previous discussion:<p><a href="https://news.ycombinator.com/item?id=4423031" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=4423031</a><p>Here is the link to the transcribed portion of the talk (starting at 00h:30m:02s):<p><a href="https://www.youtube.com/watch?v=wt-iVFxgFWk&amp;t=1802" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=wt-iVFxgFWk&amp;t=1802</a>
ghc将近 12 年前
Carmack&#x27;s aside about his 7 year old son learning to program brings up an interesting idea: What would happen if you taught a 7 year old to program with Haskell. I don&#x27;t have any children, but I started programming at 7 so at the very least I can conduct a thought experiment about what it would mean if Haskell was the tool I had at my disposal instead of opaque C manuals and a hex editor I used to hack the Mech Warrior 2 binary when I couldn&#x27;t beat a scenario.<p>My thoughts:<p>I probably would have intuitively grasped algebraic datatypes. It often frustrated me that I could not define new things like True and False to suit the game worlds I wanted to create.<p>I would have had little to know interest in math or recursion for its own sake. I&#x27;m pretty sure I would not have done well with those.<p>I would have probably written almost all of my code in the IO monad, with game rules defined outside.<p>Graphics programming in Haskell would have been no better than with any of the other languages.<p>Overall, I don&#x27;t think Haskell would have stuck. I think I would have been easily frustrated, despite being able to structure programs better than I was able to in Basic. For proof of this, I look to my early abandonment of C&#x2F;C++ for game development (even if the manuals were pretty much terrible). On the other hand, if I was presented a game written in Haskell (with source), maybe the outcome would have been different. I certainly managed to use a hex editor at that age, so if I had some goal I wanted to accomplish (like modifying the AI of a game), I think maybe anything would have been possible.
评论 #6244636 未加载
评论 #6244972 未加载
评论 #6247900 未加载
评论 #6244487 未加载
评论 #6250030 未加载
评论 #6244637 未加载
ra88it将近 12 年前
Carmack is this living legend of programming, hacking, making magic happen with the computer. And yet his writing and the concepts that interest him are often simple and approachable.<p>How does he manage to look at this pile of hacks with beginner&#x27;s eyes? Somehow he does, and he sees it for what it is without judging it too harshly or prematurely. I love reading his blog.
评论 #6248272 未加载
taspeotis将近 12 年前
&gt; With the NASA style devel­op­ment process, they can deliver very very low bug rates, but it’s at a very very low pro­duc­tiv­ity rate<p>There&#x27;s some more, somewhat old and non-technical, information about NASA&#x27;s software development efforts here [1].<p>[1] <a href="http://www.fastcompany.com/28121/they-write-right-stuff" rel="nofollow">http:&#x2F;&#x2F;www.fastcompany.com&#x2F;28121&#x2F;they-write-right-stuff</a>
评论 #6247265 未加载
brador将近 12 年前
Go to youtube, search &#x27;quakecon 2013 keynote part 1&#x27;. It&#x27;s a great talk&#x2F;keynote by John. One of his best.
gatestone将近 12 年前
I wonder when Carmack and Rob Pike sit down and save the sw engineering world...
rickjames28将近 12 年前
I&#x27;m becoming increasingly convinced that the way forward in software engineering isn&#x27;t &quot;better&quot; languages like Haskell or Clojure, but with better tooling.<p>I think Carmack&#x27;s talk shed light on the fact that as humans we have very limited cognitive capacities when it comes to programming and &quot;smarter&quot; languages help us a bit, but we need automated, &quot;smart&quot; tools - like static analysis tools.<p>I think of Visual Studio and Resharper and how much ReSharper finds that I can learn from and how it frees me to concentrate on business logic.<p>Years ago I remember reading an article or an interview with a Sun research scientist where she described programming of the future where languages and tools will be much more lenient of your mistakes and programming will be much more of a two-way conversation with your tooling.<p>That and tools like language work benches are the only ways I see to go forward. Everybody using Haskell is just a modest (if that) step forward.
评论 #6247807 未加载
评论 #6247790 未加载