This is the inverse of the "What programming language do you wish would catch on?" question.

I was a Delphi programmer for many years, and I still appreciate its power, but I dislike verbose programming languages. So I would love to see Pascal put out to pasture.

The same goes for BASIC in any form, despite the fact that it's the language I cut my teeth on. When I look at cathedrals of beauty like Haskell and REBOL, BASIC just makes me cringe. (VB.NET is tolerable, but barely. It has a few nice language features I'd like to see moved to C#.)

My dislike of Pascal and VB.NET is subjective. They are powerful languages, but I dislike their syntax esthetically.

Try to explain your reasoning, if you can, even if it's just "I don't like its syntax."

This question is not meant to be a flame war, argumentative, or hateful. It's meant to be a straightforward, honest discussion of programmers' dislikes.

+13  A: 

If Fortran vanished it wouldn't bug me too much.

Scott Evernden
It might the next time you want your weather forecast or the pollutuion from that new factory modelled.
Martin Beckett
The only reason FORTRAN is beloved of engineers is that they learn to program from other engineers. They program as an adjunct to engineering. In fact engineering itself is merely an adjunct to BEER.
Peter Wone
+19  A: 

Fortran and Cobol are top on my list. They are both not that bad, well Cobol actually is, but what makes them so bad is that they are widely in use and should be replaced IMHO. Die, die, die. Then maybe Haskell (aka Gofer); not widely in use but ugly as hell.

They're only used for legacy code, surely? Since no-one uses them for new code they're as dead as any once widely-used language is ever going to be.
Mark Baker
Actually Fortran is still used for new code all of the time. Too many people know it (and don't know anything else), e.g. in the pharmaceutic industry (I've seen it happen with my own eyes). Cobol, however, is just legacy code, but there still exists tons of it, you wouldn't believe how much!
Actually UNISYS ships EAD3, which uses a rather esoteric language (named LINC 4GL AFAIK), which generates Cobol.
Zsolt Botykai
Sorry, but nothing beats good old Fortran when it comes to number crunching. Don't know about Cobol, though.
Nemanja Trifunovic
Hey Mark Baker, you'd be wrong on every single level. People use Fortran for new code for good reasons (numerical codes) and bad reasons (financial information systems).
@Nemanja: Nothing Fortran can do can't be done in C either and there is no reason why C should be any slower at doing it. Fortran has some math functions C doesn't offer, but nothing a generic, better math-lib for C couldn't solve either.
Mecki, search for "pointer aliasing". In short, Fortran compiler is able to perform some optimizations that C compiler cannot (at least not without the C99 "restrict" keyword.
Nemanja Trifunovic
+1 for the mention of COBOL
Mentioning Cobol and Haskell in the same answer is a very strange thing to do... Haskell is currently one the most advanced languages available.
Mauricio Scheffer
+3  A: 

I don't like VB and VB.NET

Ramesh Soni
+22  A: 

I think no language should die. Every language is here for a reason and that should be respected. Though, some languages are old enough to retire. ;-)

BTW: VB.NET (not VBScript or VB for Applications) is a great language and development environment. Read this blog entry by Kathleen Dollard: What a C# Coder Should Know Before They Write VB

Disclaimer: The original question was "Which language should die?"

Yeah, perhaps "die" is too strong of a word, but I thought it might drum up some interesting discussion. Someone edited my keywords to add "flamebait" and "hate", but that's not what I intended with this question.
Gregory Higley
I enjoyed Kathleen's blog post. My dislike of VB.NET is esthetic, and has nothing to do with its many powerful features, some of which I really like. I just don't like the LOOK of the language.
Gregory Higley
My point of view. No language should die. Heck, i even like that new ones are invented each day, even weird but still functional ones like whitespace, brainfuck and the like.
Agreed. All languages have some use, even if only to serve as inspiration/warning to future language designers ;-)
+80  A: 

I'd like HTML, JavaScript and CSS to die, only to resurrect as three perfectly implemented languages in all browsers.

Web-development is hard.

let's go shopping !!
I'd like HTML and CSS to die, and Javascript to thrive!
HTML is a programming language? CSS is a programming language? Don't write that in a job application... ;-)
I'd prefer if their souls combined into just one perfectly implemented language...
Bill the Lizard
I'll just sit here waiting for my pigs to fly... ;-)
+1. The "tweak CSS by one pixel and refresh in N browsers" process is painful.
Gabriel Isenberg
@Gabriel: Ur doin it rong!
Marko Dumic
CSS needs extension, but is otherwise guiltless - it's the *implementations* which are broken.
@annakata I disagree very very very strongly. If 95% of people cannot use a technology correctly, or can only do so with massive effort, it is broken.
This flash just occured to me: Html == model, css == view, javascript == controller. Does this grab anyone else?
+108  A: 

