Forgot your password?
typodupeerror
Programming PHP

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

Posted by Soulskill
from the sorry-folks-still-no-haskell dept.
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.
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • by bulled (956533) on Tuesday July 29, 2014 @04:11PM (#47560359)

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

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

  • by AlreadyStarted (523251) on Tuesday July 29, 2014 @04:32PM (#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.

  • by angel'o'sphere (80593) on Tuesday July 29, 2014 @04:43PM (#47560619) Homepage Journal

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

  • by luis_a_espinal (1810296) on Tuesday July 29, 2014 @04:44PM (#47560629) Homepage

    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.

  • by Luciano Moretti (2887109) on Tuesday July 29, 2014 @04:53PM (#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++.

  • by Anonymous Coward on Tuesday July 29, 2014 @04:55PM (#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...

  • by gweihir (88907) on Tuesday July 29, 2014 @04:55PM (#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.

  • by msobkow (48369) on Tuesday July 29, 2014 @05:07PM (#47560839) Homepage Journal

    I spent over two years working every day with Erlang on a project, and I still don't consider myself to be anywhere near an "expert" at the language. It's just too weird and special case for a lot of the functionality I was trying to code, so while certain tasks were easier than they would have been in Java or another procedural-object language, others were damned near impossible and took obscene amounts of time to get working at all -- never mind working efficiently.

    Personally I'd avoid it like the plague unless you have some special case need for it's features. Even with regards to concurrency, it's not really any better than any other language's concurrency features. They aren't really baked into the language as the summary suggests, but provided by frameworks in the API libraries, much as they are by other languages.

    The main difference with Erlang concurrency is that the concurrent models are the "normal" way to program Erlang, so you're likely to find a lot of good examples of how to do it. I've found the documentation for other language's concurrency features to be somewhat limited in comparison, and less "real world" in their examples.

    The main thing that I found neat about the Erlang framework was the ability to specify auto-restarts of failed threads. It takes all of about 4 lines of configuration to get a thread to be persistent/self-starting. That's the densest code I've ever seen for achieving such a task.

    The big downside to Erlang is that it's almost as bad as LISP -- everything is a list. Even "structures" are just lists of objects with tags that identify the list indices for accessing the members. Be prepared for a nightmare of tail recursion if you get into this field of programming.

    That said, it can be a fun and entertaining language to work with. For the things it is good at, it can be a joy to use. Much as with any language.

  • by Anonymous Coward on Tuesday July 29, 2014 @06:29PM (#47561427)

    LOL, what?

    How does being familiar with CSS indicate that a persons programming experience is limited to "front-end development"?

    I can't rightly comprehend the confusion of ideas that would provoke such a statement!

    I think it is you who are confused. It's not that "being familiar with CSS" indicates that the programmer's experience is limited, it is the thinking that being unfamiliar with CSS limits a programmer that indicates that the programmer's experience is limited. Got that?

  • by Algan (20532) on Tuesday July 29, 2014 @09:12PM (#47562545)

    Been doing Erlang for the past 6 years. It is a small niche but the number of people who are really good is minuscule, much less than the demand. As a consequence, I get hit by recruiters for Erlang-related jobs every couple of weeks, with no advertising on my part other than my linked-in page. Looks like the biggest obstacle for the wider adoption of Erlang is the limited number of talent. Lots of companies would like to get into it, but are afraid they won't be able to attract people.

"Gotcha, you snot-necked weenies!" -- Post Bros. Comics

Working...