3 ms·
Three ways to learn to code: "I want to mod Minecraft, write Quakescript, automate my Blender 3D models, make my job processing spreadsheets easier, make a che
by jodrellblank 3y ago
Three ways to learn to code:
"I want to mod Minecraft, write Quakescript, automate my Blender 3D models, make my job processing spreadsheets easier, make a check which alerts me when my internet drops out or my aquarium overheats, etc.". Task based. Desire for a solution. Google tutorials for the things you need to work with and move step by step forward. Learn as you go. Doesn't want to be a rockstar, wants to build something, solve a problem, play with tech. Will learn something practical.
"I want lots of money / a new career". Search for high paying jobs in your area, find what skills they need, target tutorials on those skills. Study hard, maybe bootcamp, grind leetcode, build showcase demonstrations of your ability, as necessary. Repeat until jobs start wanting to hire you. Will learn something marketable, may learn something practical, may not enjoy it. Accountant model.
"I heard about AI ML crypto bitcoin l33tcode red teaming cybersecurity I want to be a l33t hacker omg how do I make dark mode can I do this in a week what's the best bootcamp I have a great idea for an iPhone app which will be like Facebook but without the ads, I watched 30 YouTube videos on coding last night but today I can't write FizzBuzz in React am I not cut out for this??". ADHD. Not interested in code or tech, wants to be a rockstar without interest in music or wanting to learn an instrument. Probably won't learn anything.
Even though 3 is a parody of a panicked desperate teenager looking for an ego and your question is a lot calmer, the fact that you aren't using any of the zillions of existing tutorials, or any of the zillions of existing "how do I learn to code?" questions and answers on the internet, and haven't specified anything that you actually want to build or want to work with or want to achieve, puts you most likely in group 3.
You almost can't go wrong. If you're plotting a rocket course to orbit the moon, it matters which direction it goes in down to quite fine tolerances. If you're standing still and refuse to move 5 steps in any direction until you have the 'best' direction and 'secret weapon direction finder' that's just ... well, what it needs is a psychologist not an expert direction finder.
- codinglearner 3y agoThanks for the reply! It is fair that you indicate that my questions seems like group three. I can assure you, I am not. I was simply a little overwhelmed and wanted to use swarm intelligence to find good approaches as there are, as indicated by you, so many sources out there. I am more between 1 and 2. I have built software before, but with really scrappy Ruby on Rails to solve some basic problems. Now I am considering a career switch as I do not want to stick with my current job forever. To specify: - I am interested in learning react / typescript / vue.js --> I am, at least from what I read / tried so far, a JavaScript fan and want to get more into that to start. "You almost can't go wrong" is quite motivating as I was as mentioned a bit overwhelmed with the opportunities.
- toastercat 3y ago> To specify: - I am interested in learning react / typescript / vue.js --> I am, at least from what I read / tried so far, a JavaScript fan and want to get more into that to start. Hello! I've been down this road before. I personally would avoid TypeScript for now and just learn JavaScript well. Compiled TypeScript is just JavaScript anyway, so if you don't know JS, you don't know TS. I would start with trying to make an app just using vanilla JavaScript. Start with a `index.html` page + a `<script>` tag, and see how far you can get. I was always more motivated to finish these projects when I was building something I wanted to use for myself. MDN is the go-to resource[1] for JS. I would go through the "beginner" tutorials on that page first, and then try to come up with an app. javascript.info[2] is also great if you need extra reference. The reason I recommend doing all that before jumping straight to React is you learn how to write JavaScript without a library/framework, which I think gives you more options. It also shows you why something like React is useful to begin with. When you're ready to try a library, I would start with Preact without build tools[3]. Preact has essentially the same API as React, but it's lighter weight, and it's website has a guide to using it without build tools (which React docs no longer have, since they recommend you jump straight to using a big framework like Next now). Eventually, you may want to use build tools so that you can split up your app into multiple .js files. In that case you'll have to install Node.js on your system. Node.js is just a runtime for JavaScript that you can install on your PC or server (kinda how you install Ruby on your PC). Most JavaScript build tools are written in JavaScript to run on Node.js, hence why you need Node. Node comes with a package manager called `npm`, which you'll see and use a lot. Preact has a good guide for getting started with Vite, which is a build tool. [4] I think it's also important to know that most of these libraries (React/Vue/Preact/Svelte) are mostly interchangeable. They all have strengths and weaknesses. Pick what you're most productive with. These libraries are also far less opinionated than something like Ruby on Rails. Each of these libraries have equivalent frameworks that fill that niche. (React -> Next.js, Vue -> Nuxt.js, Svelte -> SvelteKit). Good luck! Let me know if you have more questions. [1] https://developer.mozilla.org/en-US/docs/Web/JavaScript#for_complete_beginners https://developer.mozilla.org/en-US/docs/Web/JavaScript#for_... [2] https://javascript.info/ https://javascript.info/ [3] https://preactjs.com/guide/v10/getting-started#no-build-tools-route https://preactjs.com/guide/v10/getting-started#no-build-tool... [4] https://preactjs.com/guide/v10/getting-started#create-a-vite-powered-preact-app https://preactjs.com/guide/v10/getting-started#create-a-vite...