Visual Basic for Applications, and generally any language that tries to perpetuate the myth that programming is actually very easy and only looks hard because programmers insist on using weird symbols.

Argue the merits of syntax all you like, but it's clear that VB's syntax is designed to appeal to people without a programming background, and that worries me. If you find braces and terse syntax scary, then you're probably not cut out for programming, and you definitely shouldn't be writing "clever spreadsheets" that will inevitably end up as a critical part of your company's infrastructure before blowing up magnificently and leaving the curly-braces crowd to clean up the mess.

Dylan Beattie
I agree completely.
Gregory Higley
Couldn't agree more! Perhaps if they implemented more than three colors in their syntax-highlighting scheme, I'd let it live a few more years.
This view is a bit too arrogant IMHO. Yes, as beginning programmer you will eventually have to deal with special characters, but to blame a language that doesn't use them to make them more appealing for beginners ... just because we don't like using them doesn't make them bad. I vote for PERL! ;)
I only partially agree: "If you find braces and terse syntax scary, then you're probably not cut out for programming," So according to your theory the more obscure symbols a language has, the better it is. But I think it will scare people who start programming.
"If you find braces and terse syntax scary, then you're probably not cut out for programming" ++ I like some languages except for the fact they lack curlys ( ruby/python, looking at you )
Kent Fredric
Python only misses braces, not terseness ;) (unless you consider removing all indentation and newlines "improving" code)
It is better to have an untidy macro or half-baked code to do a repetitive task than nothing. VBA is not to replace a programmer, it is to replace tedium and the absence of programmers.
I work with VBA quite a bit in development some more complex add-ins for Office, but I agree with the sentiment. VBA is annoying to work with and the "IDE" that comes with Office is painful when you are used to a real IDE. Some sort of a scripting language for Office is needed, but VBA needs work.
I hate VB and agree that its not real programming, but i find your "if braces scare you, you arent a programmer" claim a bit tenuous. But ofcourse, if braces and syntax scare you, you wont be doing a lot in life anyways.
I had to mark an answer, and you're it.
Gregory Higley
I've read very different things from people I'd give high credibility. Someone there wrote the best ever was Visual Basic to get "things done". He mentioned all the shortcomings, but his conclusions was for him VB is among the best
I started on VB and don't look back. Much as I dislike it these days, the fact is, if it weren't for VB/BASIC, there would be much fewer software developers out there. Not everyone started straight on C++ at college. We owe a lot to VB.
Neil Barnwell
-1. If you think that print 'hello world' is any less than extremely superior to GenericPrinterServiceFactory.getInstance().GetScreenHandle().Send(FormaterFactory.getFormater().FormatAscii('hello world') then it's YOU who's not cut for programming.
missed a closing parenthesis in the example for languages with curly braces :D
-1 since I fail to understand why appealing to beginners (isn't that the 'B' in BASIC?) is something bad for a language. The argument seems like "complex and harder makes better" + "lets keep programmers as an elite restricted group". The point of the company's infrastructure is also bad since you can make a spaghetti infrastructure out of whatever languages you choose.
Miguel Ventura
@stefan.ciobaca: I find System.out.printl("hello world") or myOtherStream.println("hello world") extremely superior to print 'hellow world'. Traninwrecking like your example is bad in any language (but it is more common than it should be in java).
Rasmus Kaj
+85  A: 

PHP. There are dozens if not hundreds of pages across the Internet that tell why PHP is a bad programming language, but I'll repeat the really good points here:

  • No namespaces
  • External configuration files determine what language features are available
  • No namespaces
  • Functions within many functional groups have wildly varying names
  • No namespaces
  • Inconsistent grammar

Oh, and did I mention that PHP doesn't have namespaces? It's amazing what you take for granted when you use a language that does have them. Like, say, your programs to actually be traceable without having to wonder which file function X was defined in.

Ignacio Vazquez-Abrams
PHP 5.3 has namespaces:
Philip Morton
But it doesn't mandate them, and it doesn't put the "core" functions into them. That means that it will take years before a significant amount of PHP apps use them, and some apps/developers will never use them. So, problem not solved.
Ignacio Vazquez-Abrams
Ah! Didn't need to answer this question! :)
So the point is that you don't have to use them, not that they don't exist in the language.
Philip Morton
I think you forgot to mention the lack of mandatory namespaces. And the inconsistent grammar. And the varying names of functions. And the external configuration files. (You can't stress those enough...if PHP would fix those, it might be a good language.) :P
Thomas Owens
PHP gets the job done fast and is well documented.
Paul Nathan
PHP is so inconsistent but yes it's easy to use. I question whether applications that require robustness should be built in it though.
I could also live without PHP, but others surely not. And so it probably will live a legendary life....
Applications that require robustness- The biggest social network in the world - Facebook? Yahoo? Wikipedia?
Everyone who has used many languages MUST agree that PHP is the worst.Inconsistent syntax, inconsistent naming, wrapper around dirty, unmaintained, buggy C-APIs, ... What was the syntax for namespaces in PHP again?
Ah, now I remember! It's namespace hello\world
And this little jewel:
“PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil perpetrated by skilled but perverted professionals.”(Jon Ribbens)
Tor Valamo
@barfoon: You can write robust applications in BF or Malbolge too; there's a difference between possible and the language/libraries/environment/etc. practically working against you. I'm sure those companies chose PHP for reasons more related to business aspects than to the technical merits of PHP.
Roger Pate
@barfoon It's the front-ends that are written in PHP.
Beau Martínez
@Beau Doesn't Wikipedia and Yahoo use PHP across the board?
Just a nice comment I've read on the matter: "PHP is the Visual Basic of the web."
Beau Martínez
+46  A: 

Windows batch files. No design, unintuitive syntax, lots of warts and kludges. Just plain bad.

I hope PowerShell completely replaces Windows batch files. PS is pretty amazing.
Gregory Higley
Pretty needlessly verbose though
Vinko Vrsalovic
Agreed, although its aliasing capabilities kind of mitigate its verbosity.
Adam Lassek
Aliasing - I'm thinking the problem with that would be any scripts written would not be portable unless you used the same aliases.I thought powershell looked cool, but then decided that learning a whole new language made less sense than learning some other scripting language like ruby, that would be more generally useful.

As a touch typist, I would not like the verbose languages like Java to die. I find it much easier and faster to type in words rather than special symbols. If you can type faster than 50 words per minute, you would find typing java code to be faster than typing C++ code (typing in arrows, tildes, colons and asterisks does tend to slow down)

Satish Motwani
Well, when I say "verbose" I'm talking about languages like VB and Pascal that have a large number of long keywords, particularly for declaring methods and properties.
Gregory Higley
Revolucent, Even VB should not die :-)I would agree with COBOL though, even though it is verbose.
Satish Motwani
This isn't a question about what shouldn't die, but what should...
Alex Angas
Hello, IDE anyone? For Java, Netbeans ctrl-K (the fastest word-completer ever) eliminates all need for touch typing. :)
Reminds me of a discussion I had with a friend when we were both starting, maybe twenty years back. He wanted to use underscores in identifiers, not camel case, because CamelCase is slow to type. My argument was that you should *not* be programming at the speed of typing. It is slower, much slower
Hemal Pandya
Yeah, IDE. That an IDE is so incredibly useful in Java kind of highlights the problem for me.
Gregg Lind
Hemal, Not so, if you program at speed of your thought, but type code faster. Maybe, you are on the wrong track and you need to delete some code and type it in all over again. Just a matter of perspective, I suppose.Ace, Type in less chars, hit auto-complete, you have a longer list to scroll.
Satish Motwani
+16  A: 

Visual Basic and all its derivatives (VB.NET, VBA, etc.)

Care to add a reason?
Rory Becker
Does offensive now mean "anything I disagree with?"
Exhibit A:

I may be starting a holy war here, but I think C should die/retire. I think it should be replaced by C++.

I know that there are PIC's and other micro controllers out there that can't do without C and a lot of device drivers are written in C etc.

But I just think anything (if there is a compiler for it) you can do in C you can do in C++ and it gives you object orientation (which I really see as enforcing some kind of modularization).

I don't think its gonna happen in my lifetime but hey C just seems to encourage long methods and global variables etc. Its just seems old hat to me.

EDIT: In the comments it appears mostly support but in the votes its mostly down. I kinda figured it would be a holy war. I'm gonna leave this up for a day or two more and then delete it so i don't cop anymore bad rep from it.

If you can do it in C++, you can do it in C. If you can do C you can do assembly. Why do C++ when you can do assembly? Something about your logic is off.

Almost all niche "visual programming languages" designed for non-programmers.


Delphi Pascal. It doesn't even have a working formal grammar specification, the only "specification" is the compiler. See here.

Rafał Dowgird
I find that a pretty weak reason. Can you explain why it's so bad to not have that specification?
A practical reason - it makes it hard to create an external tool that does anything useful with the code (formatting, graphing, reasoning about properties, refac support, instrumentation, etc.)An aesthetic reason - it reeks of bad engineering not to have a machine-readable grammar for a language.
Rafał Dowgird
It used to be that only 1 company programmed the Pascal compilers, Borland, so whatever they did was effectively "the standard." Since then there's been the break-off of Free Pascal/Lazarus which is a very good compiler, and is quite interoperable with the Borland "standard." (Continued)
The Wicked Flea
The language has been very stable for years now, with little variation. The only true variation has been in Free Pascal, which has created generics and operator overloads long before Delphi got them. So, why tamper with something "well enough" that it needn't have a dedicated standard?
The Wicked Flea
+24  A: 

How about ActionScript < 3.0

  • Mainly used for evil purposes and by non-programmers.
  • Horrible syntax
  • Incosistent naming conventions (it seems as the language is programmed by 4 people who at the end of the development cycle just copy pasted their code together)
  • Knowledge of all t3h h4cks is required
  • as discoverable as a yeti
  • prehistoric documentation
  • breaks search engine crawling unless with major work-arounds
  • Although claimed cross-platform, not consistently so => major head-aches.

I worked with 2.0 for 6 months, 1.0 as an experiment. I never tried 3.0 so that's why I give it the advantage of doubt in my first line.

I admit there are done some things that amaze, but most amaze exactly because they are done in ActionScript. So it's kind of a neverending circle there. Also, it gave us the ability to make interfaces for our Flash video files, but they are in ActionScript 3.0 I figure.

This makes no sense. AS2's syntax is ECMA syntax - exactly like JavaScript. Most of the rest of your complaints are about the Flash platform, and have nothing to do with AS.Also, FLVs are video files. They have nothing to do with any programming language.
ColdFusion directly supports AS1.X instead of the latest! If you buy, hope you enjoyed that high price for half implemented technology.
Joseph Gordon
AS3 is much better than its predecessors, but it's still far from a decent programming language. Also, the Flex standard libraries appear to have been "engineered" by rolling dice. They're also really buggy even when they support the operation you're trying to perform.
AS3 is pretty decent from where I'm sitting... or ECMA 4, rather. But it may depend what you do with it. Agreed about the flex libraries, but those aren't a programming language. :P
@Fenomas: And being an ECMA syntax makes it better how? Or are you saying that (before jQuery and the like) you actually enjoyed a single line of JS too?Did you ever use AS in a way besides for Flash? The two are really tightly coupled in my opinion. Flv navigation = AS.
+1 "as discoverable as a yeti" is a great quote
Yann Schwartz
Why thank you Yann. I found it rather witty myself ;)
+1 for "as discoverable as a yeti"
@boris callens: Personally I think jQuery etc. syntax is just the most horrible thing ever.. I prefer pure JavaScript and ECMA over it. So AS2 is fine, though outdated; AS1 however really should die.. `on(click){ _root.gotoAndPlay( 2 ); }`.
+1  A: 

