I know this is subjective and not really a question. I won't feel bad if it is closed, but I'm curious about this.

I was recently learning some details about a project that uses Microsoft Sharepoint as the development platform and honestly I don't know if they are doing something very wrong or the product itself is just a pain to develop against, but it was like an horror story.

The funny thing is that using Sharepoint like that is very common. I have heard about many projects that attempt to use Sharepoint as the platform for bigger applications. In most cases is a business-driven decision and not something suggested by the development team.

And don't get me wrong, I am totally aware that Sharepoint might be the best fit for many scenarios and that business needs are always higher on the priority scale than developer comfort, but that doesn't lessen the fact that some products are just so nasty that in extreme cases developers quit their jobs (or change projects) just in order to avoid them.

Which product embodies your worst developer-nightmare?

I nominate Crystal Reports. I just hate the thing.

+160  A: 

For webdevelopers, it's certainly Internet Explorer 6. :D

Very good answer, I think we might have a winner here =)
Sergio Acosta
Anyone else here remember IE 5.5 before they released SP1?
David M
Every IE version is a dammit F****
Martin K.
jesus I remember when IE5.0 looked sweet compared to IE4
Sounds like somebody never had to write a site that was compatible with IE5 on the Mac.
The workarounds are usually very easy and pretty much baked into wherever you bake muscle instincts or whatnot since years ago, so don't really agree - it doesn't really randomly change its behavior like a true contender to the answer would ^^
Oskar Duveborn
yeah... I don't think I ever really had much trouble with IE6... maybe I never fully tested in IE6... but you sort of learn the quirks and how to avoid them after awhile no? can we let IE6 die yet? I think they're officially on to 8.
I have mixed feeling on this, on one hand this has such a broad scope that effectively affects you regardless on your development platform ... on the other hand, after working with cgi in c at a time when we had jsp,, etc really gets you into the "quit their jobs" mindset (see my answer)
@Oskar Duveborn: I'm continually running into new problems with IE6, mostly because of unique combinations of known bugs. Heavy use of jQuery animations and PNG transparency fixes can cause filter and layout errors, for instance.
I wish they would've (for IE8) fixed the bug that requires you to insert a br tag after images for stuff to align properly.
I don't like IE6
Martin K.
At work we call it "IE SUCKS"
+15  A: 

I have had a little experience with Sharepoint and, yes - it was painful.

One of the most painful experiences I had to develop on was Oracle Application Express (formerly HTML DB). It was great to develop quick, small applications on but as soon as you wanted to do anything slightly outside of the norm it was a nightmare.

It's probably better now though!

Phill Sacre
Dammit APEX, have a look at Grails!
Martin K.
APEX is not currently an access replacement. My biggest gripe is the lack of support for multiple master-detail.
Oh god. I first tried APEX at a new job because my boss (an Oracle DBA with 20 years exp) insisted I develop some tools with it. Absolute nightmare. The version I was using back in 2006 (2.2?) had some incredibly annoying bugs - in the debugging tools no less. Eventually I refused to use it at work
+75  A: 

Crystal Reports is the lonely king of this! Everything works fine - until one magic moment! And from then on, you have often no chance to identify the error or fix it.

