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.

What is the hardest thing in Computer Science?

33 pointsby sidntrivediabout 5 years ago
"There are only two hard things in Computer Science: cache invalidation and naming things." — Phil Karlton

20 comments

arethuzaabout 5 years ago
I like the variation on that quote:<p>&quot;There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.&quot;
评论 #22944719 未加载
Hackbratenabout 5 years ago
Security.<p>It needs to be built into every phase of computing, starting with the CPU micro-code, going through network protocols, up to the topmost JS framework layer.<p>Screw up one piece and you may end up with a major vulnerability.<p>Many software project owners avoid it due to complexity. To some extent, even academia sometimes eschews it.
评论 #22945250 未加载
评论 #22944709 未加载
peter_d_shermanabout 5 years ago
Making your code so simple (and well documented!) that it can be understood by programmers with much less experience than you, while not compromising speed or functionality.<p>“Everything should be made as simple as possible, but no simpler.”<p>-Albert Einstein
评论 #22949558 未加载
sloakenabout 5 years ago
1) Keeping up with an ever growing and changing tech environment.<p>2) Dreading visiting my parents, because you always hear:&#x27;Oh good, come here and look at this problem I have&#x27;. My wife even volunteers me to fix other peoples stuff, which is real annoying.
评论 #22945940 未加载
lglabout 5 years ago
The hardest things so far will probably be one of the unsolved problems in computer science that you can see here:<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;List_of_unsolved_problems_in_computer_science" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;List_of_unsolved_problems_in_c...</a>
CyanLite2about 5 years ago
People--including end-users and non-technical managers.
nunezabout 5 years ago
Predicting what users will do with your software.
bobbyzabout 5 years ago
If I&#x27;m being cheeky, its other people.
trompabout 5 years ago
Determining the next Busy Beaver number. Every time you determine one, a harder problem takes its place. And eventually the problem becomes unsolvable, as only finitely many values can be determined.
cbm-vic-20about 5 years ago
Telling the difference between Computer Science and Software Engineering.
评论 #22947132 未加载
kn0whereabout 5 years ago
Printers.<p>More seriously, robustness&#x2F;security. Everything we “engineer” is incredibly fragile. Nothing is built and able to be “done” if it needs continuous security maintenance for its entire life.
diehundeabout 5 years ago
I don&#x27;t know about hard to understand but if we are talking about getting things right:<p>- Concurrency<p>- Building distributed systems (databases, messaging systems, distributed file systems, etc)<p>- Low level programming
shahbabyabout 5 years ago
Not exactly computer science but the hardest thing I&#x27;ve found is preparing for algorithmic coding interviews.
ern0about 5 years ago
The hardest thing is to accept that you don&#x27;t really need CS as a software developer. Even programming tasks - digging into legacy code, implementing features etc. - requires no CS knowledge, and programming is just one thing sw devs do.<p>Other words: there&#x27;s no CS topic which helps you during an estimation meeting.
tcgvabout 5 years ago
I have a simple theory on why it is hard to name classes ;)<p>- <a href="https:&#x2F;&#x2F;thomasvilhena.com&#x2F;2019&#x2F;10&#x2F;why-is-it-hard-to-name-classes" rel="nofollow">https:&#x2F;&#x2F;thomasvilhena.com&#x2F;2019&#x2F;10&#x2F;why-is-it-hard-to-name-cla...</a>
sloakenabout 5 years ago
Determining when something is done, because you always feel like you can improve on it.
DoofusOfDeathabout 5 years ago
Learning about topics that are professionally useful, but in which I have absolutely no interest.<p>In my case, web development.
acoyeabout 5 years ago
Creating a `complete` (in a mathematical sense) computing system.
评论 #22946301 未加载
jonnypottyabout 5 years ago
Complexity
评论 #22947312 未加载
techbioabout 5 years ago
trust