PHP. dienaopls

+34  A: 

Perl, period!

Actually any language that requires ugly prefixes in variables, maybe even different prefixes depending on the datatype of the variable.


for (int $i; $i < 10; $i = $i + 1)
     print("Hello World No $i!");
I have such a love/hate relationship with Perl.
Gregory Higley
I love to write Perl every 2 months or so. More than that, it's just a nuisance.
Joseph Gordon
Fear the corporate legacy pearl scripts! "No we don't know how this line does, the guy who made it has left. You're on your own"
You're dead right. Perl used to serve a purpose as a useful language for writing quick scripts in, but it has since been replaced by much better languages like Python and Ruby. The language itself is horrible and I can find no reason to recommend it to anyone.
Simon Howard
I wonder if you like any of the other C like languages ( C/C++ D Perl C# )
Brad Gilbert
I program in C++ and C#. I actually never programmed in PERL but what i've seen of it over the years made me aware that this is definetely the last language i would want to work with. But i was so intrigued that no one had posted it that i decided to add PERL here. ;)
I think Larry Wall is doing quite a good job of killing Perl all on his own.
Bayard Randel
Perl 5 is a fantastic language for "getting things done" in. It has a powerful and flexible web framework (Catalyst), a modern and advanced object system (Moose), a great ORM (DBIx), - amongst other things - and a wonderful, knowledgeable community, constantly improving the core language.
Adam Taylor
how do you do string interpolation without sigils?
+28  A: 

C++ for me, so vote me down ;-)

