3 ms·
>This doesn't need to last for long, perhaps just the first few weeks of instruction, but it should be present. This assumes you're learning in an academic env
by 999900000999 5y ago
>This doesn't need to last for long, perhaps just the first few weeks of instruction, but it should be present.
This assumes you're learning in an academic environment. I taught myself programming just because I wanted to make some video games. I've done very very well career wise. I will admit I do lack some fundamentals, but I can still get things done.
I'm absolutely unashamed to rely upon modern conveniences. Yes I need the strong type system C# provides for any bigger project. I practically need autocomplete, particularly with C# to get anything done.
If it's small I can hack it out in JavaScript. I still remember the three lines of code you need to stand up with NodeJS.
One of my friends needed a small app done last year, I was able to build it for him and flutter in about a month. In fact modern programming languages are so much easier, I reckon this friend if he put the time into it could have built his own application in a few months. The old guard of Computer Science tendsl to have a very strange gatekeeping to them.
Overall, I'd like programming to be less of a foreign thing to the general public. If you learn a little bit of python to reformat some old phone contacts you have, you're very much a programmer. Like not every single person with a driver's license can drive a big rig, not every programmer will be able to build their own operating system from scratch.
- Jtsummers 5y agoI was also self-taught, I started at 8 with BASIC based on source listings in my elementary school math textbook. I read them, typed them, then when I wanted to make my own programs (because I couldn't use the computer whenever I wanted), I wrote programs down and reasoned about them on paper (admittedly not well, I was 8, but I got better). Through high school this was how I programmed. It wasn't until college that I had essentially unfettered access to computers (though only desktops and remote servers at the time, I didn't have a laptop until near the end of my college career). And I did say this was a contrarian view. Georgia Tech's CS 1301 (when I took it, numbers varied) was taught this way through Spring 2001 or 2002, and then they switched to Scheme (SICP) and then Python (not sure what, if any, textbook).
- 999900000999 5y agoSo what about the folks out there who don't have access to formal education ? I do definitely see your point, I've had times where I'll write so much code and then later I'll realize it would have made much more sense to carefully plan out what I actually wanted to accomplish.
- Jtsummers 5y agoContinuing with my contrarian idea, I'd encourage them to take the same tact that I did. The BASIC listings in my math textbook were really no better or worse than what you'd find in magazines of the time or a BASIC manual. Of course, these days listings aren't organized and published in the same manner so I'm not sure what resources I'd point someone towards, but I'd still encourage the same approach. Whether self-taught like us or formally educated (but most formal programming education doesn't seem to use this approach, it starts with trying to get you typing ASAP).
- 999900000999 5y agoThere's nothing wrong with immediately typing. It would be a good idea to teach more programmers to think twice and type once. Then again for my personal projects I find it the most fun to dive in head first, and fix whatever issues I run into later. Occasionally I'll take a hybrid approach, where I'll immediately jump in and try to hack together a really bad prototype. Figure out what worked and what didn't, and then rewrite the code from scratch later. I sincerely enjoy programming so this has been very fun for me. And there's nothing like turning a hobby into a career!