hey, who downvoted this? I'm willing to spend all my reputation in votes for this answer =)
Sergio Acosta
If I could, I would vote this up until my mouse gives up - I'm currently trying to 'fix' one of these 'magical moment' Crystal Reports where it's looking increasingly like I'm going to have to re-write it. From scratch. Preferably in ActiveReports.Net :oP
@Andrew: I actually bought Active Reports WITH MY OWN MONEY for a project where I was asked to use Crystal. I really know how you feel.
Sergio Acosta
Sorry for 'shouting'. Crystal doesn't exactly bring out the best in me.
Sergio Acosta
Just tossing in another one who has had woes with Crystal Reports. Don't try to have multiple web apps running multiple versions on the same server... ugh.
Version 10 and higher are so much better than the early awful versions I learned that I can't force myself vote for this answer. :-) (But I certainly won't vote it down)
I wrote my own report designer for dot-matrix printer reports because Crystal dumped support for them in the latest version and our users still needed them :(
+1 for Crystal Reports, I've considered putting on my resume so that if it is ever mentioned during the interviewing process I could walk away.
+1 for crystal reports. Horrible, horrible thing.
This is exactly why we switched to ActiveReports. It might not have all the features that Crystal does, but it never goes berserk and always makes sense.
While I never liked crystal reports, is still far better than working with cgi in c (just added an answer)
+BILLIONS for Crystal Reports - specifically version 9 and its awful AWFUL IDE. My favourite is the "Oh, I've disabled the Save button even though it looks like you've made a change." and of course the fact that is crashes. Lots. And LOTS.
Oh God, I remember 8 and 8.5...every once in a while a report would just stop working and never work again.
A few years ago, I was working on a project that included CR(ap).My forehead is dented from the many times I bashed it against the monitor trying to find out why CR(ap) wasn't working. Most of the time it was caused y the greedy licensing system forgetting the keycode.
Ha, my co-worker was just complaining about working with crystal, glad to know that there is a consensus.
James McMahon
+1 there are many dll related issues.
Crystal Reports is seriously the worst. It's not flexible at all. Excel has better charting that CR.
+5  A: 

Using registry keys in Windows for storing the values.

Disadvantages of Registry keys:

  1. Increased memory overhead, leading to inevitable system slowdown as more software is installed on a particular system.
  2. Any application that does not uninstall properly, or does not have an uninstaller, can leave entries in the registry. Over time the computer suffers "Software Rot" as the registry fills with left-over and possibly malfunctioning entries.
  3. Installers and uninstallers become complex, much more than just copying files into a folder.
  4. Applications that make use of the registry to store and retrieve their settings are unsuitable for use on portable devices used to carry applications from one system to another.
I'm a little surprised by this answer, could you please explain a bit why?
Sergio Acosta
Thanks! Now I get it. And totally agree.
Sergio Acosta
I hate the windows registry ;)
Martin K.
Might be easier to deploy and maintain for specific user and computer configurations in a larger environment if it uses the registry properly though? Making adm templates (group policies) for registry settings is perhaps the easiest way to centrally configure apps that has no predefined templates.
Oskar Duveborn
1. Myth. 2. What's a malfunctioning entry? What specific harm would the be doing, and how's it different from orphaned files? See #1. 3. Installers for complex apps have to be complex, registry or no. See apt and similar. 4. This is what roaming profiles are for.
Chris Smith
@Chris is right, additional registry entries do not cause "increased memory overhead". Registry keys are stored in variously-located "hive" files, the vast majority of which are loaded on-demand.
+7  A: 

I nominate Oracle Apps when people have to implement it without enough knowledge about how it works. It can be a beast if not configured correctly, and it eats up space like there's no tomorrow.

I'm pretty sure Oracle developers are given a bonus proportional to the disk space used by the features they write. =P
Sergio Acosta
Which Oracle Apps do you mean? There are a lot of different lines, most are not made by Oracle but are bought by Oracle via take overs of other companies.
+14  A: 

Having developed under Linux, I vote for the autotools: Automake, Autoconf... - they're as useful as painful.

Paolo Tedesco
Yay, someone agrees!
Total disagree.They are hard to work with and hard to understand but... There is nothing as powerful as they are. All tooks like CMake, bjam or scons are half ready kiddies. Base stuff like unintstall, gettext, libraries becomes really painful. There is just no alternative for them.
@Artyom: provided that I'm not taking this post seriously, I'm not saying that they're not useful - it's exactly the opposite - I'm just saying that they are painful to use...
Paolo Tedesco
Autotools are hard to use, but they always work. They are very powerful.
+8  A: 

The string operations in the standard C library.

In what language? C#, C++, Perl, Ruby, Javascript ... All languages?
For PHP i would not agree, for any strict type language, i would agree.
Ólafur Waage
There are enough libs around which should solve your problems the easy way.
Martin K.
I think Perl programmers won't agree. Definitely depends on the language. If you are talking about C, for instance, I think you're right.
Sergio Acosta
But strings are not a product, anyway.
Sergio Acosta
The Standard C string ops are well documented and well understood. They may be suboptimal, and have the possibility of security flaws through buffer overruns, but they are nowhere near as bad as the other products in this poll.
A. Levy
+3  A: 

Magento. Eshop framework comprised of 9000 files and less documentation than a wristwatch

Manos Dilaverakis
I never heard of this. I hope I never will.
Sergio Acosta
+1  A: 

Murex. I've never seen product that inconsistent.


Without a doubt, JBoss, the java application server. Trying to get it to talk to anything else is a nightmare.

+12  A: 

JSF. Takes ages to get even basic things done. No documentation and nothing works right out of the box.

<t:verbatim>Woha, dammit JSF .... </t:verbatim>, Session memory flooding by 6step rendering cyclus... ;) It's so bad, you must have seen it. >> JSF is Broken by design. But it's funny what side effects it can cause.
Martin K.
Oh dear, someone hasn't tried Facelets yet.
JSF is horrible, but it's Java... so no suprise here. It fits well with all the other horrible, terrible and ridiculous stupidities this language is made of.
Turing Complete
+37  A: 

Frameworks which are developed from businesses as their own "inhouse framework".

They are overengineered, ugly, bloated, not maintrainable, obfuscated, against every standard, far away from good and bad.

One of the best things I've ever read came from Rod Johnson in his Book "Expert one-on-one J2EE design and development" when he said:

The first rule of developing frameworks in-house is: don 't.

Martin K.
Argg. That's so true. Frameworks are the new IT dream just like CASE tools were 15 years ago. Wake up IT people!!
Sergio Acosta
True, very true. I'm doing contract work for customers again mainly because the project branche of our company seems determined to stick to an in-house developed framework that I can't really learn to live with...
One of those rules you only break when you know exactly why you're breaking it.
Agreed... A project I'm working on was created using an in house frame work based on .NET 1.1 and now the people "maintaining" the frame work can't update it accordingly because all the orig developers left and nobody there understands their code
Although ostensibly, an "inhouse framework" *should* be underengineered compared to a general-purpose one, all other things being equal...
Been there, seen that. It wouldn't have been quite so bad if it had been properly documented, or if it had been possible to develop it as the external tools it wouldn't work with got better and better.
David Thornley
Sounds like "Problem moving" not "Problem solving". Do you really want to rely on external tools? Maybe a bloating in-house documentation is going to be the next boilerplate in such projects. You have also afford to keep your documentation up to date ;) It doesn't solve every problem.
Martin K.
Every development project of sufficient size either has a very high code duplication rate, a meaty abstraction layer over an existing framework (which is practically a framework), or an actual in-house framework.In most cases, the second choice is probably the best, but it really is a slippery slope from there to in-house framework :) In something like the Ruby world, building a DSL is what we're talking about here.
Russell Leggett
However, to add an example of how AWFUL this can be. I once worked on a project that used an in-house framework which replaced the database by serializing javabeans to xml and storing them on the filesystem. The "architect" thought it was the height of innovation. (Even though it sometimes took several minutes to fetch data)
Russell Leggett
+24  A: 

Another one I just remembered is Microsoft Access.

And I'm not talking about Microsoft the-friendly-end-user-desktop-database Access, but about the Microsoft just-turned-into-enterprise-application-platform Access.

Sergio Acosta
Access is such a joy when you're making an inventory of your books or baseball cards...but such a pain when your boss gets hold of it. :)
Bill the Lizard
When I was a consultant, we used Access all the time ... and LOVED it. We could get a quick and scrappy business app running for 1/4 the cost of full blown (which the client would have never paid for), then the client decides they need full SQL Server with web/gui front-end ... and called us back.
Access is great if your application is useless.
@toast: Totally true. Great for small projects that won't see the light of day!
Lucas McCoy
I started my career fixing Access applications for people who figured they understood databases cause they just slapped a single table and a form for it.
Access IS a great product and a pleasure to develop with.Just use it for what it's made for: RAD of workgroup db apps with less than 20 users.
+53  A: 

Lotus Notes.

It is almost impossible to use version control in tandem with it.

And that's just first in a very long list of complaints.

You can remove the seventh to the eleventh word in the second sentence.
Lol good one Gamecat
Jason Gin
If I could vote this up 50 times I would!
Mitch Wheat
@Gamecat: that was my first thought!
Michael Itzoe
I know IE6 got marked as the hardest. Clearly those IE6 devs have never had to code against notes. I nearly jumped off a bridge after Notes. I'm a recovering Noteaholic
Stewart Robinson
+2  A: 

Developing a custom IFilter for Sharepoint Search or Microsoft Search Server equals a lot of pain - almost no relevant documentation and lots of unanswered questions.

+1  A: 

Informatica PowerCenter. It's meant to be the Rolls Royce of data extract tools. It's certainly that expensive but sadly runs like a single gear cast iron Penny Farthing.

Tim Brown
+6  A: 

Not developing against Sharepoint but simply using it is like a nighmare. I'm not a web developer so it's very difficult for me to understand why going deeper into the document structure (or actually clicking any other link on Sharepoint) will require re-rendering of the whole page.

+1  A: 

I don't think anybody here would have developed for it before, but recently the Sakai Framework has been my nightmare.

I consider myself lucky that this job is only temporary (scholarship), and I feel sorry for those who have to deal with Sakai for years to come.

Can Berk Güder

IE6, iPhone

+6  A: 

I had a particularly bad time a few years back working on a very large BizTalk project. It does some cool stuff but the tooling is awful (and I'm aware of how much worse it used to be), and forget about testing any aspect of it in isolation - every change needs to be deployed to the server before you can see if it worked! We had everything scripted and some good automated tests but the feedback cycle was just short of an hour...

Jon M
+6  A: 

Crystal Reports... seconded...

We're having major problems with Crystal Reports. They release versions on a regular basis and seem to purposely NOT make them backward compatible!

XML Serialization can be a ball ache, especially when dealing with string arrays declared in an XML Serialization class.

+1 for ball ache...ha!
+14  A: 

ESRI ArcObjects caused me years of agony - so many interfaces and C++ exceptions spewing their way out of the API.

Richard Ev
Seconded, though I would expand this to most of ESRI's software, including SDE which cripples normal database functionality (e.g., no foreign keys) and ArcGIS Server in which performance is abysmal.
Ryan Taylor
I developed for ArcObjects for my Master's thesis. If you want to do simple stuff like mod the ArcMap interface or something it works fairly well, but once you try to access more advanced functionality to actually manipulate geographic data you'll find a buggy, poorly documented mess.
Chris Upchurch
For my PhD I wised up. The only thing I wrote in ArcObjects was code to get my data from shapefiles into plain text. For everything else I just rolled my own stuff from the ground up.
Chris Upchurch
I had to use ArcObjects to render some stuff on a tabletPC an intern. I soon learned how to divine the meaning of undocumented API calls. I will say that they were at least fairly powerful for what we were doing, but clearly outdated.
ArcObjects... so powerful yet exists as poorly documented and buggy COM interfaces. Their tools (desktop, server and SDE) are getting much better though. Many new managed APIs.
Joseph Daigle
OMG! So True!! I bled out of my eyes.
Oh woes me! I just "won" the privilege to port an avenue extension to ArcObjects. Reading this makes me wanna call in sick.
+14  A: 

Truly, Ektron CMS400 is easily the worst (both in terms of programmers' API and internal code) product I have ever seen.

Closely followed by RedDot. What is it about content management systems?

Paul Suart
Sungard's Luminis CMS is another example. There's no local development environment, so complicated templates are extremely difficult to develop. I actually implemented a PHP interpreter for most of the tags because it was so painful.
Last time I rallied against Ektron some PR hack emailed me asking why. So I'm upvoting you instead.
Mike Robinson
Ektron has SUCH an obtuse API, it's unbearable. Documentation? We'll tell you what a method does, but you've got to figure out what the parameters are. Method A takes in a string ... any idea WHAT VALUES??!!Painful.
They always try to do a LOT more than just manage content, that's the problem. RedDot especially.
Bobby Jack
Reddot is very hard work and everything is counter intuitive
Steve Temple
If I could give this +10 I would. I could write a novel of code smells from their APIs and the code behind of their pages. Their product makes my code worse, the end result suck, and me miserable.
+1  A: 

JSF + Richfaces, JSF is bad, but it just gets worse when you add Ajax


Once had to program a TINY embedded chip. Not sure whether it was the chip or our tools but that was a really really bad experience.

Sorry, point of clarification - do you mean the Dallas Semiconductor's TINI board, or something else? -R
Had you done any embedded programming before ? If not poor tools and docs are the norm I'm afraid. You end up expecting it and get used to working around it.
+5  A: 

Haven't seen it mentioned before: developing anything that interacts with Microsoft Exchange. Lots of great APIs to choose from, but in my (luckily very little experience) only pain was involved.

+1  A: 

I wish to disagree with those who have nominated crystal reports, including the asker. I have worked with (versions 6 - 12 ) it extensively and for many years without a hitch. I think its a great reporting tool, and provides a really easy interface to integrate into projects. Anybody else agree with me?

Jack Njiri
+1 Absolutely. I rarely have problems that aren't the result of database or connectivity issues.
Michael Itzoe
Well I suppose that if you know what you're doing you can make the product sing. I have very little experience with Crystal, but, perhaps my fault, in the 3 or 4 projects I have used them it hasn't been a good one.
Sergio Acosta
Obviously you work for Crystal! ;)
And how much are they paying you to spout this propaganda? Obviously you haven't tried any real applications using it.
+46  A: 

The worst product to develop for is SHAREPOINT. It's hard to debug, hard to set up, hard to do everything.

It's a pain in the neck!

Think you forgot expensive ^^
Oskar Duveborn
Jaja yes you are right!
+1 MOSS is a nightmare for something Microsoft markets as an "application platform"
Rex M
My vote is also against MOSS. It makes developer hate it.
Denis Vuyka
It's good for the young'ns, 'cause it teaches 'em the meaning of pain :)
Paul Lalonde
Sharepoint 2003 (aka WSS 2.0) is a nightmare to admin, let alone develop. The WSS API is as flaky as pie crust, never quite doing what it's supposed to and erroring out with useless COM error codes.
Worst implementation of IDisposable.
you forgot "hard to use" and "hard to like"
+1. API suxx, documentation suxx, debug suxx = developer sucks.
+1 Amen. Way too much "friction"
Jim Harte
Sadly, your reply doesn't even scratch the surface of exactly how bad SharePoint is. For every one thing good about it, there are ten things horribly wrong. No respectable developer I've ever met has endorsed SharePoint. Clueless technology leaders, unfortunately, seem to favor it despite the fact that SharePoint has been known to repeatidly increase development efforts substantially. I have yet to find a single successful SharePoint implementation that cost less than custom ASP.NET development. This applies to short term and even moreso to long term development cost.
My favorite is that you inherit conent types by making the new content type's id equal to the parent's id + 00 + new_control_guid. These ids can easily be 50 chars long.
How is it that SharePoint devs are currently making boatloads of money if SharePoint is so bad? I'm not saying I disagree with that assessment; I'm just wondering why businesses are so enamored of it.
+3  A: 