Reasoning non-virtual functions, the rites around it. It's just the worst of C with the worst of any kind of OO languages. So yes indeed you are perfectly right, I'm biased.

Linus Torvalds considers C++ a horrible language, too -
Cristian Ciupitu
Well, it's not like Linus ever programmed anything that needed to be agile, did he?
Dave Van den Eynde
Uh, could it be that Linux is not your programming hero Dave ;-) Regards
Well, exactly. How is linux agile, compared to a typical business app?
Dave Van den Eynde
@Dave: actually Linux is very agile. Let's not forget the frequent releases and all the stuff from embedded to big iron that goes into it. And if you want to be agile in a "web 2.0" sense, you don't use C++ or Java, you use an eye candy language like Ruby, Python, PHP :-)
Cristian Ciupitu
I don't agree. I don't think linux is agile, with every driver being a copy of another driver and the same pattern being used over and over again all over the place. I use C++ everyday and even though it's not my favorite language I can see the value in the language features it offers
Dave Van den Eynde
Well if they would be nicer packages then I could live with it, but check alternatives like D, Eiffel and a lot of other languages. Regards
What do you mean "worst of C"? C++ is actually "a better C" among other things. The only reason I would use plain C nowdays is to write code for the platforms that don't have a (good) C++ compiler.As for Linus, he's been wrong on many other issues as well (threads, for instance).
Nemanja Trifunovic
I am surprised, I posted C and got massive down votes, you posted C++ and got massive up votes. I figured it'd be the other way around in popularity. Oh well who knew.
No C++ is not a better C, by any means. At least not for meTo the downvotes, well I can't tell. C is in principal a simple language, with no safety, C++ is a bloat monster with a bit safety, but that safety can be abondoned with just a cast Regards
C++ *is* a better C, and that is not a subjective thing. It addresses various shortcomings of C, such as type safety, casts, declarations, etc. See this list, for instance:
Nemanja Trifunovic
c++ was created for overcoming shortcomings in c (as far as large projects are concern)
I can't let the C++ FQA go unmentioned.
Adam Rosenfield
Adam you did not mean especially or am I wrong ;-)Regards
@Nemanja Well I think treads and "side-effect" were invented by the BOFH. No-one well ever be able to prove a thread program and side-effect "safe". Processes are the right thing and the right thing would be to make theem as cheap as possible
Language like C++ requires that you understand and envision before hand what and how you intend to use its features. Otherwise, you are screwed and invariably even the so called experienced programmers with half baked understanding make the mistake of implementing the language feature they don't fully understand and crib that the language is not good
@rocknroll. If you understand C++ (completly) let me congratulate you. You may be one out of three. Even the inventors do not get it right anytime...
@rocknroll - it's always a giveaway when the defence for a programming language is "the people who don't like it are just not smart enough to use it safely".
@Christian. You can tell me whatever you like about the merits of C++. I do not like it, and I won't use it.
+22  A: 

