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.

Ask HN: Should I learn C or C++?

1 pointsby init-asover 6 years ago
I am going to college in the US in September as an international student but my school year finished in January. I have about 8 more months of doing nothing on my hands and had thought about learning C or C++ just because I have always heard that they give you a good base knowledge of how other languages work under the hood. I would say I&#x27;m fluent in Java, Swift and Python.<p>Do you have any recommendations for which one I should tackle (or neither)? If you had a good resource to help me learn as someone who isn&#x27;t a beginner, that would also be great too. Thanks.

5 comments

rzzzwilsonover 6 years ago
I&#x27;d say start with C because it is closer to the hardware and it&#x27;s simpler to learn than C++. You will find it easier to pick up C++ later if that is required.<p>If you know a few other languages it shouldn&#x27;t take 8 months to become at least proficient at C, so you might then try another language that really stretches your brain. Something like Haskell or even a Lisp. After a language that gets closer to the hardware like C try something very abstract and high level. That&#x27;s why I mention Lisp above. Reading SICP [0] made me realise just how much of a logical system you can synthesize from almost nothing.<p>[0] Structure and Interpretation of Computer Programs <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Structure_and_Interpretation_of_Computer_Programs" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Structure_and_Interpretation_o...</a>
arcticwombatover 6 years ago
I suggest looking into the curriculum of your upcoming studies and getting a headstart with whatever language(s) you&#x27;ll be studying.<p>The simple truth is that unless you truly specialize, your software developer career is going to be a long string of learning things to solve a problem.<p>Look up the language you&#x27;ll be studying, pick one that sounds neat, and grab the nearest tutorial that includes the words &quot;For beginners&quot; in the title.
smt88over 6 years ago
It sounds like you’re way ahead of most of your peers when it comes to technical skills. Why not spend the time developing&#x2F;practicing social skills or on another hobby altogether?<p>People burn out on coding faster than they think, and you have a lifetime to do it in your career. You’ll probably never get 8 months of free time again, though.
jki275over 6 years ago
Learn both. C will make you a better programmer, and C++ will set you up for success in the world.
评论 #19017658 未加载
评论 #19017534 未加载
kazinatorover 6 years ago
If you don&#x27;t know C, you can hardly write a C++ <i>main</i> function that processes the arguments. Or use C libraries effectively (without someone who does know the C-like subset of C++ having written a class framework for you which wraps them).