views:

1022

answers:

28

Hello Everyone.

Been learning Erlang, which brought the following question to mind:

What do SO users consider an under-appreciated language/platform ... and what are their reasons?

Semantics, Syntax, Usability, Deployability, Scalability ... whatever. Which language/platform do you think should be more widely deployed, developed, or more popular than it is?

(subjective yes, but I hope interesting for people looking to dive into new things)

A: 

The .NET Framework. If it had an Apple or Penguin stamped on it, I think people would trash it a lot less. I wish I heard more compelling arguments more often for not using it other than "It's Microsoft, that's why."

It's not perfect, but any stretch of the imagination, but it's a pretty compelling platform for software development.

Wayne Hartman
I have seen just the opposite. If it isn't from a big vendor and doesn't have Microsoft stamped on it, they won't touch it. Django? Who'd touch that? If it doesn't have the big name, it's hard.
johnny
I like .Net as a framework, and even Silverlight and such. What I don't like is developing on windows as a whole, or using visual studio. I also think C# is a really nice language and linq is just cool. That said - get mono. All the perks without the suck.
jess
.NET is MS-Java. Sure, MS has made little mistakes in copying it, but that is not per se greatness.
Marco van de Voort
Sorry, but I just don't see it happening. Maybe on reddit and digg, but I'd hardly call them paragons of programming discussion.
Jason Baker
I wouldn't mind seeing a Mono experimental branch that isn't tied to MS-compatibility.
Aiden Bell
Well, they did employ Anders. Not a bad move to start with.
Marco van de Voort
Seriously? You're arguing that .NET is underrated on a site continually accused of being heavily skewed in favor of .NET programmers? That's either blatant pandering, or a persecution complex... ;-)
Shog9
@shog9 Thought that myself.
Aiden Bell
Most of the .NET programmers have to. It might not be choice :-)
Marco van de Voort
+9  A: 

Probably VisualBasic. Generally disliked by everyone and considered "childish", although I regularly hear it is not that bad.

User
Im not a VB user but VB.NET is every bit as capable as any other .NET Language.
Robert Kozak
After turbo-pascal, VB was one of the first languages I played with. I think for many people, it might have been too. Maybe this is where the association comes from (im 22)?
Aiden Bell
VB is certainly capable enough, but it is just overly verbose.
Zifre
@Robert Kozak, I'm not sure that it's capability that's the issue, but it's syntax. For all the C snobs out there, VB can be a little underwhelming. Give me my braces or die! :P
Wayne Hartman
I used to stick up for GWBasic, but I've never been able to use it since it became "visual" basic. Honestly, the functionality in VB.net is almost identical to C# (there's even utilities to translate between the two) so it's all a matter of syntax and sugar, and VB is ugly compared to C# imnsho. :)
jess
imnsho? I've heard of imho but not that. And yeah, VB is generally underrated. Not by people who have a reason not to like it (it doesn't work well for them), but by people who seem to look down on it simply because of the name and/or various misconceptions about what it can or can't do.
Sukasa
I was forced to use VB for .NET 1.1 for 3 years and it's pretty brutal. Yes, it has most of the features of C#, but the verbosity obscures everything.
cdmckay
I've used it to a limited extent, and I honestly can't see why I would use it over C#, much less F#, if I had to write something on .NET. Perhaps you can expand your answer to tell us why VB is better than C# or F#.
Curt Sampson
I think there's better tools now, but historically VB6 was probably the easiest way to write a windows GUI.
catphive
Don't confuse VB6 with VB.NET. VB6 sucks. If you wanted to build a GUI, Delphi was always leaps and bounds ahead. The VB6 language is piss-poor. It lacks simple features. You end up having to resort to functions in kernel32.dll and such. It had pathetic OO. People don't hate it because they are childish. They hate VB6 because they had to use it at least once. Everyone who enjoys VB6 suffers from the IT Stockholm Syndrome.
João Marcus
One of the most sold and most used IDEs of all time is "obscure" and "under-appreciated"? The Hell?!
JUST MY correct OPINION
+6  A: 

I was always enamored with Cocoa's FoundationKit. I really enjoy programming in Objective-C, and I often wish I could do so on other platforms. I know it's too much to ask that ApplicationKit, the GUI component of Cocoa, be usable on other platforms, but it'd be cool if I could at least write command-line apps in Cocoa on other systems. GCC can compile Objective-C sources, of course, so we just need a decent cross-platform Objective-C framework to make this wish a reality.

I know there's GNUstep, but it's not quite up to par with FoundationKit (and there are quite a few differences between each, too).

mipadi
+4  A: 

I was recently working through the SIPC book/course and discovered that scheme is actually really nifty. After a lot of reading and futzing, I came to the conclusion that functional languages in general seem to be very underrated. I'm still on the fence about Prolog. :)