What about all XML based markup languages? They are so terrible to read and write that I'd rather read a custom DOM-dump instead of them. Also it's often used for other things than representing DOM trees.

XML neither has a clear concepts on interpreting it when you want something else than DOM. Also there's more than one way to define named attributes for tags and the result is not nice to watch at.

CSS is another my favorite 'banishable' markup language. No browser handles it same way and you need basic hacks to make anything near-satisfying with it. CSS is also one of those languages that have tons of syntax for representing exactly same things over and over again.

Yet few worth mentioning on my list are C++ and it's sequel C++0x. C++ is a living horror movie with tons of superfluous syntactic elements that have been added into C while the actual practical value of them were ignored. C++0x puts even better by introducing lambdas in the same manner. CBloatBloat is actually something that ought not ever exist.

Also many C++ programmers are using the C++'s added bloat in inconsistent manner, thinking they are making fast software because c++ is branded fast, while their use of virtual methods and class instantiations is slowing their software tenfold.

As a little extra C++ ABI sucks enough so that writing wrappers for other programming languages cannot be made from within the language like what you could do if you were wrapping C. Despite that all C++ has been used in wide variety of projects which is annoying. It's only fortunate that there's not cool C++ libraries that'd be needed to be ported to other languages.

As you've said yourself in the first sentence, XML is a "markup language", not a "programming language". Though I understand your frustration with it as a markup language.
Lucas Oman
It's a bit silly, this is my least informative post and it has the highest vote.
And a very ignorant post as well, at least when it comes to C++ :)
Nemanja Trifunovic
I've not used it for four years but hatred still remains. It came after I stopped using C++ and moved to another languages I had ignored before. I were very frustrated to C++ because it was never worth learning. Actually, while I were using it, I learned things that I had to unlearn from later.
Well we do have all kind of X.... stuff, let's take XML together with XSLT then we are as near to a programming language as one can go. But let's be a bit more genrours. I for my part just can say +1 for demise of XML
You'd rather have what? .csv? .ini? .yaml??? XML is human readable, machine readable, testable and extensible. An extraordinarily powerful concept, and unique.
+3  A: 

G (LabView).

Evaluating the loop condition and executing the loop body at the same time is simply horrible.

+7  A: 

This is difficult, to say the least, especially because I hate about any language, for various reasons. (even though python is working hard on shaking that statement).

For example, I hate to have nontrivial production code in C. Imagine building a large compiler in C. Yes, it works, and its fast, but in general, you are going to slam your head into a wall, because implementing simple optimizations result in programming more and more and more and more and then even more, and then, there is a pointer mistake and you can spend 3 days debugging, just to learn that someone of your coworkers did a mistake? bleh.
On the other hand, I don't want C to disappear. To some extent, C is a good compiler platform. It just works everywhere (Ha. Platforms that have no C-Compiler on them are no real platforms, just toys. :P). Furthermore, C has amazing compilers lying around, so compiling into C will result in a cruel speedup for your application.

