“What is the big deal about niche languages? I can do all of this with C/C++/C# and besides, most of the stuff being written with that niche language are CRUD apps…” — Anonymous Senior Developer

Junior Dev: “Let’s write this new one-off thing with Clojure!”

Senior Dev: No. Let’s stick with Java. There’s nothing you can do with Clojure that I can’t do with Java. I don’t see what the big deal is.

If you are a team lead and find yourself shooting down the idea of using niche languages, you might just be getting old.

Seriously. Old. Not wise. Just old.

Ok, sometimes, you are holding the line and preventing a huge proliferation of tooling… but most of the time, writing a one-off in a niche language is a great opportunity to learn. Every mainstream language in use today was at one time, a niche language.

There was a time when Java was a niche language for web applets. Nobody used it for real applications.

There was a time when Python was a niche language you tossed into your “real” program so users could extend it. Nobody used it for real applications.

There was a time when Javascript was for doing front-end tricks on web pages. Nobody used it for real applications.

There was a time when C was a niche language for Unix development. Ok, C had a whole operating system written with it, so somebody used it for a real application.

Likewise, C++ was this niche object-oriented thing that didn’t even compile to object code… you had to compile it again with a real C compiler. 

The moral of the story is that ignoring niche languages is to ignore the future. Trying new things is the young thing to do. Holding on to the old? Well, there’s a pasture waiting for old steer over there.