I was actually thinking along this exact topic, myself, but didn't think of how to phrase it well.

Also ObjC, plain old fashioned C, and Perl (everybody used to love Perl, but it's just so unfashionable these days... it's still good for what it always was good for, notably unix administration scripting, among others).

jess
With you on C. My fav. As for Perl, I just find it ugly and clunky. I only used it for regexp, but then alot of languages caught up ... now I find Python's re (esp re.compile()) useful. And I hate the 'default variable' thing. I see the logic, but, ewww.
Aiden Bell
+3  A: 

Linux. Too many big companies don't use it purely because they are used to Windows, and "open source is a bad thing".

Zifre
This is sad, especially because a certain code-quality comes from vocational programming and 'labour of love' input. And peer-criticism :)
Aiden Bell
Oh sure, go for the obvious one!
jess
Depends whether you mean on the desktop or server. I wouldn't say it's underappreciated on the server and I would say there are pretty darn good reasons for it not being more popular on the desktop.
Mike McQuaid
+10  A: 

Modula-2. Its grammar fit on a single page.

Marco van de Voort
Simple and elegant, yet has some powerful features still not found in any of the popular languages.
dwc
Smalltalk's original *implementation* fit on a single page. :-)
Ken
All original implementations do. Just go back in time enough.
Marco van de Voort
I loved Modula-2.
Nosredna
I also loved Modula-2's spiritual successor, Modula-3. Grammar on a single page. Full language and standard library spec in 50 pages.
JUST MY correct OPINION
IMHO M3 took it a step too far. Great design, low usability.
Marco van de Voort
+14  A: 

Delphi.

You can make a powerful windows app in few clicks without even writing anything. Was my first real language but I had to abandon it just because nobody needs it...

serg
Now we are getting down to it ;)
Aiden Bell
Then you know how most former Perl devs feel these days...
jess
Why would you want to write a program without programming it?
Zifre
Zifre: why write scaffolding code? Click for scaffolding and then spend your time writing app logic.
dwc
Maybe 1 of the reasons why nobody needs it is because it is a very verborragic language.
eKek0
Ah well, Delphi is still the 2nd most sold IDE.
Marco van de Voort
A place I worked at used Delphi quite a lot along with C#/VB.Net
TWith2Sugars
draegtun
serg555 wins by way of votes. I might have a dabble in Delphi!
Aiden Bell
+10  A: 

For platforms, at the risk of sounding trendy - OSX/Cocoa is terribly underused/underrated. As a long time linux user/developer I can say that "once you've had Mac, you'll never go back." It's really just slick and does what you'd want and expect and does it well and intuitively.

Add in things like Core and Quartz graphics (and composer) and it's just a field day for any geek looking to create good looking, good functioning software. I believe this plays a big part in why Mac apps, though fewer, are often higher quality than on other platforms. They're a joy to write, and the development environment almost demands quality by association. The learning curve, which you'd expect to be pretty big, is actually not bad at all.

PS: I am not an Apple fanboy(girl), I've used Macs since OS/9 (in anticipation of OS/X) and before that I owned a real live NeXT Cube (which is probably in my garage somewhere now). So nyah.

jess
i found the opposite, and I am a UI-design-fan. Just never took to it, nothing logical, just not my cup-of-tea.
Aiden Bell
I disagree. I think there are many good technical reasons why nobody uses Obj-C. Cocoa is obviously limited to just Mac OSX. Personally, I have used Macs, Linux, and Windows, and I find GNOME to be the most intuitive environment out there. For programming, I like KDE/Qt/C++ and Mono/Gtk#.
Zifre
I realize that it's not suited for cross platform development, but that doesn't take away from it's underratedness, I think. It's good for what it is. I tried to use Gtk+ back in the day and it made my head hurt - even trying with the Perl language bindings. Looking at it again recently it seems to have improved a lot, but I still find Gnome based development in general to be more of a learning curve than others. Qt in C++ or python is looking nice these days though, I admit. I really need to try Gtk#...
jess
I love Cocoa - I !!HATE!! Objective-C. I do agree with the quality part, the quantity of Windows apps that are horrible is much more than the truly great ones. UNIX apps, though good quality, do not usually have very polished interfaces.
Isaac Waller
@Zifre, Im with you on Gnome/GTK ... In Python or C (when speed is needed). Libglade's XUL-like XML loading is also awesome!
Aiden Bell
I don't like objective C. I don't know cocoa enough, but studied interfacing to it from a language that I do prefer. Too hard, back to Windows. At least win32 api is language agnostic.
Marco van de Voort
I'm using more and more Objective-C. As a result, I love Python more and more. Hell, I love C99 more and more! I'm really tempted to try out the Python bridge to make native apps. No matter how familiar I get with Objective-C, I still want to roll my eyes at it.
Nosredna
+12  A: 

