[Solved] What programming languages should I learn?

Since I started this blog, I have gotten quite a few emails asking me “What programming languages do you recommend for X?” I often finding myself writing something along the lines of

I would honestly recommend python. Something about me being biased because I know and love it.  Usually say something about the competing technology with a back handed insult. Also if they are starting out I would recommend a language that enforces better OO (Object Orientated) practices than python, like Java (don’t hate me but it’s true).

Then I go on to say something like you should try to learn one of each language type compiled, scripting and functional language. Never pin hole yourself. Always try to be aware of the differences when encountering these languages 

Keep in tune with trends that appear in fields of interest (web development, mobile)  but you don’t have to learn every new “IT” language.

Keep reading the blog or else statement.

Kind Closing

Name goes here.

So I have decided to write this blog post to safe my readers time, as well as keep my sanity. Don’t get me wrong I love hearing from my readers. Its just I am writing the same email over and over.  You know who you are. Grr.

Again these are just my opinions and the only thing I do professionally is being a bad ass aside from writing code. 

Web Development

  • Dusty’s Pick - Python/Django
  • Dying Technology - PHP
  • Others - Ruby/Ruby on Rails

Why you ask? You learn design patterns like MVC which is the basis for django and ruby on rails. PHP is an ugly language hard to learn, but it does get the job done. I feel though these other technologies are growing and allow for easier and quicker development experience. 

Integrated Development Environment

  • Dusty’s Pick - Eclipse
  • Pro Bros - Vim/Emacs
  • Windows Boys - Notepad++

You should be a master in one of these. It increases your productivity as well as increased ease when coding in some languages. I would recommend for beginners Eclipse! Why? Because of Twilight and the fact that it has extensive plugin architecture that includes almost every development language. Older guys swear by Vim/Emacs, its has big learning curve but people swear by it afterwards. Notepad++ for your portable use and allows you to download it quick and to comfort zone for off site development. 

Compiled/Packaged Languages

  • Dusty’s Pick - Java
  • OS and Applications - C/C++
  • The Other C - C#

The reason I recommend Java easiest to learn quickly and it creates a clear and concise way to show the power of OO programming without the clutter and mess of syntax that C/C++ are known for. Now, on the other hand for “performance" reasons most programs you see are written in either C/C++  which have interesting ways about going compiling from the sources you will end up writing yourself which is a skill within itself. Writing make files and dependency management. So learning them for that added benefit is worth it. I don’t know much about C# but people I know love it so here is a generic Wikipedia link.

TL;DR

There is so much, where should I begin? Forget all that I say pick one and stick with it, until you can plan out how to solve every problem from start to finish with thinking crap how am I going to do that. Once you reach that level, switch languages. But always ask yourself how would I do it in that language, what about this one? YA DIGG?

Notes

  1. paulrajj reblogged this from dustyprogrammer
  2. esehara reblogged this from dustyprogrammer
  3. noxdineen reblogged this from bitpuffin and added:
    Python. That is all.
  4. bitpuffin reblogged this from dustyprogrammer
  5. migolwow answered: IMHO you should also consider NetBeans - now one of the most comprehansive IDE’s. Also, C# is Java without obsoletes. And for PHP => Symfony
  6. playername123 reblogged this from dustyprogrammer
  7. playername123 answered: I digg. I have been using PHP for 4 years now, and just recently started Java (Eclipse) and C++. PHP is not all that bad once you learn it!
  8. resonantsignals reblogged this from dustyprogrammer and added:
    Like the comparison between Stackoverflow vs. Github. As someone who knows heavy MATLAB and Non-OO C++, which are not...
  9. inockey reblogged this from dustyprogrammer and added:
    結構 scheme とかlisp系が頑張ってるんだなぁ。
  10. mineshaft82 answered: I dont have an answer but right now i am trying to teach myself javascript and hopefully move on to perl
  11. aliukani answered: IMO, pick whatever inspires you to build stuff. My first was PHP. I went on to Java and Objective-C, and now I’m on Ruby. Later on, Python.
  12. bitpuffin answered: I digg! Anyway i’ve heard that sometimes Java preforms faster than C++ and C in some cases. The preformance problem with javawaswhenitwasnew?
  13. glennstovall reblogged this from dustyprogrammer and added:
    Dusty programmers’s different take on some...about: what languages
  14. dustyprogrammer posted this