Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Programming Languages You'll Need Next Year (and Beyond)

Soulskill posted about a month and a half ago | from the sorry-folks-still-no-haskell dept.

Programming 315

Nerval's Lobster writes: Over at Dice, there's a breakdown of the programming languages that could prove most popular over the next year or two, including Apple's Swift, JavaScript, CSS3, and PHP. But perhaps the most interesting entry on the list is Erlang, an older language invented in 1986 by engineers at Ericsson. It was originally intended to be used specifically for telecommunications needs, but has since evolved into a general-purpose language, and found a home in cloud-based, high-performance computing when concurrency is needed. "There aren't a lot of Erlang jobs out there," writes developer Jeff Cogswell. "However, if you do master it (and I mean master it, not just learn a bit about it), then you'll probably land a really good job. That's the trade-off: You'll have to devote a lot of energy into it. But if you do, the payoffs could be high." And while the rest of the featured languages are no-brainers with regard to popularity, it's an open question how long it might take Swift to become popular, given how hard Apple will push it as the language for developing on iOS.

cancel ×

315 comments

Sorry! There are no comments related to the filter you selected.

Over at Dice? (4, Insightful)

eldavojohn (898314) | about a month and a half ago | (#47560113)

Over at Dice

But we are at Dice, sir [whois.net] :

[Querying whois.publicinterestregistry.net]
[whois.publicinterestregistry.net]
Domain Name:SLASHDOT.ORG
Domain ID: D2289308-LROR
Creation Date: 1997-10-05T04:00:00Z
Updated Date: 2014-03-14T22:12:11Z
Registry Expiry Date: 2015-10-04T04:00:00Z
Sponsoring Registrar:Tucows Inc. (R11-LROR)
Sponsoring Registrar IANA ID: 69
WHOIS Server:

Referral URL:
Domain Status: clientTransferProhibited
Domain Status: clientUpdateProhibited
Registrant ID:tuE8gFbzWFO9qSj2
Registrant Name:Host Master
Registrant Organization:Dice Holdings, Inc.
Registrant Street: 1040 Avenue of the Americas
Registrant City:New York
Registrant State/Province:NY
Registrant Postal Code:10018
Registrant Country:US
Registrant Phone:+1.8557527436
Registrant Phone Ext:
Registrant Fax:
Registrant Fax Ext:
Registrant Email:hostmaster@slashdotmedia.com

Pros: Today's article has more content than the usual Dice front page linkage. Great article if you're not a programmer but feel stymied by the wide assortment of languages out there. Although instead of hemming and hawing before making your first project you're better off listening to Winston Churchill and sticking your feet in the mud: "The maxim 'Nothing avails but perfection' may be spelt shorter -- 'Paralysis."

Cons: It barely scratches the surface of an incredibly deep topic with unlimited facets. And when one is considering investing potential technical debt into a technology, this probably wouldn't even suffice as an introduction let alone table of contents. Words spent on anecdotes ("In 2004, a coworker of mine referred to it as a 'toy language.'" like, lol no way bro!) could have been better spent on things like Lambdas in Java 8. Most interesting on the list is Erlang? Seems to be more of a random addition that could just as easily been Scala, Ruby, Groovy, Clojure, Dart -- whatever the cool hip thing it is we're playing with today but doesn't seem to quite pan out on a massive scale ...

Re:Over at Dice? (3, Funny)

B33rNinj4 (666756) | about a month and a half ago | (#47560297)

It's catering to the hipster cloud-lovers.

Re:Over at Dice? (4, Insightful)

Meshach (578918) | about a month and a half ago | (#47560315)

There should at least be the obligatory disclaimer "Slashdot is owned by Dice" so that readers can prepare themselves. Presenting it as a neutral article seems deceptive.

Re:Over at Dice? (3, Interesting)

Frosty Piss (770223) | about a month and a half ago | (#47560637)

There should at least be the obligatory disclaimer "Slashdot is owned by Dice" so that readers can prepare themselves. Presenting it as a neutral article seems deceptive.

I seem to recall Timothy telling everyone that "sponsored" stories would be identified as such. Perhaps it's just a wild coincidence that this article just happens to be from Dice?

Just because a substantial number of Nerval's Lobster's [slashdot.org] accepted submissions are from Dice or Dice properties doesn't mean he's a Dice shill...

Repeat after me... (4, Insightful)

ArcadeNut (85398) | about a month and a half ago | (#47560119)

CSS3 is not a programming language. No more then HTML is.

Re:Repeat after me... (-1, Troll)

royallthefourth (1564389) | about a month and a half ago | (#47560155)

Sure, but a programmer that doesn't know CSS is pretty limited!

Re:Repeat after me... (3, Insightful)

Anonymous Coward | about a month and a half ago | (#47560211)

Any programmer can pick up enough CSS to create simple pages in a few minutes. And no programmer wants to be stuck fighting with that mess for any length of time.

Re:Repeat after me... (5, Insightful)

Anonymous Coward | about a month and a half ago | (#47560259)

I've been writing software for a good 18 years now and I've never been limited by not knowing CSS. However, if I reach that limit I'm pretty sure I can pick it up like every other programming or markup language that I've needed.

Re:Repeat after me... (1)

jstitch (1854460) | about a month and a half ago | (#47560319)

Sure, but a programmer that doesn't know CSS is pretty limited!

and that doesn't makes CSS a programming language, so...

Re:Repeat after me... (1)

Anonymous Coward | about a month and a half ago | (#47560339)

Limited to everything non-web.

I've yet to touch CSS other than to tweak a phpbb-forum theme. I code control systems and hell VB6.0 is more useful to me than CSS at the end of the day (wish that was no the case however..)

Re:Repeat after me... (5, Informative)

bulled (956533) | about a month and a half ago | (#47560359)

Sure, but a programmer that doesn't know CSS is pretty limited!

A _web developer_ maybe, but a _programmer_ surely isn't.

Re:Repeat after me... (2)

mrchaotica (681592) | about a month and a half ago | (#47560503)

You mean, limited to writing for any platform that uses something other than a web page as its UI (including embedded development, server-side development, regular PC applications, mobile, video games, etc.)? I think I can live with that limitation!

(Actually, even if you do write things that use web pages for their UI, unless you're the "UI guy" you still might not have to know much CSS!)

Re:Repeat after me... (4, Insightful)

luis_a_espinal (1810296) | about a month and a half ago | (#47560549)

Sure, but a programmer that doesn't know CSS is pretty limited!

The fact that you think not knowing CSS will make a programmer limited showcases that your programming experience is limited to front-end development. And that is sad.

Re:Repeat after me... (1)

ZombieBraintrust (1685608) | about a month and a half ago | (#47560363)

The ML in HTML is for markup language. I think you splitting hairs if you think programming language does not include markup langauge.

Re:Repeat after me... (1)

angel'o'sphere (80593) | about a month and a half ago | (#47560595)

No he is not splitting hairs.
Make me an HTML page that calculates 1 + 1 ... and you will realize: you can not program in HTML, hence it is not a programming language, actually pointing out that ML means 'mark up language' already should made have that clear to you.

Re:Repeat after me... (2)

chiefcrash (1315009) | about a month and a half ago | (#47560763)

He's not splitting hairs...

HTML doesn’t really “do” anything in the sense that a programming language does. HTML contains no programming logic. It doesn’t have common conditional statements such as If/Else. It can’t evaluate expressions or do any math. It doesn’t handle events or carry out tasks. You can’t declare variables and you can’t write functions. It doesn’t modify or manipulate data in any way. HTML can’t take input and produce output. Think of it this way: you can’t compute the sum of 2 + 2 in HTML; that’s not what it’s for. This is because HTML is not a programming language.

Re:Repeat after me... (2)

Chris Mattern (191822) | about a month and a half ago | (#47560785)

Of course programming language does not include markup language. They're two entirely different things with entirelly different purposes.

Re:Repeat after me... (0)

Anonymous Coward | about a month and a half ago | (#47560443)

CSS3 is not a programming language. No more then HTML is.

As long as we're picking nits, "then" is not a conjunction.

Re: Repeat after me... (0)

Anonymous Coward | about a month and a half ago | (#47560575)

As long as we are picking nits, "then" IS a conjunction, just the wrong one for this context.

Re:Repeat after me... (0)

Anonymous Coward | about a month and a half ago | (#47560495)

Maybe, but they're pretty good component libraries.

Since when is... (1)

camperdave (969942) | about a month and a half ago | (#47560547)

date_default_timezone_set(‘America/Los_Angeles’);

Since when is ‘America/Los_Angeles’ a time zone?

Re:Since when is... (1)

Chris Mattern (191822) | about a month and a half ago | (#47560811)

Since interface designers faced with idiots decided "Pacific Time" was too difficult for people to figure out. They've been doing this for a while, actually.

Re:Repeat after me... (2)

iguana (8083) | about a month and a half ago | (#47560599)

Obligatory Programmer Hierarchy image: http://lukewelling.com/wp-cont... [lukewelling.com]

From: http://lukewelling.com/2006/08... [lukewelling.com]

Re:Repeat after me... (1)

mjwalshe (1680392) | about a month and a half ago | (#47560769)

Fortran comes after Assembly and is not on a par with VB

Bah! (0)

Anonymous Coward | about a month and a half ago | (#47560137)

Not even a mention of VB

Re: Bah! (0)

Anonymous Coward | about a month and a half ago | (#47560241)

I know! After a summary like that one, who couldn't go for a nice, cold Victoria Bitters!?

Bah! (0)

Anonymous Coward | about a month and a half ago | (#47560591)

Half the people reading this are going to need to learn PowerShell in the next year.

We'll "need" Swift? (0)

Anonymous Coward | about a month and a half ago | (#47560167)

Kill me now.

Re:We'll "need" Swift? (4, Insightful)

UnknowingFool (672806) | about a month and a half ago | (#47560511)

Need? No. You can still use Objective C if you want to code iOS/OS X. Want? Yes.

And while the rest of the featured languages are no-brainers with regard to popularity, it's an open question how long it might take Swift to become popular, given how hard Apple will push it as the language for developing on iOS.

Apple does not have to push very hard. After looking at it and Objective C, it doesn't take a genius to see why programmers would prefer it over Objective C.

Scala (0, Redundant)

Anonymous Coward | about a month and a half ago | (#47560179)

I am surprised that Scala isn't mentioned.

It is strongly typed, object-functional and compatible with java.

Swift syntax is basically a cut and paste from Scala, which benefits from being more mature (and having access to all the Java libraries)
Scala is also much faster than erlang, while also supporting the actor based model.

http://www.scala-lang.org/

Re:Scala (1)

jbolden (176878) | about a month and a half ago | (#47560519)

Scala is interesting and clearly will be somewhere. Swift has the backing of a major platform vendor with a long history of being able to move their platform.

Swift maybe, Erlang, really? (1)

Anonymous Coward | about a month and a half ago | (#47560191)

C#, Java, PHP and JS will continue to dominate, C# and Java being mutually exclusive in a web app. Swift? Maybe. It's a shot in the dark. Apple is apple but the iOS development market is dried up for most developers, unless you can get a job at some company that wants an iOS app. It really depends on how well the Apple/IBM partnership works out in dislodging Microsoft from business apps. It's a long uphill battle that I suspect will take a lot longer than 2 years.

Erlang? Fuck off, Dice. How much did the one company that wants it pay you to write this garbage article?

Re:Swift maybe, Erlang, really? (1)

Anonymous Coward | about a month and a half ago | (#47560485)

I'm already being spammed with companies looking for people with five years of Apple Swift experience.

So, it appears that Swift is in demand.

Re:Swift maybe, Erlang, really? (1)

ebh (116526) | about a month and a half ago | (#47560565)

I remember the same thing with Java--reqs demanding five years of Java three years after it first came out.

Re:Swift maybe, Erlang, really? (0)

Anonymous Coward | about a month and a half ago | (#47560557)

How much did the one company that wants it pay you to write this garbage article?

The Collection Agency!

Scala (2)

Laz10 (708792) | about a month and a half ago | (#47560203)

I am surprised that Scala isn't mentioned.

It is strongly typed, object-functional and compatible with java.

Swift syntax is basically a cut and paste from Scala, which benefits from being more mature (and having access to all the Java libraries)
Scala is also much faster than erlang, while also supporting the actor based model.

http://www.scala-lang.org/ [scala-lang.org]

Re:Scala (1)

Anonymous Coward | about a month and a half ago | (#47560271)

And I'm surprised C isn't a language I'll need next year.

Re:Scala (1)

gweihir (88907) | about a month and a half ago | (#47560755)

Scala is too advanced for most of the mediocre crowd calling itself "programmers" these days.

If you want to earn big bucks... (4, Insightful)

Viol8 (599362) | about a month and a half ago | (#47560207)

Learn C++, Java or C# and get yourself a job at a big corporate.

But hey, if you want to be a hipster coder and dick about all day doing "groovy" websites at some here today gone tommorow startup and earning fuck all by all means go down the web development route along with every other 14 year old school kid.

Erlang? Nice language but too niche. Never really got momentum outside telecoms and its probably too late for it now.

Re:If you want to earn big bucks... (0)

Anonymous Coward | about a month and a half ago | (#47560365)

This.

C++11 is coming around. Hint hint.

We'll all be talking about C++14 in the coming months.

Re:If you want to earn big bucks... (4, Interesting)

Just Some Guy (3352) | about a month and a half ago | (#47560367)

That's terrible advice. If you want the big bucks, get into Python, Node.js, or Go and find a startup that just received VC and has tons of money to shove at developers. C++, Java, and C# are great for long-term "comfortable" jobs, but that's not where the seriously good money is.

Re:If you want to earn big bucks... (4, Informative)

angel'o'sphere (80593) | about a month and a half ago | (#47560619)

Developers in start ups usually are bad paid and baited with stock options.

Re:If you want to earn big bucks... (4, Informative)

luis_a_espinal (1810296) | about a month and a half ago | (#47560629)

That's terrible advice. If you want the big bucks, get into Python, Node.js, or Go and find a startup that just received VC and has tons of money to shove at developers. C++, Java, and C# are great for long-term "comfortable" jobs, but that's not where the seriously good money is.

Terrible advice also. If you want the big bucks, know your shit in several domains, know how to deliver your shit and be good at analytic skills, troubleshooting, design, architecture and project management.

The VC route is a high-stakes one. For each one that cashes it, there are droves that lick their wounds, specially outside of SV.

Going back to languages, no language guarantees good income, not even comfortable jobs. Being able to deliver shit on time, and have deep expertise on something (say, Oracle Enterprise stack, or embedded development), that's where the sweet spot is, meaning, potential to make close to $200K or more, for years, if not decades. Long hours as a consultant, but the rewards are there, and are more predictable and solid than shooting at the VC/startup stars.

Re:If you want to earn big bucks... (0)

Anonymous Coward | about a month and a half ago | (#47560735)

Good advice if you like working long hours and playing the career lottery.

Re:If you want to earn big bucks... (1)

organgtool (966989) | about a month and a half ago | (#47560741)

Where do you live that startups pay ridiculously good money? Most of the startups I've seen pay mediocre at best and provide compensation in the forms of promises that you'll be rewarded when the company "makes it big". If you want great money, medium-sized businesses are the way to go right now. They're stable and they tend to focus on taking care of their employees. It used to be the case that large corporations offered the best compensation, but many are still feeling the effects of the market crash and continue to shrink as well as put the squeeze on benefits. Since medium-sized companies don't have as much overhead, many of them aren't feeling the effects of the crash as much and are able to take better care of their employees. Regardless of the size of the company you choose to work for, it's best to dabble in the new languages and technologies, but don't put all of your eggs in those baskets - many of them are fads that are sure to fail the test of time.

Re:If you want to earn big bucks... (1)

ZombieBraintrust (1685608) | about a month and a half ago | (#47560385)

You can earn small bucks with Java being a code monkey for a corporation as well.

Re:If you want to earn big bucks... (1)

mjwalshe (1680392) | about a month and a half ago | (#47560725)

get into big data and you can get £700-£800 per day in the UK and what does hadoop use *spit* Java

Re:If you want to earn big bucks... (1)

holostarr (2709675) | about a month and a half ago | (#47560407)

I don't know what you think big corporations build, because aside from one job early in my career which involved C++, I have been using C# and Java to mainly build web sites for corporations. In fact I'm a software developer for a very large telecom and work on their corporate web site.

Re:If you want to earn big bucks... (3, Informative)

Luciano Moretti (2887109) | about a month and a half ago | (#47560701)

Any big company that makes an actual, physical device will use C or C++.

Android? Under the hood it's C++. That Medical Device? C++. Your Water Softener? C++. Your thermostat? C. The industrial controller in roller coasters, factories, power plants, and locks? C++. Pretty much every military system out there? C++ (or Ada...). Pretty much every compiler and Virtual machine out there? Under the hood C or C++.

Re:If you want to earn big bucks... (4, Insightful)

mark-t (151149) | about a month and a half ago | (#47560671)

Not that I'm knocking "earning big bucks", but it always kinda pisses me off that people talk about compuer programming or a certain type of programming as being especially lucrative, as if that should be some sort of aspiration in life. It certainly pays better than a lot of other jobs that I've had, but how much money you can earn is a pretty shallow metric for success, if you ask me.

Re:If you want to earn big bucks... (0)

mjwalshe (1680392) | about a month and a half ago | (#47560743)

Presumably you think we should stand at the end of the line (salary wise) of the other professions and say I know my place"

Re:If you want to earn big bucks... (0)

Concerned Onlooker (473481) | about a month and a half ago | (#47560773)

"...and get yourself a job at a big corporate."

Ugh. Well, I'm not a hipster, but I guess I'll have to buy some hipster clothing if that's the only other option. At least the hipsters are allowed to use their imaginations.

I don't... (2, Insightful)

bumba2014 (3564161) | about a month and a half ago | (#47560209)

Who cares about a fucking language. I know more that 20 different programming languages, I don't care about one more or less. What can it do, that I can't do already ? Can I program faster, or better? Or is it just an other syntax, for some obscure system ?

Re:I don't... (1)

jbolden (176878) | about a month and a half ago | (#47560527)

If you knew 20 languages you would know there are real differences between where they excel.

Re:I don't... (0)

Anonymous Coward | about a month and a half ago | (#47560709)

Who cares about a fucking language. I know more that 20 different programming languages, I don't care about one more or less. What can it do, that I can't do already ? Can I program faster, or better? Or is it just an other syntax, for some obscure system ?

Agreed! Look another developer, with no imagination, but hes learning a new language, after-wards--still a drone. Meanwhile in Ops we do cool shit, party like its 95, and do the sex.

Dice (-1)

Anonymous Coward | about a month and a half ago | (#47560225)

Don't that make games for EA? BF2 I remember it did. Before that a mod for BF 1942. And BF VietNam. Nam was not very good. The whirleybirds flew like whirlybirds! But then there was BF2. BF2 flies nice, but so slow. Then there's AIX 2.0. Now that is nice, fast, smooth flying. The mig 19s are fast, but so much of a killer. The gunships (AH-64 - the hellfire ones), now those are nice. I load up most games with those, and only those (for whirlybirds).

Let it be knowm I no longer by video games. Period. DRM is ridiculous. The CD in the drive is fine since there's no invasion, but the online connection and in-memory nonsense is a NO-GO. Period. BF2 was the last I bought (nearly 10 years ago). I played it yesterday (AIX 2.0 mod).

Re:Dice (-1)

Anonymous Coward | about a month and a half ago | (#47560243)

Desert Combat mod for BF1942 beat everything else after it, BF2+

Re:Dice (0)

Anonymous Coward | about a month and a half ago | (#47560673)

Hell yeah, I played that at lan parties back when people used to lug desktops around every weekend just to play games.

Swift Popular? (0)

Alex Kasa (2867743) | about a month and a half ago | (#47560247)

How do we even know it's going to be popular in the first place? Does it solve any problem I can't do with C# or Python and/or on more platforms? It'll be a language for little hipsters who hope to be the next Steve Jobs by releasing yet another crappy useless iOS app. I don't know anyone who still bothers with iOS apps.

Re:Swift Popular? (0)

Anonymous Coward | about a month and a half ago | (#47560351)

Swift is going to be popular simply because it is a much better language than objective-c. There is really no reason to keep using objc when there is swift. It may not be more popular than objective-c, but that's not its objective.

Here's hope that once swift gains some mass people will look for cross platform alternatives and will pick http://nimrod-lang.org which is very similar.

Re:Swift Popular? (0)

Anonymous Coward | about a month and a half ago | (#47560371)

>I don't know anyone who still bothers with iOS apps.

I don't know anyone who lives in China, but there is strong evidence that many people do.

Re:Swift Popular? (0)

Anonymous Coward | about a month and a half ago | (#47560419)

Swift is pretty obviously superior to Objective C, so it'll be about as popular as development for Apple devices is.

Since the iPhone is still the big market for mobile apps (Android users expect everything for free so they are generally worthless as customers), that's likely to warrant Swift a decent spot in the "languages worth knowing over the next 5 years" list, alongside the Windows staples like C#, and the web staples like Javascript.

Re:Swift Popular? (2)

UnknowingFool (672806) | about a month and a half ago | (#47560577)

How do we even know it's going to be popular in the first place? Does it solve any problem I can't do with C# or Python and/or on more platforms?

Considering that you can't really use C# or Python for iOS or OS X development, I would say that's one major thing you can't do.

It'll be a language for little hipsters who hope to be the next Steve Jobs by releasing yet another crappy useless iOS app. I don't know anyone who still bothers with iOS apps.

Then you must not know anyone who uses an iPhone meaning you live in a rather small world.

That is one article I don't need to read (0)

Anonymous Coward | about a month and a half ago | (#47560249)

What's the point, dice? Further proof that recruiters and by extension recruiter-infested jobsites and everything around them are clueless nitwits? As if we didn't already know that.

Note that the jobs on dice outside of the US typically require US government clearance, so the thing typically is entirely useless to the 95% of the world that isn't the US -- ./ is dice owned and (a shade too) US-centric, true, but has considerable non-US readership. To me dice are worse than useless in fact, since it presumably is their nitwit management that keeps on flogging that dead horse "beta".

I like Swift pretty well (1)

sideslash (1865434) | about a month and a half ago | (#47560285)

Just from what I've seen (not a user yet) Swift seems like an intelligently put together language. But I'd like it a lot better if somebody ported it so it can be useful across multiple platforms. I'm a C# developer who uses Xamarin's platforms, and compiling my code for all the major mobile and desktop platforms is a really good feeling. (Paying Xamarin's licensing fees isn't, but you know how that goes.)

Re:I like Swift pretty well (2, Interesting)

Anonymous Coward | about a month and a half ago | (#47560409)

You might want to take a look at http://nimrod-lang.org, like a cross platform swift.

Re:I like Swift pretty well (1)

sideslash (1865434) | about a month and a half ago | (#47560479)

Very nice -- like a marriage of Python and C#. Thanks for the link AC.

Re:I like Swift pretty well (4, Interesting)

jbolden (176878) | about a month and a half ago | (#47560545)

The whole point of Swift is its ability to abstract Cocoa. Lots of Swift's specifics make no sense without Cocoa. Given that Swift in practice is going to be loaded with calls to Cocoa, it is going to be as portable as Visual Basic or Bash.

Erlang is overrated crap (5, Interesting)

Anonymous Coward | about a month and a half ago | (#47560307)

Please, no more Erlang world domination news.

I went through that 3 years ago already. We had a project that a fanatic asked us to rewrite in Erlang.
it took 9 months with 2.5 people.

Tons of issues, mostly with very lacking library support, tooling. Obnoxious stuck up community too.
In one case, I had a guy tell me online "hire me as an Erlang consultant and then I will help you".

In the end we set screw it (once the Erlang fanatic left).
We rewrote this 9 months of Erlang development in 3 weeks (!) using one senior Java developer.

it worked like a charm and still runs flawlessly in production today.

Erlang = HYPE

Everything is immutable is beautiful for fairy tales, but not for real-life software (trying building a DOM in a language which is 100% immutable).

All modern languages have learned from Erlang's mistake. They do immutable by default, but allow mutable if there is a need for it (e.g. Ceylon, Rust, etc)

Re:Erlang is overrated crap (1, Insightful)

bill_mcgonigle (4333) | about a month and a half ago | (#47560335)

We rewrote this 9 months of Erlang development in 3 weeks (!) using one senior Java developer. it worked like a charm and still runs flawlessly in production today.

Then your project was a very poor fit for Erlang in the first place.

Re:Erlang is overrated crap (2, Informative)

Anonymous Coward | about a month and a half ago | (#47560727)

That's the feeling I got form the original post to begin with. That the Erlang fanatic was basically applying this antipattern:

Golden Hammer
http://sourcemaking.com/antipa... [sourcemaking.com]

Which is a problem rife within our industry...

Re:Erlang is overrated crap (0)

Anonymous Coward | about a month and a half ago | (#47560471)

All modern languages have learned from Erlang's mistake. They do immutable by default, but allow mutable if there is a need for it (e.g. Ceylon, Rust, etc)

Haskell is pure but I agree that all these functional languages have to have some form of hand-waving around their purity. Haskell uses monads to do this in some ways, and probably does it in libraries too. All of this is hella confusing compared to other languages that flag the impurity with ! or something.

So yeah, I generally agree. The real world is mutable. If you try to deny that, you just end up contorting your code when you try to model the real world.

Re:Erlang is overrated crap (2, Informative)

gweihir (88907) | about a month and a half ago | (#47560731)

Erlang is pretty cool for the intended application scenarios. It is not really a general-purpose language. If you need, for example, excellent crash-proofness, updates to running code and massive multi-threading, Erlang is what you want to use. (Ever tried to run 1000 threads in Java? I know people who did, for this Java is a completely unusable toy...)

The second problem is that Erlang is decidedly experts-only. Real understanding of advanced programing concepts is mandatory. Don't even think about doing anything with Erlang unless you have top-notch people. (These people do not need to already know Erlang before though.) Of course, one top-notch coder is more productive than 10 of the typical mediocre ones.

Re:Erlang is overrated crap (0)

Anonymous Coward | about a month and a half ago | (#47560793)

hire me as an Erlang consultant and then I will help you...

Web = Garbage (5, Insightful)

Suiggy (1544213) | about a month and a half ago | (#47560309)

Next year, the languages you'll need will still be C, C++ and Java. Maybe some C#, Python or Bash. The year after that, you'll still be using C, C++, and Java. Maybe some C#, Python or Bash.

By 2020, the main difference is that you'll be working with machine-learning DSLs and libraries to program/train memristor based devices. But you'll still be using C, C++, and Java. Maybe some C#, Python or Bash.

Re:Web = Garbage (1)

Forever Wondering (2506940) | about a month and a half ago | (#47560733)

And maybe perl. They forgot to mention that slashdot uses it [IIRC]. And TIOBE to compile the stats [IIRC].
http://developers.slashdot.org... [slashdot.org]

So much Fail. Ignore. (1)

Just Some Guy (3352) | about a month and a half ago | (#47560353)

When you write code and declare a variable, dynamic languages let you change the type of data held by the variable when the program is running; those languages that don’t are known as “static” or “strongly typed.” Languages such as C++ and Java are strongly-typed languages, while JavaScript, PHP, and Perl are dynamic languages.

"Staticness" and "strongness" are orthogonal properties. Python, for instance, has strongly typed values (you can't convince an int that it's a str), but dynamic variables (a=123;a='foo' is valid). And while C++ is statically typed, I'd be hard pressed to describe something with void* and unions as strongly typed.

TL;DR: Words have meaning. It's OK to disagree about whether a particular language is strongly or weakly typed, but it's not OK to claim that two different concepts are the same thing. When you make a fundamental mistake in the third paragraph, I'm likely to ignore anything else you have to say in the rest of the article.

Re:So much Fail. Ignore. (1)

K. S. Kyosuke (729550) | about a month and a half ago | (#47560513)

Not only that, if you have a variable of a non-final class type or interface type in Java, you can also "change the type of data held by the variable when the program is running". E.g, without this property, it would be difficult to process items of polymorphic collections (i.e., collections allowing items of multiple types/representations simultaneously, which in Java happens to be the case of all collections, of course).

Re:So much Fail. Ignore. (2, Insightful)

Anonymous Coward | about a month and a half ago | (#47560803)

Heh, even if you have a variable that *IS* final, you can *STILL* change it's value at runtime.

Java doesn't enforce final at the bytecode level.... It's a compile-time hint and the values can still be modified at runtime.

It's one of the main differing qualities of C++ vs Java. Const is enforced much more than "Final" in Java.

Also C++ templates aren't by-default type-erased like Java's generics. But in C++ type-erasure is a pattern that I can choose to use or not.

Lately I do work that garbage collection simply doesn't work well for..... I much prefer manually handling unique/shared_ptrs myself and choosing when and where stuff gets freed and in what order. Big data type stuff with lots of CPUs and massively parallel algorithms using in-memory working sets over 1 TB.

The older I get, the more I realize that C and C++ were the only languages I really ever needed despite learning easier languages first. (BASIC/QBASIC/VB/Perl/Python/Java/C++/C)

Now I wished I started with C++. Seriously. It's all i really need.... Python for quick prototyping crap, C++11 for the rest.

So much Fail. Ignore. (0)

Anonymous Coward | about a month and a half ago | (#47560535)

an example of dynamic and loosly types, TCL.
There is only one type: string. However internally it also knows about numbers and objects, but it converts those to strings willy nilly, and interprets string to those numbers and objects.

TCL should not have existed, but companies that make hardware design tools fucking love it. However everyone in the industry that works with these tools have moved on to Python. But this is an industry that still doesn't have a working simulator and synthesiser for VHDL2008.

Fundamentals of Comp Sci (4, Insightful)

clifwlkr (614327) | about a month and a half ago | (#47560397)

Or how about learn about the fundamentals of computer science. Actually learn what pointers are, pass by reference, multi-threading, type safety, and all of the things that implies. Then express those in whatever language you want. If you truly understand how computers and languages work, and what an enterprise system is composed of, you will likely have future proofed your career. If your language doesn't support many of those ( I am looking at you, JavaScript), then perhaps consider how much those jobs are likely to pay in the long run....

Re:Fundamentals of Comp Sci (1)

K. S. Kyosuke (729550) | about a month and a half ago | (#47560551)

1) Learn Oberon (with concurrency extensions, say, Active Oberon). 2) Achieve enlightenment. ... I can't tell you how to get to the "X) Profit!" part, though. ;)

Re:Fundamentals of Comp Sci (1)

mark-t (151149) | about a month and a half ago | (#47560723)

Just a minor nitpick. Pointers are an implementation detail, not a computer science fundamental prinicple.

Author thinks strong typing == static typing? (0)

Anonymous Coward | about a month and a half ago | (#47560491)

It's been a while since I've had a language paradigm course but strong/weak is not synonymous with static/dynamic. Thoughts?

Re:Author thinks strong typing == static typing? (2)

gweihir (88907) | about a month and a half ago | (#47560655)

It is not. Strong typing can be implemented by attaching types to data. Static typing always attaches types to variables and they are fixed. But strong typing can also mean type-less variables, but no implicit conversion of values. For example, Perl is weakly typed, but that is because it will, for example, happily convert a string to a number all on its own. Python, on the other hand, is strongly typed, despite its variables not having types just like in Perl. The values assigned to the variables in Python have types and all type conversions have to be explicitly requested by the programmer.

With such a stupid article, it is really no surprise the author gets basic things wrong.

Re:Author thinks strong typing == static typing? (3, Insightful)

roger10-4 (3654435) | about a month and a half ago | (#47560677)

You're correct. The terms "strong" and "weak" do not have formal definitions and really aren't related to static or dynamic (which do have specific definitions). The definitions used by the article for functional programming and dynamic type systems aren't accurate/complete either. Furthermore, C/C++ wouldn't be considered a "strongly-typed" language since the type system can be freely ignored by the programmer. In any event, this article is poorly written and can probably be safely ignored.

Swift RT does not have GC (3, Informative)

AlreadyStarted (523251) | about a month and a half ago | (#47560509)

Swift is a strongly-typed language, that operates inside a runtime with garbage collection.

There is no GC in iOS. Also the GC in OS X is deprecated. Swift uses Automatic Reference Counting which is something... completely different.

Bah (0)

50000BTU_barbecue (588132) | about a month and a half ago | (#47560555)

All I need is PIC assembly, DOS batch files and AWK.

Dice still sucks (0)

Anonymous Coward | about a month and a half ago | (#47560571)

... hey dice, this sort of cross posting between online entities is lame and irritating. Oh well, the time where I can use slashdot is diminishing as the unusable and unwated beta looms overhead.

P.S. Don't use Dice.com they'll SPAM the shit out of you forever then deny it.

Article is worthless for anyone with CS experience (0)

Anonymous Coward | about a month and a half ago | (#47560583)

Holy fuck that article was bad. Slashdot, what have you become?

Bullshit, as usual. (1)

gweihir (88907) | about a month and a half ago | (#47560593)

Next year, unless you are at the bottom of the skill and payment pyramid, you will need C and derivatives (C++, Objective C) and maybe Python or Perl.

My thoughts on these selections. (3, Interesting)

MAXOMENOS (9802) | about a month and a half ago | (#47560601)

CSS/JavaScript/HTML5 is plainly obvious. Everything from Microsoft to mobile hybrid development relies on this these days.

C# is the standard language of the Microsoft stack --- in fact, the bulk of MS-stack training is in C#, with only a smattering in VB.NET.

Java is the COBOL of the early 21st Century. It isn't sexy anymore but it will always be around.

PHP is used in a lot of web applications. I wish it weren't. In fact, I'd really rather see Ruby on Rails take over this space.

If you're going to program native code, you could learn Swift, sure. You could also learn Rust [cnet.com] (Mozilla's systems-level language with significant buy-in from Samsung) for device programming. If your goal is to write native apps, your best bet for Android is actually Java. By the way, one can also design native apps in Java (the code is Swing-like) and compile them to native apps for iOS or Android using Codename One [codenameone.com] , and I imagine a few shops will pick up that practice.

I like Erlang as an honorable mention. I'd also add two others: Python (especially for data analysis) and PowerShell (which will set the grown-up Microsoft sysadmins from the point-and-click kids).

The programming language for the next 20 years... (5, Insightful)

Damouze (766305) | about a month and a half ago | (#47560645)

C. Plain old C.

Entire Operating Systems are written in it. Userland tools for those operating systems are usually written in it. Any self-respecting developer knows at least C. The rest is just like fashion tips: next year they're outdated.

Although, as much as I hate to admit it, the same could be said for Java...

Must be a joke article (0)

Anonymous Coward | about a month and a half ago | (#47560649)

Learn Glue. As the once great Charles Barkley said "anything else would be uncivilized"

Terrible article (0)

Anonymous Coward | about a month and a half ago | (#47560653)

This reads like it was written by a student in a Writing 101 class who chose to research programming languages as a weekly assignment.

The concept of languages is dead (0)

Anonymous Coward | about a month and a half ago | (#47560683)

Languages don't matter of, in the age of google, the concept of "learning a language" is obsolete, dont learn language, learn good programming logic, and understand the different types of languages in general, everything else you need to be able to adapt to and learn on the fly. don't bother sitting there and trying to learn code and memorize crap, you're wasting your time, just understand programming and understand how to learn code quickly and you will be 1 step ahead of everyone else who waste's money learning 1 or 2 languages.

When you are successful at doing this, languages mean nothing to you, they are all the same (with a few exceptions), some have advantages over others in certain fields. Just understand that syntax is not meant to be memorized anymore, its meant to be looked up and used.

Back in the day when there were only a handful of languages and the only references were books, it was worth memorizing, these days where the number of useful languages that are used everyday are by the dozens, you need to forget the concept of learning a language.

Why Swift at all? (0)

Anonymous Coward | about a month and a half ago | (#47560767)

...when you can use Qt and compile the same code frickin' _everywhere_?

IT security wanna-bees, take note (1, Funny)

93 Escort Wagon (326346) | about a month and a half ago | (#47560779)

PHP is forecast to be very popular going forward. That means your employment prospects are good!

Laugh at me, but Flash is still relevant (1)

GoodNewsJimDotCom (2244874) | about a month and a half ago | (#47560801)

With Flash you can make: Destop/Web/Android phone+tablet/ios phone+tablet all in the same code!

Flash is a lot like C/C++ and Java, except it allows you to a couple things easier.

I think of all the languages though, Java has to be the winner. It has about the power of C/C++, except you don't need to dot the is and cross the ts. Java is superior to C/C++ in strings, garbage collection and arrays. For most projects you'd take code that has less bugs in it and develops faster than code that executes a slight % faster.

eJabberd (1)

phorm (591458) | about a month and a half ago | (#47560805)

The only time I've seen Erlang was back when I used eJabberd (which at the time was better than the regular jabberd).

Depending on one's industry, I'd say that GLSL would also be a useful (and interesting) thing to learn.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>