There's no platform that's more under-appreciated than the Ecere SDK.

It was created by a guy in ##programming on freenode, its official channel is #ecere on the same network.

He's been working on it for years, it just never got noticed.

Don't be be deceived by it's website's old look; it's really amazing, you can find examples of it along with a sample code here.

I hope you guys like it. GB

Leo Jweda
Looks interesting. Maybe it just needs a sleek Mozilla-esque marketing push.
Aiden Bell
I snagged a copy. Other than the latest build for OS/X being 1.5yrs out of date, it looks really nice.
jess
Wow! That looks really cool...
Zifre
According to activity on the forums it looks like Ecere is still active...
Peter Lillevold
@Peter: It *is* active, but it doesn't have many users... I doubt it has more than 200 users, max.
Leo Jweda
The news section hasn't been updated since 2007.
Nosredna
But it's still under active development.
Leo Jweda
Looks nice, will investigate in my Copious Free Time.
j_random_hacker
+3  A: 

Also Adobe Flex, as great as it is, it's still underused.

Leo Jweda
Silverlight, too. Both are better than most of the flash that was around a few years ago).
jess
+3  A: 

I'll put in ColdFusion. I'm not a big ColdFusion developer or fan but during the time I used it, it seemed like a very easy to use technology.

metanaito
+1 for a well kept and powerful secret.
Jas Panesar
So much more enjoyable than PHP development, imho.
Hooray Im Helping
+3  A: 

Maybe a mention of

  1. Self
  2. Haskell - Type classes.
  3. Erlang - although popularity is increasing, the more I learn, the more I like.
  4. JavaScript - I would like to see more work on server-side JavaScript for Apache. Esp with E4X.

My 2p. Maybe not all logical choices, but some things just catch my eye.

Aiden Bell
I'll agree on JavaScript. Although in fairness, I think it would be kinda hard due to a lack of server-side libraries.
Jason Baker
Couple of bindings, MySQL, Memcache, --- bish bash bosh.
Aiden Bell
JavaScript is a nifty little language. The more I program with it, the more I enjoy it's flexibility. I think the main reason why I stayed away from it was how much of a nightmare the cross-browser inconsistencies were. Fortunately, jQuery and similar libraries have mostly fixed that.
cdmckay
+8  A: 

ZSH

it contains everything that Bash has, but better, and 4-5 years earlier, and also even more things, that Bash doesn't have.

+1000 - I love ZSH.
Jason Baker
More ain't necessarily better.
Norman Ramsey
@Norman: such argument is a fallacy. More is better, and ZSH provides things to do more right: it has modular architecture. Zsh binary is smaller than Bash, even though it contains more. Bash with perl regexes is huge and slow.
bash still can't do **/*.java or **/*.[ch], unless there's an option, but zsh just does it right out of the box.
Jared Oberhaus
@Jason - Seconded
new123456
+11  A: 

PHP

PHP seems to get slated at every opportunity.

It definitely has its issues, but on the plus side, it is quick, easy to get started with and has a fantastic community.

I realise that although under-appreciated by Programming guru's, it is definitely over-appreciated by newbies.

Jon Winstanley
I disagree for various reasons, but I'll vote this one up because I can see the argument.
Jason Baker
I just got fed up of PHP. The more I learned about syntax/semantic analysis, the more second-rate I saw it. Moved to Python.
Aiden Bell
I'm with Aiden here. I tried to learn PHP just because it's an "in demand" skill, but I just can't get excited about it. Although it works, there's nothing special about it, and other languages have so much more to offer.
jess
@jess - :) When I started learning about compilers and looked under-the-hood at the Zend engine. It all fell apart. Yes, it's quick to get going, but at the cost of a poor syntax and not-well-thought-out semantics. Not a price I want to pay.
Aiden Bell
I agree that it is not a perfect language. But everyday people get a lot of stuff done in it. The huge number of PHP frameworks helps out a lot.
Jon Winstanley
When I moved to C#/ASP.NET, it felt as a blessing after PHP.
Marco van de Voort
Really? I find ASP.NET really difficult to create valid web pages.
Jon Winstanley
I find PHP hard to make a valid application. Something which I value more than 100% spec html.100% spec only if I'm working for the government or something else publically that requires it.l
Marco van de Voort
Everyday people write in it huge amounts of boilerplate, cut-and-paste code that quickly turns into a maintenance disaster. I think PHP is over-appreciated, if anything.
Curt Sampson
+3  A: 

Although it's rapidly gaining more mainstream acceptance, I feel that Python is still a bit of an underused platform. "Enterprise-y" companies shy away from it because of a combination of "there's no one to sue" and "nobody ever got fired for choosing .Net/Java."

Among smaller startups, it just doesn't seem to be as "sexy" as Rails or sometimes even .Net.

Jason Baker
I would like to see the Gnome Desktop Environment commit a bit more to Python. Didn't like Vala much.
Aiden Bell
A: 

