Create an account


Thread Rating:
  • 1 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Programming Language Trends (as told by a senior dev of 7 years)

#1
This is just gonna be a short write-up of programming language trends as I see them. I'm a senior developer of 7 years who mostly writes JavaScript, but I get constant exposure to many other languages and ecosystems.


Languages to watch for the next few years:
  • Rust
  • WASM
  • Go
  • F#
Rust
A newer low-level language that has broken some really amazing performance barriers to now be able to claim to be faster than C. Use for this language is on the rise, and is one of the initial languages that will optionally compile down to WASM, making Rust a potential replacement for JS in the browser.

WASM
Web Assembly is a newcomer to the scene as well. It's a compile target for performance critical code to run client-side code in your browser. All major browser vendors are invested in its future, making it a viable replacement for JS in the future. WASM + WebGL is a great example of the future of gaming in your browser.

Go
While not as new as Rust or WASM, Go is kind of new as well. It touts to be a low level language that strives to compete for market share with C++ in some cases. While it can be very fast at times, it is a garbage collected language, meaning that you can have locked up threads occasionally while memory is being cleaned up.

F#
This language will never gain high adoption levels in the enterprise software world, but functional programming is a lot of fun, and finds its niche in more scientific computing. It's worth following as a decent functional language, though I don't think it practices 100% functional programming, but it's still nice.


Languages that are generally good and are widely used:
  • C#
  • C++
  • Python
  • Java
  • JavaScript
C#
This is one of my favourite languages; the sleek syntax aside, it's one of the most versatile languages out there right now. From professional-ish game development to desktop app development to back end web development, C# is everywhere. 10/10 would recommend learning if you want a job in software.

C++
While I'm not personally a fan of the learning curve required to master this language, this is what the real AAA professional game studios use to write performance critical code, which is required to pump out hyper-realistic games. If you want to be a professional game developer, this is the language for you.

Python
I'm not a huge fan of white-space delimited languages, Python is still fairly popular in the scientific programming scene. Google uses Python, and I can imagine many other companies do as well. The jobs for Python are plenty.

Java
Java is one of many languages that compile down to run on what's known as the JVM (java virtual machine). While the JVM is an interesting concept, the languages that fill that space are sometimes very clunky, like pre Java 8 was. Java is decent for a web back end, and is used by all kinds of companies, but I'd recommend C# over Java for personal reasons.

JavaScript
While many people like to hate on JavaScript for its warts, the language has evolved tremendously over the past few years. It's not the same language you used to know. Is it still bad in some places? Absolutely, but until WASM gets released and stable, JS is the only language we have for client-side scripting in your browser.


Languages that you should avoid:
  • PHP
  • Visual Basic
  • JavaScript
PHP
Yeah, between the shit ton of security holes in their APIs to the blatantly inconsistent naming conventions, this language is just out right disgusting. More and more companies are avoiding PHP like the plague. Hell, I even know some start ups that started on PHP and decided that it was cheaper to rewrite their systems in something like Go rather than support legacy platforms with PHP.

Visual Basic
There will be a lot of nay-sayers here about VB, but the fact of the matter is that most .NET code is being written in C# these days. VB's syntax leaves much to be desired; while it wasn't so bad back in the day, the alternatives are prettier and are often times easier to hire for. Nobody wants to write VB anymore.

JavaScript
Why did I include this language in two lists? Well, while it's becoming a better language, and it's the only option in the browser, its future is very fuzzy. When WASM is released and has a handful of languages that will compile to it, what will the point of JS be? There will always be some JS around, as the higher level the language is, the cheaper it usually is to write, but I see a good trend in software dev that points to the increase in importance for performance, so less and less people will be writing JS in the future.


There are so many other languages that you could learn as well; R, Scala, Ruby, Red, Haskell, Clojure, etc, but the ones I've pointed out above are the most widely used in software. Other languages are used all over the place as well, but they're usually for niche tasks and more scientific computing.
Reply

#2
add some pictures, this deserves a sticky for getting started.
Reply

