HP3000-L Archives

February 2003, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Gavin Scott <[log in to unmask]>
Reply To:
Gavin Scott <[log in to unmask]>
Date:
Tue, 25 Feb 2003 11:23:12 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (104 lines)
Richard writes:
> On another topic, I wondered what people's opinion of Java was.  I've been
> learning and using Java on and off over the last 2 years, but am seriously
> thinking of giving up and switching to C Sharp, part of the .NET
> suite as it looks so much better.  I have been very disappointed with
Java,
> especially it's web services.

Java is probably the most popular tool for web app development, as it has
several more years of development behind it, with a similarly large set of
add-on tools (many of them free).  Look around the Apache.org web site for
example.

Java does suffer from the still-visible remnants of its evolutionary
process, and its web application support is spread across a number of
technologies and tools, which makes coming up to speed on the whole thing
really incredibly amazingly difficult.

Many of the main-stream Java technologies form Sun (J2EE, etc.) can be
overwhelming in their complexity and feature sets, and many of the "simple"
or "easy" frameworks (Apache offers multiple options in this area) have a
fairly steep learning curve before you "catch on" to the way things are
supposed to be done.

You're expected to assimilate a 400+ page book for *each* of a half-dozen or
more technologies required to build a complete solution.  COBOL, VPlus, and
Image never looked so good.

In virtually all cases the tools you need to develop an application are
significantly more complicated than the application itself will be.  Somehow
it doesn't seem right that a developer's expertise should consist 90%+ of
arcane knowledge of class libraries with only a small part left for
knowledge of the actual application domain.  The rules of business are
generally simpler than any *one* of the tools one needs to learn to be a
"modern" developer (often including the editor used to write the code!).

The foregoing rant is mostly a result of recently needing to decide how to
develop a web application with a database back-end (maybe even on a 3000)
and being totally overwhelmed by the currently available choices.  But maybe
I'm just getting old.

I've been working with C# on and off for a year or so now (though not for
any web-based stuff).  The advantages that C# (.NET really) has over Java
are that it's a from-scratch design that had five years of Java's hard-won
experience to draw on, and it's a complete integrated system in the
proprietary Microsoft world.

If you don't mind selling your soul to Microsoft, and possibly updating your
application to use the latest technologies more often than you would
otherwise, and you can afford $20,000 per CPU for a database (hey, it's half
of what Oracle charges), then buying into the whole .NET thing is a
wonderful way to go.  The tools and documentation are excellent, things
generally work well, everything integrates *very* seamlessly, etc.

The Ximian "Mono project (www.go-mono.com) is producing an impressive "free"
implementation of the .NET core system (and many of its advanced class
libraries too), so you can actually do a lot of ".NET" without Microsoft if
you want to.  The Mono project is already far enough along that you could
use it for real development (if it were available for HP-UX then I'd
probably be doing significant development with it now).

Becoming a Microsoft developer actually isn't that expensive.  They have
MSDN subscriptions that get you all the tools, operating systems,
applications, etc., and all updates to them for a year.

The highest level is the "Universal" subscription that includes all the
server products, SQL server, the fanciest version of Visual Studio, every MS
operating system, most applications, a full license to Office XP developer
(the other tools are licensed for development use only) and the right to run
all this stuff on as many systems as you need to for development purposes.
Note that it's licensed to a specific individual developer though, so while
that developer can install portions of it on ten test systems say, he or she
is the only one who can use that software on those systems.  You also get
web-based support, and MSDN magazine subscription, beta releases, and on and
on.

The list price for an MSDN Universal subscription is about $2,500/year (and
again this covers only one developer), but believe it or not you can buy it
on eBay for close to $1,000 which makes it very reasonable considering all
that you get (the full Office XP license is worth almost that much alone).
Your right to use the software does not expire at the end of a year, you
just stop getting updates if you don't renew.

Add a copy of VMWare (and maybe some extra memory) for your PC, and you can
run as many copies of as many different MS operating systems as you need all
at the same time, which makes cross-os-version testing and repeated "clean
install testing" easy.

On the cheap end of the spectrum you can use Mono on Windows or Linux for
free (command-line compiler, graphic debugger), and you can download the
basic .NET Framework SDK from Microsoft for free which includes command-line
C# and VB compilers, a graphical debugger, and all the documentation.  For
$99 you can get an introductory Visual Studio environment and your choice of
either C# or Visual Basic.

Overall I'm extremely impressed with the .NET system and its tools, but if
you find Java's web development tools overwhelming, then I don't know that
you'll find developing a C# web application to be *that* much easier.

G.

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2