2 ms·
I'd say that with C there's a knee-high step to get up at first if you're dealing with pointers for the first time, then it's smooth sailing until you double fr
by godshatter 9y ago
I'd say that with C there's a knee-high step to get up at first if you're dealing with pointers for the first time, then it's smooth sailing until you double free your first pointer, and then smooth sailing once you're more meticulous about that until you overflow a buffer using strcpy, then learn about strncpy and learn the hard way about it not putting in a trailing zero if the buffer is filled and then you learn about strlcpy, and then you get bit somewhere later on by signed/unsigned differences, and so on.
You end up building up an impressive set of street smarts dealing with C, based almost wholly on actual bugs found the hard way. This period last for a long time, if it ever ends.
That may be some of it's charm. You've bled copiously along the way, due to somewhat disguised behavior. Why give up your hard won knowledge just to go play with legos? It's like learning first to juggle knives and hatchets, and wondering if you should "progress" to safe juggling balls specifically designed not to maim you.
I'm joking, mostly. I love programming in C, but it's definitely not an easy or simple overall journey. You can make some cool things with it, though, which is the point.