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?
Plenty of jobs in the bread-and-butter languages. I could also rehash older languages if I wanted to maintain legacy systems. Not wasting my time with flash-in-the-pan languages though.
You haven't lived until you've ported a 3-D shooter like crysis over to R!!!
No one knows it, really.
That is all.
...but it's being eaten...by some...Linux or something...
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.
More reason to encrypt everything digital. Should just encrypt by default.
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.
Dicevertisement?
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.
There seems to still be a market for older languages specifically, like Cobol. I'm sure there are better examples
.. you understand why it must die.
I should use this sig to advertise my book ISBN-13 : 978-1501515132.
>lesser-known
>MATLAB
Really?
Most linux users don't know this, but the man pages were named after Chuck Norris. Chuck Norris fsck'ing hates noobs!
...for not using niche technologies and esoteric programming languages, if possible.
With a few more modules.
I thought ASN.1 was just a data representation, not a programming language. Went and googled a bit...um,.... seems to be right; but I only skimmed the Wiki. Of course you could represent code in any good data representation language; but why? I've heard people say that data is passed using ASN.1, but never "I wrote that application in ASN.1". That just sounds wrong.
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Or M as it's usually known now.
You haven't suffered enough until you've had to debug someone else's "clever" M code.
For some reason I start playing with that. :)
Any jobs out there?
Mostly random stuff.
Some of those listed languages have been around for a while BUT they are specific to one vendor and even one product.
Which means, if you get tired of your current employer, it will be very hard to find another job. It also works both ways; who wants to learn a language where there aren't that many opportunities? I was stuck at one such shop and it was a BITCH to get out of. I taught myself C++, found a way to use it on the job* and I was able to talk my way into another job - this was in the 90s, BTW. Why does the decade matter?
*Back then, you could do a little utility program on the job in something you are learning - like C++ - so that you can claim that you have "on the job experience". See, taking a class or learning on your own does not matter to employers - especially in 2015. Now, even that doesn't work so well.
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.
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 ;-)
ADA
If you want news from today, you have to come back tomorrow.
'Nuf said.
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!
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.
I can not even begin to describe goodness of the syntax. It's forever etched in my mind, right along goatse and tubgirl.
$130,000 average salary. q language, an array language / database used for time series analysis http://www.timestored.com/b/fo...
But put Microsoft Office Basic Macros and variations. Actually, buy a copy of MS Office to make sure you get the real thing - I've seen the VB macros die in LO.
There are a LOT of small businesses out there whose back office is that platform.
And don't listen to the peanut gallery here. they'll make fun of you, but you'll be crying all the way to the bank and you won't have to deal with the tech du jour nonsense that everyone else has to deal with.
I have seen some really slick programming on those things - integrating databases, web services, UI, ... you can't be stupid.
Used in many legacy apps of big corporations
https://en.wikipedia.org/wiki/SAS_language
It get the job done.
Rocky Mountain Basic (RMB)
Coming from the IT/systems side of the fence, this isn't just limited to programming languages. There are tons of little niches in industries and technologies. The key to not letting a niche define you is to stay flexible. For example, I do systems work for airline industry customers. Think of every niche, legacy, arcane, backward standard, and it's there. Any one of these niches can be followed down so far into the expert level that you can build a career out of them. But, these things can change, and if you get too mired in the details and never pick your head up above the water, you can get lost. You wouldn't believe how complex something like tracking lost luggage or managing passenger data is once you peel off the covers...and a lot of that complexity is because of the massive layers of legacy stuff that have been built up over the years.
My approach to my career has worked well so far: (1) be willing to learn a lot about a particular subject so you can do good work on it, (2) keep sharp by slightly changing the things you work on every once in a while, and (3) keep your eyes/ears open so you can figure out which trends to hop on just in case the current job dries up. It's difficult to do this, but not so bad if you really like learning all the time. If I ever get sick of working in my little corner of the world, I'm pretty confident that I would be able to pick up a job in another little corner pretty easily.
Niches are everywhere, and often that translates into knowing about how an industry works at the insider level. Treating exposure like this as a learning opportunity is a good way to keep yourself marketable, and not just in your specialty field. Not being able to do this is a good way to brand yourself as a permanent generalist who doesn't have the desire/ability to dig in and find answers. Not trying to sound like a jerk, but there is a big difference between someone who can really dig into a problem and someone who just does what's in the manual.
>> learn a new, little-used language for ... the thrills?
Thirills? wow. You kids of today... ...but It does make me all teary-eyed to remember when I was actually that enthusiastic about such stuff too.
I get paid in sour patch kids to program in LOGO.
ASN.1 is a language which describes how to transfer or store structured information
Yang, using XML and JSON also do this with the overhead/benefit of making it flexible, human readable text, and self describing.
An old fashioned spec using a handcoded, binary protocol engine provides low overhead but requires wireshark to tell you what is going on.
ASN.1 is kind of a middle ground.
It is possible to build gadgets which are both low overhead and flexible.
Too bad it's not more popular in the SDN and WWW areas.
With the COME-FROM statement is my fav
Around here, knowing R can pay some bills. I'm surprised it isn't listed among the Math languages.
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.
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.
A neighbor of mine makes a great living programing "Excel" spreadsheets. Being a asm/c/c++ engineer for 35+ years, I don't have the heart to tell him that there are different leagues of programming.
There is no language called Mathematica. Mathematica is an implementation of Wolfram language. At least that's what they want you to call it now. :p
"Sum Ergo Cogito"
Haxe is a dream for cross platform development and has been paying the bills for me for a good 6 years now.
http://www.haxe.org/
https://github.com/HaxeFoundat...
Oh, it's from dice. Where the fuck did we hire that moron from? Oh, it's from dice.
Well, shit.
Folks, this is why you shouldn't dog food.
Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
I can't has career.
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.)
Programming languages I have known, made a living at, and occasionally loved (or hated):
MS Basic
Quick Basic
Business Basic
dBase-II
dBase-III
FoxBase (dBase clone)
ZIM (Entity-Relationship database)
C
C++
PL/M
Java
JavaScript
PhP
HTML
Transact-SQL
ADA
PL/SQL (a subset and extension of ADA)
Cobol
Dibol (DEC's business language - ANSI standard)
Logo
bash
csh
ksh
DOS CMD.COM and Windows CMD.EXE
Perl
Python
.
.
.
And several varieties of assembler.
The problem with learning an obscure or obsolete programming language is that you start with zero experience, and you're competing with all the folks who have lots and lots of experience and can't find work. In general, that's the problem with job retraining. Some laid-off 50-year-old guy goes to school and learns something like accounting or medical records, and he's competing with people decades younger in the same industry who are fighting for work when the overall pie is shrinking from layoffs.
Matlab is hardly a "little known" language. It is universally used by engineers of all stripes. Pretty much any EE, ME, or AE graduate will have at least a passing familiarity with Matlab. I've taken quite a few engineering courses where Matlab knowledge was more or less a prerequisite. Knowledge of Matlab and Simulink is mandatory in the controls and structural dynamics fields.
There are a lot of PICK machines (think Universe, JBase, etc.) in production, especially in financial sectors, and very few programmers available.
...and an associate from SlashDice will contact you.
You just know they are going to resurrect you again when the next date roll over date bug comes around
ASN.1 is certainly not a "programming" language. It is a type of domain-specific language, I suppose, similar to how a web programmer has to know HTML and CSS, while writing programs in some other language. I guess in our modern world where XML is used to bludgeon every problem to death, I can see why some people might call ASN.1 with a programming language, though like XML, ASN.1 is not turing complete. ASN.1 is pretty cool, though. It is a binary, self-describing data encoding scheme, and forms the basis of a number of core protocols we use all the time, including LDAP (which uses a form of ASN.1 called BER). ASN.1 has been around for far longer than XML, and if you're working with network protocols at the software level, is worth knowing.
I once wrote an LDAP proxy server that spoke LDAP wire protocol natively, and I had to implement ASN.1 encoding and decoding. My code at the time was written in C using the wonderful glib library (which minus gobject should be made part of the standard c library someday). It has since been rewritten in Python using Twisted which nicely abstractly all the ASN.1 stuff away in the nice Twisted LDAP adapter classes.
I said:
> X + 3 is x + 3 in most languages.
Uhm, no. But x + 3 is x + 3 in many different languages. If x=4, then X + 3 is a compiler error in sane languages, and a PITA in silly languages.
Basic syntax and paradigm of a new programming langugae are easy. It's running into all of the corner cases and figuring out how to work around them that takes time. Not to mention the plethora of "value add" third-party libraries and frameworks, all of which have their own corner cases to bump into.
That is all.
Except for the fact that getting a gig in a little known language will take a lot longer because almost nobody uses it anymore, and those that do use it are trying like mad to get everything off it into a more common language. (Former FORTH programmer here...)
If you know only C, you aren't going to be a good Lisp programmer in two weeks, or a good C++ programmer for that matter. Different languages work better with different ways of thinking about problems, and it's a lot harder to learn that than to learn syntax.
Sure, you can learn the basics in a couple of weeks, but that doesn't tell you how to use the language. You'll just keep writing C with funny syntax (or, in the case of C++, just keep writing C), and your programs are going to suck. In two or three weeks, you won't learn how to write good Lisp macros or when you should. You won't learn to use C++ exceptions safely. I went from C/Pascal/assembler/etc. to ARM C++, and it took me years to internalize everything I needed to consider about object orientation. I was able to do useful things pretty well from the start, but it took a long time to be fully functional.
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
Yes (raymorris = "run, forrest: run!!!" in fact)-> http://slashdot.org/comments.p... and there's blood in the water (yours). When you make a wannabe programming "god" like ray bleed, the sharks gather. Unfortunately you summoned the great white himself and he's tearing you apart as always bigmouth!
Come on bigshot: Prove me wrong -> http://slashdot.org/comments.p...
* Keep "running", forrest... lol!
APK
P.S.=> Shooting your piehole off again, no-mind? Yes -> http://tech.slashdot.org/comme... so I just SLAMMED IT SHUT once more (obviously - you can't do a DAMN THING vs. that list of mine & you KNOW it)... apk
Used in a heck of a lot of high schools, colleges and universities in the US and Canada.
Don't know why you'd say they're "not in much use".
But, hey, keep telling yourselves you'll make a mint coding Java at Amazon ...
-- Tigger warning: This post may contain tiggers! --
Outside of the RDBMS, pretty much everything Oracle makes or buys is crap. The funny thing is, PHB's suck that stuff up like us DBA's drink beer. Then when The Shit Don't Work (TSDW), they need someone to fix it. If you can make the shit work, you can make some good money. Just be prepared to switch to the next crappy Oracle technology when the original falls out of fashion.
"Be grateful for what you have. You may never know when you may lose it."
If the phrase "Your mom's first child node is not a text node", then you probably know AXL and I probably worked with you at some point in the last six years.
Colin Dean Go a year without DRM
Literally .. still have my "SNOBOLs chance in Hell" tshirt.
More interesting is that languages like Smalltalk are still in use (some Rational tools are written in them).
That's often true, but it may well mean the difference between eating table scraps and not eating at all.
Laugh all you want. Believe all the negative propaganda if you listen to everything people tell you. But Flash is incredible to produce Android,Ipad/iPhone aps. Its soooo easy compared with any language I ever used. If you know C/C++ or Java, you can pick up Flash in a week. It also ports to Web, and Windows/Linux/Mac without modifying code.
Flash gets a bad rap, but I've never been so impressed with a language for producing modern software. The only downside is that it can be slow, but you can generally render 1,000+ graphics on the screen before you notice any slowdown. It isn't meant for the leanest and meanest modern 3d games, but if you want to get into the ap stores, its one of the best roads. It is far superior than picking Android or IOS specific programming languages.
Now I typically get buried for saying this for some reason. I'm not sure if people are bent out of shape because they hate Flash or if the Flash developers don't want their well kept secret to get out.
God spoke to me
speaking as someone who specialized in snmp for over 25 years and who works for a whos-who of netmgt and networking companies, snmp is mostly DEAD for hiring. its all done in india and china, now (and very VERY poorly, too, I might add).
I made a living being really good at mibs and snmp - but there is no pay in it anymore, no one in the US hires for this and its all commodity 'good enough for the stupid customer' stuff. customers don't push hard enough for snmp/mib quality and vendors staff with the most entry level garbage programmers (sorry if the truth hurts) and so you get what you get. crap.
I hate having to say this as I invested many years in being an expert in my field; but the bottom dropped out and there's no resurge in this field that I can see.
I can't speak to the other 'languages' but I found it funny to see asn.1 listed. it did, once, make a very nice living for me and got me quite a lot of opps in great companies; but after about 10 yrs ago, things pretty much dried up here in the US (for netmgt) and its all outsourced to the lowest bidder, now.
shit, you can even do snmpwalks on some cisco boxes, juniper boxes (etc) and find glaring bugs, cycles (loops; should never happen in a treewalk!), data type errors and laughable encodings (yeah, sure, store floating points as strings. if you have to ask, you clearly don't get it). and no one cares anymore, either! ;(
--
"It is now safe to switch off your computer."
Well, you were never fully functional because you were using C++.
I saw MATLAB mentioned here quite a bit. I cut my teeth on MATLAB in the 90s to prototype DSP algorithms, but LabVIEW has become my replacement workhorse for that sort of stuff since Y2K. Even through the dot-com bust there was no shortage of LabVIEW work. I'm mostly a C/C++ embedded guy these days, but LabVIEW is still in my grab bag for rapid app development.
> Lisp or Erlang is a little more distant, but it's not impossible far to learn in a few weeks.
ROFL, Man, you are so wrong! I program in Common Lisp professionally for more than 10 years, and sometimes I think I know it.
I had an aunt that regularly tried to get me to come to her firm to code in MUMPS.
I wonder why I never did it.
I'm a tech in a finance firm. We use math tools a lot. Octave too.
Though not quite a language, you can get a lot of jobs knowing Excel spreadsheets,
There are a lot of PICK machines still out there (think JBase, Universe, etc.) and very, very few qualified programmers.
Yes. I constantly have problems with libraries, especially overcoming bugs and limitations. Most of the time I have to (sadly) reinvent the wheel, because it didn't have spokes or someone thought triangular wheels were the best thing ever.
This is true. But I don't think you can be a good programmer if you only know one single language in one single paradigm.
I usually program in a mix of functional, object-oriented and iterative; whichever solves just this problem the best at the moment. (Bonus if it also creates the most readable code. Which is, of course, part of 'best'.) I don't think I could do that as well if I hadn't programmed in both assembler, lisp, C, C++ and LPC.
(I'm not sure what ARM C++ is; I write C for ARM but except the hardware registers that I hide away in hardware layers, there's nothing special over the C. Well, it doesn't have things like printf, signal or exit. But it really isn't a different programming language than say C for DOS.)
I wrote a C compiler in interlisp once. That was fun. (To lisp.) (As a project.) (After learning LISP for about three weeks. It could probably have been much better LISP, but the principles in LISP and functional programming are actually really easy to understand. Easier than being able to read all the parenthesis...)
Writing such projects - as well as doing things like implementing a scheduler or a TCP/IP stack - makes you understand things a little bit better. :)
It shouldn't be impossible to go fully functional using only C++. Is it a challenge? :)
ASN.1 is simply a data encoding standard and is not a computer language like Java or C. It is along the lines of JSON or Base64 encoding used in MIME. This mistake gives me little confidence in the rest of the story.
I think that you have to use functional programming to write arbitrary programs as templates.
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
I think I'm showing my age there.
The base document for the C++ standards effort was the Annotated Reference Manual, named like K&R C. ARM C++ is pre-Standard.
As far as learning different languages for single paradigms, I suspect it's most needed in object-oriented programming. Many people seem to think it's supposed to work like it does in the single O-O language they know.
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes