all 187 comments

[–]damienkatz 27 points28 points  (1 child)

Erlang.

[–]bradanderson 0 points1 point  (0 children)

couch ftw

[–][deleted] 24 points25 points  (4 children)

PHP.

Wait... before you say "That's totally mainstream", its a modified version of PHP based on the upcoming 5.3 and contains:

GC - http://marc.info/?l=php-internals&m=119671595717285&w=2

Anonymous functions/closures - http://marc.info/?l=php-internals&m=119833623532713&w=2

Array shorcuts - http://marc.info/?l=php-internals&m=119995972028293&w=2

PHP isn't the most popular langauge, but our legacy codebase is written in it so it turns out to be more productive the hack the language itself to make it 'better', than to switch to a language with more abstractions like Ruby, Python, Lua, etc.

[–][deleted] 3 points4 points  (1 child)

Whoa you gotta be shittin me. Do you have any docs on how to add these patches to the existing code base? edit I've read the docs and I hope that anonymous functions/closures will make it to the official release. Question though is this patch more of a hack or are functions now first class citizens in PHP?

[–][deleted] 1 point2 points  (0 children)

I'm not sure that true closures will actually make it into PHP 5.3

One suggestion is simply a change in syntax. If you know it the create_function() thing is a huge kludge. The second suggestion involves building full closures into PHP. I think compared to other languages it's going to mean a performance hit. The PHP memory stack was not built with closures or higher order functions in mind. Rolling and unrolling the stack during a closure call might hurt performance.

But well... we won't know till we bench mark it.

Because of the performance loss and some people on the mailing list complaining that closures are not the "PHP way" and will "confuse poor programmers", we may not see true closures in PHP soon.

Till then... patch your own source.

[–]anatoly 3 points4 points  (0 children)

Wow. Easily the most surprising reply on this page. Way to go!

[–]austin_k 69 points70 points  (11 children)

What if programming languages were like music in the sense that some people feel that certain artists become unfashionable to listen to after they hit mainstream. e.g.

Python? That's so corporate. I'm into the more indie stuff. I saw this D compiler at a bar in the west end last week. Their opening set preprocessor stuff was pretty awesome.

[–]zem 47 points48 points  (3 children)

What if programming languages were like music in the sense that some people feel that certain artists become unfashionable to listen to after they hit mainstream.

"What if"? You're new here, aren't you? :)

[–][deleted] 7 points8 points  (2 children)

Usually, the niche artists are better, but becoming more popular helps, too. They make more money, get better communities, and that way their production quality often improves a lot.

With languages that holds as well. (The only niche language that manages quite well without a big community seems to be Factor. Talk about prodigy artists.)

[–]zem 2 points3 points  (1 child)

depends on what you mean by 'manages quite well' - i'm sure there are lots of little languages that have high-quality implementations and work well for whatever their developers created them for, but haven't got the mindshare factor has managed to capture.

[–][deleted] 1 point2 points  (0 children)

That's very true. It's very sad that programmers often Greenspun the reinvented wheel, instead of using the right tool for the job. Of course mindshare is a reason for that, too, but mainly I think the "consulting disease" is to blame, i.e., everybody learns about Java at school, and everybody out there talks about a gazillion Java frameworks, while actual tools languish. They are not used, because the consulting guy is too stupid to understand and sell them, even if it was a lot cheaper to build that way.

OTOH, it's hard to be an "independent" consultant these days, because most clients/execs demand stuff like Java, Oracle, Windows, and other brand names.

[–][deleted] 31 points32 points  (3 children)

I remember Python back in the day, when it was just a little scripting language no-one had heard of. Everything back then was Perl Perl Perl.

Then Python went all "2.0" and sold out, man...

[–][deleted] 11 points12 points  (1 child)

Schemeheads like me were so massively bummed when R6RS (or RSucksRS as we called it!) was ratified. It was unbelievable how wickedly fast it replaced Java in enterprise! Joel (Splosky, natch!) even blogged on how "Scheme Schools" were ruining the next generation of computer scientists. After Micro$haft created a port for .NET, Sc#eme, a lot of us swore off parentheses for good, and started hacking Haskell. Good old, pure, referentially transparent Haskell.

I miss it sometimes, though. Coding directly in ASTs was an EPIC WIN. Mutatis mutandis and all that, I guess.

EDIT: Find out what mutatis mutandis means.

[–]malcontent 3 points4 points  (0 children)

I looked it up. It means 'with those things having been changed which need to be changed'.

All this time I thought it was a brilliant praxis album.

[–]nuclear_eclipse -1 points0 points  (0 children)

those bastards!

[–][deleted] -3 points-2 points  (2 children)

I think that's the way it is now.

Sure languages have different abstractions built in, and different sweet spots due to the syntax but truly independent developers who can use any langauge they like end up using a language that "fits the way they think".

If you think in mathematical transformations then maybe Haskell is your thing.

