markdown guide
 
  1. Python: when I first learned programming, I learned Python and it's still one of my favourite languages. I use it for scripts and CLI tools.
  2. Java: I had to use Java at work for about five years. I loved it at first, hated then, kinda liked after and got tired eventually, I don't want to use it at least for a few years.
  3. Javascript: I had to use it at work, but I ended up liking it. I was introduced to functional programming in Javascript watching mpj's youtube videos. It's still my default choice for backend services.
  4. Lisp: I read somewhere that knowing Lisp would make me a better programmer even if I didn't use it, xkcd convinced me to give it a try. I really liked it, but I never got too far. Someday I'll take it up again with the SICP book.
  5. Elm: I wanted to try something different, with a syntax and philosophy that diverged from C. It has great ideas, but I found it rather limiting and moved on.
  6. Ocaml and ReasonML: the new shiny thing I'm into right now. ReasonML has great interoperability with Javascript and Ocaml is reasonably close to Haskell, which I would like to learn next; BuckleScript can compile both.
 

Very nice list! Isn't ReasonML exclusive to React? I mean, I got the impression that pretty much all you can do after learning ReasonML is write React code. Is that so? As for Lisp, I might recommend diving into Clojure or Racket.

 

Actually, you can use Reason ML for anything else, it's just an alternate syntax on top of Ocaml, it's just that the FB fellows talk a lot about Reason React.

Thanks for the recommendation!

 
  • Python

My first language(!), and it's still my main and favourite.

I started C# and PHP which was really bad, I haven't learnt anything about programming I was just copy-pasting.

  • OCaml

