Very very good article, although the latter part is a bit too focussed on web dev and dynamic scripting languages. I personally think every programmer should know some C. Basic things like what the stack and the heap are. Edit: Ok, probably not in the case of absolute beginners, but after a year or two...
A Cautionary Tale of Learning to Code
11–20 of 135 posts
Re: A Cautionary Tale of Learning to Code
#12Re: A Cautionary Tale of Learning to Code
#13Very very good article, although the latter part is a bit too focussed on web dev and dynamic scripting languages. I personally think every programmer should know some C. Basic things like what the stack and the heap are. Edit: Ok, probably not in the case of absolute beginners, but after a year or two...
Even things like memory alignment and cache lines can bite you really badly if you don't know about them and order your loop the wrong way around :)
Date and Time Handling, Unicode and Data Structures are also a common area for many misconceptions and sources of error. Of course nobody needs to know everything, but have a lively thirst for knowledge always helps, especially one you got over the initial confusion of learning the basics. There's just so much interesting stuff out there and a lot of it will help you improve even if you don't end up using it right away / at all.
Even if you're just swimming on the surface, it's always a good thing to know at least the 1-3 meters beneath you, just in case something happens or you get stuck in some seaweed and struggle to get out on your own.
I've actually made quite some good experiences with teaching people a few things about ASTs right once they started writing code, even though I only gave the some very basic lessons about how the "text" is eventually transformed, it really helped them a lot in understanding why certain text does certain things.
In the end, it's always very hard to play the game successfully if you don't know the rules by which you have to play. And a little can go a long way.
Re: A Cautionary Tale of Learning to Code
#14Re: A Cautionary Tale of Learning to Code
#15One thing I wish I knew starting out was how to create a basic VM. I shudder to think of all the time wasted thinking I was a sysadmin genius for dual booting Linux and later doing something stupid to my hard drive. VMs give me my Linux environment without the pain from those moments when I think to myself "maybe I want to be a kernel developer."
Re: A Cautionary Tale of Learning to Code
#16Re: A Cautionary Tale of Learning to Code
#17Re: A Cautionary Tale of Learning to Code
#18Re: A Cautionary Tale of Learning to Code
#19I think the author is correct in that he tried to learn too many things at once; starting with a friendlier environment and focussing on a small number of new technologies has obvious advantages. But in some other ways, the author is too self-critical: > I'd spent months sitting alone in libraries and cafes, blindly installing tools from the command line, debugging Linux driver problems, and banging my head over thin…
But I'm privileged in that I wasn't ever pressured to learn, it wasn't a point where my livelihood depended on it, so that's a factor.