#3
(02-22-2017, 08:34 PM)Chief Wrote: This is just gonna be a short write-up of programming language trends as I see them. I'm a senior developer of 7 years who mostly writes JavaScript, but I get constant exposure to many other languages and ecosystems.


Languages to watch for the next few years:
  • Rust
  • WASM
  • Go
  • F#
Rust
A newer low-level language that has broken some really amazing performance barriers to now be able to claim to be faster than C. Use for this language is on the rise, and is one of the initial languages that will optionally compile down to WASM, making Rust a potential replacement for JS in the browser.

WASM
Web Assembly is a newcomer to the scene as well. It's a compile target for performance critical code to run client-side code in your browser. All major browser vendors are invested in its future, making it a viable replacement for JS in the future. WASM + WebGL is a great example of the future of gaming in your browser.

Go
While not as new as Rust or WASM, Go is kind of new as well. It touts to be a low level language that strives to compete for market share with C++ in some cases. While it can be very fast at times, it is a garbage collected language, meaning that you can have locked up threads occasionally while memory is being cleaned up.

F#
This language will never gain high adoption levels in the enterprise software world, but functional programming is a lot of fun, and finds its niche in more scientific computing. It's worth following as a decent functional language, though I don't think it practices 100% functional programming, but it's still nice.


Languages that are generally good and are widely used:
  • C#
  • C++
  • Python
  • Java
  • JavaScript
C#
This is one of my favourite languages; the sleek syntax aside, it's one of the most versatile languages out there right now. From professional-ish game development to desktop app development to back end web development, C# is everywhere. 10/10 would recommend learning if you want a job in software.

C++
While I'm not personally a fan of the learning curve required to master this language, this is what the real AAA professional game studios use to write performance critical code, which is required to pump out hyper-realistic games. If you want to be a professional game developer, this is the language for you.

Python
I'm not a huge fan of white-space delimited languages, Python is still fairly popular in the scientific programming scene. Google uses Python, and I can imagine many other companies do as well. The jobs for Python are plenty.

Java
Java is one of many languages that compile down to run on what's known as the JVM (java virtual machine). While the JVM is an interesting concept, the languages that fill that space are sometimes very clunky, like pre Java 8 was. Java is decent for a web back end, and is used by all kinds of companies, but I'd recommend C# over Java for personal reasons.

JavaScript
While many people like to hate on JavaScript for its warts, the language has evolved tremendously over the past few years. It's not the same language you used to know. Is it still bad in some places? Absolutely, but until WASM gets released and stable, JS is the only language we have for client-side scripting in your browser.


Languages that you should avoid:
  • PHP
  • Visual Basic
  • JavaScript
PHP
Yeah, between the shit ton of security holes in their APIs to the blatantly inconsistent naming conventions, this language is just out right disgusting. More and more companies are avoiding PHP like the plague. Hell, I even know some start ups that started on PHP and decided that it was cheaper to rewrite their systems in something like Go rather than support legacy platforms with PHP.

Visual Basic
There will be a lot of nay-sayers here about VB, but the fact of the matter is that most .NET code is being written in C# these days. VB's syntax leaves much to be desired; while it wasn't so bad back in the day, the alternatives are prettier and are often times easier to hire for. Nobody wants to write VB anymore.

JavaScript
Why did I include this language in two lists? Well, while it's becoming a better language, and it's the only option in the browser, its future is very fuzzy. When WASM is released and has a handful of languages that will compile to it, what will the point of JS be? There will always be some JS around, as the higher level the language is, the cheaper it usually is to write, but I see a good trend in software dev that points to the increase in importance for performance, so less and less people will be writing JS in the future.


There are so many other languages that you could learn as well; R, Scala, Ruby, Red, Haskell, Clojure, etc, but the ones I've pointed out above are the most widely used in software. Other languages are used all over the place as well, but they're usually for niche tasks and more scientific computing.

I heard that C# is one of the easiest language to learn, is that true?
Reply

