I usually avoid long posts because they can be intimidating for newbies. But there's bit more than usual to cover.
2019 is the year I officially learned how to code. Through the process, I've relied on a ton of apps, platforms and tools that helped me keep going.
This post was a long time coming. If you follow my blog, you know that I'm a big fan of sharing my favorite resources.
This post will cover 5 categories of tools. I've tried to limit each category to 3 tools, which really forced me to really weigh the pros and cons of each.
My 2019 Intro to Programming Faves
Editors, REPLs and IDEs (Software for writing code)
Atom: If saying I like Atom is wrong, I don't want to be right! Since it's what I started off using, Atom feels the most intuitive of all the code editors. In addition to the plenty of keyboard shortcuts, everything in Atom is easy. If you're struggling to choose an editor, give Atom a try
Python Tutor: One of my favorite programming resources. Want to see how your code is executing line by line? Python Tutor is the solution. Don't let the name fool you! Python Tutor supports Python, Java, C, C++, JavaScript, and Ruby
repl.it / CodePen: Two great code sandboxes. I use CodePen for frontend practice involving HTML and CSS. Repl.it, on the other hand, is perfect for algorithms, running quick calculations or testing out a language concept.Before you ask- yes, Node is supported
Atom Packages
Prettier / Beautify: Both great packages for auto-formatting your code. These two are together because they do the same thing. I use both depending on which language I'm writing in or which format I prefer for a file. As I code more, I've developed my own preferences for how I want my code to look. So I alternate between the two and using nothing at all
File Icon: File icons should really be built into native Atom. This package makes it easy to understand your file directory with a glimpse. It's hard to explain the value of this little package but it will change your life. Just take my word for it
Tab Title: Don't think I'll be one of those devs who can confidently cut out bits of code without hesitation. So when debugging, I will usually stash my code in a new file. Before Tab Title, it was impossible to remember which code bits were in which files. This auto package assigns a tab title based on the code in that time. Simple, but brilliant
Drag-relative-path: I can't be the only noob who's struggled with file paths! Drag-relative-app is a simple tool that takes the guess work out of writing reference paths. Drag the referenced file icon into the file that's reference said file and voila!
Chrome Plugins
Chrome Plugins help maintain my sanity. Without these plugins, my browser windows would have long been overrun by ads or forever stuck loading purgatory. This section is self-explanatory. These are tools I use to stay productive online.
OneTab: Tabs, tabs, and windows everywhere. That was my life before I found OneTab. But since installing OneTab, I've been able to keep myself working in one and one window only
The Great Suspender: A fellow developer suggested this when she saw how many tabs I had running. This was after OneTab, but before I understood that having YouTube open in multiple tabs was a memory suck
Pericles: Pericles isn't perfect, but of all the screen readers I tried, it stood out from the rest. Now I can "read" and digest dense documentation, programming blogs, and technical books. Would not recommend a screen reader for actual blocks of code, but if you're interested in CS theory like I am, go download Pericles. It helps to hear the words as you read a long
Code practice
Sololearn: The first tutorial I used to learn how to code. Sololearn has a methododology I wish more apps followed; this is to test you on small chunks of information as you learn it. Recall is the last process in memory and is important for converting short to long term memory
Exercism: I wrote a prior blog post about the magic of Exercism so check that out. To summarize, Exercism provides programming challenges that build on difficulty, as well as technical mentors who offer feedback on submitted solutions
CSX: CSX is a little known tool I learned of from attending the CodeSmith meetups. It's indispensable to new students
Learning
YouTube: I've said it before and I'll say it again-- You can learn anything on YouTube
Dev.to: I first found Dev.to as an alternative to Medium. But since, it's become one of my favorite references for researching programming topics
I am tremendously proud of how far I've come over the last few months along. I still struggle through every additional bit of progress I make. But it was thanks to blog posts like this one that offered guidance that I've been able to stick it out this far. So I hope you find this as helpful.
Top comments (5)
“...You can learn anything on YouTube.”
My gf’s car radio screen was stuck on a constant loading loop. The dealer wanted $1500 to replace the radio. I went on YouTube and watched a video then went on eBay and got a radio from a junk yard.
Total price $138.
Hi @jasterix ,
Loved this article, I'm a beginner - intermediate coder. I use to code webpages/websites back in the mid 90's(with HTML(3)and JavaScript).
I've heard of SoloLearn, never heard of the others. One other coding site I know of(and use)is, freecodecamp.org .
A little about freecodecamp.org . I looked over the curriculum and it goes all the way to full stack dev.
I have Atom, Node.js and looking at react. I wasn't aware of add-on(plugins?)programs for Atom but, then again, I'm not at the point in my coding to use Atom yet(knocking on the door though).
The plugins for chrome are interesting. Will have to check them out.
Happy New Year,
Respectfully,
Prince Alarming
Hey! Sorry I missed this comment! You're completely right about Free Code Camp. It's a fantastic resource. Let me know if you have any questions or asks on your journey. I've gotten a lot of help along the way and would love to pay it forward :D
Thanks for this article. I didn't know about sololearn but is really interesting for me. Thanks again for your article and sorry for my bad English
You're welcome!