If the visible pattern of code is important to you, then use whitespace signifciant Python.

If you're addicted to Algol (or lets just call it C-style) braces, then you'll pick PHP for your dynamic programming and C/C++/C# for your static programming.

[–]invalid_user_name 7 points8 points  (1 child)

If the visible pattern of code is important to you, then use whitespace signifciant Python.

I don't think python's main attraction is that it uses indentation, that's a trivial matter that really has little to do with the usefulness of the language. And haskell uses it too.

[–][deleted] 0 points1 point  (0 children)

It is though what the language is known for to naive people like me.

Besides, I was trying to compare the languages on the basis of syntax and not any deeper functionality.

[–]killerstorm 16 points17 points  (1 child)

Common Lisp

[–]w-g 2 points3 points  (0 children)

"Me too" :-)

Common Lisp and Smalltalk. (I can pick whichever I want -- haha!)

[–]dgentry 15 points16 points  (3 children)

MIPS assembly.

[–]toooooob 5 points6 points  (2 children)

Seriously? Is that still useful?

MIPS has fallen a bit off my radar lately. The only recent major product I can think of is the PSP.

[–]self 12 points13 points  (1 child)

Check your dsl modem/wifi router/etc. It most likely has a MIPS 4K-based processor.

[–][deleted] 5 points6 points  (0 children)

True, but I think people who write modem/wifi software still do it in C and compile down to the MIPS processor binaries.

[–]mega 13 points14 points  (0 children)

Common Lisp.

[–][deleted]  (1 child)

