Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Java/Sun or Microsoft.net

Status
Not open for further replies.

carlg

Programmer
Jun 23, 2004
88
US
I am an old school UNIX/C programmer. I have about 8 years of work experience.

I have some clues that the company in which I work will be sold within the next year, most likely leaving me with no job (don't know this is going to happen for sure, but it's a good guess).

After this job is gone, I want to start a new career path in a new technology. Just seems to me like a lot of the new jobs (looking at job postings) are either in Java or .Net. I don't have experience in either.

So I thought while I'm still working I could try to prepare myself to get a certification. This way I will be more marketable when the time comes.

Just wondering which certification I should go for. The Sun/Java cert or the MS .Net certs??

Any suggestions or advice??

Thanks
 
Start by getting yourself up to speed on OOAD in general. Going forward you're not going to see much happening in straight procedural languages.

The Java and .NET platforms are very similar structurally. Both rely on programs that call a framework rather than OS based API's directly. You learn one, you'll have a good starting point for the other.

If you've been strictly a procecedural programmer, I would suggest learning relational database concepts as well as Web type technologies also before specializing in a platform.

The trend for both Java and .NET appears to be PC or Web based clients using Web Services to access databases (for most business applications, at least). That means you need fammiliarity with bazillions of different technologies all at once.

_____
Jeff
[small][purple]It's never too early to begin preparing for [/purple]International Talk Like a Pirate Day
"The software I buy sucks, The software I write sucks. It's time to give up and have a beer..." - Me[/small]
 
Both are good platforms (note that I said platform, not language). Java has a headstart in the enterprise arena, but .NET is making inroads there now too.

The key to learning either is not the language itself -- both are typical curly-brace languages. The trick is learning each language's supporting framework.

Java's framework is more object-oriented than .NET's, being based mostly on interfaces rather than concrete classes like .NET is. Of the two, Java is more architecturally "pure", but has a steeper learning curve, and is peppered with acronyms. Which is not to say that learning v2 of the .NET framework is easy -- there's several thousand classes available.

In both cases, if you're writing a general-purpose business application, the frameworks already have everything you'd need. A mental adjustment you'll have to make is not writing utility classes & code yourself. For example, there's no need to write something to read an XML file, as both frameworks already do that quite well (I've seen ex-C++ do this -- wasting a week of their time when all they had to do was use existing classes). DateTime is the same thing -- if you need to find the difference between two dates, just subtract them. No need to write code, it's already in there.

Best of luck.
Chip H.


____________________________________________________________________
If you want to get the best response to a question, please read FAQ222-2244 first
 
Yep the main difference of note between old-school programming and what passes for programming today is the methodology. In sense, no one codes (or generally knows how to code things) in most cases. They just act as librarians and hook together different tinker-toys (classes, objects, sub-programs, whatever you want to call them) written by others. That's generally the only skill required - the ability to look up call interfaces and implement them properly.
 
Well, it's not all monkey-work, Glenn9999.
:)

I've seen some pretty bad code written by people who didn't engage their brain before using their keyboard.

Chip H.


____________________________________________________________________
If you want to get the best response to a question, please read FAQ222-2244 first
 
Java, if the application will run on several platforms. If you know for sure the application is meant to be used on Windows only, than .Net
Anyway, swtiching from Java to .Net is quite easy
 
adrstan1 said:
Java, if the application will run on several platforms. If you know for sure the application is meant to be used on Windows only, than .Net

For .NET support on Linux, MAC OS X, SOlaris and BSD's:

A smile is worth a thousand kind words. So smile, it's easy! :)
 
My answer is full of over-generalizations and is not motivated so much by the technologies as by people issues...

You have 8 years experience, you'd probably rather not be treated (or paid) like an entry-level noobie...

You are looking for a new job, with new people.

Which people will be most likely to appreciate your Unix/C experience? Java people or .Net people?

There are certainly exceptions but generally the early adapters to Java were folks that were previously Unix/C guys that were secretly jealous of Windows and RAD devolpment like Visual Basic or maybe Visual C++. The jealously manifests as a hatred of all things Microsoft.

The .Net people were previously Windows/VC++/Visual Basic people with an inferiority complex re:Unix that manifests as suspicion or disdain.


So since both sides have their own bigotry, go with Java because they are the most likly to respect you for your experience.
 
We are a small shop with deep experience in VB6. The choice between Java and VB.Net for us may be heavily influenced by having been a captive of Microsoft. If we start over with VB.Net will we be faced in the future with starting over with something else? Not to mention the regular steep increases in license costs for both us and our customers. Looks like the Java structure has been maintained throughout its history, is open source, and adaptable to many environments. So that's where we plan to go.

Anyone care to make the case for going with VB.Net?


John Kisner


 
What licensing costs? The CLR is free and there are are free IDEs.

Personally I wouldn't mess with VB.NET either - I use C#. C# is syntactically similar to Java. If you're writing Windows apps I would look at it.

_____
Jeff
[small][purple]It's never too early to begin preparing for [/purple]International Talk Like a Pirate Day
"The software I buy sucks, The software I write sucks. It's time to give up and have a beer..." - Me[/small]
 
Did somebody try to charge you for the VB6 runtime?
 
Mono aside, .Net does tend to lock you in with a single vendor.

It is disconcerting (as an outsider looking in) to see how fractured and vendor-locked the Java world seems to be though. The language is one thing, but there seem to be a raft of nuisance proprieties involved. These range from runtime version and quirk issues to competing packages of "life support" (gee, I need more than a compiler?) from IBM, Sun, BEA, etc.

In both market segments technology churn seems to run on about a 2 year cycle right now. I wondor how people are keeping up with the "legacizing" caused by this in both the Java and .Net camps?

I guess my conclusion is that the two are more alike than different in more ways than one might think considering .Net is a Microsoft-only technology.


For those looking for "different and mortgage sustaining" but not necessarily new...

I've recently been plunged into the depths of Cobol. This is a scary segment of the software world in many ways. I'm shocked at the poor progress that has been made bringing massive hunks of legacy code forward to date.

This is a big enough issue that rehosting tools for Cobol appear to be a glut on the market. Yet the market seems to have room for yet another every couple of years.

Whether the issue was intractable Cobolers over the past 15 years or the bean counters' refusal to spend real resources on rewrites of existing logic doesn't much matter. My points are that (a.) there is a ton of this stuff out there yet, (b.) we are on the verge of a mass migration of Cobol folks into retirement, and (c.) there is a vendor shake-out coming that may eliminate some legacy platforms.

[ul][li]I am finding huge wads of moldering Cobol out there.[/li]
[li]On platforms that may implode when the vendor drops them. Yes, there are more mainframe vendors than IBM out there - right now at least.[/li]
[li]Most of the folks involved are 50+ and walk around in a daze dreaming of early retirement all day. A not-unlikely scenario as companies try to move them off the payroll and onto the retirement fund war chest (which may turn out to be an exploding cigar) instead.[/li][/ul]

Yeah, Cobol programming sucks. But take a look around you. Doesn't all programming suck when it comes down to it? Between "process" and meetings and managers (oh my!) how much fun is the job no matter what you code-speak?

I picture a need (which I believe is there right now if one just talks to the right folks) to rehost and maintain a great pile of legacy application systems onto newer platforms. For all I know there's a wad of RPG out there somebody can't live without too. This need should last at least 10 years.

I don't live in the IBM community. It could be that most 'BMers have made the jump to Java and attritted thier Cobol portfolio to near nothing. My guess would be that Java has been used more for "new development" though - but I don't know.

Shops relying on other mainframe and mini platforms may not be so lucky though, and there lies the possible opportunity.

