Why is programming difficult




















The training walks you through how to make projects like simple websites, web applications and mobile apps. If starting a project sounds scary to you, you might want to check it out.

Regardless, I only recommend products or services I use personally and believe will add value to my readers. Home What is Coding? Facebook Twitter LinkedIn. Explore Code Conquest What is Coding? Deals, Discounts and Coupons Deals. It also helps if you understand that the most common condition for a programmer, especially for a new programmer, is a feeling of being incapable.

Learning is almost limitless, so programmers have to learn new tools, languages, and technologies all the time. Learning a computer programming language is like learning everything else — it will be easier for some people and harder for others. Whether or not you find it difficult to program depends not only on your personality but also on your computer skills. According to Brian Feldman, a robotics specialist and founder of Feldman Consulting Enterprises, there are several key personality traits that programmers must be successful with among others :.

However, your experience of learning a new programming language can be more complicated than for someone with a programming personality.

WP Engine has interviewed almost developers presumably in and asked which languages are the easiest and most challenging to learn. If you are interested in learning to code and want to know where to start, the results of the WP Engine Developer Survey can help you make a decision. Complex means that it is difficult to read, understand, debug, and maintain, and difficult to learn. While it may be useful to consider which languages other programmers think the most straightforward and most challenging to learn, the truth is that, like any different foreign language, learning code will require some effort and dedication.

For this reason, the best question to ask rather than which language is the easiest to learn is — why do I want to learn coding in the first place? Below is an overview of the most common ways to use some of the most relevant, popular computer programming languages:. Either way, the first step is to find out what you would like to do as a programmer, and then find out which language to aspire to. There are several different routes you can follow to become a developer or programmer.

And, unfortunately, you're just about to enter the "Desert of Despair". So what really marks the difference between one phase and the next? Understanding this will help you realize that it's not your fault at all if your journey looks like what we've just described.

Basically, there are two key forces at work in every phase -- Resource Density and Scope of Knowledge. Let's see what these are before exploring how they define Phase III.

As I said above, when you first start out, it feels like there are a million resources out there trying to hold your hand and pull you into coding. That's because there are! Search for "Learn to Code" and you'll be hit with a wall of helpful and useful tools, texts, videos and tutorials. And, frankly, they're great! Never before have there been so many ways to start learning to code.

Unfortunately, in later phases the density of resources drops off fast. Anyone who's made the jump from beginner to intermediate can attest that there is a BIG difference between the amount of resources available when you first start out versus when you're first looking for help building things on your own without too much hand-holding. This problem exacerbates as the amount of knowledge increases rapidly entering Phase III, and is one reason why we call that phase the "Desert of Despair".

Once you get past this and start to become comfortable with what exactly you need to search for, the resources return and you're able to work with more technical tools like industry blogs and screencasts. Part of this is just understanding which questions to ask.

Here's what the Resource Density looks like in each phase greater line density indicates more resources :. Now let's talk about a related issue -- the Scope of Knowledge. This represents the total breadth of new topics you need to learn in each phase. Here's what it looks like:. When you first start learning, the set of things you need to understand is narrow. Everyone, regardless of goals or language or background, needs to figure out what a for loop is, how to build conditional logic, and other basic structures of programming syntax.

There ultimately aren't even that many of these fundamental concepts so the Scope of Knowledge during that phase is very narrow. As soon as you get away from the basics, you see a rapid broadening of the Scope of Knowledge as you need to begin picking up things that are more difficult like understanding errors and when to use the code you know know how to use.

This is different because there is no "correct" answer to a clear question When you progress into the third phase, the scope of knowledge balloons wider. You now need to understand what tools to use, what languages to learn, underlying CS fundamentals, how to write modular code, object-orientation, good style, and how to ask for help to name just a few.

Every trip to Google or Hacker News takes you down another set of rabbit holes and overwhelms you with more things you don't know but feel like you should.

Only when you've finally found some traction and left the desert does the scope again begin to narrow. By that point, you've found your chosen technology and its place in the ecosystem. You finally pretty much know what you don't know and can plot a path through it. You will continue to increase focus as you push onward and into the beginning of your career. With an understanding of these factors, you can see that the Cliff of Confusion is really just a turning point.

The pain caused by the toxic combination of a rapidly increasing Scope of Knowledge and a falling Resource Density results in what I call the "Desert of Despair". In essence, this desert is where you know there's an end somewhere but you don't know how to get there:. The desert is long and fraught with dangers. You'll find yourself drawn to "Mirages of Mania" along the way -- dozens of tempting resources which appear to hold the solutions you're looking for but which will deposit you, once again, in a place where lonely sand extends to each horizon line.

Or you find a tutorial which purports to take you all the way. You thought you learned the lessons of the Hand Holding Honeymoon -- that there are no easy answers -- but the temptation to seek salvation is too great and you fall for the promise that this one will get you to the finish where the others did not.

You can't learn this stuff in a week or a month or a single college class no matter what anyone says so stop falling for that! There is a LOT more to learn than you probably expected. Even if you're able to get some apps running, it's hard not to feel lost in the greater scheme of becoming a true professional. It's difficult to measure your progress. How do you know what you need to learn or if you're even learning the right things?

Even if you're pointing the right direction, it's hard to measure your progress. You might feel totally lost until the very moment when you're finally able to build something that looks and acts the way you expected it to. But, with enough perseverance and a good compass, you'll eventually get your first few "real" projects launched and you'll realize that you're finally starting to get it. Sure it's been hard up until now, but maybe this web dev stuff isn't so bad after all Everything's coming up Milhouse!

You've made it through the desert and your confidence is growing. Your Google-fu is excellent and you're finally able to understand those detailed industry blog posts and screencasts.



0コメント

  • 1000 / 1000