On the other hand, consider Haskell. One fellow hardcore-functional programmer (he even is a professor researching parallel processing techniques using functional languages.) He discarded haskell, because "haskell is too academic". Heh. My thoughts. Building a simple thing that reads numbers from stdin and dumps them on stdout is a chore in Haskell, at least in my opinion, no matter how nice and fun things grow later on.
On the other hand, looking at Haskell taught me a few very interesting concepts (think the theory of monads). It would be ungrateful to want a language that taught you very interesting things to die / vanish / whatever.

Furthermore, I hate all languages, that try to restrict me in order to makes things "easier". Great. Because C++ f****d it's implementation of multiple inheritance up, Java has no MI anymore. (From what I know, in C++, you have to resolve problems in MI hierachies by hand. This implies that, given 3 projects and 2 programmers, you will end up with at least 6 implementations of MI an each will have 3 subtle bugs that will fall on your face if you use the MI implementation there and you are sure that everything works). However, No one considered for example Common Lisps implementation of Inheritance (or, pythons. in general, Linearizing MI. (And dont start with Interface Inheritance. Yes, you can inherit multiple interfaces so the interface is consistent, but in the current project, I still would have to implement the same code about 23 times (I counted))). Here, MI is well defined and -- even though it still is a bit tricky to use properly -- well usable. But ok, someone might not understand whats going on and thus, we need to remove that feature. Bleh.
Similar rants can be held for Makros, great in Lisp, hirrible in C, even worse with Templaces in C++. Thus, no one has them anymore, creating a syntactic barrier at refactoring.

+30  A: 

MUMPS (Massachusetts General Hospital Utility Multi-Programming System)

  • ugly syntax
  • significant whitespace (in some places)
  • context-dependent meaning of keywords (quit)
  • lack of datatypes
  • no stackframes (routine calls are hidden gotos)
  • one letter abbreviations for commands

see Wikipedia

Very interesting. I'd never heard of it.
Gregory Higley
"It was adopted as the language-of-choice for many healthcare [systems]... and continues to be used by many of the same clients today." -- I'm not fan of reengineering life-critical systems for the hell of it, so I vote to keep MUMPS :)
I've used Intersystems Caché (tag line: "The post-relational database"): It has a fairly decent SQL gateway and a rather nifty RAD web app interface. But, yes, the MUMPS stuff under the covers is horrid.
MUMPS taught me patience and it teaches how to write frugal code. Back in the day when computers had less memory than most digital watches today, you literally had 1000 characters or less to do what you wanted to do.
significant whitespace, lack of datatypes... oh, so it's kinda like Python?
Lucas Oman
@Lucas: Python has types; what it lacks is declarations, because types are associated to values, not to variables.
Roberto Bonvallet
+47  A: 

Make... as in Makefiles.

And if you claim that it isn't a language then you've obviously never had the privilege of dealing with a legacy build system that has literally thousands of lines.