I know few people have used this, but Biz Talk is awesome one day and someone shoot me the next day.

Behind that I would say the Visual Designer (web apps) in Visual Studio. I love Visual Studio, but the dam designer can drive me crazy.....


Can I say legacy hardware in general?

I often find myself in a downhill fight for any type of driver support. Usually it plays out like this... "a C driver exists... but only on X architecture... its been ported to Java though... but the JRE that it was said to be ported worth is 9 years old.... etc... Ever play this game?

+5  A: 

FileMaker Pro for a few reasons.

  • The scripting system is so controlled that you do it by point and click
  • No separation of data files and code files
  • Poor performance
Eric Ness
amen. add to the mix 90% of the UI uses modal windows, and you have a nightmare. Oh well, there's hope for FileMaker 11...
+6  A: 

You guys are all wrong.

IE6 does suck yes, but interwoven teamsite (CMS) takes the cake. let me list some horrible things about it:

  • its written in perl, java, jsp (with inline java), and about 30K lines of horrible javascript
  • the DataDeploy (the thing to deploy the data) sucks. Reading its logs is black art.
  • developing DCTs is a nightmare because you have to use their horrible javascript API. (i found a bug where recursion was broken in it!)
  • while you develop in javascript, you might have to interface with perl, and also write scripts in perl.
  • installing it is really hard. there are a ton of config files everywhere.
  • it costs lots of money.
Why does people use it?
because its sold to corporations, not developers, and they have really good sales people
+2  A: 

My own personal hell of late has been OSCommerce. Sure, it's a great open-source platform for what it aims to do, but actually making any serious change or even implementing a module add-on seems to be an exercise in frustration and anxiety.

