Hacker News new | past | comments | ask | show | jobs | submit login

Is that somehow wrong? What was so fundamentally changed in CS that makes teaching C obsolete?



The last release of Borland Turbo C was in 1988.

That makes it an odd choice, considering gcc and clang are free and cross-platform.

Hell, they even have a C89 mode if you'll be deep in the cold, cold ground before you recognise // style single-line comments.


Isn't this a bit like saying the last release of Ford's Model T was back in the 1930's? It is now called C++ Builder, and it is still regularly released. https://www.embarcadero.com/products/cbuilder


Yes, if when arghwhat said Borland Turbo C to describe a product without Borland, Turbo, or C in its name that product might indeed have a different release date :)


what a fantastic landing page. Especially that gif. All editors should have something this good.


#include <conio.h>


> What was so fundamentally changed in CS that makes teaching C obsolete?

It's not C that's obsolete, it's MS-DOS and the 16-bit segmented memory model it uses.


Totally agree. I've been making the same argument elsewhere on this thread. People are disagreeing with saying things were simpler back then. I don't know how anyone can have fond memories of a 16-bit CPU with segments or bank switching compared to a modern flat model and think it was simpler.


> I don't know how anyone can have fond memories of a 16-bit CPU with segments or bank switching compared to a modern flat model and think it was simpler.

"Fond memories" is easy to explain if that's what you grew up with. As for simpler, let me play devil's advocate for a bit: our "modern flat model" looks simple until you find out it's not really "flat". The 8086 model is basically "(segment << 4) + offset", while the "modern flat model" is actually a multi-level table lookup.


Yeah I guess that explains the fond memories part.

Some 32-bit parts are totally flat. Like low-end ARM parts with SRAM and no MMU. Compare that to a 8-bit or 16-bit PIC microcontroller where you need to bank switch to have a usable amount of memory for your application and its heaven.

But yeah, I see what you are saying. Still, pulling the wool over someone's eyes doesn't seem so bad to me about virtual->physical memory and TLBs as it does making them jump through a distinction between pointer types, but maybe I am in the minority on that.


We have Rust now which is a type-safe and memory-safe language. C is totally obsolete.


What’s the difference between Rustaceans and meth addicts?

Meth addicts don’t make _everything_ about meth.


We also have Swift. We also have <insert favorite language here>




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: