Software Development
Blogs and Discussion
developer.*
Books Articles Blogs Subscribe d.* Gear About Home

What's Behind Door #2?

This is my first blog entry. I don't claim to be an expert in anything, and I reserve the right to be wrong about everything.

I've been an internet developer for almost 9 years now, and most of that time I've spent in a Microsoft environment. Very briefly at the start of my career, I worked for an ISP writing an in-house accounting package to keep up with things like billing, subscribers, hosting, disk usage, etc. Since the user accounts were all on Sun UltraSPARC servers, I did some C programming on Solaris. Other than that, it's been Windows all the way.

Currently, I'm a software architect for an internet E-commerce firm in Atlanta, GA. I've been using Microsoft's .NET platform since it was in Beta 1 and frankly, I love it! Once I got fully into how you could architect systems using full-blown OOA/D, the whole scripting world totally lost its luster. That goes for Visual Basic as well. In .NET I made a conscious choice to use C# because of its more standard syntax. I figured if I wanted to go into an environment that heavily utilized OO development strategies, the folks I'd encounter would've most likely used Java or C++.

So recently I started working on a project in my spare time that hopefully I'll be able to make a little money at someday. When the time came to decide which technology am was going to use, I found myself leaning toward Java despite my clear Microsoft preference. I had previously tried to start a venture with a friend where we were going to use .NET. As a small outfit of two guys, we found an ASP.NET hosting provider for a reasonable price. But the problem came when we had to access the tools and database platform. Of course we could put our hands on copies of SQL Server 2000 and VS.NET 2002, but it wouldn't have necessarily been above board. There's a huge cost to starting up a venture if you want to remain legal in the Microsoft environment. How many of you out there have paid for your home computer's installation of Office2003? Chances are you just used your company's MSDN disk.

I didn't want to go the piracy route, and that made the Java environment very attractive. I downloaded the J2EE environment from java.sun.com and also the latest IDE from NetBeans, and away I went. There are some idiosyncracies to learn in transitioning to this new mindset. Clearly the tools aren't as seemless as Visual Studio, and there's alot more of sticking your fingers in the goo of your environment to make sure everything's integrated. But the tools are getting better about hiding that from the user to maximize productivity. Additionally, I downloaded MySQL which is a free database application that will be perfect for the amount of volume I expect to handle initially. In working with the Java language itself, there's a learning curve in trying to familiarize myself with all the capabilities of the SDK packages, as well as the keywords for implementing interfaces and extending base/abstract classes (makes sense though when you use those keywords in a sentence ;-) ) or overriding methods.

I guess my point is I never thought I'd be taking a peek behind this curtain to see how the other half lives. So far it ain't too bad. I think Microsoft has a real problem in that their tools are prohibitively expensive for someone like me who wants to start his own company without outside investors or alot of cash. I don't have thousands of dollars to license everything I'd need, and I'm not one to steal. Sorry. Free is better at this point. Not only that, in selling what I develop to my target audience of NFP organizations, they're not going to want to pay Microsoft licensing fees either to provide my application an environment. And once I've got my platform functioning, I'm probably going to be loathe to switch to Microsoft, even though I think .NET is great. We'll see.

Categories: 

Microsoft tools are way overp

Microsoft tools are way overpriced for companies here in China with the result that the government is committed to Open Source.

I think the long term problem in Open Source is that in principle, ANYTHING can be modified without notice at any site.

Let me explain.

You go to a company to do some work. They say they have Java SDK, etc. But some ace has, at this company, MODIFIED let us say the Java compiler source and the company uses the MODIFIED source!

I may be missing something in my ignorance but I saw this happen in the mainframe system VM/CMS which was "open source" in the sense that it was distributed in source form.

The result, however, of the Microsoft overpricing is that a form of what must be called "corruption" and "crony capitalism" operates.

Sure, a developer might feel guilty about leaving a job and not erasing MSDN from his laptop.

But far more significant is the market failure that occurs so often when developers are given MSDN under a huge number of arrangements, some with labels like "academic" when a good faith academic usage IS NOT MADE.

In the USA, you can talk your way into getting the academic price or get your kid, who's at school, to but Visual Studio for your company.

It doesn't feel like theft but it is because the VS developers worked very hard to make the little bits.

I am going to BUY my next release of Visual Studio fair and square in Hong Kong for EIGHT THOUSAND DOLLARS. This sounds worse than it is (hint: exchange rates) but it still sucks.

At the same time, it is a fair and square value-for-value transaction.

What I'm tired of is the cheesy software culture in America in which you're a sap unless you make the best of what Eric Hobsbawm called "the anarchism of the lower middle class".

Furthermore...programmers will suffer from nervous disorders, excess geekiness, substance abuse, spousal desertion, acne and a thousand other ills until they get compensated fair and square through the market for what the create, and the sick "binary opposition" between "bad" writing and "reality" ends. What I mean is chip makers get compensated properly but the best programmers can come up with are xenophobic campaigns against offshoring and lifelong unpaid internships cranking Open Source for free.

You get what you pay for, IME

