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.

Learn C programming and the rest will come

48 pointsby techtorover 5 years ago

12 comments

detaroover 5 years ago
Responding to the title: Not really, no. Neither is C necessarily a great starting point, nor does knowing C necessarily help you being good at other languages etc.<p>I&#x27;m not saying learning C isn&#x27;t useful, but it&#x27;s far from a necessity and learning other things early can be more effective.<p>The article itself doesn&#x27;t really contain the claim the title makes, but also doesn&#x27;t back it up very much, just some fairly generic &quot;C is low-level&quot; points.
评论 #22008992 未加载
评论 #22009714 未加载
jdashgover 5 years ago
C (or something very like it) is effectively the core of my mental VM. It&#x27;s an extremely useful mental abstraction even though all I write is C++, JS, Python, and GLSL.<p>Being able to estimate &quot;what does this code compile into&quot; is extremely powerful for understanding code, as well as exploring the possibility space of solutions. (&quot;Is it even possible to express this?&quot;)<p>It&#x27;s not an exact mapping to hardware, but it&#x27;s such a useful level of abstraction to have on tap, even if I never want to write it directly.
评论 #22008961 未加载
olingernover 5 years ago
This is sort of a &#x27;turtles all the way down&#x27; sort of issue. You could also say:<p>&gt; Learn assembly and the rest will come<p>&gt; Learn binary and the rest will come<p>&gt; Learn the fundamentals of electricity and the rest will come<p>...<p>I think learning the layers below which you typically operate can be beneficial; however, I think the patterns and ideas ( semaphores, scheduling, etc. ) are probably the most beneficial part of an exercise like this -- not the actual C language.
评论 #22009093 未加载
chadcmulliganover 5 years ago
If you&#x27;re a software developer who doesn&#x27;t know C, then there&#x27;s a whole class of software that you can&#x27;t read - network programming, operating systems, language tools all written in C. This puts you at an extreme disadvantage imho.
评论 #22008727 未加载
评论 #22008971 未加载
评论 #22009121 未加载
评论 #22008943 未加载
29athrowawayover 5 years ago
Learning C is a good idea because:<p>- Some APIs only support C. On other languages, you can use 3rd party bindings, or use a C interoperability library&#x2F;API, but this may have a performance overhead, and it may not abstract you from C types.<p>- Some industries mostly use C, or languages similar to C.<p>- Some software has real-time requirements. A garbage collector can introduce non-deterministic delays.<p>- Some software needs fine-grained control over memory management and have a predictable memory layout of data.<p>- Some software needs a low performance overhead, e.g.: when you run your software on low spec hardware&#x2F;embedded devices, or you need to save power on a battery-powered device, or make the most out of current hardware.<p>Finally, the choice of C doesn&#x27;t mean you only have to use C. C can interoperate with other languages when they offer a C API.
yaitsyaboiover 5 years ago
I think C is useful and cool, but I strongly disagree with the final sentence of the post. I think it&#x27;s a terrible language for beginners. I think it&#x27;s a good language for proficient coders who want to get to the next level.<p>If you have a niece or nephew who likes computers and comes to you about it and you try to foist The C Programming Language on them, you will have done them a terrible disservice. 90% of people will find using Python and it&#x27;s friendly packages for everything to be so much more delightful than C.
评论 #22008979 未加载
blackrockover 5 years ago
Recently, I wanted to write something in C, just to see how long it would take me. This was just an experiment.<p>I got stuck at some elementary string manipulations.<p>So I said, forget this. I pulled out Python, and solved it in a few minutes.<p>This proved to me, that while C has its place, it just does not meet the programmer productivity of other more modern languages.<p>Nevertheless, we need a modern replacement for C. But honestly, I just don&#x27;t think Rust is it.
评论 #22010234 未加载
naveen99over 5 years ago
Xeus cling gives me hope <a href="https:&#x2F;&#x2F;www.learnopencv.com&#x2F;xeus-cling-run-c-code-in-jupyter-notebook" rel="nofollow">https:&#x2F;&#x2F;www.learnopencv.com&#x2F;xeus-cling-run-c-code-in-jupyter...</a>
Reraromover 5 years ago
In my CS degree we learned C with malloc&#x2F;free in the first semester. Now they&#x27;re learning Python.
评论 #22009263 未加载
6c696e7578over 5 years ago
I believe you can use rust for things like refrigerator chips.<p><a href="https:&#x2F;&#x2F;www.google.com&#x2F;search?client=firefox-b-d&amp;q=rust+arduino" rel="nofollow">https:&#x2F;&#x2F;www.google.com&#x2F;search?client=firefox-b-d&amp;q=rust+ardu...</a>
RickJWagnerover 5 years ago
I defer to one of the world&#x27;s foremost authorities on C:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Ye8mB6VsUHw" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Ye8mB6VsUHw</a>
zozbot234over 5 years ago
(2017)