After learning functional programming what is it (without any programming language), I started to learn every functional programming language (Haskell, Elm, Clojure, ...) and most comfortable one was OCaml. It's more practical compared to other languages. It's mostly functional, but it makes you able to use other concepts. It's really (but really) fast. I'm in love with its syntax (ML syntax). Just using it for fun, solving problems, and frontend (haven't learnt it yet) with Reasonml which is just an alternate syntax for OCaml. I haven't created and projects with it yet.

  • Erlang (Still learning)

I needed a concurrent and good language for web language. I have looked to other languages like Golang, Scala, Clojure. But the best ones were Erlang/Elixir. Its concurrency is really powerful and easy. It can spawn a lot of processes. Also, it's generally used for web servers and sending HTTP requests. There was Elixir, but I became more comfortable with Erlang. Both runs in Erlang VM(s).

Planning

  • Ruby

The syntax is nice, have good frameworks like Ruby on Rails, Sinatra. The usage will be the same with Python.

  • Rust || C++

For systems programming or low level things.

 
 

Every problem that Haskell or C can solve. It's both functional, imperative and object-oriented. Also fast like C.

 
  1. BASIC: Nothing else available on my 1st computer.
  2. Pascal: Same reason.
  3. Logo: Turtle graphics and recursion were kinda fun.
  4. C: Performance. Used it at the university, later on the job.
  5. FORTRAN: There was a course at my university and I had to do some numerical math at that time.
  6. Unix Shell scripting (bash): Useful. Still use it sometimes.
  7. C++: Thought that OOP was cool. Still my main language but for other reasons.
  8. Java: Was hot at that time. Still a good choice to get the job done.
  9. Python: Less verbose than Java. Makes many things really easy. Never had a chance to use it professionally though.
  10. C++11,14,17: Huge leaps forward from old style C++.
  11. Scheme (Racket): SICP, wanted to learn something new.
  12. Javascript: Well, few people can avoid it. Actually I think it's not that bad.
  13. C#: Had to use it in a project. Nice to get things done on Windows desktop.
  14. Haskell: Thinking functional is very helpful. Still learning.
  15. Future plans: Don't know. Maybe Go or Rust.

The ones I use regularly are C++ (including 11, 14 etc.), Java, C, Javascript, C# and Bash scripting.

 
 

I don't have one. All of them have their advantages and drawbacks. Only the first five I listed are probably no longer useful, well, maybe C for embedded systems.

 

To answer the Why did you learn these programming languages? question, I offer my Rule of 3 strategy. It has mostly an economics incentive. At any time I'd like to concentrate on practicing 3 languages.

  1. Tier 1 - A language that you use for your main income, i.e., at your workplace.
  2. Tier 2 - A language to fall back to or use for freelancing projects, i.e., additional income.
  3. Tier 3 - A language to experiment with and write side projects. It might jump to Tier 2 or Tier 1 at some point when you become good enough with it.

At the beginning of my career the tiers were:

1. C++
2. PHP
3. Java

Then at some point I switched to.

1. Java
2. PHP
3. JavaScript

Nowadays it looks like that:

1. Java
2. JavaScript
3. Kotlin

So yeah. That's my Rule of 3.

 

I get excited about new languages but rarely have the resolve to see them through. As a result, I'm stuck with PHP for all three points. 😭

 
  1. BASIC: Language taught in Primary School Grade 2-3

  2. Logo: Language taught in Grade 4-5. Turtle graphics and arithmetic operations only.

  3. C: Learnt as part of Grade 6 coursework.

  4. C++: I didn't want to stop at C. I did a tutor course in the summer holidays. Revisited as part of Standard Grade 10-12 and college coursework. The only use I could extract from it was in competitive programming.

  5. HTML/CSS: I didn't have internet access at that time but my computer guy set up FrontPage and Dreamweaver on it. Learnt the basics from manual and auto-suggestions.

  6. Python: Learning C/C++ again in college was boring. Python was a breath in fresh air. My favorite ❤.

  7. JavaScript: When I started making web pages, I quickly understood that only HTML/CSS is never going to be enough. Node/express stack is also great at quickly fleshing out a back-end.

  8. Bash: Switched to Linux in second year of college. Although zsh is preferred shell, nobody should write their shell scripts in it.

  9. Java: College coursework in 2nd year. Haven't touched it since then.

  10. Go: Learnt to make a multi-threaded filesystem watcher at work and really liked it.

  11. TypeScript: When I was learning React to work on a new project at work, I went with TS. Now, I use it in place of JS wherever I can. Even when working with Node. Type-safety helps a lot when working on large projects.

  12. Rust: Better C++. Currently trying to learn.

 

Actually not better C++. It's a better systems programming language.

 

That's what I meant by Better C++. I was actually referring to the primary usecase of C++.

 
  • Python — The programming language that helped me understand basic programming concepts
  • JavaScript — Only because it is the most common programming language to be caught on tutorials (or at least what I commonly found) and I mostly create web apps so there's that
  • C — CS50, that's pretty much it though I feel I'll use more of this for hardware systems
  • C++ — needed for the computer engineering course; initially hated it but eventually appreciated it
  • Bash — I just want to automate some stuff

Also, you can't just post a discussion thread without giving your own piece, OP. 😋 What's yours?

 
 

I presume you mean programming languages?
I learned more then 6 along the years, each served its purpose at a specific time, in my career or for a project. I played around with a few others just to learn.

As for my current and future language I moved to Go, because ... Many reasons, mainly because it suits me, my plans (cloud) and tech challenges (big data, big distributed systems), and I avoid Java ecosystem at all costs.

 

Ah yeah, updated the title. Also, I still think to go is young for big things.

 

Have you heard of Dropbox? Or kubernetes?

It will be pretty complete after Go 2.0 (with modules, better errors and generics).

I agree that now is in a grey state. But I will take my chances and bet my career on it (actually am) :))

 

I still think to go is young for big things.

I'd love to see a debate on this. I've been sitting on the fence for a long, long time when it comes to Go. :-)

 

PHP

Built an app using Laravel at my job. Still running. Done PHP for 3 years and Laravel for 1.

Python

Using Odoo for our ERP. Got to love it. Done Python & odoo since 1 year now.

Javascript

My Laravel app works besides Javascript for interactivity (rich text editor,...). Got to love it too. Mostly used for bundling my apps (Gulp.js).

Got some knowledge on C, C++, C#, Java, but not enough!

 

Python: my second language. started learning it after getting frustrated with BASH shell's speed. Most of my projects to date are written in python.