Unlambda, OISC and Piet.

outis
+7  A: 
George Jempty
I'm not sure the linked article explains it very well but I definitely agree Tcl and it's widget toolkit Tk is highly misunderstood.
Bryan Oakley
This takes me back to my Uni days, mind you it was only last year ;)
TWith2Sugars
+6  A: 

Perl.

1) People who never seriously used it complain it's unmaintainable. (I've seen good Perl & bad Perl. I've also seen good C++ & bad C++. Yes, you can write maintainable Perl.)

2) People who never created scalable applications complain it can't scale. (It scaled pretty well for My Yahoo, Ticketmaster, Overture, etc.)

3) People think it's dead. Perl 6 continues to enforce that notion & is a major disaster, but Perl 5 has plenty of innovation.

Bill
+15  A: 

Lua. Despite its incredible power-to-weight ratio and good string library, it still seems to be viewed as a niche language, useful perhaps for gaming or embedded software, but not mainstream. Yet it's a wonderfully powerful, general-purpose language good for scripting, string processing, and (some kinds of) functional programming. It beats heck out of Perl or Python and can give Ruby a run for its money!

Norman Ramsey
+1 on the Lua :)
Aiden Bell
Thank you! it's like there's only 20 people around here that like lua, and i'm one of them :)
RCIX
I like Lua lots too, but I know why it's not something likely to take over as a general-purpose scripting language.
JUST MY correct OPINION
+3  A: 

There is an awesome functional programming language called Clojure which is really easy to setup, learn and get writing great applications with it. I've only been playing about with it after watching a PeepCode screencast about it, but it seems like a really powerful tool and I'm really enjoying learning it. It runs on the JVM, so it's easy to run and deploy.

Functional Programming is a completely different style from the procedural lanuages we are all used to - and it's great to open new doors and learn new skills!

Jamie Rumbelow
+10 to +100 for Clojure!
JUST MY correct OPINION
+6  A: 

Ada - "Ada is strongly typed and compilers are validated for reliability in mission-critical applications, such as avionics software."

GvS
Best langugage for multithreading applications (imho)
Scoregraphic
+4  A: 

OCaml, which has features like object-oriented layer, type inference, functional and so on, and it's effcient as well. But it's just not so popular as it shoule be.

ZelluX
+9  A: 

Javascript for sure - considering how much it's capable of, possession of some language feature implementations (thinking of prototyping and closures specifically) to make others jealous, and considering it's competitors it gets far too little respect.

I firmly blame IE for this.

annakata
@annakata, Javascript is in my list. I never really took it seriously until studying compilers. What an amazing language. I want server-side JS ... NOW! :P
Aiden Bell
+1  A: 

IBM iSeries (previously AS/400 and currently System i). It's not a platform that I love, but it's a platform that I've worked with my entire professional life, and I've come to appreciate its reliability, security, and performance. I believe a lot of conservative companies that are willing to shell out the dough for Oracle-based solutions would do just as well or better (and for less money and less headache) with an iSeries.

It's also not (quite) as stodgy and backward as most people (who have heard of it but not used it) think. While it is best-suited for DB2 applications written in RPG, I find time to make use of the iSeries port of Python, for example.

John Y
+3  A: 
Curt Sampson
-1 for omitting "Glorious" (yes, yes, even the designers changed the title, but they're **wrong**)
Mark C
+4  A: 

Assembly language on the Amiga. Combine a great little multitasking kernel and elegant OS with the wonderfully orthogonal 68000 instruction set. Truly fun and powerful.

Nosredna
+1  A: 

I think the comments under Wayne's discussion prove the bias against .NET and make no real argument about why the .NET Framework is underrated. Sure, .NET seems to be a clone of Java on the surface, but when you take into account the many language improvements and rapid updates of the framework, it's far better to develop for the Java. More importantly, the .NET Framework is still in the process of maturing. We are just now starting to see quality open source frameworks being developed for the platform (keep in mind that Java has been around twice as long, and has had much more traction because it was so universally used).

And about Mono. I'm sorry, I love the .NET Framework, and I love Linux. But I can't imagine ever using Mono as the platform for my applications on Linux. If you are going to develop for Linux, there are just too many compelling platforms to use that integrate so much better (Python for one). Mono is always going to be the sidekick, always behind in development, and never quite as rich as the .NET Framework.

And for Jess, what's wrong with Visual Studio? I would say it's arguably one of the best IDE's out there, and I use Eclipse, among others.

Richard Clayton
+4  A: 

Forth, especially for Mobile apps.

le dorfier
Forth is about the coolest programming language I ever used. But I could only make small things with it. The bigger the program got, the more I realized I had to go back and redo my lowest level words, which meant horrible rearchitecting. Despite my failure, I loved it!
Nosredna