What Language to Learn
-
As IT professionals, it always comes up that people want to know what language(s) they should be learning when starting out. Here is a quick guide to the languages that you want to know and when:
Learning general programming as a foundation to take to other things: Python
Programming for Windows System Administration: PowerShell
Programming for UNIX System Administration: Shell Programming (BASH for Linux and Solaris, ksh for AIX, csh for BSD) and for more advanced automation Python
Automating Microsoft Office Products: VBA (Visual Basic for Applications)
Web Design: HTML5 / JavaScript
Web Applications for General Use: PHP, Python and/or Ruby
Web Applications for Windows Only Use: C#
Scientific Applications: Generally Python
System Automation with Chef: RubyLanguages that you should avoid as a new programmer: Visual Basic, Visual Basic .NET, COBOL, Perl, FoxPro
-
These are the primary languages for IT pros that do some programming, mostly for automation tasks or very small applications. This is not a list for programmers looking to make enterprise applications. Major languages that full time developers would use but IT pros would almost certainly not include Java, Scala, Clojure, Scheme, OCamp, F#, Haskell, Go, Dart, C, C++, Groovy, Node.js / JavaScript and more.
-
@scottalanmiller said:
Languages that you should avoid as a new programmer: Visual Basic, Visual Basic .NET, COBOL, Perl, FoxPro
Because VB is depreciated in favor of C#. But considering the vast install base of the code out there, there is no reason NOT to know how to work it. Mostly porting code over from it to C#.
FoxPro isn't a language, it's a life. A programming language that also functions as a database? Count me in! I still get the occasional call for VFP work. And it's been dead since 2007. Again, depreciated, but incredibly useful if you are porting code to know how it works.
-
Yes, plenty of value if you are already supporting the apps, but as a tool for new people it's pretty tough to get value as the market is full of old timers with those skills who will always have far more experience than anyone new and the needs for things like VB goes down every year faster than the people with those skills already retire. So while you can learn them and find work possibly, it is not as valuable as learning some other skill for which the market is better and there is a growth need rather than a shrinking need.
-
Good list. Thanks. This will be handy to reference.
-
Time to go learn Python, I had no idea it was that wide spread. Working in SOHO / SME really does limit the horizons of tech I see. It's eye opening chatting with y'all in here.
-
A lot of people predict that Python is going to become the dominant language in a few years. It has held one of the top slots longer than most languages have been around (it was ranking before Java was invented!) and has been steadily on the rise. It slowly unseats one language over another. It is one of the very few languages to be on a constant upward trajectory for so long. Sometimes new, popular languages pop up but they disappear quickly too.
Once Python effectively eliminated Perl from existence its place was pretty secure as Perl was its primary contender for nearly everywhere. Perl was older and more established but over time Python ate away at it and Perl pretty much went from a top five language to "what was Perl" in just a few years. Python and Perl together had already done that to TCL many years ago. Python keeps Ruby from the limelight. Once Python became the de facto systems management language it pretty much owned everything.
Because Python is the most broadly available language (more or less) and used in the most use cases (from web apps to scripts to desktop applications to scientific computing to gaming) it just eats away at other languages.
Python is responsible for the major decline in PHP as well.
-
This post is deleted! -
What is your opinion on Javascript and Node.js for backend web developers? I see a lot of back and forth on the topic throughout the internet.
-
JavaScript is obviously huge and making incredible headway and Node.js / io.js is helping a lot with that. JavaScript has become a really powerful language and definitely a major competitor with Python now. But JavaScript has never managed to prove itself as an automation language, as a general purpose language and as a desktop language. All things where Python shines. JSs major leverage is that it owns the browser and that is huge. JS isn't going anywhere, but I don't see it replacing Python (he says on a site powered by JS.)
-
@lance said:
What is your opinion on Javascript and Node.js for backend web developers? I see a lot of back and forth on the topic throughout the internet.
It's making a lot of inroads on the backend but I don't see it lasting for forever. JS is a good language but not a great one. It just wasn't designed well for how it is being used. Once people start making Node.js-like engines for other languages, things will change rapidly.
-
@scottalanmiller said:
@lance said:
What is your opinion on Javascript and Node.js for backend web developers? I see a lot of back and forth on the topic throughout the internet.
It's making a lot of inroads on the backend but I don't see it lasting for forever. JS is a good language but not a great one. It just wasn't designed well for how it is being used. Once people start making Node.js-like engines for other languages, things will change rapidly.
Gotcha.