4 ms·
Is that somehow wrong? What was so fundamentally changed in CS that makes teaching C obsolete?
by levosmetalo 7y ago
Is that somehow wrong? What was so fundamentally changed in CS that makes teaching C obsolete?
- zozbot234 7y agoWe have Rust now which is a type-safe and memory-safe language. C is totally obsolete.
- michaelt 7y agoThe 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.
- skocznymroczny 7y ago#include <conio.h>
- kdtop 7y agoIsn'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 https://www.embarcadero.com/products/cbuilder
- deleted 7y ago[deleted]
- cesarb 7y ago> 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.
- planteen 7y agoTotally 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.
- cesarb 7y ago> 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.
- planteen 7y agoYeah 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.