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.

Some Were Meant for C – The Endurance of an Unmanageable Language (2017) [pdf]

80 pointsby rrampageover 2 years ago

9 comments

mlindnerover 2 years ago
This entire article seems to amount to &quot;I am used to C, thus I don&#x27;t see the problem with C.&quot; which is a fine position to have, but it&#x27;s a perspective unique to the writer and others like him. It doesn&#x27;t apply to people learning new languages that aren&#x27;t C.<p>Also several statements about how C must be used because somehow it&#x27;s closer to the real world&#x2F;hardware than other languages. Which is easily shown to be false given that hardware designers have had bend backwards and into contorted shapes to emulate the hardware environment that C was originally created to work against. This great article is a nice rebuttal of that: C Is Not a Low-level Language: Your computer is not a fast PDP-11. <a href="https:&#x2F;&#x2F;queue.acm.org&#x2F;detail.cfm?id=3212479" rel="nofollow">https:&#x2F;&#x2F;queue.acm.org&#x2F;detail.cfm?id=3212479</a><p>These types of arguments feel like they come from people who don&#x27;t realize how much the compiler reworks your code to make it act like it does what you told it to do.
评论 #34664134 未加载
评论 #34664453 未加载
评论 #34663781 未加载
评论 #34663040 未加载
评论 #34662944 未加载
waiseristyover 2 years ago
The primary benefit to C is that it is simple. And that is IMO the reason why it has such sticking power. The entire language &amp; toolchain is understandable at a fairly core level without too much effort.<p>Please don’t start a C flame war either HN. I know I’m nerd sniping you all on this one
评论 #34662920 未加载
评论 #34662911 未加载
评论 #34663837 未加载
rootw0rmover 2 years ago
I love C. It&#x27;s what I learned after learning MASM style Intel assembly.<p>I have a project still at the planning stage. I have many Rust crates lined up. So far I really like the bits of Rust I have learned. C plus generics? Sign me up! But damn, after coming from really awesome IDEs like Visual Studio, it just seems like it&#x27;s taking me forever to make progress.<p>Right now I&#x27;m asking myself, does Rust save me time in the long run from chasing down bugs? I&#x27;m not really sure, because I think I&#x27;m already decent at avoiding C foot guns.
评论 #34662541 未加载
评论 #34663110 未加载
DieBruderBauerover 2 years ago
I hated learning&#x2F;using C. Once I was introduced to C++, it was like a breath of fresh air. Sure, at lot of it stylistic in nature. But those frameworks matter. They really do.
评论 #34663309 未加载
sacnoradhqover 2 years ago
Null was a trillion dollar mistake.<p>Pointers and pointer math were a 10 billion dollar mistake.<p>Unchecked array access is a several billion dollar mistake.<p>Goto has its place: consolidated resource error unwind cleanup. That&#x27;s basically its only valid use except for mechanically-generated finite state machines. Beyond that, don&#x27;t bother. Other programming languages use reference counting and lifetimes to manage resources.<p><pre><code> int foo() { void *b0 = malloc(1000); if (!b0) goto err0; &#x2F;* do something *&#x2F; void *b1 = malloc(1000); if (!b1) goto err1; &#x2F;* do something else *&#x2F; void *b2 = malloc(1000); if (!b2) goto err1; &#x2F;* keep going *&#x2F; &#x2F;* ... *&#x2F; free(b2); free(b1); free(b0); return 0; err3: free(b2); err2: free(b1); err1: free(b0); err0: return 1; }</code></pre>
评论 #34663918 未加载
shadowofneptuneover 2 years ago
The article raises a good point about object files and binary compatibility being neglected in more recent languages.
slicktuxover 2 years ago
Unmanageable really has a context and depending on the use case sometimes C is the best option…
评论 #34663319 未加载
评论 #34662572 未加载
评论 #34662486 未加载
graphvizover 2 years ago
Yesteryear?
评论 #34663176 未加载
pjmlpover 2 years ago
Like others were made for JavaScript and PHP.<p>Had it not been for UNIX freebie, it would had been a footnote like so many others.<p>Outside UNIX clones and the few surviving embedded workloads without alternative, there is hardly a reason to reach for it instead of C++, which is also a UNIX child.