5 ms·
I've seen a lot of this lately and I think it's an admirable idea. Even if you don't become a rockstar coder yourself overnight it'll earn you a lot more respec
by jlees 16y ago
I've seen a lot of this lately and I think it's an admirable idea. Even if you don't become a rockstar coder yourself overnight it'll earn you a lot more respect among coders, and you'll have better conversations (provided they're not 'so why isn't my code compiling?').
We all have to start somewhere.
It intrigues me, though, that pretty much everyone I've seen come from a non-coding background who wants to enter this inner sanctum has chosen an entirely different platform and language. I know of people trying this via RoR, Processing, PHP, Python, C++, jQuery and now Java. Good reasons for all, bad reasons for some, and mostly down to who they know and what advice they gave.
I can't help but wonder if there is a Better Way. Even as a coder I find some languages/platforms require a lot of banging your head against incomprehensible documentation and Simon Says tutorials. I've been totally nostalgic lately for the BBC BASIC days, when stuff was so easy to just see working straight away without a day-long installation headache and platform wrangling and the doubt you picked the wrong one to learn. I'd love to bring this feeling of magic back.
- coryl 16y agoI think people want to learn modern languages because they want to be able to create things tomorrow if not today. It would probably be hugely valuable for me to go back and learn the languages I should have learned as a kid, but theres a sense of urgency and expiry. I have more commitments, so I have less time to learn. The time that I have to learn, I have to use productively. Oh how I yearn for those summers as a kid, where we had days and weeks to ourselves.
- barrkel 16y agoI think you may be overestimating the difference between one language and another. There are differences between the BASICs of the 80s and (say) the bash scripts of today, but they're not as big as surface syntax would initially seem to suggest. BASIC back then taught one thing well, unstructured imperative code, well enough that a BASIC programmer, believe it or not, wouldn't have felt it too big a jump to move straight to assembler programming, which would have been the next logical progression to eke out decent performance on the severely resource-constrained microcomputers of the day. The biggest difference between programming then and now is the size of our problems, and consequently, the number of abstraction tools in our languages. But there is a relatively small set of abstractions known to work well, and a substantial subset of them crop up in almost all languages. Learning all of a Python or Ruby or Javascript, and knowing how to use it well and in a structured way, would cover a good, say, 60% of various concepts of imperative, functional and object-oriented programming, such that you could move to any of the others (in that set) without much trouble.
- jlees 16y agoLearning all of a Python or Ruby or Javascript, and knowing how to use it well and in a structured way, would cover a good, say, 60% of various concepts of imperative, functional and object-oriented programming Totally agree, and my issue is more that these languages are too linked to the environment in which they run - step 1 of learning to code shouldn't be wrestling with install files and stacks and tools (http://tryruby.org http://tryruby.org is a great exception). Secondly, a lot of the way they are taught does not actually teach you the abstractions but expects you to parrot code and infer the abstractions as you go along. Don't get me wrong, I don't want to bring back BASIC as a platform for today, though it'd be fun to see it happen.