S
steve907
Well now we've gone off-topic into the endless Java vs. NET debate. I
won't embrace a discussion on tha because while I am predominately
a .NET developer and have been for the past six years, I've also kept
a watchful eye on Java and I've seen firsthand the benefits Java can
offer to the Enterprise over .NET.
.NET works fantastic as long as all your servers are running
Microsoft, but integration with non-Microsoft technologies has become
the focus of so much of my work. Java's cross-platform nature can
simply handles a lot of these sort of problems better because of it's
platform independent nature. Yes .NET is an ECMA standard, but
practical advantage does that give it over Java which today literally
runs everywhere.
When I considered focusing on Java around the time of .NET 1.0 my
reasons for sticking with .NET were 1. Windows dominance 2. Java
runtime performance issues 3. Lack of enterprise grade RAD development
tools (they existed, but they were quite horrible compared to
VS.NET).
Today things have changed: 1. .NET's lack of cross-platform support
has become a handica as non Microsoft server platforms gain market
share and integration becomes the leading problem for workflow, 2.
Performance wise Java and .NET have become neck and neck 3. At this
stage, the best RAD development tools are open source and .NET's
marriage to Visual Studio.NET has also become a hindrance.
Combine the above with new Microsoft technologies such as Silverlight
and compaire that to what other vendors are doing (e.g. Flex 3.0) and
you begin to see this trend. (side note: Mark Anders who worked for
Microsoft and has been credited as the "father of ASP.NET" left
Microsoft to work with Adobe and is largely responsible for Flex 2.0
and 3.0, if you love ASP.NET you'll find it's been carefully designed
to cater to the structure you're custom to AND Flex is a fantastic
framework for building Rich Internet Applications that puts
Silverlight to shame, but I digress)
There's been a slow exodus at Microsoft over the past five years and
it's something too many corporate software developers ignore. It
effects us because some people are paying attention. Sticking with the
Flex example if you do a job search on Flex vs Silverlight you may be
suprised, Silverlight jobs are almost non-existent. .NET jobs may be
aroudn another 20 years or longer, there are positions for COBOL
programmers working on mainframes today, but the question is do you
want to be doing that type of work or do you want to stay with what's
current.
I fell for this whole thing. I have been a Windows developer for 15
years and was finally swayed by all the hype in the market. I spent
$3,000 on a new MacBook Pro, 4gb, Leopard, iWorks, Office Mac 2008,
Airport Express, Fusion, and a few other goodies.
My experience:
- Some parts of the Mac OS design are brilliant - amazingly good.
Time Machine is superb. Other parts are brain-dead. Finder is a very
painful way to work with folders. Networking is a chore.
Installations are confusing. At one point, I tried to create a 2nd
partition on the disk and it got confused. After 2 hours with Apple
support, the solution was to re-format the drive.
- Discoverability. The 20% of the features that we use 80% of the
time are easy to figure out. The rest of it is buried deep. Example:
try to rename a group of files with one operation. Brutal.
- Fusion does not work as well as VM Workstation. One snapshot only.
Poor graphics performance.
- Bootcamp is downright flaky. The service frequently loses its
settings and requires re-installation.
- The menu system is just pointless. No windows open but the app
still displays controls the desktop menu? Too weird.
- One button mouse. This is pure arrogance on Apple's part. Many
functions in the OS are dependent on the right button, but they can't
provide one because it would be too much like MS.
In summary, a nice solid OS with its own niggling problems and a
significant learning curve (if you're not just a casual user). Oh,
and REALLY good marketing.
It was a relief to to go back to clunky annoying Vista. At least I
could get some work done.