Java is well and good, esp. from a purely biz direction. But you also have to consider your time in the TCO of a J2EE setup.
When you start looking at it, you might see that your hourly time spent negotiating the extremely variable J2EE toolset will quickly gobble up the price of a MS setup. At least, that's my take away after spending months learning the vagaries of ANT, Apache/Tomcat, WebLogic, Linux servers, etc. etc. And that's notwithstanding Java as a language/library itself.

Considered just doing the backend on MySQL? Couldn't you do that just as well from ASP.NET, given there's a valid provider?

Although there are many strengths to the J2EE platform, the tools are disparate & hard to learn, and often function in a way that is contrary to the habits of many MS programmers. It's a hard hill to climb.

But I do understand that bottom line....

Pros and Cons

Hello, Trevor. Great to see you start your blog. This is an interesting topic, and one I've thought a lot about. I can relate directly to your dilemma: I make my living as a Microsoft developer, but my developer.* project runs almost totally on open source non-Microsoft tools and technologies. My hosting account is Linux/Apache, and I make use of a variety of free tools (listed here), many of which are PHP-based. The software into which I am typing this message that runs the Cooperative Digest is an open source content managament system (written in PHP) called Drupal. It is safe to say that much of what you see on the developer.* web site would not exist were it not for the free tools I use, and in particular for the cheap hosting I'm able to get because my provider does not have to pay Microsoft licensing fees.

Changing the subject slightly, have you considered or tried the Eclipse IDE? That appears to be where the mindshare is today in the Java community. It's a really snappy UI, and because of its plugin architecture, there are tons of addons for it.

Since you're running Java (and probably Apache and Tomcat) anyway, I also recommend Rob MacGrogan's SourceJammer source code control tool.

I look forward to hearing how things go with your foray in the world of Java. I wonder, though, whether you will find J2EE to be overkill for what you need. You can do a lot with Java without having to take on the added complexity of J2EE. For example, I was struck recently by comments in Allen Holub's Java Watch column regarding the EJB standard:

Moreover, bad standards are destructive. Just look at created-by-committee junk like EJB and JSF. I personally believe that EJB has been responsible for the failure of more companies than almost any other single technology. EJB is too expensive at every level. The servers themselves, the learning curve, the time required for building and debugging EJB code—all these cost too much either in dollars or effort (which, ultimately, translates to dollars). Nonetheless, companies jumped onto the EJB bandwagon precisely because Sun was pushing it. EJB was the official standard.

This thinking is counterproductive, of course. Companies used EJB even when the technology was absolutely inappropriate, and they often used the technology inappropriately. I’ve seen entirely too many EJB applications that did nothing other than send entity beans around using RMI—probably the world’s least efficient way to access a database. I don’t buy the “if they knew what they were doing, they wouldn’t do that” argument. Well-thought-out technology doesn’t let you hang yourself in this way.

For a small Web app, direct JDBC calls to the database can work just fine (let the database server do the transactioning, failover and connection management). Wrap the JDBC in a “factory” layer, and you have the option of going to something else in the future if you need to. Similarly, messaging is often a much better solution than EJB for interprocess communication. (Message-related beans are a kludge—a desperate attempt on the part of the EJB folks to keep themselves relevant.)

You get the idea. Many bad systems that didn’t need or leverage EJB were built at the cost of many millions of dollars, and many of these systems were so complicated that they never worked at all, much less worked correctly.

That’s the danger of bad standards.

Dan

Re: Pros and Cons

Changing the subject slightly, have you considered or tried the Eclipse IDE? That appears to be where the mindshare is today in the Java community. It's a really snappy UI, and because of its plugin architecture, there are tons of addons for it.

Since you're running Java (and probably Apache and Tomcat) anyway, I also recommend Rob MacGrogan's SourceJammer source code control tool.

If you are intent on moving in this direction, I'll definitely vouch for both of these tools. Eclipse is a very nice IDE -- I preferred it hands-down over JBuilder, which to me is the next closest thing.

I haven't looked into Eclipse

I haven't looked into Eclipse but will do so. I have to say I've been very happy with the new version of the NetBeans IDE. I hadn't really gotten too deep into writing any code before upgrading to the new 4.0, so the transition was pretty painless. I do plan to use SourceJammer for my source control though.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Recent comments

User login

About our advertising.

Atom Feed

developer.* Blogs also has an Atom feed, located at this url.

Click here for more information about Atom.

A Jolt Award Finalist
Software Creativity 2.0
Foreword by Tom DeMarco

Recent Posters

Based on most recent 60 days, sorted by # of posts and name.

Google
Web developer.*

Who's online

There are currently 0 users and 16 guests online.

Syndicate

Syndicate content
All views expressed by authors, bloggers, and commentors are their own and do not necessarily reflect the views of developer.* or its proprietors.
Click to read the Copyright Notice.

All content copyright ©2000-2005 by the individual specified authors (and where not specified, copyright by Read Media, LLC). Reprint or redistribute only with written permission from the author and/or developer.*.

www.developerdotstar.com