At my first job, after a steady pace of desktop applications, I was asked to make a web application.
It was 2006 and JSP was the big game in town (ah, taglets), Struts had just become a toplevel Apache project, JSF was just starting and Spring Framework was the only same-looking thing, at some 1.x version.
Having worked with Java on the desktop, the options were Java on the server side too or learning something new (I ruled out PHP quite early).
Thus it came to choose between something that seemed very flashy, called OpenLaszlo or a servlet-based Java solution, with PostgreSQL as the database (I didn't like MySQL either).
OpenLaszlo was quite interesting because it compiled to Flash so you could create quite beautiful pages. It would have also mapped quite nicely with the application as we required some rather custom stuff. Also, the site was used by management so charts and other flashy, interactive content would have been welcome.
In the end I picked a Java servlet solution, using Spring framework and a whole lot of the solution was custom-made.
The reason ? The laptop I had back then could barely run OpenLaszlo locally!
It was some clunky Compaq with 1GB of RAM (I got 2GB at some point) so it could barely keep up with a normal XP/Eclipse/Browser/email configuration, let alone run my local database and local OpenLaszlo server.
Of course, that might also have been a blessing in disguise, because who knows how easy it would have been to actually implement everything with OpenLaszlo? But, the problem is, we'll never know.
Ever since, I consider that developers need to have access to good machines. Software development is a hard job as it is, you don't need to fight your machine too.
Sure, some low-level computer might be used for testing purposes, but expecting the programmer to use a slow machine just because that's what the users have (or because there is no budget) is the seed to a lot of lost opportunities and developer frustration.