<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ codecademy - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Browse thousands of programming tutorials written by experts. Learn Web Development, Data Science, DevOps, Security, and get developer career advice. ]]>
        </description>
        <link>https://www.freecodecamp.org/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ codecademy - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Fri, 29 May 2026 16:32:04 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/news/tag/codecademy/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ How to Choose a Programming Language and Escape Tutorial Purgatory ]]>
                </title>
                <description>
                    <![CDATA[ By M. S. Farzan A few weeks ago, I posted about my experience attempting to learn JavaScript, C#, Python, and more from Codecademy, Udemy, and freeCodeCamp, along with escaping from tutorial purgatory and actually making progress as a developer. Deci... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/how-to-choose-a-programming-language-and-escape-tutorial-purgatory/</link>
                <guid isPermaLink="false">66d851edc1d58e16fbe2b40e</guid>
                
                    <category>
                        <![CDATA[ beginner ]]>
                    </category>
                
                    <category>
                        <![CDATA[ C ]]>
                    </category>
                
                    <category>
                        <![CDATA[ codecademy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ freeCodeCamp.org ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Game Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learn to code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Python ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Tutorial ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tutorial purgatory ]]>
                    </category>
                
                    <category>
                        <![CDATA[ udemy ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 04 Nov 2019 20:45:53 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5f9c9fa0740569d1a4ca43a4.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By M. S. Farzan</p>
<p>A few weeks ago, I <a target="_blank" href="https://www.freecodecamp.org/news/i-learned-to-code-and-so-can-you/">posted about my experience</a> attempting to learn JavaScript, C#, Python, and more from Codecademy, Udemy, and freeCodeCamp, along with escaping from tutorial purgatory and actually making progress as a developer.</p>
<p>Deciding on a programming language can be extremely challenging and time-consuming as there are dozens of options out there, with a lot of conflicting information.  In this article, I'll share some options based on my own experience learning to code, with suggestions for how to choose a programming language, escape tutorial purgatory, and make progress as a developer.</p>
<p>Here's a video version of this post if you'd prefer (11 minute watch):</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/_KdyCdsIYBk" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-scenario-1-you-know-what-you-want-to-build">Scenario #1: You Know What You Want to Build</h2>
<p>Often, in articles such as these (or in the "What Coding Language Should I Learn?" infographics with which you're probably intimately familiar), you're asked to think critically about what you want to build after you've learned to code.</p>
<p>This approach is useful if you have some idea about what it is that you want to <em>do</em> with a programming language after learning it, but not so much if you just want to <em>learn to code</em>, as was my experience.  I'll cover both scenarios in this article.</p>
<p>If you do know what direction you want to take your coding career after learning a programming language, you'll most likely have an easier time figuring out which language to learn first.  Here are some suggestions in that case.</p>
<h3 id="heading-front-end-development-javascript-and-htmlcss">Front End Development: JavaScript (and HTML/CSS)</h3>
<p>If you already know that you want to work on the "front end" of websites - meaning, anything the user sees when they come to a website - you should begin your coding journey with learning JavaScript.  You'll probably start out by learning HTML and CSS, which form the backbone of just about every website, and then begin adding JavaScript to enhance functionality and interactivity to your sites.</p>
<p>JavaScript is fairly ubiquitous as a programming language, and has an easier on-ramp than other, lower level languages like C++.  It's a great jumping-off point if you don't know what you want to learn...but more on that later.</p>
<h3 id="heading-back-end-development-python-c-or-javascript-and-sql">Back End Development: Python, C#, or JavaScript (and SQL)</h3>
<p>Let's say you're more interested in learning about the guts of websites, managing the "back end" and trying your hand at database administration.  You've got a lot of options here, and the most straightforward path is Python, which is a beginner-friendly language that has mature frameworks (e.g. <a target="_blank" href="https://www.djangoproject.com/">Django</a> and <a target="_blank" href="https://www.palletsprojects.com/p/flask/">Flask</a>) for back end development.</p>
<p>You also can't go wrong with C#, which will expose you to Microsoft's <a target="_blank" href="https://dotnet.microsoft.com/learn">.NET ecosystem</a> and a programming language that, once you get into the weeds with it, is a pleasure with which to work.  And if you're thinking of going "full stack" - meaning, you want to do front end <em>and</em> back end development - you might consider learning JavaScript, which has younger but highly prized back end frameworks like <a target="_blank" href="https://expressjs.com/">Express</a> and <a target="_blank" href="https://koajs.com/">Koa</a>.  Doing so will also ease your learning process as you'll be using the same language to code both stacks.</p>
<p>Whichever language you choose for back end development, you'll most likely also wind up adding SQL to your toolbox for database management, so put that on your radar.</p>
<h3 id="heading-2d-game-development-javascript-or-c">2D Game Development: JavaScript or C</h3>
<p>I've <a target="_blank" href="https://www.freecodecamp.org/news/what-2d-game-engine-to-use-for-your-next-game/">written elsewhere</a> about what engine you should use to make 2D games, but here's the skinny.</p>
<p>There are a <em>lot</em> of 2D game engines, many of which may or may not suit your fancy as a game developer, and each with their own benefits, idiosyncrasies, and learning curve.  Some of them, like <a target="_blank" href="https://www.yoyogames.com/gamemaker">Game Maker Studio 2</a>, for example, utilize their own proprietary languages to run scripts, but I'd actually recommend you first learn JavaScript or C#, even if you're considering using a different game engine in the long run.</p>
<p>With JavaScript, you can use frameworks like <a target="_blank" href="http://phaser.io/">Phaser</a> to make 2D games, or fully-featured engines like <a target="_blank" href="https://www.construct.net/en">Construct 3</a> (which actually uses drag-and-drop development with room for custom scripts).  If you choose to learn C# instead, you'll work with <a target="_blank" href="https://unity.com/">Unity 2D</a>, or perhaps <a target="_blank" href="http://www.monogame.net/">MonoGame</a> - but I'd actually recommend starting with non-engine tutorials (e.g. <a target="_blank" href="https://dotnet.microsoft.com/learn">.NET</a>)to get a good handle on the language first.</p>
<p>Learning JavaScript or C# will give you the foundational coding knowledge you'll need to tackle another game engine, like Game Maker, while also providing you with things like programming best practices and clean code organization.</p>
<h3 id="heading-3d-game-development-c-or-c">3D Game Development: C# or C++</h3>
<p>There are a lot of options for learning to code for 3D game development, and I'd suggest you start with C# or C++.  In fact, unless you're super tech savvy or already have a background in programming, I'd recommend for you to start with C# and work your way down to C++.  You'll have an easier learning curve and will learn fundamental programming concepts without having to deal with things like memory management and lower-level code.</p>
<p>You'll probably wind up learning both in any case, but if you start with C#, you can tinker around with <a target="_blank" href="https://unity3d.com/">Unity 3D</a>, and then make your way to C++ with <a target="_blank" href="https://www.unrealengine.com/en-US/">Unreal Engine 4</a>.</p>
<h3 id="heading-data-sciencemachine-learning-python">Data Science/Machine Learning: Python</h3>
<p>Although there are options in other languages for learning data science/analysis and machine learning, Python is currently the gold standard for this realm of coding.  It's a fairly straightforward language to learn and will expose you to good programming habits and widely-used frameworks, so you can't go wrong here.</p>
<h2 id="heading-scenario-2-you-dont-know-what-you-want-to-build">Scenario #2: You Don't Know What You Want to Build</h2>
<p>There's the distinct possibility that you've spent days, weeks, or even months searching through articles, videos, reddit posts, and Stack Overflow questions reading about programming languages, and still have no idea where to invest your time because you don't know what you want to build.</p>
<p>I've been there.  It's annoying.</p>
<p>My recommendation to you, trite as it may seem, is to just pick one.  Literally any one of them, even if they're not listed here.  Go learn JavaScript.  Or Python.  Or Rust.  Or Haskell.</p>
<p>OK, maybe not Haskell.  But pick <em>something</em>, and stick with it long enough to learn the basics and see if there's a possibility that you might like using that language to build with it.  And keep in mind two things as you do so:</p>
<ol>
<li>Set a time limit for yourself.  Like, "I'm going to take the next three months to learn JavaScript using freeCodeCamp tutorials." If, at the end of that period, you feel like you're making progress and it's interesting to you, keep going!  If not, it may be time to reconsider your choice of language and see if there's something out there that might be a better fit for you.</li>
<li>Build something that's not in your tutorials. This is a <em>crucial step</em> in your growth as a developer.  I'll cover it in the next section.</li>
</ol>
<h2 id="heading-scenario-3-youre-stuck-in-tutorial-purgatory">Scenario #3: You're Stuck in Tutorial Purgatory</h2>
<p>If you've found yourself doing tutorial after tutorial, on the same or different websites, without ever actually feeling like you're making progress, you may be really frustrated with the experience of learning to code.  I've been there, and can help.</p>
<p>The first step is to consider what programming tutorials are good for, and what they are not.  Most online tutorials - particularly ones that allow you to code right in the browser - are excellent for teaching you how to program.</p>
<p>They are not, on the other hand, good for teaching you how to be a programmer.</p>
<p>The best tutorials will expose you to fundamental coding concepts and require you to apply that knowledge to solve puzzles and projects.  They're wonderful learning tools that can, if used beyond their scope, become crutches that will stifle your learning.</p>
<p>A programmer, for example, doesn't sit around all day doing tutorials.  A programmer <em>programs</em>, and that's precisely what you need to do to make progress after you've mastered the basics.</p>
<p>The best way to make progress as a developer is to pick a project in your language of choice and set out to do it.  If you're learning JavaScript, for example, you might choose to build a simple website with HTML/CSS and add some interactivity with <a target="_blank" href="https://jquery.com/">jQuery</a>.  You'll probably start out by <a target="_blank" href="https://www.freecodecamp.org/news/how-to-set-up-an-integrated-development-environment-ide/">setting up an integrated development environment</a>, immediately forgetting how to do something that you learned in your tutorials, get frustrated, head to Google, find the answer, and keep going.  Then you'll make progress, get stuck, search Stack Overflow, scratch your head at the official documentation, maybe share your code with someone, and repeat the whole process.</p>
<p>And you'll be doing exactly what programmers do when building a new project.</p>
<p>Finally, you really can't go wrong with what programming language you choose, even if it's not on this list.  If you wind up picking one, learning the basics, making a project, and deciding it's not for you, that experience will actually still help you in the long run.  The information you'll learn in the process will be useful, irrespective of whatever language you end up using for your projects.</p>
<p>You can do it!</p>
<p>If you enjoyed this article, please consider <a target="_blank" href="https://www.nightpathpub.com/">checking out my games and books</a>, <a target="_blank" href="https://www.youtube.com/msfarzan?sub_confirmation=1">subscribing to my YouTube channel</a>, or <a target="_blank" href="https://discord.gg/RF6k3nB">joining the <em>Entromancy</em> Discord</a>.</p>
<p><strong>M. S. Farzan, Ph.D.</strong> has written and worked for high-profile video game companies and editorial websites such as Electronic Arts, Perfect World Entertainment, Modus Games, and MMORPG.com, and has served as the Community Manager for games like <em>Dungeons &amp; Dragons Neverwinter</em> and <em>Mass Effect: Andromeda</em>. He is the Creative Director and Lead Game Designer of <em><a target="_blank" href="https://www.entromancy.com/rpg">Entromancy: A Cyberpunk Fantasy RPG</a></em> and author of <em><a target="_blank" href="http://nightpathpub.com/books">The Nightpath Trilogy</a></em>. Find M. S. Farzan on Twitter <a target="_blank" href="http://www.twitter.com/sominator">@sominator</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
            <item>
                <title>
                    <![CDATA[ How I escaped from tutorial purgatory and learned to code - and how you can, too. ]]>
                </title>
                <description>
                    <![CDATA[ By M. S. Farzan Context: I'm a tabletop game developer and digital marketer, and, having spent a long time around games and computers, decided I wanted to learn to code about 3 years ago. I set off as many do by searching, at great length, for what l... ]]>
                </description>
                <link>https://www.freecodecamp.org/news/i-learned-to-code-and-so-can-you/</link>
                <guid isPermaLink="false">66d851f762a291dea89878e4</guid>
                
                    <category>
                        <![CDATA[ beginner ]]>
                    </category>
                
                    <category>
                        <![CDATA[ C ]]>
                    </category>
                
                    <category>
                        <![CDATA[ codecademy ]]>
                    </category>
                
                    <category>
                        <![CDATA[ freeCodeCamp.org ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Game Development ]]>
                    </category>
                
                    <category>
                        <![CDATA[ JavaScript ]]>
                    </category>
                
                    <category>
                        <![CDATA[ learn to code ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Python ]]>
                    </category>
                
                    <category>
                        <![CDATA[ Tutorial ]]>
                    </category>
                
                    <category>
                        <![CDATA[ tutorial purgatory ]]>
                    </category>
                
                    <category>
                        <![CDATA[ udemy ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ freeCodeCamp ]]>
                </dc:creator>
                <pubDate>Mon, 14 Oct 2019 18:00:00 +0000</pubDate>
                <media:content url="https://cdn-media-2.freecodecamp.org/w1280/5f9c9ff4740569d1a4ca45b1.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p>By M. S. Farzan</p>
<p>Context: I'm a tabletop game developer and digital marketer, and, having spent a long time around games and computers, decided I wanted to learn to code about 3 years ago.</p>
<p>I set off as many do by searching, at great length, for what language I should learn, and where from, returning to this topic several times over the course of my journey. I came across several threads suggesting one language or learning platform over another, and thought to share my particular experience in case it's helpful for someone else in the same discernment process.</p>
<p>Disclaimer: I'm not a professional programmer, and although I am using my skills to benefit my work (you can read about my search for a prototype framework <a target="_blank" href="https://www.freecodecamp.org/news/how-i-made-a-2d-prototype-in-different-game-engines/">here</a>), coding continues to be additive to my main work rather than a source of income, whatever that tells you.</p>
<p>Also disclaimer: I'm not attempting to position one language or learning platform over another, and I quite obviously haven't tried to learn every language out there, on every platform. The following is just my experience trying to figure out the most sensible way forward in an admittedly confusing environment.</p>
<p>You can also <strong>skip to the bottom for the TL;DR</strong>.</p>
<div class="embed-wrapper">
        <iframe width="560" height="315" src="https://www.youtube.com/embed/_KdyCdsIYBk" style="aspect-ratio: 16 / 9; width: 100%; height: auto;" title="YouTube video player" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen="" loading="lazy"></iframe></div>
<h2 id="heading-prologue-c">Prologue: C++</h2>
<p>I'm not quite sure if I already knew that C++ was and continues to be a cornerstone in video game development. Maybe I saw it in one of those "What Programming Language Should I Learn" infographics that are around. But I wanted to know more about how games are made and how to talk to the computer. I'm pretty tech-friendly and have built or tinkered with my own PCs, thinking that might lend itself to the experience of learning how to code.</p>
<p>Holy smokes, was I way out of my depth. I did a few tutorials online (I think through <a target="_blank" href="https://www.learncpp.com/">learncpp</a> or similar) and soon realized that I would need more guidance to understand basic object oriented programming principles, in perhaps a more readily accessible language, than I was finding in learning C++.</p>
<h2 id="heading-html-css-javascript-and-python">HTML, CSS, JavaScript, and Python</h2>
<p>Before embarking on this adventure, I already had a little HTML experience, and came across <a target="_blank" href="https://www.codecademy.com/">Codecademy</a>. I very much liked the ability to do tutorials from within the browser and without having to set up an IDE (doing so for C++ had been a trying experience). I quickly consumed all of Codecademy's lessons on HTML and CSS. The natural path from that point was to do the JavaScript course, which I enjoyed. But I soon found myself in "tutorial purgatory" (not my reference), working through the Python course and others.</p>
<p>I should also mention that I completed Codecademy's courses as a free user, not wanting to pay a subscription fee for what they were offering at the time, which included projects and mentor support.</p>
<p>I learned a lot of basics from Codecademy and general OOP principles, but didn't wind up applying much of it without a clear path forward. I returned to my search (who am I kidding, I've spent a LOT of time concurrently researching other languages, learning platforms, and bootcamps throughout the whole process) and decided I wanted to learn more about game development through courses on Unity.</p>
<h2 id="heading-c">C</h2>
<p>I found <a target="_blank" href="https://www.udemy.com/course/unitycourse/">Ben Tristem's Unity course</a> on one of Udemy's perennial 10000% off sales, and worked diligently through the tutorials to build clones of 2D brick breaking and other games. I learned just enough C# to get by but not enough to feel confident in making anything myself.</p>
<p><a target="_blank" href="https://unity.com">Unity</a> itself was probably more of a roadblock here than Tristrem and co.'s instruction, which was actually quite good. The Unity editor is a beast of an engine, with a lot of good tools that are impenetrable to a novice user (again, you can read more about my experience with Unity <a target="_blank" href="https://www.freecodecamp.org/news/how-i-made-a-2d-prototype-in-different-game-engines/">here</a>).</p>
<p>I still feel like I learned a lot from the courses and the simple act of being exposed to C# and Unity's desired work flow, but wasn't getting enough out of the experience to continue. A friend of mine tipped me to take a look at freeCodeCamp, which is where I went next.</p>
<h2 id="heading-back-to-javascript">Back to JavaScript</h2>
<p>On first blush, <a target="_blank" href="https://www.freecodecamp.org/">freeCodeCamp</a> has the look of a less flashy Codecademy or <a target="_blank" href="https://teamtreehouse.com/">Treehouse</a>. But I liked how straightforward the tutorials were and didn't need to get past a paywall to make progress. I picked up where I left off with learning HTML and CSS, making good progress until I got to the Responsive Web Design projects that are required to finish the first section and receive a certification.</p>
<p>I can say with certainty that this was the moment (or series of moments) of my ejection from tutorial purgatory. For a novice with no real professional web design experience, and a willingness to figure out my own solutions without Googling the answer, the projects were <em>hard</em>. I eventually won out and made a couple of silly sites that satisfied the requirements, but the experience spurred me to work through several more freeCodeCamp tutorials on JavaScript front end libraries and back end frameworks.</p>
<p>More importantly, I started to work on my own web-related projects on <a target="_blank" href="https://codepen.io/">CodePen</a> and game projects using a bunch of different engines. I also started using Python to do some basic social analytics in my day job, and found it helpful.</p>
<h2 id="heading-post-tutorial-purgatory">Post-Tutorial Purgatory</h2>
<p>Fast forward much time later, and I'm now working on several game-related projects in <a target="_blank" href="http://phaser.io/">Phaser</a> and Unity (most notably, a <a target="_blank" href="https://sominator.github.io/hacker-battles/">digital prototype</a> for a <a target="_blank" href="https://www.entromancy.com/single-post/2019/09/26/Get-a-Sneak-Peek-at-Entromancy-Hacker-Battles">tabletop card game</a> I'm developing). I've spent a whole heck of a lot of time in framework documentation and Stack Overflow looking for answers and best practices for stuff (linking <a target="_blank" href="https://www.freecodecamp.org/news/how-i-made-a-2d-prototype-in-different-game-engines/">this post</a> one more time for good measure). I also have developed friendships with a few colleagues who are themselves programmers, and it's been helpful to run code by them for advice and feedback.</p>
<p>One thing that's been helpful about working on my own projects is just the basic experience of setting up a workflow. Learning to use the command line and Git in concert with setting up NPM and a code editor, for example, was eye opening (particularly coming from CodePen, which just does everything for you). For better or worse, most tutorials don't expose you to the nit and grit of the tools that you'll need to get your work done, and there's a lot to be learned.</p>
<p>If you're reading this and looking for the "and I just got my first job as a programmer!" statement, I'm sorry to disappoint! That hasn't been my objective (at least thus far), but I do have some basic TL;DR learnings to share that may be helpful for anyone who's also on the search for a programming language or how to escape from tutorial purgatory.</p>
<h2 id="heading-tldr">TL;DR</h2>
<p><strong>JavaScript:</strong></p>
<ul>
<li>Pro: A very good entry point into learning object oriented programming, particularly if you're interested in any kind of web development (front or back end). You can learn this through most platforms, but my experience was best served by freeCodeCamp.</li>
<li>Con: Many sites will tell you that it "just runs in your browser" so you "don't have to set up an IDE" and is thus easier to learn, but this mindset will only take you so far. If you're going to do any meaningful development with popular JavaScript frameworks (React, Vue, Express, etc.), you'll wind up setting up something IDE-adjacent with a code editor, package manager, dependencies, etc., <em>without</em> the kind of support you'd get from, say, setting up .NET or similar.</li>
</ul>
<p><strong>Python:</strong></p>
<ul>
<li>Pro: Super friendly for newcomers if the curly braces in other languages are intimidating at first, and a good point of entry if you're interest in getting into back end programming or data science. I had a good initial onboarding experience through Codecademy.</li>
<li>Con: Your options are a little limited if you're looking to get into front end or game development. There are frameworks, for example, that allow you to make games (<a target="_blank" href="https://www.pygame.org/">PyGame</a>, for instance), but if you're specifically looking into game development, you'd be better served elsewhere.</li>
</ul>
<p><strong>C#:</strong></p>
<ul>
<li>Pro: A very pleasant language that's well-supported by Microsoft and the open source community. With it, you can do back end development, make desktop apps, create games (mostly with Unity but there are other engines like <a target="_blank" href="http://www.monogame.net/">Monogame</a> out there). It may be an unpopular opinion, but I'd recommend first learning C# through <a target="_blank" href="https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/">Microsoft tutorials</a> or elsewhere and <em>then</em> learning Unity to ease some of the cognitive load imposed by the editor's complexity.</li>
<li>Con: Not much to speak of here, unless you really <em>don't</em> like Microsoft or really <em>do</em> want to work on front end web development (I suppose you could look into <a target="_blank" href="https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor">Blazor</a>, but I wouldn't recommend starting here). I could speak volumes about how Unity can improve its user experience, for example, but C# itself is great.</li>
</ul>
<p><strong>General Thoughts</strong> on Learning and Escaping Tutorial Purgatory<strong>:</strong></p>
<ul>
<li>One of my frustrations in my process of asking the question "what programming language should I learn?" was what I felt was the insufficient answer of "well, what do you want to build?" I encountered this answer a lot, and don't think it's the right way of approaching learning how to program if you don't already know what you want to do with it. A beginner doesn't have enough context to know what they <em>can</em> build, let alone the route to get there (unless they're the type of person that <em>just wants to make games</em> or <em>just wants to land a job as a web developer</em>).</li>
<li>A better answer would be to say, "try a few tutorials on different sites and in different languages, and see if something strikes you as interesting. If it does, stick with it; if it doesn't, pick one at random and see where it takes you. The stuff you'll learn will help irrespective of what you actually wind up doing."</li>
<li>Additionally, if you can force yourself to get out of the tutorial ecosystem and just <em>make anything</em> outside of the protected environment that's been set up for you, it'll help teach you things you'll need to eventually know, such as setting up an IDE, searching for answers to questions, and sharing your work.</li>
</ul>
<p>I hope this post is helpful for others out there who are searching for a programming language or a way to escape tutorial purgatory and build cool stuff. And I'd love to hear about your experiences, too!</p>
<p>If you enjoyed this article, please consider <a target="_blank" href="https://www.nightpathpub.com/">checking out my games and books</a>, <a target="_blank" href="https://www.youtube.com/msfarzan?sub_confirmation=1">subscribing to my YouTube channel</a>, or <a target="_blank" href="https://discord.gg/RF6k3nB">joining the <em>Entromancy</em> Discord</a>.</p>
<p><strong>M. S. Farzan, Ph.D.</strong> has written and worked for high-profile video game companies and editorial websites such as Electronic Arts, Perfect World Entertainment, Modus Games, and MMORPG.com, and has served as the Community Manager for games like <em>Dungeons &amp; Dragons Neverwinter</em> and <em>Mass Effect: Andromeda</em>. He is the Creative Director and Lead Game Designer of <em><a target="_blank" href="https://www.entromancy.com/rpg">Entromancy: A Cyberpunk Fantasy RPG</a></em> and author of <em><a target="_blank" href="http://nightpathpub.com/books">The Nightpath Trilogy</a></em>. Find M. S. Farzan on Twitter <a target="_blank" href="http://www.twitter.com/sominator">@sominator</a>.</p>
 ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