VB6 may go the same way in a few years, if it isn't on the verge now. Nobody wants to deal with the conversion headache on a large scale, and a lot of old VB6ers may be eyeing retirement (or .Net/Java) just as longingly as the Cobol codgers.

If it were about conversion I'd say we were looking at a short term opportunity for contract players. Considering the volume of this stuff though conversion may be impractical. The ongoing dependence on it being around and maintained makes me suspect that at least the support role subsequent to rehosting will be an in-house function.

Yep, line of business software does rot just like a wood frame building. Instead of weathering and insects you have routine business changes and "new leadership."

Sell yourself as a "Heritage Preservation Engineer" or something. "Software Mortician" doesn't have the right ring to it. ;-)
 
dilettante -

There's always Fujitsu COBOL.NET! :)

It seems to be a supported product (last service pack was in November), and they have a free evaluation download (5 days, I think, which is woefully inadequate).


You're points about the COBOL culture are right-on. It might be nice to work for a while in a place that only expects 40-hour workweeks. That would leave me lots of time for side projects!

Chip H.


____________________________________________________________________
If you want to get the best response to a question, please read FAQ222-2244 first
 
johnk said:
We are a small shop with deep experience in VB6. The choice between Java and VB.Net for us may be heavily influenced by having been a captive of Microsoft.

My last employer made the switch from VB6 to Java. The CTO's concern was over being a Microsoft monoculture (he was new to the company) and thus wanted to switch to Java because the Java market was more open. They spent over $2 million on the change, licensing BEA Weblogic (they bought everything BEA sells) for their production servers and internal dev & QA use.

The idea of avoiding a monoculture turned out to be a fantasy, as they are now as much a BEA monoculture as they ever would have been under .NET. Once the application developers started using the BEA extensions to the J2SE/J2EE standard, they were locked into that vendor. Changing to another Java vendor like IBM WebSphere or Oracle would be very costly in terms of testing the app for correctness.

The bottom line for you is: Which platform will allow you to produce a good product for your market in a timely fashion, that you can then sell and make a profit on?

Since you're currently a VB6 shop, and already familiar with what Microsoft names things (don't underestimate the importance of this!), my guess is that your learning curve will be less steep by staying with .NET.

So far as choosing with VB.NET or C#, they're both equivalent so far as the CLR is concerned. Pick whichever one has the shortest learning curve for your people.

BTW, the .NET runtime is free, and a lot of people already have it if they've bought a recent Hewlett-Packard printer, installed MS-Office 2003, or downloaded it from Windows Update. Internet Explorer reports .NET version on it's userAgent string, so if you run a website you can gather statistics on who already has it (Firefox doesn't report it).

Chip H.

____________________________________________________________________
If you want to get the best response to a question, please read FAQ222-2244 first
 
I'm drowning in Cobol alternatives right now chiph, but thanks.

The sad thing is how many of them went the Java/.Net "route" with interpreters/VMs - but chose to develop their own as closed worlds that can't readily interoperate with native code. NetCobol (née Fujitsu Cobol) may not have this problem, but now I'm dealing with object-only licensed 3rd party Cobol too using the goofier compiler products. Bleh!

You're right about the Java Truth of vendor lock-in. I see it everwhere. Sadly, "decision makers" are constantly sold the same old lie of write-once and neutrality. I assume the lack of legal action by Microsoft is due to their desire to have Java out there, much as they do the Mac.

Both of these may serve as buffers against lawsuits against themselves, fostering an illusion of competition (albeit more real in the case of Java). This illusion probably provides more than a legal buffer. A real monopoly would mean stagnation, with finanacials returning much as they do for regulated utilities. This way they can all keep milking the economy as if they were truly providing customers competitive advantage.

But that's a murky exposition on a completely different topic.
 
Microsoft may be the best place to be locked if you are going to be locked into to some vendor anyway.

A MSDOS upgrade fifteen years ago cost the same as a WinXP upgrade today... costs is actually less once you figure for inflation.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top