$ wc common/makefiles/*
  2077   9812  85757 common/makefiles/Makefile.common
  539   2013  16827 common/makefiles/Makefile.main
  177    641   6986 common/makefiles/Makefile.patches
  542   1873  21240 common/makefiles/Makefile.release
  3335  14339 130810 total

And that's for a project with less than 100 KLOCS in the C and H files.

Don't even get me started on what's in there, it suffices to say that if programming were magic then make would be the darkest of the dark arts. Next to this stuff even the likes of Perl and Bash look like simple consistent well designed languages.

Agreed. Make is a nightmare to do anything with, and the replacements are worse.
Paul Nathan
tolomea:We're pretty much stuck with make where I work.I've built with the usual Python system, and used Scons a bit. What do you prefer?
Don Wakefield
I really don't have a better answer, if any has any suggestions I'd like to here them, but I do know that there has to be a better solution than make. It does seem that a lot of the problem is the make syntax, not the make system.
"just run make" is the single most daunted answer to the question "how do i build this?", even more so for open source projects that support a gazillion platforms with a single makefile ...
I find the worst autoconf+automake + make. This is just so extreme. I guess the AddonBuilder from Io extended would be a nice thing. And I feel that rake is not that bad also.... Regards
Yes, Makefiles for big projects can get complicated, and ones that support building on multiple platforms can be even worse, but for a lot of simpler projects makefiles are very straightforward indeed.
Mark Baker
Unfortunately there is often no realistic alternative to make.
Lots of good tools exist to write makefiles for you. CMake and QMake in particular
The UNIX make system (along with all these stupid commands) is old and should really die out. People even start using ant for some C-programs ;)
"Just run make" is actually very much nicer than the combo of autoconf, automake and libtool that seems to be the default nowadays.
Rasmus Kaj

I don't suppose that there are still any Coral 66 programmers out there (are there?), but it still lives on in my memory. And I wish it wouldn't.

Weird! I was looking at a CV today that included that. I'd never heard of it!
John Topley

Any language with a flat memory model randomly addressable by pointers and manual memory management. That includes C and C++. I don't really want them to die, but I want people to stop using them when they aren't writing either a driver, a graphics routine or some other situation where the runtime requirements are super restrictive or they've discovered a CPU bottleneck or GC inefficiency in profiling.

Daniel Earwicker
+11  A: 

VBA - God I hate that stuff. It caused me 3 months of pain, it doesn't behave how you expect and it will throw the most obscure errors I have ever seen from any language.

Rob Stevenson-Leggett

+1 on Delphi. The unit testing and refactoring tools are absolutely poor, particularly with legacy project.

Another reason is that bds (their IDE) leaks memory all over the shop (previous versions are much better.)

Another reason, no support for the language, Borland kind of ditched it and now they don't know what to do with it.

+25  A: 

Classic ASP, for its lack of everything

And ColdFusion/JSP along with it! Death to the scripts!
I really like classic asp, what do you think it lacks? (Well except for namespaces.)
Not a language though, is it? It's an API that you can use with various languages, at least VBScript, Javascript and Perl.
Mark Baker
+21  A: 

The XML-based build languages of Ant, Nant, and MSBuild (someone already mentioned Make, so I'll skip it), to be replaced by real scripting-language-based build tools with uncluttered syntax and actual powers of abstraction for the removal of duplication, such as Rake, Buildr, and Gant.

Alan Hensel
+1. xml cfg files make makefiles look great
+2  A: 

Well, thinking on this question, you make me thing that woul'd be best to kill some category of programmers, than a programming-languate itself!

If you have a problem with that language, maybe you've choosen... poorly ;) for what you were trying to create :)

Joshi Spawnbrood
+11  A: 

SAS (and the SAS system).

  • Record based,
  • terrible syntax,
  • proprietary
  • very difficult to extend

The slogan for SAS should be: There's half a way to do it (and it'll cost you $3,000 / month to hear it).

(Long live R [S], Matlab and gack, even Python Numpy)

Gregg Lind
+13  A: 

I wish my school would retire Java, it is a scourge of the earth. How am I supposed to get excited about writing a Java compiler in Java for the JVM, geez.

Also, PHP should maybe be next to go, it impossibly to structure a project reasonably in it.

On a side note, I think we should all follow Steve Gibson's lead and start writing everything in assembler, including websites. What? Too hard for you? Find a new career.


Mark Lubin
+14  A: 


It does nothing that other languages can't do better and/or easier.

That's what I began programming from! Tried to make games with it when I was 8 years old... It's a BAAAAAAD programming language. Well, it was designed for working with databases, so maybe I just don't get it...

I really don't like...






The dynamic web package is a kludge of 4-5 different languages with disjoint models. That's terrible design and needs to be thrown out and rebuilt.

SQL is, quite simply, a hassle to really process with. Needs to be a real procedural language.

As for Java? Slow, over-verbose, ginormous VM, hassle to do anything with, the build systems are nightmares.

Paul Nathan
SQL is perfect for.. well, querying hierarchical data sources. Don't use it for anything else, but do learn it for DB work. Its one thing the IT industry got right - a dedicated language for a particular task. Next: a dedicated GUI language.
You are sure you meant to write hierachical?
If you find it a kludge you're doing it wrong. Each "language" revolves around a separate problem domain and the separation of concerns makes them lean and efficient to task. I suspect you are a C developer :)
do you like programming?
Peter Perháč
@annakata: The problem domain is information presentation, which is a holistic concern. While you may *think* the languages are efficient, in reality, it is an agglutination of many different technologies built up over history, which is a great description of the Big Ball Of Mud design patter - or, better [email protected]: Yes. But I don't like fighting my language to do the job. C# is a good example of a language that gets out of your way.
Paul Nathan

Natural from Software AG. It's about as old as Cobol. It has horrid "sounds like natural English" syntax that is very verbose, but in all the wrong places. It's proprietary (see the SAS comment) and the payment model is ridiculous. It makes many best practices a huge, huge chore (like modularity or division of concerns). Ugh.

I do admit that a worse language could be invented, but I think you would have to actively try. The name of the game is "hassle" to do most anything (there are about five good abstractions that make those five tasks really easy to do, but once those are done, to do anything else with that data you got or whatever is horrendous).

Ben Hamill
+2  A: 

PICK (PICK/BASIC) - for similar reasons listed in the previous post about MUMPS. Yeah, it's a BASIC flavor, but cannot be compared to Visual Basic.

Link to PICK OS. Short quote: "See also - MUMPS - another language of the 60s with an integrated database."

If I started out in the 60's I'd hope to be retired by now too.

+7  A: 


While a significant improvement over COBOL, its parent language, Natural and its companion Adabas never made the jump into the relational database world. Its continuing use only perpetuates the mainframe green-screen/batch processing model of the 1970s. And it's still in active use at the major universities in Texas and other states. Higher Ed ought to lead the way, not trail behind with the dinosaurs.

Fundamental problems are the mainframe's 8 character program name limit which discourages the use of sub-programs, use of sub-routines instead of true functions, vast amounts of global data, inability to dynamically query tables, COBOLesque verbosity, lack of direct ODBC connectivity, absence of SQL support, requirement of using pre-defined indexes to read data, etc.


Scheme and the tar-pit of parentheses always makes me cringe when I reminisce on my college days.



  1. It's loosely typed (despite euphemisms to the contrary).
  2. Like BASIC, it's formulated to quickly write gobs of code. In other words, it's for programmers who don't like to think for a minute, or a week, about their design.
  3. Although it has minimum support for abstraction, it's not really object oriented, in the full sense of the term.

As a bonus-con, it also eats memory like a database engine. I could live with this if I thought it was an aesthetic language.

+1  A: 

Java, and by extension C#.

+7  A: 


VB.NET is on thin ice in my book, too :)

Jon B
+1  A: 

RPM specfiles and the morass that comes with them. Undocumented calls and attributes atop the complexity of make. Yuck.

Gregg Lind
+4  A: 

VB6. Wait a second, MS has already killed it.

+1  A: 

Maybe the languages that basically do the same things in the same manner should die, leaving one behind. So that the poor people selecting a language for the next project do not get utterly confused.

Yes I am talking to you, "pythonic" languages!

What are the other "pythonic" languages, besides Python?
Gregg Lind
groovy, jython, boo. ruby maybe


  • Was only invented to combat Java.
  • Is only available for Windows (Yes, I know there is Mono, but I think they are moving on a legal minefield).
.NET is a published and open standard, Mono is completely legal and legitimate
MS even recommends Mono when installing certain things on non Win32 systems.
Kevin Sedgley
You should read
+7  A: 

Wow.. no one has mentioned Classic ASP. You don't see it much, but it gives me shivers any time I see it. I know there's still some classic ASP apps out there (sadly). Classic ASP is one of those things that should definitely die off and be replaced.


My #1 vote goes to Tcl.

Others I'm not particularly fond of: Javascript, Perl, Ruby, Python, PHP, original ASP, VB (typically weak typed, unstructured, or poor tooling/IDE support)

For comparison, languages I do like: C#, Java, C/C++ (typically strongly typed, strongly structured, great tooling/IDE support, very large development community, most likely to land you a job!)

C isn't strongly typed. It has void* pointers and unions.
Roberto Bonvallet
Tcl is strongly typed. All values are strings.
Donal Fellows
+16  A: 

ColdFusion. I would love to see ColdFusion die, now.
I'm not saying you can't do anything with it but.. it's such a pain to work with.


VBScript gets my vote for the abomination awards especially as part of ASP Classic. No way to include files other than SSI or using FileSystemObject (ugh).

oh and variable prefixes are dumb too.

Ariel Arjona
+9  A: 

InstallScript; the scripting language for InstallShield. It is a excellent example of absent design (almost as bad as Windows batch files). He are a few examples, in no particular order.

  • No dynamic memory allocation.
  • Lists can only contain strings or integers. Not records.
  • Supports only a single compilation unit; i.e. all code has to be included in the main source file (Setup.Rul).
  • Cannot handle include filenames longer than 128 characters

The runtime library is riddles with ad-hoc design:

  • There is a function called Enable(x) which can do any number of things, depending on the value of x: the backbutton, switch hourglass on/off, toggle file copy status display, toggle creating of uninstallation data, toggle DIFx support for 32/64 bit platform.
  • The SetTitle(title, pointsize, color) function displays a title in the main window's title bar or inside the mainwindow, depending on the value of the "color" parameter. If it is set to the special value BACKGROUNDCAPTION, the title is displayed in the main window's title bar.
Can't believe no one mentioned this before. InstallShield is the worst thing I've had the misfortune of working with in my life.
I totally agree with you. InstallScript is aweful. But you can have multiple source files. You can have source files other than Setup.Rul.

Paul Nathan said it, but in a group, I wanted to say it on its own:

SQL <---- die die die ^__^

Ric Tokyo
+7  A: 

XML Comments in Visual Studio

It might write itself as soon as you finish the /// but it wastes alot of vertical space.

/// <summary>
/// Blabla
/// </summary>
/// <param name="strFilePath">bleble</param>
public void LoadXMLFromFile(string strFilePath)

Javadoc is much more lightweight and comfortable, and still provides the same functionality. Don't need an IDE to write it eighter. Seriously, would you even consider writing the above xml by hand if it didn't write itself automaticly?

+3  A: 

Brain F***k :)

I mean it has awesome features like putchar and copybyte but I really think too many companies have implemented it as their choice for an enterprise development language :(**k


The one that make me ask "Sort months (with strings) algorithm ".