loading...

Why did you chose Programing Language XYZ?

Joe Hobot on October 28, 2018

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?

markdown guide
 

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

 
  • I chose Visual Basic (my first one) because I wanted an easy start into GUI programming.
  • I chose Pascal because it was mandatory back in school.
  • I chose Object Pascal because Delphi/RAD Studio has been the most awesome RAD IDE well into 2018 and counting.
  • I chose C++ because <filesystem> is amazing (yes, it's that simple).
  • I chose C because sometimes I want to have as little overhead as possible.
  • I chose Common Lisp because it has an awesome ecosystem (QuickLisp) and it allows be to build incredibly quick prototypes.
  • I chose Racket because it is basically "Lisp with a kitchen sink", having both a GUI and a web framework as a part of the language itself.
  • I chose Python because I didn't know better.
  • I chose C# because I wanted to play with Windows Forms (still ongoing project, maybe I'll tell you later).
  • I chose FASM because I want to know my limits. (Looks like FASM is my limit.)
  • I chose COBOL because I was curious.

I never transitioned. Why would I?

 

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!

 

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.

 

I've learned many C-style langs, also some lisp style and some esoteric ones. I've only seen a few I don't like, for example haskell, brain-f***.

For professional projects I now try to work within C, C++, Java, Golang, Python or PHP with a handful of DSL's and declaratives. I do like C# (so similar to Java on surface), but don't have time for it in my life, and will probably drop it like I did PERL, various BASIC dialects and the Pascal's.

I Use languages generally because clients are using them, or there is a significant body of work.

Language I'm interested in but cannot get enough time for is Rust. I'm not good enough with rust nor do I have heaps of systems-programming experience so work isn't an option. I've also been updating my C++ so it's not just C with classes and I can use newer language features. It's a journey, but also not something I feel competent in as a full-time programmer.

Whatever people pick, I hope they know that as long as they don't hate the language or it's concepts, they've made a good enough choice for right now.

 

Liked especially for that last statement. People should choose X language because it makes sense to them, they enjoy using it, they see an opportunity to do something cool with it, or because it solves a problem -- not because it's the most popular or other people won't pick on you for using it.

 

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!

 
 

She sighed. “All men are the same.”
“So are all women—after the first nine.”
― Raymond Chandler, “Farewell, My Lovely”

There is indeed no difference what language to use, all are the same after the first nine.

 

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.

 

I chose and still am in love with C#. Mostly, because I had an awesome lecturer on C#. Also, it was the first language I have built my first serious application with some infrastructure. And of course, LINQ ❤

 

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.
 

Why would you learn a language if it doesn't have a purpose at all?
We all know language dies if they aren't one of the following

  1. Target platform - Web? Desktop? Mobile? IoT? OS?
  2. Community - Is it active? another short-lived project?
  3. Salary - Jeez, even hobbyist are using the x language without paying them..

It's not easy to transition from one language to another, unless someone is a polyglot.

So.. I could share mine. Because some are required, others are for side-projects.
My First programming language was C++ because it was required in my freshmen college, then I transition to JAVA because of Data Structure, then it went deeper to Assembly because I went to hell mode. Then unto to Web Development where jobs are swooping in my country and is now an in-demand job.

I am still enthusiastic of learning different language that fits for the job.

 

The only 3 languages I "chose" were C, because it was my first language; Python, because I was working a lot in Linux, and Clojure (admittedly any functional language I've even looked at was a "choice"), because I knew I'd never do functional programming at any job. Every other language was something I had to learn.

None were particularly hard for me, possibly because I started with C, and I had seen Lisp before in college, so Clojure wasn't a big adjustment.

 

I learned Java while in college, though only the beginner's courses. Next was JavaScript for web, and also VB and ASP.NET with C#. Lastly, I learned PHP during a senior project because my teammates used it.

Regarding .NET, I do tend to shy away from MS technologies when I can get away with it, but these 2 classes were easy-A; I barely learned anything in them. Nothing against them in particular though. I've heard some good things about ASP.NET with C#.

Anyway, I ended up sticking with JS and PHP. With JS, I eventually ended up learning MeteorJS, and recently I started learning Laravel and Vue for my newest project -- all fun stuff.

Edit: I'll add BASH to this list. I use this at work occasionally for a few things, and it definitely does come in handy.

 

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.

 

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

 

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

code of conduct - report abuse