Ive written everything from a window manager framework of sorts to a point and click adventure engine, to a gopherspace client. in fact, the next language comes from one of my python projects...

  • SSTNPL: A primitive language for SBTCVM, a base 3 virtual computer i designed, inspired by 50s Russian computers. its a fairly static, simplistic goto/label based language with 2D arrays and named integers. the fairly 'old fashioned' structure is due, in part to the virtual computer having enough memory to store roughly the equivalent of 40KB of text, and a clock speed of a whopping 6.5Khz. its worth noting both SSTNPL's compiler, and SBTCVM, are 100% python.

I don't know if anyone else here has written any project-specific languages. but id figure id mention one of mine. At least the most interesting.

 

Python (3.x) - swiss army knife scripting language, lovely syntax, approachable... my only gripe: I'm still not a fan of indentation for block structure, I guess I have curly-braces in my DNA

Lua (5.x) - tiny footprint embedded scripting engine, elegant syntax with just the right amount of sugar... my biggest gripe: 1-based indexing

C++ (C++14 these days) - powerful, not a nanny language, dangerous, my day-to-day language (and it pays the bills)... I have a love-hate relationship with C++

D (2.x) - a better C++ than C++, created by Walter (1.x & 2.x) & Andrei (2.x)... I look at this as a "What C++ could have been if it hadn't been backwards-ish compatible with C"

F# (4.x) - functional programming is a game-changer; F# is a mature, pragmatic language with a beautiful syntax (basically it is OCaml for .NET; the ML lineage has been around since the 1970s)... Haskell is a pure language, and can teach the functional programming concepts, but I don't like its syntax and it's not what I'd use for an industrial strength program... attempting to learn functional programming in C++ or Lisp will do much to injure one's understanding of functional programming... another interesting functional programming language is Elm (but it is a rapidly evolving 0.x language, which makes for difficult code maintenance)

JavaScript (ES5, ES6) - only because I have to, because it's the language of the web... I am not a fan of JavaScript, and fortunately I don't have to do a lot of it. (If I had to do a lot of it, I think I'd use CoffeeScript 2.) In Brendan Eich's defense, JavaScript was created to make little snippets of code to glue events to actions. It was not originally designed to write 100+ kLOC applications.

I next want to learn Swift. I've been putting it off, because I had to come up to speed with modern C++ (C++11, C++14 and C++17).

I've used many other languages, but I either don't use them anymore or very little. BASIC (a wide variety of flavors), 6502, 68000, C, Objective-C, Pascal, Object Pascal, FORTRAN, Scheme (an offshoot of LISP), Perl, Rexx, TypeScript, Java, SQL, Prolog, bunch of shell scripts across many platforms, Awk (not sure where to draw the line; I guess Awk is the line as a utility / tool / DSL).

I've learned a few languages just for fun or academically. Never used them for real work. Never learned them deeply. Go, Rust, Ada, Ruby, x86, Spec#, Sing#, Groovy, Boo, MATLAB, COBOL, and many others.

I've tried my hand at making my own general-purpose programming language. I've discovered that it is very hard. Very, very hard. If it is a hobby one is interested in, expect to devote 10+ years to it. Longer if it becomes successful.

I've created several programming languages for shipping products, but since those were domain-specific languages (rather than general-purpose) and had fairly limited and constrained capabilities, they were relatively easy to create.

 

I developed software in different languages (from C++ to Rust) but there is only one language that i really understand how it works and i'm enjoying to develop software with it; Python

I started programming/developing with it on a Linux computer in young ages and i still use same things for developing apps.

The best syntax i've ever seen is Python's simple and explicit syntax.

There are tons of packages developed and maintained by community.

It supports C library bindings and C extensions for fast computing.

It has a nice community and conferences around the world.

I cant imagine a world without Python 😍

 

Mostly JavaScript, because web dev.

Next is Python, because scraping/munging/other repetitive tasks.

Sometimes Bash, but not that often.

At least for now, this gets the job done. I've been wanting to play more with game dev in Unity for a while, so I expect to add C# to the list.

 
Classic DEV Post from Sep 7 '18

State of JavaScript 2018 Survey

The 2018 version of the State of JavaScript survey is now out. It's a great chance for developers of all levels to weigh in and add their two cents.

Muhammed H. Alkan profile image
12-13 years old developer.