TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Two Things about Computer Programming

138 pointsby avkover 14 years ago

24 comments

petercooperover 14 years ago
<i>The computer will always do exactly what you tell it to.</i><p>With the obligatory footnote: "Unless you get into multithreading - then all bets are off." ;-)
评论 #1901622 未加载
评论 #1901831 未加载
评论 #1901630 未加载
评论 #1902236 未加载
meese_over 14 years ago
"There are only two hard problems in Computer Science: cache invalidation and naming things." - Phil Karlton
评论 #1901469 未加载
评论 #1901497 未加载
mathgladiatorover 14 years ago
Computer Science =<p><pre><code> 1. How to represent data 2. How to transform representations</code></pre>
评论 #1901675 未加载
评论 #1901485 未加载
评论 #1901467 未加载
extensionover 14 years ago
1. Nobody really knows how to do it<p>2. If you think you have a reliable system for doing it, you're probably doing the computer's job
philwelchover 14 years ago
This is fortuitous, because just this week I started realizing there are Two Things about AI:<p>1. Graph search<p>2. Representing problems as graph search
评论 #1901943 未加载
ericfloover 14 years ago
&#62; Make it work, then make it elegant, then make it fast.<p>I usually find that making it fast makes it inelegant.
评论 #1901588 未加载
评论 #1901642 未加载
评论 #1901649 未加载
limistover 14 years ago
Closely related to the first Thing of problem reductionism: "All problems in computer science can be solved by another level of indirection... Except for the problem of too many layers of indirection." — David Wheeler
vb6over 14 years ago
1: You love it, 2: You hate it.
biotechover 14 years ago
The two things about software engineering:<p>1. You have to figure out what you need to build.<p>2. Engineer the solution in such a way that changes in the requirements result in relatively minor changes to the code.
评论 #1903129 未加载
bluesmoonover 14 years ago
<i>Every problem can be solved by breaking it up into a series of smaller problems.</i><p>A good ballpark, but not entirely true. At some point you'll end up with a smaller problem that cannot be broken up further. For the most part these may be solved problems, like `increment foo`, but at some point you might hit an unsolved atomic level problem that you either need to spend a lot of time working on, or forces you to find an alternative path.
评论 #1902716 未加载
ColinDabritzover 14 years ago
1. Solving the right problem<p>2. Managing Expectations
评论 #1901606 未加载
评论 #1902838 未加载
gfodorover 14 years ago
1. You're assuming things that you've not verified.<p>2. You've overlooked or ignored things that need to be considered.<p>Pretty much sums up the source of all pain in day-to-day programming.
edw519over 14 years ago
1 and 0
评论 #1901904 未加载
rarestblogover 14 years ago
I'd change second thing about Computer Programming to: "Something ALWAYS goes wrong and your job is to fix it"
flgbover 14 years ago
The two things in computer programming are automation and abstraction. That is all.
chrismealyover 14 years ago
The two things economists know are hilarious -- square "no free lunch" with "gains from trade." Do the gains from trade have a price? Who pays that?<p>As for "incentives matter," what, because incentives incentivize?
评论 #1901974 未加载
techbioover 14 years ago
1. Defining problem space.<p>2. Input/Output.
评论 #1902895 未加载
fotoblurover 14 years ago
This reminds me of: "All Our Programming Languages Boil Down to Sequence, Selection and Iteration"<p><a href="http://bit.ly/9lwT8e" rel="nofollow">http://bit.ly/9lwT8e</a>
signa11over 14 years ago
hmm, i was thinking 'All problems can be solved by another level of indirection' should be somewhere pretty high up...
Jupeover 14 years ago
1. Nearly every decision makes the simple stuff more complicated<p>2. Accepting thing #1 will make you a better programmer
VMGover 14 years ago
Interesting idea - but I have never worked out what the two ideas of biology are.
Kilimanjaroover 14 years ago
Simplicity and beauty are my two coding principles.
hxa7241over 14 years ago
1. Write for the computer<p>2. Write for the human
hasenjover 14 years ago
1. Abstract thinking<p>2. Empathy for users and other programmers