DEV Community

Jesus Guerrero
Jesus Guerrero

Posted on

You shouldn't worry that much about your first programming language

One of the first questions or doubts that comes to mind once you set the goal of becoming a developer is what programming language is good to start.

In this post I want to cover two points:

  • Why you shouldn't care that much about it.
  • Tips to identify what can be a good fit for you.

Why you shouldn't care that much about it?

The main purpose of developers is to deliver solutions, The nature is to find and build solutions for problems and make tasks easier for others, just look how many apps and software you are using in day to day basis. Because of that one of the main characteristics a developer have to have is good problem solving skills, curiosity and hungry to learn, and then the other part is defining instructions for the computer in a way they can understand to build the solution.

The purpose of developer is to find and build solutions for problems and make tasks easier for others

To strength the first aspect most universities start with algorithms, and I am not talking about those complex mathematical ones, is sequence of steps to solve a problem using pseudocode in a way to focus in the main concepts: Declare variables and functions, loops, etc.

Good problem solving skills, the main concepts of programming, use of best practices, design patterns are the key that will help you to understand any language.

Pseudocode is a style of algorithm writing that should be adaptable to any programming language. There are no rules to write pseudocode but it should be readable by a programmer.

And you might think: "ok, I get it. Anyways I need to learn my first language". Bear with me, let's see some tips to discover that language that you'll fall in love with.

Tips to identify what can be a good fit for you

  • All of us had a reason of why we fell in love with programming It could be a game we played, an application we used and wanted extra features, an event we attended whatever. Been aware of that software that attracted you in the first place will give you what field of programming is the one that call your attention: Games, Desktop, Mobile, Web Applications.

  • Look for the top languages used in those categories and research about its strengths, use cases, applications that use them, syntax.

  • There are apps that gamify learning basic concepts of programing languages, one of them is sololearn it is a good option to explore, code and get help about certain languages when you are starting and feel like you are playing after that you can go deeper in other platforms.

Image description

  • If you want to learn to start a job, lets say within 6 months or a year a good options is identifying what programming languages are the most requested in Jobs in your country.

Wrapping up

Whatever your first programming language I can tell you the most important thing is that you learn how to code, best practices, and try to build and build more things, because in that way you'll discover more use cases than following tutorials always and bear in mind that after that first language you will be able to pick up a second or third language faster in case you needed.

I hope this post had been helpful for you, thanks for reading and have a great day.

Top comments (5)

 
jesusantguerrero profile image
Jesus Guerrero • Edited

Well if the intention of the comment was to contribute something for the beginners that are going to read or to me You should had providen the source of your claims otherwise I dont get the point of it.

I am sure if all the universities have made studies that backup your claim it would be easier than posting three comments saying your opinion too, without any source.

I'll do the research of those studies and add them to the post as other point of views if I find them.

In my opinion, if a programmer base their decision to choose a PL based on what easiest syntax is rather on what their purpose is or other important aspects. it is a bad start.

Thanks for your comments, appreciate it.

Collapse
 
jesse_c profile image
Jesse Clark

As someone who has chosen and started learning his (sort of) first programming language I found the article to be confidence building and a bit of a balm to my soul. I’m sure that all the concerns the rest of you bring up are quite valid, but the main thrust of the article seemed to me to have been a bit more general and tuned towards us beginners. Maybe I’m wrong.

Collapse
 
jesusantguerrero profile image
Jesus Guerrero • Edited

Thanks for the comment I appreciate it. In fact, the article is under the tag of beginners and I guess that the people that fall in that dilemma are beginners.

I just wanted to encourage not deciding the first language just for the sake of which is the easiest syntax but the one that align with what inspired you to want learning code in first place and what kind of software you want to build.

 
jesusantguerrero profile image
Jesus Guerrero

Let me clarify something If you read the post you'll find out I gave more weight to aspects like problem solving, design patterns, best practices. Because those concepts will be the key to help you in any language.

Notice how I don't mention any language at all but gives the things I consider can help you make a good selection for that programing language.Im not saying is not important my claim is tha is not that important.

With that said answering your questions.

Do you have any evidence that studying c++ as first language increase the chances of giving up midway? Because you provided not sources for that.

And yeah I am referring syntax-wise.

Collapse
 
jesusantguerrero profile image
Jesus Guerrero

I started with Pascal then C and the C++ as well as all my classmates and it was never a problem and yet I ended up in web programming languages.

Also Java is is very similar to C++ in terms of complexity of syntax and far from what python is.

If you learn the foundations of programming concepts are transferable in any programming language you choose. And rather than start programming in python because is easier is not a good measure if the person want to program mobile apps in the current job market withing 6 months for example.

Which is what the post is about.