<story><title>JavaScript Is C</title><url>https://v4.chriskrycho.com/2018/javascript-is-c.html</url></story><parent_chain><item><author>roenxi</author><text>C was famously well designed. The problems it was well designed for have disappeared and its good ideas are so well understood that, like many great early works, they are cliches that can no longer be recognised for their brilliance because everyone is doing that.&lt;p&gt;C&amp;#x27;s flaws are real, but they exist in the context of that design. For example, C has bad memory management because it was built when programmers had kilo- to mega- bytes to play with and needed perfect control.&lt;p&gt;I&amp;#x27;m not sure anyone could ever accuse anything related to the internet of being &amp;#x27;designed&amp;#x27;. Even being standardised is a stretch. Javascript isn&amp;#x27;t C, because C is an extremely focused attempt to solve specific problems. Javascript simply does not attempt to tackle the same problems as C and it doesn&amp;#x27;t attempt to tackle them in the same way.&lt;p&gt;It may be that they are both fail to solve the big problems in web development, but that is not really a thing worth comparing languages on.</text></item></parent_chain><comment><author>notacoward</author><text>&amp;gt; like many great early works, they are cliches&lt;p&gt;This, a thousand times. It&amp;#x27;s just so easy for people to fall into the trap of thinking the current list of things to do or avoid has always been obvious. The path is always obvious after a million people have trodden it. But at one time it wasn&amp;#x27;t. At one time people had to figure out things we now take for granted - like network APIs or concurrent programming models or, most relevantly, memory management.&lt;p&gt;&lt;i&gt;At the time&lt;/i&gt; manual management of object lifetimes was the only feasible option for a systems programming language, and it was feasible in part because control flows were simpler. Yes, even in things like OS kernels. They were kept simple &lt;i&gt;by design&lt;/i&gt; in part to keep lifetime management tractable. Many of the things that make that approach non-viable today - e.g. massive concurrency, callbacks, exceptions - weren&amp;#x27;t part of the idiom then. They were irrelevant to C&amp;#x27;s design.&lt;p&gt;C was good for its time. Go ahead, take a look at PL&amp;#x2F;I and BLISS. See whether you&amp;#x27;d rather program in those. It might or might not be relevant today, but C was better designed in its context than anything most of its modern critics have ever designed (or will design) themselves.</text></comment>
<story><title>JavaScript Is C</title><url>https://v4.chriskrycho.com/2018/javascript-is-c.html</url></story><parent_chain><item><author>roenxi</author><text>C was famously well designed. The problems it was well designed for have disappeared and its good ideas are so well understood that, like many great early works, they are cliches that can no longer be recognised for their brilliance because everyone is doing that.&lt;p&gt;C&amp;#x27;s flaws are real, but they exist in the context of that design. For example, C has bad memory management because it was built when programmers had kilo- to mega- bytes to play with and needed perfect control.&lt;p&gt;I&amp;#x27;m not sure anyone could ever accuse anything related to the internet of being &amp;#x27;designed&amp;#x27;. Even being standardised is a stretch. Javascript isn&amp;#x27;t C, because C is an extremely focused attempt to solve specific problems. Javascript simply does not attempt to tackle the same problems as C and it doesn&amp;#x27;t attempt to tackle them in the same way.&lt;p&gt;It may be that they are both fail to solve the big problems in web development, but that is not really a thing worth comparing languages on.</text></item></parent_chain><comment><author>sjy</author><text>&amp;gt; I&amp;#x27;m not sure anyone could ever accuse anything related to the internet of being &amp;#x27;designed&amp;#x27;. Even being standardised is a stretch.&lt;p&gt;I think you are talking about the ecosystem surrounding JavaScript, which was created in 10 days for incoherent marketing reasons, not the Internet, which was designed via a rigorous standardisation process. The Internet protocol suite is a beautiful and lasting design that dates back to the 1970s, and it&amp;#x27;s proved flexible enough for everything from the dial-up era to modern wireless video streaming.</text></comment>