Slashdot Mirror


Little-Known Programming Languages That Actually Pay

Nerval's Lobster writes There is no shortage of programming languages, from the well-known ones (Java and C++) to the outright esoteric (intended just for research or even humor). While the vast majority of people learn to program the most-popular ones, the lesser-known programming languages can also secure you a good gig in a specific industry. Which languages? Client-server programming with Opa, Salesforce's APEX language, Mathematica and MATLAB, ASN.1, and even MIT's App Inventor 2 all belong on that list, according to developer Jeff Cogswell. On the other hand, none of these languages really have broad adoption; ASN.1 and SMI, for example, are primarily used in telecommunications and network management. So is it really worth taking the time to learn a new, little-used language for anything other than the thrills?

30 of 242 comments (clear)

  1. Portmasterz luv R by Anonymous Coward · · Score: 4, Funny

    You haven't lived until you've ported a 3-D shooter like crysis over to R!!!

    1. Re:Portmasterz luv R by Anonymous Coward · · Score: 5, Funny

      i would think a pirate themed game would be better suited to that language

  2. C++ by Anonymous Coward · · Score: 5, Insightful

    No one knows it, really.

    1. Re:C++ by serviscope_minor · · Score: 3, Insightful

      The STL isn't a mess.

      For general algorithmic code, it's the nicest library in any imperative language, bar none. I challenge you to find a better one.

      --
      SJW n. One who posts facts.
  3. ASN.1 isn't a programming language. by Dimwit · · Score: 5, Informative

    That is all.

    --
    ...but it's being eaten...by some...Linux or something...
  4. ASN.1/SMI by adturner · · Score: 5, Informative

    Maybe ASN.1 and SMI are so little known as a programming language because... they're not a programming language? Don't get me wrong, it's good to know if you're reading/writing RFC's or dealing with network protocols (especially in the telco space), but they're not programming languages.

    1. Re:ASN.1/SMI by Carewolf · · Score: 3, Interesting

      They are not turing complete programming languages, but they are domain specific programming languages. This is the same as making the argument that SQL is not a programming language since you only use it to define/insert/update/delete data in a database and cannot write general purpose programs without another tool that does provide a turing complete function set. ASN.1 and SMI are formats to describe messages and message data types to be used by another higher level protocol like SNMP, LDAP, X.509, etc.

      No, ASN.1 is a syntax like XML is, except more abstract, as it is never used it directly, it is not a programming language. That would be like saying digital numbers is a programming language.. You can stretch it and say they are forms of languages, syntax languages, but that still doesn't make them programming languages.

    2. Re:ASN.1/SMI by lgw · · Score: 4, Interesting

      SQL is actually Turing complete, oddly enough (or is with the common extensions that all the major DBs support). The C++ template definition language is also, frighteningly enough, Turing complete. But a "programming language" doesn't have to be Turing complete to be such, instead it has to be a way of specifying algorithms.

      What you're describing are formal languages. They are not programming languages because they don't define algorithms. Much like Boolean algebra is a formal language, but not a programming language.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  5. Meh by Anrego · · Score: 5, Informative

    There's tonnes of niche technologies, though people don't tend to specifically target them so much as just kind fall into them and get lucky.

    I know someone that does pretty well maintaining stuff made with foxpro. In her words: "laugh all you want, it paid for my house". Doesn't mean it's a good idea to learn it at this point, but if you happened to luck out by sticking with a dying technology that never actually died, and are now one of a few people around who can call themselves experts in it, enjoy the benefits.

  6. Also WTF by Anrego · · Score: 5, Informative

    Also, wtf dice.

    I get that you want to shitpost your own articles here, but throwing a campaign ID in the URL to track the success of your shitposting is going a bit far.

  7. Once you know ASN.1.. by TechyImmigrant · · Score: 4, Insightful

    .. you understand why it must die.

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  8. How about Libre Office Basic? by 50000BTU_barbecue · · Score: 3, Funny

    For some reason I start playing with that. :)

    Any jobs out there?

    --
    Mostly random stuff.
  9. Source... by gunner_von_diamond · · Score: 4, Interesting
    An article from Dice.com. On a site owned by Dice.com. How about that. According to a Dice job search, there are not ASN.1 jobs out there. Learning ASN.1 will not

    secure you a good gig in a specific industry.

    Therefore,

    So is it really worth taking the time to learn a new, little-used language for anything other than the thrills?

    No.

  10. I would say yes, it is worth it by erp_consultant · · Score: 4, Insightful

    Here's why:

    1) If your skills are limited to commonly used languages then a potential employer has a large pool of people to choose from. That means that you have to compete against a lot of people for a given position. It also means that your rate will be lower because a larger labor pool will tend to drive down prices. If, OTOH, you choose to focus on niche markets it will have the exact opposite effect. Fewer people to choose from and, therefore, higher hourly rate. Essentially it puts you (as an employee or contractor) more in the drivers seat.

    2) It gives you something else to add to your resume.

    3) It might give you exposure to industries that you might not have had otherwise.

    4) It's fun :-)

    Having said all of that, I still think that it is important to have a solid grounding in Java or C/C++. Why? Well, for one thing it gives you a good foundation for tackling other languages. It also gives you something else to fall back on if the esoteric thing doesn't quite pan out ;-)

  11. Re:No thanks by PRMan · · Score: 5, Insightful

    Plus, you run the risk of steering your career into a corner from which it's hard to escape. I did C# for 5 years and then a custom Pascal scripting language for 2 years. What did I hear? "You're not a C# developer, you're a xxxxx developer." Um, it's not like I forgot everything I knew or even didn't use it during that time, but it's a resume-killer, so be careful.

    --
    Peter predicted that you would "deliberately forget" creation 2000 years ago...
  12. SNOBOL/SPITBOL . . . JCL . . .? by PolygamousRanchKid+ · · Score: 4, Insightful

    Is anyone here old enough to remember those languages . . . ?

    I don't think anyone ever started from scratch, writing a JCL program . . . you always just took an example, and fiddled around with it.

    . . . but then, when I needed to write a IP driver for ATM, the folks told me: Just look at the Ethernet driver, and follow that

    --
    Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
  13. LOGO by h4ck7h3p14n37 · · Score: 4, Funny

    I'm currently working on my LOGO certification. I hear the pay can be good, especially if you've also got a background in Spirograph.

  14. Re: No thanks by Anrego · · Score: 5, Insightful

    Language, maybe. The tool stack around that language though, I call BS.

    Sure, a c++ guy can pick up java itself fairly quickly, but it takes time to come up to speed on the various widely used libraries and tools. General programming concepts transfer, the specific workings of something like EJB or OSGI don't.

  15. Re:wut? by Marginal+Coward · · Score: 4, Insightful

    I actually read a post from the main Matlab guy about one-based arrays once. Basically, his point of view was that mathematics uses one-based matrix notation, and Matlab was intended to solve mathematical problems. That's a different design criteria than programming languages like C and its progeny, which are designed to run fast on a machine.

    So, maybe they're both right, though for those of us who do a lot of zero-based programming, it's a bit of a gear shift to do a little Matlab every now and then.

    And being one-based isn't the worst of Matlab's sins. It's badly designed up and down the line, except that as a system - that is, a combination of its language, toyboxes, and IDE - it's better for solving certain kinds of problems than anything else out there. So, I depend on it, but I only use it when it's advantages are compelling for what I need to do. [sigh]

  16. Re:No thanks by Anonymous Coward · · Score: 3, Informative

    Your résumé will not suffer from what you don't put onto it.

    Rule #1 of writing a résumé is to make it specific to the posting you're applying for. If you're applying for a Java/Oracle development position, don't put your Go and Hadoop experience on there by name. Leave it as "n years of professional development experience building x, y, and z." What you should plainly state is whether you have Java and/or Oracle experience, how much of it, and how recently.

    It's really not difficult to avoid getting pigeon-holed into a scut-work niche, and it's even less difficult to get out of one by jumping ship to a new company.

    The Dice Overlords here like to play up the difficulty of searching for a job, but that's because they have a vested interest in fooling everyone into thinking it's hard. It's not.

  17. Skip MATLAB, Learn R by Kagato · · Score: 4, Interesting

    IMHO Matlab is a dead end. R is a similar language in the statistics and big data fields and the base spec and sample programs are open source. If you're a Math or Stats major you're likely getting a sample of R in school already because the tools are free. In the paid space big data tools like HP's Vertica will split up complicated R functions across it's cluster and crunch the data much faster than Matlab.

    1. Re:Skip MATLAB, Learn R by ishmaelflood · · Score: 3, Insightful

      matlab programmer here. $130k+super+6 weeks leave +18 sick days per year. So, as dead ends go, not too shabby

      In parts of the automotive world matlab is used for algorithm development (for example for image recognition for anti collision systems) which can then be automagically cross compiled for the target embedded processor.

  18. Symptom of thinking vocabulary is the key by raymorris · · Score: 4, Insightful

    Just another symptom of thinking that software architecture and development is mostly about a language. Yes, knowing the language used in your field is important - that's why lower-level college classes have plenty of vocabulary. A developer should know the words, abbreviations, and symbols used in software development, just like an archeologists should know the words, abbreviations, and symbols used in archeology, and a fire marshall should know the words, abbreviations, and symbols used in fire protection. None of these fields is ABOUT the vocabulary, though. The words and symbols are used to record what you've done, but they are ancillary to the field.

    Really, saying "C# developer" is like saying "Spanish anthropologist" or "English physicist". Maybe Stephen Hawking only speaks English - a certain German guy named Al Einstein showed how much language matters when he came to the US.

    Sometimes I forget what language I'm writing in, and end up with excellent, reliable code written in two languages at once. Sometimes, most of my functions will compile and run in two or three different languages = X + 3 is x + 3 in most languages.

    1. Re:Symptom of thinking vocabulary is the key by Roger+W+Moore · · Score: 5, Insightful
      You are absolutely correct. I laughed when I read the line in the article which said:

      For example, if you master a couple math and science programming languages, you might find opportunities as a programmer working at a scientific research center.

      since it shows how clueless the author is about programming languages in science. When I am hiring a postdoc I could not care less which programming language they have used: if I am looking for someone with technical skills all I care about is that they have experience programming. The delay in learning whatever specific languages and packages we use is minimal so long as they have a strong technical background.

    2. Re:Symptom of thinking vocabulary is the key by Roger+W+Moore · · Score: 3, Insightful

      Then, he will have very hard time getting proficient in, let's say, Mathematica.

      Why do you assume that? I would agree that it is hard to imagine anyone with a strong technical background only knowing Fortran in this day and age but, should such an individual exist, I would not see it as a barrier to hiring them. During my time as a student and a postdoc I taught myself Matlab, Perl, C, C++, Python, Alpha CPU assembler, SQL, ROOT and an interesting variation of BASIC which ran on an old Caviar CAMAC crate controller from the late 1980s! Learning a new language when you already know how to program probably takes a day for basic proficiency and a bit longer to get fully up to speed. It's far more important that you have someone who understands the science and has a strong technical background: if you have that the language is easy to add, if it isn't then you do not have someone with a strong technical background.

  19. Re:No thanks by RavenLrD20k · · Score: 4, Insightful

    Unfortunately, C# suffers from a sort of fragmentation where every year there's something new and fresh with it. Even though you and I, as developers in the wild, understand that this "fragmentation" is a bunch of hype and circumstance where the underlying base and syntax hasn't necessarily changed much over the past 3 years, the technologies around it have changed significantly.

    To give an example, just today we ported an in-house app that is a tool to help with debugging that was updated at the very end of 2013 and ran on Server 2008 no problem to a new environment running Server 2012. Just about 2 weeks over a year after its last rewrite, it took about 20 minutes to install "legacy" packages on the server where it could be shoehorned in as Network Service .NET 2.0. Our other option was to take another 2 weeks (minimum) to completely rewrite (average 2 days writing and testing) and implement (the remaining time satisfying the red tape of the business) the application where it could run as Network Service .NET 4.0. Not something economical for what is essentially an R&D prototype system at this step.

    Other examples are abound... Such as our desire to update several of our apps to take advantage of new features in MVC 6... but other features that we relied on in MVC 4 and MVC 5 broke, so there's a heavy need to develop work arounds or find "the new way to do it" (tm). Also, management wants us to implement Entity Framework 6 for our new database connections rather than use LINQ as we had been...and as we have time, update some of our older and more critical applications to make use of these new frameworks as well. And just wait for the next round of "Oooh Shiny" that we are going to want to make use of this year.

    The technologies packed around C# and .NET in general are targets that move so fast that if you're out of the game for 2 years, even though you could probably pick up and run with the new stuff within a week or less, you're likely going to be competing with hundreds of applicants that are fresh and in the game with the current tech already and will (in theory) be off and running on the first day at their desk.

    If you want to have a language background where you can take 2-5 year hiatuses from it and still maintain a decent demand with it, learn straight C/C++ and COBOL. Where I work I command among the highest programmer salaries in my department not because I'm good with the current tech and keeping up with it (my perf reviews have always indicated this to be true), but because I save my team from having to submit a WorkRequest to the Mainframe Developers for quick batches. My team can tell me what they need and I can submit my time bid and process to the Datacenter Operators in half the time with only one sheet of paper used for signoffs and approvals(instead of 5)... just because I can actually write COBOL (apparently hard to find in anyone younger than 40 these days, and our last COBOL Programmer is slated to retire in 2018).

  20. Re:No thanks by __aaclcg7560 · · Score: 4, Insightful

    The real problem regarding resumes is what you done in your last three positions. While I was unemployed for two years (2009-10), recruiters looked at my help desk resume, assumed that I wanted to do help desk, and told me that they had no help desk jobs available. Never mind that I wasn't applying for a help desk job. After I worked six months as a part-time PC technician for a moving company, recruiters figured out that I could do other jobs not related to help desk.

  21. Re:Not just flash in the pan by Darinbob · · Score: 4, Insightful

    True. I'd hardly call MATLAB a little known language, it's very commonly used in EE circles, and I've seen it other places doing engineering or science. I've worked on a product that included lengthy MATLAB computations as a part of the build. MATLAB also has the problem of being a one-vendor proprietary product.

    But this is a Dice story after all. They seem to just love stories about "hey, here are some languages that aren't Java or C!" They forget that Slashdot is for nerds who actually know stuff and is not a site for job seekers.

  22. ...now this again. Learning programming languages? by Mirar · · Score: 3, Insightful

    This is brought up now and then on Slashdot. Treating programming languages like something actually hard to learn.

    Specific programming languages are irrelevant.

    Programming paradigms and levels are relevant. But if you know a language in one paradigm, it's easy to learn another one. If you know C, the step to Python is fairly close. Lisp or Erlang is a little more distant, but it's not impossible far to learn in a few weeks.

    If you can't pick up the basics of any computer language in a few weeks, I get the impression you're not really sure of what you're doing.

    So it's irrelevant if you already know the language. Except for very confused recruiters. The question is, can you get good at the skills needed at the job within a few weeks? You wont know the projects or the libraries in the new company anyway, picking up a new computing language isn't going to be the hard part.

    But then again, ASN.1 isn't a programming language more then TCP/IP is a programming language, so maybe the question is more confused than that.

    (Languages I have encountered in my professional career: V2 BASIC, 6510 assembler, ABC8* BASIC, dBase 4, x86 assembler, 680x0 assembler, Batch files, Pascal, C, C++, Shellscripts, Pike, ECMAscript, Java, Flash, ARM assembler, and Python. In that order. I have done ASN.1 in the form of SNMP, but I really don't think I would call it a programming language.)

  23. Re: Not just flash in the pan by Hognoxious · · Score: 5, Funny

    my wife is better at sex than yours

    Seconded.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."