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 IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

.NET or JAVA 3

Status
Not open for further replies.

Ladyhawk

Programmer
Jan 22, 2002
534
AU
I have a strong VB background and am looking into upgrading my skills. I am currently using/learning VB.NET and the .NET framework, but I am concerned that maybe I should be concentrating on Java instead. My boss (who is pretty much a sales manager for contracters, getting them jobs and stuff) said that things are going the Java way. Does anyone else think that there are more opportunities for Java developers than .NET developers?

Ladyhawk. [idea]
** ASP/VB/Java Programmer **
 
Learning Java, especially J2EE, will not hurt you one bit.

Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
It's hard to learn something when you don't have anything practical to do with it.

Ladyhawk. [idea]
** ASP/VB/Java Programmer **
 
I did start doing that (probably picked the wrong type because it was a database application). What environment do most people use? JBuilder?

Ladyhawk. [idea]
** ASP/VB/Java Programmer **
 
Personally I wish they'd both die a quiet death. There has been way too much hype and misery associated with both techologies.

That won't happen though, perhaps instead we'll see an eventual convergence. Or maybe some Next Big Thing will come along first.

The choice isn't obvious right now though. So much depends on what you are doing right now and where you plan to be in the near term. In Microsoft shops the pre-.Net technologies seem to have enough life left in them that .Net adoption has been slow. It may even require the same long adoption-curve and evolution that Java and J2EE went through.

J2EE is strongly entrenched in non-Microsoft shops though, and will remain a very strong choice for many years. It is quite mature at this point.

.Net is much newer, and though I'm no .Net fan I have to admit that the 1.1 Framework looks like a bigger achievement than many people give MS credit for. Performance has only improved vs. the 1.0 offering, with a minimum of additional "bloat." As Mono and open source tools such as #develop mature we may see J2EE given a run for its money on Linux as well - only time will tell.

.Net also offers some incredible price/performance advantages over J2EE even with recent MS pricing changes (upward, of course). This is one of the biggest thorns in the side of the J2EE community, but it is often countered by the very legitimate argument that .Net may have missed the boat due to large investments that have already been made in J2EE.

IBM has made some strong moves to foster further J2EE adoption too - though I suspect their motives myself.

Since you as a developer probably don't get a lot of input regarding major technology decisions, and are looking at these two from an employability standpoint... J2EE may be the hands-down winner today. Two years down the road looks too cloudy to me to make any predictions though.
 
I did start out by using JBuilder but it kept giving me so many errors and stuffing up the OS, that I eventually had to rebuild my machine to get rid of it.

Ladyhawk. [idea]
** ASP/VB/Java Programmer **
 
I have not tried the latest version of the IDE from Sun. I'm still using Forte Community Edition version like 4 or something. It downloaded and installed without a hitch.

I’m not sure that porting an application would be a great way to learn about java. Now if you changed it to re-write then that could work. However before diving right into a complete application you might want to make a list of the technologies you are interested in, or are part of the project. Then go through the tutorials at javasoft for each of them.

dilettante>> There has been way too much hype and misery associated with both techologies.
<sarcasm>Hype associated with technology!! No way!!!</sarcasm>

I don’t agree at all with your wish for them to die. While the hype may be overboard there is a reality that is substantially positive.

Everything else you posted is very accurate. I would just modify your summary a bit. Since there was already momentum in non-microsoft shops like in the case of Mono even before the first release version shipped of .NET, this indicates a large move in adoption. In fact you could say that it is innovative of in Microsoft’s lifetime. Therefore in two years Java will certainly be alive and well as will .NET

I believe that the early adoption of the CLR as a standard both inside and outside of the Microsoft sphere points to a widespread adoption sooner than later. Therefore my guess is that in two years the use of both .NET and Java will be in high gear.

-pete
I just can't seem to get back my IntelliSense
 
Some of that was wishful thinking.

I inherited a backlog of legacy Windows DNA era applications that will be a nightmare to rewrite in either .Net or J2EE. In the ones I've delved into I'm not sure some of the paradigms carry over cleanly to modern environments. The useful documentation (showing design philosophy and where it was applied) is nonexistant. There are some shabby UML documents but as usual these were done early on, never updated as reality and scope-creep intruded, and bear little or no resemblance to the current source code. Porting might be out of the question.

