DEV Community

Joe Hobot
Joe Hobot

Posted on

Why did you chose Programing Language XYZ?

Just like the title says, I wonder why people chose Python or Java or GoLang etc.. And also if you say learned Python and you transitioned to xyz language, how easy/hard was it for you?

Oldest comments (17)

Collapse
 
lyfolos profile image
Muhammed H. Alkan • Edited

I love two languages: Python, OCaml (also F#)
I chose Python for simplicity, ecosystem, and popularity. Popularity makes it easier to find a job. Simplicity is awesome. It's so similar to PSEUDO Code so it's easy to learn. The ecosystem is really big, but there are a little bit bad libraries so.
I chose OCaml for because it's functional, advanced, compiled (directly into native code), ML (Metalanguage, not machine learning), functors, generating lexers & parsers & compilers easily (First rust compiler was written in OCaml), and so on. It's perfect, but there are no so many people using it. There is F#, which is really similar. Even I can help F# dev as OCaml dev with 0 F# knowledge!

Collapse
 
buphmin profile image
buphmin

My languages kind of chose me in the beginning. My first job my coworker had used some php to accomplish some tasks so I picked it up to continue automating some things. This eventually led us to build a marketing feed ingestion website which we wrote with Symfony/PHP/Python and gearman for async scaling. The web requires javascript so that came along for the ride.

Eventually I moved jobs and out of the silicon valley area (I mean who can afford that rent!?) and eventually discovered typescript. This was a glorious new way to write javascript. Very recently I had a chance to do something for a one of project and decided to use Go, which is very easy to learn. Then very recently I decided to take a modern C++ udemy class, though I have not yet done anything with C++.

Overall I would say transitioning languages is not that hard. They mostly share the same characteristics and you just need to figure out the exact syntax. I suspect the biggest thing that will make using C++ difficult is the fact that there is just so much syntax to remember.

Collapse
 
kvie profile image
Karyme Virginia

I'm learning Ruby for the exclusive reason that Flatiron School teaches Ruby. (Later I'll also learn JavaScript for the front end)! Prior to this, I was learning C++ because my college taught C++. So in many ways, my choices were made simply by what resources were available to me.

If I were to choose any language and be able to have great resources for it, that language would be Python. However, I've fallen in love with learning Ruby, and I can't wait to start making applications in Rails!

Collapse
 
johannesvollmer profile image
Johannes Vollmer

I love Rust because it enables me to really express my thoughts. For example, real immutability enables simple designs by allowing you to provide read-only access to fields. Enumerations ("Tagged Unions") are a great alternative to Inheritance. Option types instead of 'everything could be null' really help avoiding mistakes at compile time. Plus, Rust has performance similar to C++. Before learning Rust, I didn't know how important an ergonomic dependency management system is. <3

Collapse
 
hawkinjs profile image
Josh Hawkins

Each language has pros and cons!

  • I <3 JavaScript for full stack web work, often with universal rendering
  • Python and R I like for tasks I pair with Scientists on, data science work, etc. They seem to know the languages, and the ecosystems are fantastic for scientific calculation.
  • I choose C++ when it comes to cross-platform high-performance work, and drag Qt in to play if I need a GUI
  • I choose C when I'm feeling feisty and want low level work with utmost control and no framework "magic". I.e., protocol level work
  • I choose Elixir when I need extreme levels of concurrency

That sort of thing! It's fun to learn new languages imo, and I enjoy finding how I can best leverage them for different problems

Collapse
 
rapidnerd profile image
George

I learnt:

  1. Visual basic: Got bored when I was a kid and this at the time was recommended to learn. I've never liked it.

  2. Python: I wanted something more than Visual basic, my brother had been writing Python since 2009 and suggested it to me.

  3. Java & C#: I originally went into games development and found out that these two were the most popular for game development.

  4. C & C++: Its currently on my university course but back then I wanted to learn something that is involved in almost everything, you'll find them in operating systems, languages, networks etc

  5. Rust: I love the feel of Rust and the C/C++ aspects of it, the cargo package I have found to be very good also.

At university we're being taught web dev (HTML, CSS, JS, TypeScript) in the next year. While I know the first three to a good extent TypeScript is next on my list.

Collapse
 
fushnisoft profile image
Brahn Partridge

Bah. A pragramming language chooses you!

Collapse
 
dirtycode1337 profile image
Dirty-Co.de

Well, I didn't choose JavaScript, JavaScript choose me! I only wanted to build websites ;).

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

Many language choices were thrust upon me.

  • GW Basic, Pascal in high school
  • C, C++, Assembly in college
  • Javascript required for web
  • VB for side work

Others I chose based on information I found about them.

  • DOS Batch scripting, goofing around with a friend
  • Perl for linux scripting
  • PHP because it was easy to make web apps (early 2000s)
  • Java as a brief experiment (early 2000s)
  • C# because I grew tired of VB verbosity
  • Bash for linux scripting
  • Python for linux service dev (mid or late 2000s)
  • F# for the promise of better quality
  • Typescript to add extras to Javascript
  • Elm for the promise of better quality

Most transitions were not difficult, because many of these languages use a C-like syntax and familiar debug/compile cadences. And hardly anything is worse than where I started: DOS batch scripting. :)

All of them require learning a new set of "libraries". But some transitions were notably difficult.

  • Javascript, mainly because of all its weird edge cases -- especially around type coercion and browser support. The language was very brittle and limited in these early days.
  • Java, because of lots of unfamiliar tooling and non-obvious requirements (e.g. package name matching path). I recall using Forte for Java.
  • F#, because expression-based syntax was different from everything else I had used. Immutability is a confusing concept at first. And idiomatic FP code was very different from what I had done up to that point. It took at least 2 tries before I latched on to it.
  • Elm, mostly because all front-end tooling is a hot mess. But also getting used to the Model-View-Update pattern.
Collapse
 
adrianodennanni_2 profile image
Adriano Dennanni

During a normal week, it is very common for me to code in at least 4 different languages, depending on the project.
However, my favorite language is Ruby. I learned it only for using Rails, but it ended up to be my "main" language.
I can transform my toughts into code faster with Ruby.