Programming languages and deciding on your first

in python •  7 years ago 

I see a lot of new, up and coming programmers asking, "Which language should I start out with?" and depending on how many programmers you ask is how many different answers you will get.

Most of the time, if you ask an experienced programmer, they will tell you that it pretty much depends on what you want to program. If you are new to programming you may not know the answer. So the sage advice doesn't seem all that helpful. Truth is no matter what you want to program any language worth its name should be able to accomplish what you want to do, especially in the beginning.

I think that most new programmers are not really aware of what programming is when they first start. If they did maybe they wouldn't be asking the question of which language but how to better develop analytical skills. If you pursue a computer science degree, advanced math is a standard requirement. The reason that math is needed is not because you will be solving for the areas under a curve, but the analytical skills acquired in solving advanced math problems is the same logical process for identifying algorithms.

All (or most) programming languages use variables, loops, conditionals and syntax. Which language to learn is really a matter of which 'community' is a better fit for you. It seems that certain languages get known for certain tasks. And those tasks seem to attract a certain personality. Hackers, makers, math junkies, IOT peeps, AI researchers; you name it and I am sure there is a community that fits your interests. With that said let me further explain how I believe programming languages should be approached by an interested person looking to learn a language.

Programming languages are tools that write instructions to the computer. They are tools. Some are screwdrivers and others maybe hammers. If you asked me which tool you should use, I would naturally ask what do you need to do with that tool. If you told me you needed to cut a board in half, well I would suggest getting a saw and forget about that hammer and screwdriver - they wouldn't help very much. But if you told me that you were not sure yet then I may say a hammer because I like hammers. I find hammers most versatile because if I have something that needs pried, pulled, beaten, or broken, usually a hammer will do the job. In fact it could even split a board in two but not very cleanly. So, the tool you use is relevant to the job you are planning to do. That being said, screwdrivers are extremely handy and if you only had screwdrivers in your toolbox that would be fine. Master that screwdriver but someday you just might need to do something other than screw your brains out. You can then acquire a new tool that can do what you need more cleanly.

Now this is where new languages pop up. Just like a surgeon that reads about a new way to do a certain procedure may decide to engineer a new tool that has a steeper angle than anything available, a programmer may decide to create a new language to better handle the logic of an algorithm. Do you need to learn that language? I would assume no.

Which language you choose doesn't matter because if you focus on 'how relevant' your language is then you will always be changing your mind and not learning how to program. Once you decide on a language you will no doubt start seeing nothing but praise for every other language out there and a new disdain for the language you chose. It happens but it shouldn't deter you from your original choice. The tides of fandom change quickly. A user on a reddit stub once said 'don't get paralysis from analysis" and he couldn't have been more correct. Just choose and stop worrying about picking a perfect language, cause it doesn't exist (not yet anyway).

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  
Loading...

I think new developers need to be asking themselves why they're learning in the first place. Does it have anything to do with trying to get a job as a programmer?

If so, they should be looking at their local market on Indeed and seeing what employers want. This usually boils down to Java or C# and Javascript.