Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Comment Re:Java too complex (Score 1, Interesting) 558

The problem with "making all those decisions for you" is that writing good programs is hard and writing good frameworks is harder. Therefore, all else being equal the chances are that any given framework will suck. Five years ago Java had several hundred web development frameworks. 99% of those sucked and nobody used them, the others were built on the lessons learned from the sucky frameworks' mistakes, as well as the rare bit of genuine technical vision.

We've ended up with the Spring framework in Java, which is a top-notch web development framework; the first one I've met that really truly does not suck, and web development isn't even the main point of Spring. Contrast that with the decision Microsoft made for your web development needs in the form of ASP.NET, which is pure unalloyed garbage. It's built around some completely ridiculous metaphors and tries to fight every reality of the web platform, leaving you with a programming environment that's about as flexible as a brick. You can build dumb intranet web views that are completely un-abstracted and welded to the tables you've laid out in your SQL Server database, with rather limited control over any non-elementary features over the DBMS, and if you try to step one inch outside of that mindset then it fights you every step of the way.

That isn't even an indictment of Microsoft's technical development practices as it is a reflection of the fact that they only tried once and (since the odds were against them) they blew it. Many Java frameworks that were as bad as ASP.NET or worse came and went, what survives today is far more likely to be made of stronger stuff.

Fortunately for Microsoft that doesn't matter, because in most organisations the people responsible who choose the organisation's preferred technical platforms are not the people who actually have to use them. As long as their effort can be used to rapidly create a facsimilie of the equivalent demos found in the Java glossies and the number printed by wc -l is smaller in their version than Sun's they're fine.

Comment Re:Rail games (Score 2, Interesting) 177

Someone did think of it first: Konami. Notice that they mention Beatmania and DDR as inspirations, but curiously omit Guitar Freaks and Drum Mania...

GFDM are on something like their eighteenth release in Japan at the moment. Konami has been pumping out all manner of wonderful music games for over a decade now, they just really suck at publishing their shit abroad, much to the chargrin of the Western Bemani fanbase (which exists despite their best efforts, and believe me the use of 'despite' in that sentence was intentional).

Comment Re:So why (Score 1) 191

To answer your question:

SQL Server's development tools are top notch. Admittedly, that says more about the quality of the competition than anything else, which I'll come to in a moment. The DBMS itself is a bit iffy though. SQL Server 2000 and below are just a complete joke in terms of features and performance (and some shops still run it!). 2005 is pretty good, but they bolted on MVCC sideways and it shows. You can turn on MVCC on most operations, but I've had such a lot of hassle trying to alleviate weird locking issues that you end up just sprinkling SET TRANSACTION ISOLATION LEVEL SNAPSHOT; and WITH (ROWLOCK) or WITH (NOLOCK) everywhere just to get things done. That and it just does really unusual things sometimes. For instance, the latest performance tweak I had to apply was to add an index to a 30MB table which was for all intents and purposes read-only, . This is on a database server with 8GB of RAM installed, and that table is read from a _lot_. Why doesn't it live inside the block cache?

Oracle, on the other hand, have a very powerful database engine at the core. I get far fewer instances of query planner strangeness than I do with SQL Server. However, it is completely and utterly bloated beyond belief... I suppose that's to be expected from a codebase that's probably older than I am, but some omissions are really quite annoying. For instance, you can't, as far as I am aware, create temporary tables on the fly, you need a DBA to create them for you, despite the fact that most heavyweight queries are going to end up scribbling into the tempdb anyway, so I don't see why this needs to be a priviledged operatoin. Also, returning result sets from stored procs is just painful. SQL Server just lets you SELECT like normal, with Oracle you have to use SYS_REFCURSOR OUT variables, which is a lot more cumbersome, particularly from an administration frontend.

Oh yeah, Oracle doesn't come with any decent frontends of its own, so you have to use third party ones. In our shop we use a couple, but one of them is TOAD and it the one piece of software I hate the most, out of everything I have ever used. This is enterprise software at its finest, with about four or five toolbars full of shit and a catalogue of features that I'm sure their victim^H^H^H^H^Hclients' purchasing executives absolutely drool over. This thing has an HTML editor built into it. It's got _x86 assembly syntax highlighting functionality in its text editor_, for crying out loud. You know, just in case you fancy writing a nifty bootloader in between bouts of PL/SQL (I was rather disappointed to note that it only supported 16-bit real-mode instructions and registers. Oh well). It has an absolutely dizzying array of knobs and dials and options in its settings menu, which as a whole are about as clear as mud. But forget doing any sort of actual basic SQL work with this thing, because it's not going to happen. There are three ways to issue an SQL command, for no particular reason, and a whole bunch of crazy rules to pick which one to use. Sometimes, none of them even see fit to tell you exactly where the PL/SQL error is in the package body you just tried to compile. Some of these invocation modes block the UI while it's talking to the db. It likes to hang on db operations a lot in general; during autocomplete, during result set seeking, during some completely unrelated operations whose nature I cannot fathom. Also, it seems to get wedged if you enable DBMS_OUTPUT to one of its multitudinous window panes, but maybe I was just doing something wrong there. Urgh. I hate this utter piece of crap.

But yeah, as for Oracle itself, it's extremely powerful, if a little verbose and unwieldy. A consultant's dream, I suppose. Given the choice though, I would actually use PostgreSQL for most projects as opposed to either of those two. It's got MVCC built in from the ground up, it's not blazingly fast but its performance is a lot more consistent than some of its competitors, in my (admittedly very) limited experience with the database, its tools are clean and lean, and generally it seems well engineered and no more complicated than it needs to be.

Slashdot Top Deals

"Gort, klaatu nikto barada." -- The Day the Earth Stood Still