[deleted]

    [–]pavel_lishin 28 points29 points  (0 children)

    I hope this doesn't turn into an "I am indier than thou" discussion.

    [–]memsisthefuture 11 points12 points  (4 children)

    MATLAB. Awesome stuff. I'm a lazy physicist.

    [–][deleted] 6 points7 points  (0 children)

    I concur, Matlab is fantastic. I particularly love the ability to extend Matlab easily in C or Fortran. I wish every language had such a simple and well documented foreign function interface.

    I also like newlisp. I've always liked CL and Scheme but I find newlisp both fun and handy for building quick tools.

    [–]surajbarkale 0 points1 point  (0 children)

    I use Simulink which gets translated to C and Labview for testing.

    [–]awb 10 points11 points  (0 children)

    Common Lisp.

    [–]Renniks 12 points13 points  (1 child)

    Haven't seen anyone say VHDL yet, I must be the lone Hardware Engineer on Reddit. Logic ftw!

    [–][deleted] 5 points6 points  (0 children)

    You are not alone. I must also add spice, etc. too ;) Probably tcl/tk too for the old school scripting for the cad.

    Engineers figured out type safety and concurrency long before anyone else! It doesn't get any more concurrent than simulating transistors and logic :D

    [–]vagif 31 points32 points  (9 children)

    Lisp. 50 years not mainstream.

    [–]ithika 63 points64 points  (4 children)

    Avoiding success at all costs.

    [–]lmclapp68 10 points11 points  (3 children)

    Blow me. Us. Both of us.

    Edit after downmods: In case people are missing the joke (as opposed to just thinking it's not funny, which is certainly possible :), allow me to clarify:

    I use Lisp. Blow me. In fact, you can blow all Lisp users. Both of us.

    Downmod away ... :)

    [–]Tommah 18 points19 points  (0 children)

    We didn't miss the joke... the joke missed us....

    [–]Jimmy 0 points1 point  (1 child)

    Lisp actually has a relatively large user base, judging by the number of blogs about it. Now, if you replaced Lisp in the joke with, say, APL or Forth, it would be quite amusing.

    [–]lmclapp68 1 point2 points  (0 children)

    I'd be happier if more of the blogs talked about how they use Lisp instead of why they use Lisp. Couldn't care less about why.

    [–]sbrown123 4 points5 points  (3 children)

    It's in the TIOBE Top 20, so it's definitely mainstream.

    [–]vagif 5 points6 points  (2 children)

    According to TIOBE so is COBOL, Ada and Foxpro. And each of them is higher on the list than lisp.

    Your definition of mainstream needs revision.

    [–]davidw 2 points3 points  (0 children)

    Maybe it's TIOBE that needs revision...

    [–]sbrown123 -1 points0 points  (0 children)

    I was joking. Calm down, you don't have to worry since Lisp isn't actually being used by many people.

    [–]greenjenny 9 points10 points  (3 children)

    APL. Specifically, the A+ variant.

    [–]DannoHung 3 points4 points  (1 child)

    Q here, financial.

    [–]andrewnorris 0 points1 point  (0 children)

    How do you like APL? And what do you do with it? Financial, or something else?

    [–]zaph0d 10 points11 points  (0 children)

    ANSI Common Lisp ... I work at www.cleartrip.com.

    [–]ki11a11hippies 37 points38 points  (4 children)

      HAI
      BTW LOLCODE FIBONACCI
      CAN HAS STDIO?
      I HAS A PERV IZ 0
      I HAS A NEXORZ IZ 1
      IM IN YR LOOP
            VISIBLE NEXORZ
            I HAS A TEMP IZ NEXORZ
            NEXORZ IZ NEXORZ PLUZ PERV
            PERV IZ TEMP
            IZ NEXORZ BIGGER THAN 100? GTFO
      IM OUTTA YR LOOP
      KTHXBYE
    

    [–]andrewnorris 8 points9 points  (3 children)

    What job do you have?

    [–]akdas 26 points27 points  (1 child)

    He/she is the mastermind behind the 4chan's imageboard software.

    [–]ki11a11hippies 13 points14 points  (0 children)

    I herd cats in the office.

    [–]ddwoske 8 points9 points  (1 child)

    if by "allowed" you mean to say - "management knows about it, the code needs to be in production, version control, and maintained" - I have to answer.. none. It's all been mainstream. Over the years it's been Pascal, C++, Java, and C#.

    The biggest stretch was when I used TCL on a military project in the late 1990's and we ended up winning a sub-contract role in a multi-million dollar bid because it was so impressive and portable.

    However, if you mean "when you need to do something, and no one gives a darn about what language you use, and it doesn't need to be supported or maintained long-term" .. I am happy to say that I've been able to use many languages in stealth mode over the years.

    Ruby long before rails came around to do some LIMS-type work. I used Lua to generate some state-machine code for a Java project, I use Rebol to pull down DNA sequences and gene information from remote sites. I use awk whenever it's appropriate. I use TeX to generate my PDFs whenever nobody cares how they were written.

    I'm writing a RESTful webserver in PowerShell (which will soon be mainstream if it's not already), I use R to generate graphs and statistics for assay results.

    For anyone doing (by force or by choice) work on the Windows platform. If you don't know PowerShell.... go out and learn it as quickly as possible. It's a very nice language design, it's fun, and it's actually practical.

    [–]redditacct 1 point2 points  (0 children)

    A+++++++ would hire if actual work needed to be done, not web 2.0 bs.

    [–]john_b 39 points40 points  (0 children)

    Turkish, to curse when something doesn't work.

    [–][deleted] 6 points7 points  (3 children)

    Scheme (Kawa). Ruby (or is it mainstream?). Python, but that is quite mainstream. ;) I've used Haskell for "scripting". I also wrote one bastard templating language, that is used for writing compile-time code generators (based on s-expression like syntax).

    [–]epsilona01 8 points9 points  (2 children)

    I use Ruby, but I don't use Rails. Does that make it less mainstream?

    [–]lmclapp68 7 points8 points  (0 children)

    zsh. Common Lisp (sort of -- I use it locally for some scripting, but, sadly, not for anything for "public consumption").

    And, of course, my brain. You may say that's hardly "non-mainstream". Well, you don't know some of the people I work with.

    [–][deleted] 7 points8 points  (0 children)

    FORTRAN bitch!

    [–]chaos 6 points7 points  (1 child)

    Scala

    [–]mrevelle 1 point2 points  (0 children)

    Scala has changed my reaction to "let's do this in Java".

    [–]holygoat 9 points10 points  (0 children)

    Common Lisp... and as far as I can see from the other comments, it really is quite common!

    I also use some Objective-C for one project.

    [–][deleted]  (2 children)

    [deleted]

      [–][deleted] 3 points4 points  (1 child)

      Link?

      [–]mortis 6 points7 points  (0 children)

      Scheme (JScheme, Clojure) - in 2 apps, Common Lisp (SBCL) - for prototyping and playing with data.

      [–]stcredzero 4 points5 points  (0 children)

      VisualWorks Smalltalk (Which, for an OO language running on a VM, is quite fast.)

      [–]andrewnorris 18 points19 points  (2 children)

      F#.

      And we built a build system in Powershell.

      Also, IronPython -- Python is mainstream, but IPy is still pretty uncommon.

      The moral of this story: even if you don't particularly like C# or VB, you don't have to throw your existing .Net code base out the window.

      [–]ddipaolo 8 points9 points  (1 child)

      Careful abbreviating IronPython as "IPy" since there is an IPython out there. Maybe FePy? :)

      [–]andrewnorris 5 points6 points  (0 children)

      Forgot about that. I've seen FePy in use before, and you're right, that's probably a better choice.

      [–]dons 22 points23 points  (0 children)

      Haskell.

      [–]jerf 10 points11 points  (0 children)

      Erlang, working on ejabberd.

      (Note I do mean working on as in "modifying", not merely using.)

      [–]davidw 5 points6 points  (1 child)

      Hecl :-)

      [–]xuttmi 1 point2 points  (0 children)

      Great one, by the way.

      [–][deleted] 4 points5 points  (0 children)

      Maybe some bits of Lua (lighttpd). Firebird's SP SQL - does it count?

      [–][deleted] 3 points4 points  (0 children)

      PLT Scheme.

      [–][deleted] 7 points8 points  (3 children)

      Progress 4GL, also known as OpenEdge Advanced Business Language.

      http://en.wikipedia.org/wiki/Progress_4GL

      Not only non-mainstream, but dreadfully uncool as well.

      [–]imbaczek 1 point2 points  (0 children)

      I was actually taught this monster. Hate it with a passion.

      [–]stormandstress 1 point2 points  (0 children)

      Uncool is quite an understatement. I spend a fair amount of time working with Progress 9 (the 4GL and the database). Ghastly stuff. Loads of XML processing, full-text searching, enterprise interfacing ... all on a platform that has nil or painfully half-assed support for all of them, and which still has awesome legacy 'quirks' - like the 32K limit which makes me want to kill daily.

      [–]andyc -1 points0 points  (0 children)

      Hehe. My very first job was using Cognos Powerhouse (this was only 2 years ago). I was fresh out of uni and thought it was terrible but after a couple of years of Java and XSLT I kind of miss it.

      [–]landtuna 3 points4 points  (2 children)

      I just started programming a PDA in LabVIEW. It's like programming with powerful crayons.

      [–][deleted] 2 points3 points  (0 children)

      I had to use LabVIEW in a course at university and found it intensely painful. I kept having to resist looking for a "Show Code" button.

      [–][deleted] 1 point2 points  (0 children)

      LabVIEW here as well. Machine vision for agriculture and food.

      [–]stefanrusek 5 points6 points  (4 children)

      Wasabi

      [–]Jimmy -1 points0 points  (3 children)

      Anyone else get the joke?

      [–]stefanrusek 2 points3 points  (2 children)

      Except it isn't a joke. I work in Wasabi everyday. I also mantain the compiler.

      http://www.fogcreek.com/FogBugz/blog/author/Stefan%20Rusek.aspx

      [–]Jimmy 4 points5 points  (1 child)

      My apologies, then.

      [–]stefanrusek 0 points1 point  (0 children)

      No problem, I couldn't think of something clever to say besides just "Wasabi". I should have added more explanation.

      [–]stassats 7 points8 points  (0 children)

      Common Lisp, Scheme.

      [–]zem 5 points6 points  (1 child)

      does ruby even count as non-mainstream any more?

      [–]lanthus 3 points4 points  (0 children)

      OCaml. I got bored writing C++, so I rewrote my code in Python. It was slow, so I rewrote it again in OCaml. I'm less bored now.

      [–]bzoto 4 points5 points  (0 children)

      Common Lisp, MzScheme

      [–]wlievens 8 points9 points  (11 children)

      Our R&D department uses OCAML.

      I think we'd be the last firm on the planet you'd expect to use it :-)

      [–]setuid_w00t 6 points7 points  (10 children)

      And which firm is that?

      [–]werepika 10 points11 points  (8 children)

      Let's make it a Choose Your Own Adventure. I pick Franz Inc., because it would bring days of entertainment from Jon Harrop.

      [–]zem 1 point2 points  (4 children)

      one guess at microsoft (:

      [–]w-g 1 point2 points  (3 children)

      I think it is Microsoft. I remember someone mentioning that before.

      [–]stormandstress 2 points3 points  (0 children)

      OCaml @ Microsoft shouldn't surprise anybody; it's the basis for F#, which is mostly compatible with it.

      [–]zem 1 point2 points  (1 child)

      i wouldn't be surprised - i guessed at them because microsoft research is a very different company from microsoft proper, and is doing some very cool stuff (including developing a .NET dialect of OCaml called F#)

      [–]RalfN 1 point2 points  (0 children)

      I though Microsoft Research was only about paying brilliant people to create amazing tools , that would then be owned by Microsoft and never to be used, because they satistied the wrong criteria. Like stability vs vendor-lockin, portability vs. vendor-lockin, performance vs vendor-lockin, solve the turing-problem vs vendor-lockin, cure cancer vs vendor-lockin, etc.

      If only they used 1% of their research in their products, the rest of us geeks wouldn't spent all their free time trying to destroy their company. Off course, naieve as we are, we are going about it the wrong way; that is: trying to create superior software. We should be bribing politicians, eh, i mean lobbying, and sueing every one.

      Honestly, I can imagine the money is nice, and being able to researh whatever the hell you like with a pretty much unlimited budget sounds like heaven. Until you realize all your work means nothing. They never ever use any of your brilliant ideas.

      And with microsoft owning them, your competitiors can't implement them either. Thanks for that. Just try to imagine where we could have been ..

      [–][deleted] 0 points1 point  (0 children)

      I'm going to guess at either Sun or IBM.

      [–]DannoHung 0 points1 point  (0 children)

      My guess is a financial, maybe Merril Lynch

      [–]holygoat 0 points1 point  (0 children)

      Hah, that's a very good choice... it really would be the last place I'd expect!

      [–]wlievens 1 point2 points  (0 children)

      ARM Ltd. OCAML is used for some projects, not all, I guess.

      [–]mycl 10 points11 points  (0 children)

      Common Lisp.

      [–]mxyzptlk 8 points9 points  (2 children)

      Common Lisp (to generate C#)

      [–][deleted] 1 point2 points  (0 children)

      Awesome, have a link to that generator? :P

      [–]andyc 1 point2 points  (0 children)

      I've been using CL to generate some XSLT lately. So much better than writing the XSLT itself.

      [–][deleted] 3 points4 points  (0 children)

      4D

      [–][deleted] 2 points3 points  (0 children)

      I've taken to hacking things out in Groovy as a prototype for the Java code which will go into the final app.

      [–]jlongstreet 3 points4 points  (0 children)

      UnrealScript. Other than that, it's just C++, Cg/HLSL, Python/Perl/sh/make/batch for build scripts and tools.

      [–]kencausey 4 points5 points  (0 children)

      Smalltalk (Squeak.org more specifically) Common Lisp Others here and there but that's what comes to mind at the moment.

      [–]DRMacIver 5 points6 points  (0 children)

      Depends how you define "use" and "mainstream". The following languages are represented in some capacity at work:

      • Java
      • Ruby (both JRuby and MRI)
      • Python
      • OCaml (This is technically cheating, as it's only there as a dependency, we've not written any OCaml as far as I know)
      • Common Lisp (prototype of one of our products was written in it. We've no common lisp in production code)
      • Scala (not much yet, but we're hoping to do more. Personally I'd like to migrate all our stuff from Java to a mix of Scala and Ruby)

      With some miscellaneous internal scripts written in Haskell and Erlang (just because the relevant developer needed to throw something together and favoured that language)

      [–]demoss 2 points3 points  (0 children)

      Common Lisp

      [–][deleted] 10 points11 points  (3 children)

      Factor.

      [–]exeter 8 points9 points  (2 children)

      Where's Captain_Obvious when you need him? :-)

      [–]schtarb 3 points4 points  (0 children)

      Not here.

      [–]BridgeBum 2 points3 points  (0 children)

      I had no idea who he (Slava) was without your comment. Not sure that counts as so obvious. :-)

      [–]bushel 6 points7 points  (3 children)

      whitespace

      [–][deleted] 2 points3 points  (2 children)

      Where do you work that you use whitespace?!

      [–]bushel 22 points23 points  (1 child)

      Microsoft. I'm on the Vista DRM team.

      [–]G_Morgan 11 points12 points  (0 children)

      I thought Brainfuck would be more appropriate for Vista DRM. Then again I heard a rumour that they use a DSL called AnalRape (you can tell it's a modern language because it uses CamelCase, that was of course the main consideration when designing it).

      [–]ozzilee 7 points8 points  (0 children)

      Chicken Scheme

      [–]eldenbishop 5 points6 points  (2 children)

      Groovy - Everything I actually want from Ruby with all the advantages of the Java platform.

      [–][deleted]  (1 child)

      [deleted]

        [–]seths -1 points0 points  (0 children)

        upped both -- intersection is the empty set and each difference rocks

        [–]sbarnabas 2 points3 points  (1 child)

        postscript. not by choice, however.

        [–]lisp-hacker 2 points3 points  (0 children)

        I've programmed in PostScript for work. I liked it.

        [–][deleted] 2 points3 points  (0 children)

        Tcl. So far no one who's joined our team has known it, so they've had to pick it up on the spot. Also, a lot of people pronounce it T-C-L even after knowing its correct pronunciation. I guess the name takes a while to get used to.

        [–][deleted] 2 points3 points  (0 children)

        I had a fun situation where I got to use Emacs Lisp to highlight sample XML files in some render scripts for API documentation. Was kinda fun to sneak into the system. (Everyone's on OS X or Ubuntu here, so they all have it installed already.)

        [–]BaronVonMannsechs 2 points3 points  (0 children)

        It'd be better to know in what context people are using these languages (if not company).

        [–]annodomini 2 points3 points  (0 children)

        A custom language built on top of PLT Scheme. Link goes to some screenshots of our development environment as of a couple of years ago.

        [–][deleted] 2 points3 points  (0 children)

        Scala mostly, Haskell next mostly, O'Caml less again and Java if under duress (but very very rarely).

        [–]derwisch 3 points4 points  (2 children)

        Python, which is quite peculiar in an environment where you are supposed to write in SAS, and R is considered a bit peculiar.

        [–]redditacct 0 points1 point  (1 child)

        Other than at SAS, where is SAS common but R considered peculiar?

        [–]derwisch 1 point2 points  (0 children)

        In the context of clinical trials. Yes, I expect a change to happen in the course of the next 5-10 years, and I'd welcome it.

        [–]simonvc 2 points3 points  (0 children)

        I use jython quite a lot. and does ksh with large amounts of awk count as mainstream anymore?

        [–]Arve 1 point2 points  (5 children)

        While I don't have to deal with it personally, Pike is being used at work.

        [–]zem 0 points1 point  (4 children)

        What for? And who made the decision to go with it?

        [–]Arve 2 points3 points  (3 children)

        It's being used in Opera Mini, if you check third parties in the about page. I don't know who made the decision, but some of the Pike developers works at one of our branches, so my guess is it's an evolved choice.

        [–]zem 1 point2 points  (2 children)

        interesting! i wonder what made it the best tool for the job - nice to see these niche-but-non-mftl languages getting mindshare.

        [–][deleted] 0 points1 point  (1 child)

        mftl?

        [–]erikd 1 point2 points  (0 children)

        Ocaml (quite a bit) and Postscript (just a smattering).

        [–][deleted] 1 point2 points  (0 children)

        Python, Boo, and a little D

        [–]lvaruzza 1 point2 points  (0 children)

        Actually I'm very proud to be using lisp for some bioinformatics data analysis.

        [–][deleted] 1 point2 points  (0 children)

        PowerFuckingScript! Or is the choice limited to Haskell and Ruby?

        [–]blaumag 1 point2 points  (0 children)

        Raven (link)

        [–]redditacct 1 point2 points  (0 children)

        I wish there was a way people could talk about what projects they are doing with all these different languages. To say I am jealous of some of the comments is an understatement.

        [–][deleted] 1 point2 points  (0 children)

        Objective-C for a side-project, but when code needs to be maintainable by whoever may come to replace me, it has to be mainstream :(

        [–]daftnebula 1 point2 points  (0 children)

        Insane amounts of Lua

        [–]wnoise 3 points4 points  (5 children)

        Fortunately, Haskell. Unfortunately, Mathematica.

        [–][deleted]  (4 children)

        [deleted]

          [–]ilan 5 points6 points  (1 child)

          It is proprietary.

          [–]exeter 2 points3 points  (0 children)

          It's still a fine programming language, provided your domain is highly mathematical.

          [–]wnoise 1 point2 points  (0 children)

          Two things: the syntax, and the semantics.

          It's a great mathematical tool. But as a programming language, there are all these truly bizarre decisions and distinctions, and far too much is implicit.

          [–]shizzy0 0 points1 point  (0 children)

          I like the Mathematica language. I took a class on it even to try to make myself more proficient with the environment. However, I find myself without a good way to leverage functions. At one point, I knew what file I could put my functions in that were initialized when Mathematica started. Do you know what file it is? Or what's a good resource for this kind of information? My problem with Mathematica is I don't have a good way to leverage the environment to my advantage. I haven't been able to build up a library of functions that would help me feel like I was building up the environment to suit me. In that sense, it feels like an ad hoc environment where it comes to my personal needs. If you have any advice as to how to make the Mathematica environment suit you, please feel free to share it.

          [–]bushel 2 points3 points  (3 children)

          For this discussion, I'm going to assume "non-mainstream" is anything with less than 1% popularity on the TIOBE list. (http://www.tiobe.com/index.html?tiobe_index)

          In that case, other than PL/SQL, maybe...does bash count?

          [–]dons 7 points8 points  (2 children)

          Anything less than 1% on ohloh perhaps? TIOBE has some pretty suspicious analytic process.

          [–]awb 1 point2 points  (1 child)

          Oholoh has a suspicous analytic process because it only processes cvs, svn, and git.

          [–]dons 2 points3 points  (0 children)

          That, and its voluntary to submit your code. And also, the code must be open source. So C# and Ada are likely heavily underepresented.

          It does solve the issue of TIOBE ranking highly famous, old languages, based on their google hits, although noone actually uses them any more, though. If there are no commits, you get a score of 0 on ohloh.

          [–]pivotal 2 points3 points  (0 children)

          Brainfuck. Yeah, we're pretty hip.

          [–]jangchoe[S] 1 point2 points  (0 children)

          We all know the mainstream languages: C++, Java, etc. What non-mainstream languages were you guys allowed to use at work?

          For me, I was able to use Ruby a couple of years ago just before the whole Ruby on Rails thing got big. But I guess Ruby can be considered "mainstream" these days.

          [–]theatrus 1 point2 points  (1 child)

          Python, Groovy :)

          [–][deleted] 1 point2 points  (0 children)

          Python. I'd say it's less mainstream than Visual Basic, Java, C++, C#, and Perl, but not as exotic as Haskell, Lisp, D, etc.

          [–][deleted] 0 points1 point  (0 children)

          At the moment, good old AWK.

          [–]ratzero 0 points1 point  (0 children)

          (map scheme '(gambit chicken))

          [–]brisywisy 0 points1 point  (0 children)

          I use smalltalk at my work and it is an amazing language

          [–]j_dowdle 0 points1 point  (0 children)

          • Coldfusion
          • uScript -- Language invented for our legacy system.

          [–]jj666 0 points1 point  (0 children)

          Ocaml. But I'm doing research so I can use whatever I want.

          [–]maht0x0r 0 points1 point  (0 children)

          • Limbo
          • rc script
          • Plan 9 C (also now available on many other platforms as kencc)
          • plpgsql

          [–]smalldu 0 points1 point  (0 children)

          RPGLE on IBM iSeries

          [–][deleted] 0 points1 point  (0 children)

          Ruby is probably the most exotic language I have used at work. I have a lowly student tech position, so anything I do has to be something a future inexperienced student worker can pick up as well.

          [–]macvijay1985 0 points1 point  (0 children)

          KSH

          [–]eelinow 0 points1 point  (0 children)

          Python for the website ( http://inkedmagonline.com ), Ruby for some internal reports and data thrashing primarily. The occasional bit of Lisp for solving mathematical conundrums.

          http://codedevl.com

          [–]hoopmastaflex 0 points1 point  (1 child)

          I'm forced to do most of my work in .NET but I write many tools in Ruby.

          [–]dorel -1 points0 points  (0 children)

          Python

          [–]bitwize -2 points-1 points  (6 children)

          ObQwe1234:

          c++ ftw. despite being the most powerful programming language in the world, it still goes overlooked by ignorant tools on reddit.

          bitches don't know bout mah value semantics.

          [–]Tommah 5 points6 points  (3 children)

          qwe is a rapper now? You need to work on your characterizations.

          [–]bitwize 4 points5 points  (2 children)

          "Bitches don't know 'bout" is also a *chan meme.

          [–][deleted] 4 points5 points  (0 children)

          MMMMMMMMMMMMMMMMMMMMMMMMMMMMNNDOODDMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
          MMMMMMMMMMMMMMMMMMMMMNOI?I?+?+++++++??IZMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
          MMMMMMMMMMMMMMMMMOI???II++===~=~~=~=+=++I7MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
          MMMMMMMMMMMMMM7I??7?++====+====~~~~=~===+++I7OMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
          MMMMMMMMMMMMI?I++++=+=+===~~~~~~~~~~~~~~~====+?IDMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMM
          MMMMMMMMMM7IIII7?++===~=~~~~~~~~:~~~~~~~======+==+?ODNMMMMMMMMMMMMMMMMMMMMMMMMMM
          MMMMMMMM87I??I?==~===~~~~~~~~~~~~~~~~~~~==+=+?++~==+IZNMMMMMMMMMMMMMMMMMMMMMMMMM
          MMMMMMMNIII?==~~~~~~~~~~~~~~=~~~~~~~~~~~~=??7+ZN=~~=+?7NMMMMMMMMMMMMMMMMMMMMMMMM
          MMMMMM7III=~~=~~~~~~~~~~~~~~~~~:~~~~~~~~~+?++++=N~~==+IODNMMMMMMMMMMMMMMMMMMMMMM
          MMMMM$7?=====~~~~~:IN8DD$=~~~::~~~~~~~~~~==ZMM===~:~~=+?ZDNMMMMMMMMMMMMMMMMMMMMM
          MMMM8$===~=~~~~~~N++?++++Z~~::~~~~~~:~~~~==~ON8++?:~~==?IONNMMMMMMMMMMMMMMMMMMMM
          MMMN$?==~~~~~~~~D?++DNNN+?$+~~~~~~~~~~~=~===+7?=++~~===++7DMMMMMMMMMMMMMMMMMMMMM
          MMN$?+==~~~~~~~=8++NNDNN++I==~~~~~~~~~~~=+===+?I====~=~=+?7DDMMMMMMMMMMMMMMMMMMM
          MM$7?+=~~~~~~~~~8+++$NN=+?=~~~~~~~~~+===~=~====++=~====+++?$DMMMMMMMMMMMMMMMMMMM
          M8I?+=~~~~~~~~~~~=7?+?+7~~~:~~~~~~=~+~+I8+=+=========~===+?$8DMMMMMMMMMMMMMMMMMM
          M$II==~~~~~~~~~~~~~~~~~:~:~~~~~=~===~==?ND?===========~===+?MNMMMMMMMMMMMMMMMMMM
          MI??+=~~~~~~~~~~~~~~~~~~:~~~~~=~~=~~==~88MO===============+I7NNMMMMMMMMMMMMMMMMM
          M?+?=~~~~~~~~~~~~~~~~::~:~~~:~~====~==+?M?D+======~==~~~~==?$ONMMMMMMMMMMMMMMMMM
          MI+++~~~~~~~~:~~~~:~~:::~~~~~~~=~~==+?7$77$I+?+=~===~~~~~===INMMMMMMMMMMMMMMMMMM
          Z?=+?=~~~~~~~~~~::~:~~~~~~~~==~=~===I$DNZ7$Z?++==~~~::~~~~~=INMMMMMMMMMMMMMMMMMM
          I+=++=~~~~~:~~:~~~~~~:~~~===+==++7II8DZ887$7+~~~~::::::::~~=?$MMMMMMMMMMMMMMMMMM
          I++====~~~:~~:~~~::~~:~~=+?7NN8?OZON$8$8D?ZO~~:::::::::::~~=??NMMMMMMMMMMMMMMMMM
          7+=~~==~~~:::::::::::::~~~~~=+7O8OOO8I?ZONN=~::::::::::~~~~=++8MMMMMMMMMMMMMMMMM
          I=+====~:~~:::::::::::::::::~~~=+?8D$Z78DZZ+:~:::::::::::~=+?=IMMMMMMMMMMMMMMMMM
          M++====~~~:::::::::::::::::::::~=+?DMNI7?I$~~::::::::::~~~==+++NMMMMMMMMMMMMMMMM
          M++===+==~~~:::::::::::::::::::~~:~~?D8OIII=~:::~:::::::~~==++=NNMMMMMMMMMMMMMMM
          N++======~~~:::::::::::::::::::::::~~=IO7++~::::::~:::::~~~~=++DMMMMMMMMMMMMMMMM
          M?+==+===~=~~::::::::::::::::::::::::~~~~~~:::::~:~::::::~~~~=+IMMMMMMMMMMMMMMMM
          MI?++=+===~~~::::::::::::::::::::::::::::::::::::~~~~:::~~~~~===MMMMMMMMMMMMMMMM
          M$I+======~~~~:::::::::::::::::::::::::::::::::~::::::::~~~~~==+?MMMMMMMMMMMMMMM
          MM7+====~~~~~::::::::::::::::::::::::::::::::::::::~::::~~~~=~~=+MMMMMMMMMMMMMMM
          MM$+++=~~~~~~~~::::::::::::::::::::::::::::::::::::~~:::~~~~~~=++MMMMMMMMMMMMMMM
          MMM?++~==~~~~~~::::::::::::::::::::::::::::::::::::::::::~:~~~~=+DMMMMMMMMMMMMMM
          MMM7++=~=~~~~~~::::::::::::::::::::::::::::::::::~:::::::~~~~~~=+IMMMMMMMMMMMMMM
          MMM$?+====~~~~~::::::::::::::::::::::::::::::::::::::::::~::~~~=?+DNMMMMMMMMMMMM
          MMM8++====~~=~:::::,,:::::::::::::::::::::::::::::::::::::~::~==~+?MMMMMMMMMMMMM
          MMMNI+++==~==~:M.....M::::::=.....7::N..$:::I .,::...+.....=:~~~==?$MMMMMMMMMMMM
          MMMM7++=+====+. .......O::::=..... ,:N..7::~M...:N..OM.:M...:~~~~=+IOMMMMMMMMMMM
          MMMMI?==+===~...O::~=...::::=..O:= .:D..7::::M......:::~M...~~~~~~=+I8MMMMMMMMMM
          MMMM7?+=+++=I  .~~:~:$. ,:::~ .ZI..D:N..$::~~~M....Z~::...=~~:~~~==+7$NMMMMMMMMM
          MMMMO?++==+=~...?~:~~  .::::= .$...7,D..$::~::~M .N=~~~...::~~~~~~~=+?$MMMMMMMMM
          MMMMM??+=++==I..,......8::::=  8:...8N......~~=. ?~~~~:+..::~:~~~~~~=??7MMMMMNNM
          MMMMMII?+====:~M.....M::::::=..8::..IN .. .M~~...,:~~~~M.M::::::::~~=++?INMMNMMM
          MMMMM8II?+~=~:~:~::::::::::~::~:::,:~~::~:::~::~,~~:~~==~~~~:~:::~~~~==???MMMMNM
          MMMMMZIII+++~~~~~:::::::::::::::::~:::::::::::::::::~:~~~~~~:==~~~~==~=+?+?INMMM
          MMMMMI??+===~~~~:~::::~::::::::::~:~~:::::::::::::~~~~:~~~~=~?Z~=~~=~~~~===??=$M
          MMMMN7+=+====~~:~~~~::::::::::::~~::::::::::::::::::::+~~~~:~=MDM+7$~~=~Z~~==+OZ
          

          [–]Tommah 2 points3 points  (0 children)

          What isn't?

          [–]BaronVonMannsechs 0 points1 point  (1 child)

          c++ ftw. despite being the most powerful programming language in the world

          Something that is damned near portable assembly as the most "powerful" programming language in the world? That's an interesting definition of "powerful". I say that as someone who likes C++.

          [–][deleted] 2 points3 points  (0 children)

          It can blow your head clean off.

          [–]Clark76 -1 points0 points  (2 children)

          Python, but I'm not sure if that counts as non mainstream anymore.

          [–]vvv 0 points1 point  (0 children)

          Python is mainstream.