I have no hope that either J2EE or .Net will go away anytime soon. Even if they did, something else would be there to replace them.

I don't want to sound elitist, but maybe .Net will weed out the VB and PowerBuilder hacks who created some of the mess I'm dealing with now. Both development tools are valid, but some programmers were programming &quot;invalids&quot; (bad pun).

But getting back on point...

The choice is not obvious at all once you set aside the &quot;religious&quot; issue of MS vs. non-MS products and tools. I get the idea that currently J2EE has substantially greater market-penetration though. The question is where will the market be by the time you have developed mature skills?
 
I don't want to sound elitist, but maybe .Net will weed out the VB and PowerBuilder hacks who created some of the mess I'm dealing with now. Both development tools are valid, but some programmers were programming &quot;invalids&quot; (bad pun).

From my perspective, that does not sound elitist just realistic.

Unfortunately, the number of unqualified people performing software development activities seems to be growing at an alarming rate. The advent of these new &quot;simpler&quot; languages and environments just seems to flame that situation.

We are in a time in software engineering where OO and Patterns are finally starting to come to the fore in mainstream IT. These two opposing facts are creating a &quot;tug of war&quot; if you will within the industry.

Anyway, just my observations for whatever it’s worth… my guess would be ($0.00) [lol]


-pete
I just can't seem to get back my IntelliSense
 
I don't know if .Net will weed out the VB and PB hacks (and there others you could add to this list) who are at best VB wannabees. But I hope that it does. I think that it's more likely that the economy and the over-abundance of IT personnel will play a larger role in weeding out the &quot;invalids&quot;. In any event, if that happens, it will be a good thing.

Whether you feel that this is elitist, realisitic or otherwise, it is still in the best interests of our industry.

Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
I am currently working with a graduate programmer who did some Visual Basic courses at uni. I asked him what sort of things they taught him and to my amazement, they just skimmed over class modules and object oriented programming. One has to wonder if it's because the way &quot;new&quot; programmers are taught that their programming styles leave a bit to be desired.

What's the main differences between .NET and Java when you get down to it? Mostly sytax and the fact that Java can be run on multi platforms?

Ladyhawk. [idea]
** ASP/VB/Java Programmer **
 
Wow, the differences between them are major. One advantage that Java does not have over .NET is the fact that Java can be run on multi platforms since .NET can as well. (have you heard of Mono, an open source project implementation of .NET for linux)




I could type on for many paragraphs and get most of the information wrong so you would be better off doing some reading on your own. [lol] Some quick google’s will find articles that compare .NET to Java etc.

Go to google.com and search for CLR CLI .NET then to get hits on Mono add Mono to the keywords of course!



-pete
I just can't seem to get back my IntelliSense
 
Well you can't compare Java to .Net, the correct comparison is between J2EE and .Net, and that's a very different topic altogether.

For that matter Mono is just a small piece of the puzzle in moving .Net to non-Windows platforms. You have to remember that the real guts of .Net are still MTS/DTC (COM+), not the CLR or Framework. And even J2EE has a clone of MTS at its heart. But efforts like Mono are a great start.

The number one problem with J2EE is language-dependence: everything must be written in Java. Yes, there is JINI that lets you do some kinds of things at the fringes of a J2EE system in C, but only Java is a first-class citizen in the J2EE world.

The number two problem with J2EE is that all implementations are proprietary. You cannot &quot;write once, run anywhere&quot; or even come close without some expensive detailed porting. Sun hates this but J2EE is an incomplete spec, and thus even they have to add proprietary &quot;extensions&quot; to make it useful in their version of J2EE.

Of course .Net's big shortcoming is that it is Windows-bound for the time being. Period.

LadyHawk you need to remember first that VB is widely used in university settings the way Pascal or Fortran were in earlier decades. They don't really teach them the way somebody would use them. These are simple &quot;what the heck is programming?&quot; types of classes, and often offered to people majoring in Business or Basketweaving. Actually I worry about the damage these classes do. People go through them and afterward assume they know something, when they don't. Then they get brought in by Daddy as my boss, and they can't understand why programming takes so long. They did it in school, right? Even got two columns of numbers to add up once!