#4
C# is a great starting language. While not too easy, it's easy enough to pick up and run with it. While not as low level as C++, it will give you a good idea of core programming principles that you could then transfer to most other languages. The syntax is pretty good as well, so it's fun to write. I would definitely recommend learning it.
Reply

#5
(02-22-2017, 08:34 PM)Chief Wrote: There are so many other languages that you could learn as well; R, Scala, Ruby, Red, Haskell, Clojure, etc

How difficult would you think it would be to learn Ruby?
Reply

#6
Nat particularly difficult, but I wouldn't recommend it as a first language. The syntax can be a bit confusing at times, and some of its core concepts are pretty different from most other languages. I would stick with a C-like language, like C# or Java for a first language. That being said, though, I would recommend learning as many languages as possible later, after you've grasped the basics in a "normal" language.

Ruby isn't a very popular language out in the job world these days. It's still out there being used, but not much.
Reply

#7
im gonna be one of the ones to defend vb.

while i wouldn't recommend learning it(or any .net languages imo but that's just me), VB is still a viable option, now to say why.

VB.NET's pros
- Easy to learn(stupidly easy)
- can be converted to C# very easily

C#'s pros
- Can lead to learning more lower level languages(C/C++/another language i can't remember that's a derivative of C++)
- can be converted to vb.net very easily

They both do the exact same thing in terms of processing, they both compile to the same MSIL compiler. they do absolutely nothing differently to each other except for a few other things made easier in C#.

im not defending VB.net entirely, i still say you should learn something else being as, well, C#/Java/even C++ are relatively easy to learn(C++ can take some time but it's small differences from C#). imo should just go straight to C/C++, but like i said, that's just me.

EDIT: rather than just giving a "you shouldn't use this, you should this instead", give some pros and cons from each language. not everyone is going to know why you want them to use it or not use it, and are too lazy to google that half the time as well.
Reply

#8
I didn't say to not use VB because it's crappy, I said not to use it because you'll find greater success in your career as a developer by using C# instead. Most .NET jobs out there are C# now; lots of companies are phasing out VB in favour of subjectively better languages, or just languages that they can actually hire for. The fact of the matter is that C# is just more popular, which makes it a cheaper long-term investment.
Reply

#9
my bad, tired and misread what you said lol, regardless, i would still say the pros/cons of each language imo, not everyone is going to be doing programming for a job either(i do it as a hobby, no plans to get a job under it)
Reply

#10
So these are all positive trends of languages growing in popularity for various reasons. Very interesting indeed however, I am partly curious in regards to negative trends; in other words which languages are falling in popularity in the more recent years? I mean there are the obvious ones such as SmallTalk and cobol that really aren't used anymore except for specific cases (such as companies just have no reason to switch or simply can't afford to). I'm interested however, with the addition of some of the newer languages with growing trends and how it's impacting some of the older languages.

For example, with the increase in popularity of C# and it's growing trends, has it negatively effected the popularity of a language such as Java?

I'm only asking out of professional interest. I am a 3 year student obtaining a Degree for Software Development and I recently had find a co-op placement. The thing I noticed most about co-op related job posts that I found is that companies are looking for students with a broad base; experience in multiple languages e.g. "Experience with C#, C++, Java, Python, etc would be a plus". From my understanding and what I've heard from other students that have already done their co-ops is that these companies are looking for either a little experience with an OOP as learning the languages the company uses will be an easy transfer. On the other hand numerous students have also told me that companies are beginning to convert a lot of their code to .NET related platforms. E.g. Web Apps and Services are being converted from php/java to C# and ASP.NET or Objective-c converted to swift (though the reasons for this one might be more obvious).
Reply

#11
While I generally view Quoara as a pile of shit, this came across my feed today: https://www.quora.com/What-are-the-programming-language-trends-for-2017 -- A lot of devs saying very similar things to me.

Go and Rust are definitely languages to learn this year.

.NET (C#) doing very well; definitely good to learn this as well.

Ruby + PHP on a strong decline in usage.

Python a strong choice in the data science realm.
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

Forum software by © MyBB 1.8.4 Theme © iAndrew 2016