DEV Community

Cover image for What languages I choose to learn and why?
Leonardo Gasparini Romão
Leonardo Gasparini Romão

Posted on • Edited on

What languages I choose to learn and why?

The choice of the programming language can be the most important choice when you are starting to learn to program, and in most cases, is the main question in all debates involving software development. Well, I think that's interesting to show my decisions about my programming language choices and why...

1. Csharp

C# was not my first language but was the first language that I could make my first professional project in my career. I was started programming with C# in 2012, when WebForms was, unfortunately, the main web framework used in that time to develop web projects.
But C# has improved to be an excellent option now. With the creation of .NET Core, the framework is now independent of windows, and with this, erasing the Microsoft past when the company was avoiding OpenSource initiatives. bellow is why I choose C# as my principal programming language...

1.1 StackOverflow

In 2012, C# was the main language of questions inside Stackoverflow, and this helps me a lot because I had a unique source of information to ask questions and understand how I could make some code. Nowadays, I can't even think how my life will be without StackOverflow rs

1.2 Visual Studio

Alt Text

An IDE is an important thing to help any programmer to make the job quickly and the right way. In 2012 we have Java with NetBeans or Eclipse to develop some software, and I thought it was horrible to use then, Eclipse IDE was slow, heavy and always have an unknown problem. Visual Studio was an impressive choice comparing with others IDE because Microsoft always knew to make a good UX in theirs softwares.
Nowadays we have VS Code considered the most used text editor to write code, and the VS Community is a good option to have a complete IDE.

I'm still using C# as my main language, also, the language extended to other worlds beyond enterprise software such games with Unity, Machine Learning with ML.NET, and Mobile Apps with Xamarin, so I can honestly say that I'm very glad to have chosen C# many years ago 😄 .

1.3. Jobs

A few years ago, here in Brazil, Java and C# still were the most used languages in companies, probably, this is changing with mobile apps and the popularization of Python for DataScience/MachineLearning projects and JS with Node, but we still don't have changed at all so, we still have great jobs with the "traditional" languages. And I'm unconsidered some old languages like VisualBasic or COBOL because learn then was probably a BAD choice, and when I'm checking the data about what is the most programming languages hated, I'm certain that these languages were really not good options. Next, my other chosen language

2. Python

Alt Text

I started to learn Python in 2017 as an option to learn Data Science, Python was growing absurdly in the last few years and this is incredible, we have so many questions in StackOverflow involving Python, but there are more points involving why I choose Python as my second language.

2.1 Jupyter Notebooks

As I said about Visual Studio, Jupyter Notebooks for me was an incredible software to build projects involving Data Science, Jupyter was a different way to put value in our code merging with text like a word document. The possibilities to use Jupyter are so great that big companies and software was putting notebooks in their environment like Microsoft in VS Code, Amazon with AWS or even IBM with Watson Machine Learning Studio.

I'm glad to choose those languages, they were useful to learn some skills that turn me a developer. Even some other languages have their advantages like JS with React Framework or Swift to make Great apps in IOS, C# and Python have some others features that I prefer, so, even this languages was not in your options, that's OK, but if you considering learning a new programming language, this options can be a great choice. And you, what languages you choose and why? \o

Top comments (6)

Collapse
 
davelsan profile image
David Velasco

Your choices are very close mine, although I wouldn't really say I "chose" them. Kind of the opposite, actually. Beware, long comment ahead!

 

1. C-sharp

 
My first language love, and as it usually is with these things, it will always be very close to my heart. It was 2012 and there was a very popular modding effort for a huge game a the time. I started contributing to the wiki and before I knew it, a couple of folks on the project started mentoring me. Looking back now, I truly believe this was one of the best "choices" I ever made: great language to get a solid understanding of OOP principles, unbeatable start by contributing to an open source project and amazing people to get me through it. Boy do I miss them sometimes...

 

2. Ruby, Python, R

 

A year or so later I started my BSc thesis. Coming from a mainly wet lab background, I wanted to do something with my newly acquired programming skills; I decided to start a bioinformatics internship. They were using ruby at the place, so I adopted it. Coding in ruby is sort of nice, comfy to write with, but I missed static type checking.
 
Fast-forward another year, I was hired by a lab to keep doing data science. Folks there used python and R. I decided to go with the former because R feels like a very niche language, albeit very useful for computational statistics. Eventually I tried my hand at R too, for a while, but I will avoid using it again unless strictly necessary (best tool for the job and all that).
 
Not that I didn't like data science, but when I look back, this is probably the single worst decision I made when it comes to pursuing a career in computer science. I literally went from having a blast being part of a large community, to complete isolation while working on a multitude of unrelated projects. I know this likely was a problem with the place I was working at, but sometimes I feel I threw my soul down the drain and flushed. For a year afterwards, I actually pursued a completely unrelated career and avoided any type of programming.

 

3. JavaScript (Vue.js), TypeScript (Node.js, Angular)

 

Do you know how it feels when you think you'll never love again, but one day it all comes back and crushes you hard again? This is where I am now.
 
For a long time I kept hearing how horrible a language JavaScript was, so I never imagined what happened when I tried it. Dude, I started enjoying it almost instantly. Sure, I missed types from the C# days, but its syntax, a mix between functional and OOP (I know, not real OOP) that I could switch to and fro at will, captivated me in a way that is hard to describe. Then I found TypeScript and my heart was complete again; still in pieces, but all of them there.
 
I am an absolute noob at it, sort of scared of making anything public again. But I am slowly rebuilding myself, having an absolute blast trying things out. I have a few projects that I am working on daily and I keep dreaming of releasing them to the world, some day.
 
So there you have it, my "choices" and why. Not sure why I decided to write again about myself, here in a comment, after so long. But thank you for your post, dear stranger. For bringing back that piece of myself.

Collapse
 
lleonardogr profile image
Leonardo Gasparini Romão

That's awesome, you have an interesting history about what languages did you learn, even their just appears in your life. Starting over is a hard step but i'm sure that you be proud of your work now. Thanks by feedback for the post and Keep Learning \o

Collapse
 
cm64_ profile image
CM 64

This is interesting. My first programming language was C#.

Collapse
 
rinkton profile image
Rinkton

Same. My first language was C# too.

Collapse
 
oriafias profile image
OriAfias

c for the basics of addresses, pointers etc
cpp for oop
python for the sake of one-liners scripts
vb for job project
javascript for webapps

Collapse
 
lleonardogr profile image
Leonardo Gasparini Romão

Nice. Your path probably teach you a lot, because you see low level and high level languages.
I learn c and cpp in college to learn some concepts like pointers and memory management.
But was only introdutory.

I still don't like very much JavaScript, but in the future can be a option if I change to program mobile apps xD