Even to begin using VB6 seriously the first three week-long intensive classes in the official MS curriculum are considered &quot;bonehead VB.&quot; Only after that do they show you how you are supposed to write VB programs.

Think of young kids' writing assignments compared to professional writing of various kinds.

So I'm not surprised a lot was glossed over in the classes you mentioned hearing about. There is a lot of material to cover to do an adequate job.
 
>> The number one problem with J2EE is language-dependence:

I'm not going to argue the #1 position but giving it close run for the money is the &quot;Class Path Quagmire&quot; [lol]

We have completely eschewed any notion of deploying user applications using Java due to the maintenance/support overhead of the JRE environment.

I realize this is not a Server Development (J2EE) issue but it is seriously ugly.

-pete
I just can't seem to get back my IntelliSense
 
Another point the Java/J2EE has in it's favor is that since it had a few years head start it has been formallyadopted by many universities as the first language to teach new CS students. This means there are going to be more and more people coming out of school with at least basic Java skills (minimum 3 semesters from my old Univ if you take other options later on). The fact that they did just recently switch the curriculum over means that in many cases they are not ready to consider switching yet again to another language (like a flavor .Net).

To comment on the VB commentary above, I needed extra credits to graduate because I amanged to take all, but 2 of the CS classes, so I went over to the MIS building for VB and ASP (it took some explaining for them to let me to trake both at once). There was never any mention of objects, etc. The final project in the ASP class was a very small db driven site, the last project in the VB class had something to do with listboxes, but since projects weren't required or graded I didn't bother doing them and in the end only showed up on test days. I made an A in the class without ever learning VB, I only knew VBScript (from using it with ASP) and 8 &quot;higher level&quot; languages...last I heard most of those people were seeking programming jobs.

-Tarwn
 
Most people in this thread are posting from a Microsoft OS, a Microsoft Browser, a Microsoft keyboard and mouse and soon a Microsoft brain.

C# has one thing in mind, suggesting programmers to write applications that only work well under their OS to lock more people into their OS (their Office apps etc...).

Mono is not yet up to parr with the Windows version and the project is facing hurdles with System.Windows.Forms. As soon as the Mono project reaches maturity and compatibility, Microsoft will roll out version 2 of C# that will do a mess of it for open source developers and once again create hurdles that will make it easier for people to write C# for their platform only.

If you look at what they did with Java by creating their Visual J++ implementation that didn't let the Java programs run on other platforms, you can expect the same to happen with C#.

They will do anything to protect their market in any way they can. Just look at history :

Netscape became a popular means of creating web apps that do not depend on the OS - killed - Internet Explorer provides many features available only in Windows.

Java a popular way of writing applications for all platforms that do no require an OS or a special system - in an attempt to kill it Microsoft rolls out C#.

Wordperfect had a solution for Word Processing that worked on Linux\Unix\Windows\etc... Their format was open to people so they could program filters and interwork with other word processing programs. Microsoft decided to roll Office every year and make their format closed and complicated to reverse engineer so that Wordperfect and other competition cannot compete. Now they dominate.

I think your boss like many others are seeing that if you write in Java you can have a free OS (unlike Windows which is costing more and more every year), a free web server (no IIS is not free because you pay for it when you pay your OS), a free database, a totally free software environment.

When you stick with MS you are stuck with their technology and the costs associated with it. When you buy a new machine to be a test server, you'll need a new MS SQL SERVER licence, XP licence because we all know that 2000 will soon be unsupported.

When you stick with Open source your test server can cost nothing. Apache/Tomcat is installed for free, PHP/Java works there as well and at no cost, Postgres/MySQL works wonders and for free! Oh yeah and when the next version rolls out you can install it for free.

If you ask me your boss is right!! Go learn Java before you too get stuck in the Microsoft chains of choicelessness.

Gary Haran
==========================
 
Gary,

From a one sided point of view your comments are great. In my work environments, things are not one sided therefore I must view things somewhat more neutrally. I have no idea what type of environment Ladyhawk is in or what her boss is thinking. While my views may not be popular in all circles, I make an attempt to be neutral in my perspective. I believe this can be useful in the long run as politics, popularity and bosses, come and go with the passage of time. ;-)

>> Java a popular way of writing applications for all platforms that do no require an OS or a special system

That statement is not entirely accurate.


-pete
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top