For that matter, I find any framework built on PHP to be something akin to a rolled-up wad of Christmas lights. I really hate digging through countless includes in almost as many subfolders to find a constant definition. (Again, OSCommerce, I'm looking at you!)

Michael Itzoe
it isn't a good platform for selling things with either. nothing is more "exciting" than discovering it "DELETE"'s your orders instead of flagging them as removed.
Cory R. King
Wow. Didn't even know it does that, but still doesn't surprise me. Unfortunately, this is a project I inherited, so switching to something (anything!) else is out of the question.
Michael Itzoe

Interbase, version 6 or earlier.

This is one database that just refuses to scale. And if you try to remove old records to keep it slim, it will not re-index, ever. The only way to get it to shrink it to pump it to a backup, delete it, then recreate it using a god awlful set of metadata, then pump back from the backup. This process takes about 3 days on DB of 20 GB

Neil N
+4  A: 

I'm wondering if you all people are still sane, no one mentioned Typo3 yet!

It's the worst.thing.I.have.ever.seen on earth. Horrible code base, cruel user interface; it's a waste of time of your precious live.


Can I nominate OpenCV? It's a C++ library, but it's giving me lots of headaches.

+1  A: 

CGI in C!

You can complaint as much as you want on crystal reports, sharepoint, and other products, but they all pale in comparison with it.

It was the first job after I graduated from college (I had worked before that), and it was on a time where we already had jsp,, crystal reports, sharepoint, etc. So I am not doing an unfair comparison, its a real horror story :(

I switched job after 2 months and worked on an e-commerce product sold with an administrative software on (1.0), and yes it used crystal reports.

I was using a good CGI library when I needed to do [F]CGI in C (it was necessary; it accepted image data, massaged it and returned it. Don't ask... senior manager had heard "web interface" buzzword and decreed that it shall be so built even though it was totally embedded.
Adam Hawes

As someone who has primarily done Unix dev I'd say Windows is the most painful product to develop against. It feels cumbersome and backwards.

I also hated developing in anything other than assembly for PIC micros because the MPLAB tool was painful way back when I was doing embedded PIC dev (XP had been around a while, but MPLAB was still a 16 bit Win 3.1 program).

Adam Hawes
+8  A: 


I mean most of SAP. two or three years ago one of the biggest improvement in development environment was that the editor has syntax highlighting and auto completion.

I have heard some really ugly horror stories - with good chunk of lost $
+2  A: 

For sure, Microsoft Commerce Server 2002.

  • Three different method to store data (including mashalling into a single column, XML and normal O/R mapping).
  • Three different ways of configuring data fields.
  • VB6-like APIs only half-way hidden behind a .NET-API
  • You see at each bit of the app that it has been developed by different groups that hardly speak with each other. A programmers nightware. Not meant to do things with beyond the base functionality.

I detest writing RISC assembly.

Paul Nathan
humans are not meant to write RISC assembly. The whole point was so that compilers could do it better. At worst you should be altering assembly suggested by a higher language compiler.

The iPhone, or rather UIKit. UIKit's APIs are really more limiting than useful, if you go a little beyond what the example code does.

It's not so much that I haven't seen worse APIs - it's that on a product this successful, you'd think you'd get a decent UI toolkit. It's the combination of hype on the one hand, and the quality of the APIs on the other that's so disappointing.


Dralasoft aka Clarify aka Verity aka LiquidBPM aka doesn't exist anymore, support guy from latest company to buy it says "What's Dralasoft?"


not worked with M$ SP or CR so don't know.

Access is a pain, so is the liferay also had fair share of problems with developing add-in for office, it is bit better with VSTO but still pain in the back side.

+1  A: 

The ArcGIS server Web ADF. It's a horrible combination of the ASP.NET Atlas update panel stuff and the callback results framework, which might not be second and third, but are both in the top ten.

Dan Monego
+5  A: 

I voted in favor (?) of Crystal Reports. But I thought Oracle deserved to be mentioned at least once. I mean every product which name contains Oracle.

Whatever the product you very consistently get :

  • poor UI (when usable at all). I once had a demo by an Oracle salesman of a product once developed by Siebel (cannot remember the name now). He warned me half laughingly of all the useless graphical stuff they had spent their time on : modal windows, a graphical designer... He then had a sigh of relief when we fell on a page developed by the Oracle guys where all you had was a text box to create your queries. Ha !
  • poor integration in its environment (ODP .NET parameters bound by position by default...).
  • inconsistent syntax. In the DBMS_LOB package, can you spot the discrepancy in the naming conventions between GETLENGTH and GET_STORAGE_LIMIT ?
  • legacy burden. They never pay their technical debt (do I get extra points for citing Jeff ?). Have a look at the OCI header files if you want to know what C was like 25 years ago. This point is obviously linked to the previous one.
  • poor quality/support. They once released an Oracle Client (9.2.?) where one DLL was linked against the debug version of the Microsoft C Library. This version is obviously not present on the usual workstation, so the client was just broken (as in non functional). At the time, you either had to wait for the next release, or get the patch from the overly priced Metalink support.

Funny note : Business Objects, now owners of the infamous Crystal reports, was founded by ex Oracle employees...

I remember working with OCCI. Nice interface, easy to work with. It was available only in binary form, generally for ancient compilers. We looked at running the app on openSolaris, but we needed the STL, and there wasn't a version compiled for stlport.
David Thornley
+6  A: 

Symbian OS phones - you try so hard to find documentation, and when(if?) you do, nothing actually behaves as it is documented.

Matt H
And most of the forums that you search to find anyone who knows how to do what you are trying to do are populated entirely by people who are equally (or more) clueless.
A. Levy
+5  A: 

Facebook - it's a moving target.

+1  A: 

I would definitely nominate Crystal Reports, piece of ****.


Bryan Corazza
+8  A: 

Software is typically pitched at two groups of people: either the people who will actually use it, or the corporate decision-makers. If it's pitched at the actual users, it can't be too painful and still sell well. If it's pitched at VP level and up, to people who have the power to write big checks and never will touch the software, it doesn't matter how painful it is.

This means that the worst stuff comes from corporate giants. Several Microsoft products are listed here, and Microsoft gets a lot of sales out of convincing higher-ups to buy as much Microsoft as possible. SAP and Oracle are also very good examples. Companies that don't dominate, that don't have the boardroom cred, have to generate interest in other ways, frequently by making software that appeals to the actual users. (Microsoft was in this category before MS-DOS, while I doubt SAP ever was. It shows.) IBM products used to be painful to work with, because for most of IBM's dominance computers were really expensive, and therefore bought by executives (on my first job, whether to buy another megabyte of RAM was a VP-level decision).

David Thornley
Very good answer, I agree with your point. Thanks!
Sergio Acosta

I'd vote for Powerbuilder. (But it could have been the project I was working on back then...)

Oh and how about Borland Starteam for source control? Especially in combination with the Visual Studio integration. The pain! Does anyone actually use this?

Starteam: never again!
Pascal Thivent
+1  A: 

IIS with PHP and the only way you can access the server is WebDAV. Updating and debugging was pain...

+6  A: 

Sharepoint for sure. It will make you want to kill yourself twice.


I'll happily nominate BREW here. Not sure how much experience people will have had to agree with me, but having done a great deal of web development in the past and having suffered through Netscape 4 and IE 4, 5, 5.5, and so forth, I can say with confidence that nothing they do comes CLOSE to the backasswordness that is the BREW platform.

+1  A: 

Websphere has to be two of the most difficult application servers to work with. Difficult to setup, difficult to deploy, difficult to work out how feature X works and difficult to code anything for. Weblogic isn't much better, JBoss either. In fact most application servers to work with.

However, I'm sure there is a method to their madness considering they make so much money out of support, purchased documentation and training courses. Way to make money - make it convoluted!

+1 for WAS but -1 for Weblogic and JBoss
Pascal Thivent
Nah, not having an application is definitely better than having one and not utilising it... most of the time it's a servlet container that's needed... not an application server...
+1  A: 

Interfacing with MYOB

+1  A: 

Vignette Application Portal in conjunction with Vignette Content Management with some Vignette Dynamic Portal Module on the side. If you've ever done this you deserve some kind of award.

Zack Mulgrew

Sharepoint, Crystal Reports

Nicolas Dorier
Vote the existing answers up instead of adding duplicate

SOA Applications over Oracle SOA Suite platform


Any application with zero unit tests.

Nathan Feger
+1  A: 


Write once, run anywhere. Yeah, right.

Worst handset I've developed for: Motorola T710. It had a crap screen and would fail to install JAR files, for no apparent reason, if the JAR size was a multiple of 100 bytes.


+1  A: 

Windows Workflow Foundation!


Visual Fox Pro

The data typing is so loose it would have to pay to get into the strip joint!


The Windows Installer -- No one, outside or inside Microsoft, uses its API or data (well, except the poor people who make wrapper tools like InstallShield, Wise, AdvancedInstaller, and VStudio Deployment). Even when using wrapper tools, it's painful to do anything outside its narrow limits. Custom Actions are a kludge and often can't be used for conditional actions because you never know when things are going to happen. Testing for conditions ("launch conditions") are extremely limited, its habit of starting up on users at the craziest times, giving them worthless guidance on what the problem is and how it is trying to solve it (usually the hapless user deleted some shortcut accidentally left "vital"), ... I could go on.

Bob Denny