Posted on 05/10/2010 7:18:34 PM PDT by SeekAndFind
I guess that’s another reason to consider the Palm Pre (HP Pre?) since there’s a JVM on it. I imagine the Slate will have a JVM as well when/if WebOS is ported to it.
Aside from that, I don’t really get the Java vs. .NET debate, at least not entirely. They have different “mission statements”. Java’s primary purpose is cross-platform development, which is not one of .NET’s at all. By virtue of that alone, they are bound to differ significantly. Just use the right tool for the right job (case in point, when I go home I regain my sanity by coding in Delphi).
I’m very curious to see what Oracle is going to do with the JVM.
I agree. Different tools for different situations. I might differ with your list of choices, though. :-)
DING DING DING!! We have a winner.
Ah.. I was wondering when the Java defenders could come out. Thanks. I don't have any experience with .Net so I can't comment, but I do know that Java is not lacking in anyway. The number of frameworks and open source API's out there are just too rich and makes developing web applications a joy, speaking for myself at least. And it doesn't cost a dime other than hardware costs. Granted there's a steep learning curve, especially if you are coming from a non computer science background which may make it less attractive compared to .Net
Apache POI is a godsend, I can manipulate Excel Spreadsheets without even having to have a copy of Excel.
I’ve programmed with both Java and .net,.....I’ll take .net any day.
That does not mean that there are not some very talented programmers in the .Net space, only that they are the vast minority there. Most have no real understanding of the concepts or lower level interactions that actually go on with what they are doing. Some would argue, that's a good thing.. I get more work cheaper... this of course is the trap... you wind up with such horribly designed and architected systems, (if any architecture happens at all) that you are doing nothing but care and feeding of the beast.
If you want large scaleable, reliable distributed applications in a non homogeneous environment that actually WORK, cand are well architected, you do with competent experienced java development, it will outperform anything that MS is currently doing or even has on the horizon in their .NET framework.
You can sum of the very concept of .NET with the following statement... BASIC is an ACRONYM, it stands for:
Beginner
A-ll Purpose
S-ymbolic
I-nstruction
C-ode
The fact .NET supports and allows development in BASIC tells you all you need to know about that framework. Its effectively a proprietary, third rate attempt to clone the Java distributed environment. Had they mandated C# only they might have a platform where developers and development in that platform could grow and mature to a level that could truly challenge JAVA.. but they didn't.. so they can only take it so far no matter what they do.. because they have millions of folks who really have no business as professional coders out there hacking crap in VB.NEt to this very day.
I HATE VB.NET!!!!!! Why would anyone use that instead of C#?
There are many schools now that are dropping Visual Basic because it is such a flaky language. I was doing C++ and tryed VB and I was thinking “why is this taking so long to write a simple application” and even when it was done the compile time and other annoyances were not worth making any app with VB.
If youve built your business on VB6 over the last decade or so, youll have had to put up with Microsoft changing the rules from time to time. In going from VB3 to VB4, Microsoft introduced 32-bit address spaces, for example a fairly substantial change. Theres nothing too wrong with that provided you dont go too far. If nobody changed anything we would all still be using code full of lines with numbers on.
But in going from VB6 to VB .NET Microsoft did far more than that. It re-wrote the language: VB .NET is, in essence, a totally new language. It bears some superficial resemblance to VB6, but underneath it is entirely predicated on the .NET Common Language Runtime (CLR) and its data types; and at compile time, you have to use the .NET framework.
Now, the change to using the .NET CLR is substantial, but manageable. Changing the VB Integer data type from 16-bits to 32-bits is radical, but with a good editor and some decent testing, you can cope. There are other similar changes mainly small, possibly annoying, but generally manageable. But what isnt manageable is where Microsoft has thrown out language constructs like the good old GOSUB. This little story bears some examination.
You might think, as I initially did having never once had cause to use it, that it was about time that GOSUB was given the boot. But it turns out that on closer inspection (reading the manual, that is) that GOSUB is not quite what it seems. With a VB6 GOSUB, the lexical scope of the GOSUB is that of the surrounding FUNCTION or SUB. So you can access variables quickly within a routine without having to pass them as parameters. In other words, its a nested function. Now this isnt very common, but there are languages which do allow you to do this ALGOL68 and Pascal being two that Im familiar with, and Im sure there are several more. But one language that you cannot do this in is ANSI C. And that has followed into its descendents C++ and C#, though the GNU C compiler family now has an extension to allow nested function declarations.
The reason why allowing procedures to be declared with procedures has gone out of fashion is mainly, I suspect, due to the dominance of C. The downside is that the technique requires a more complicated compiler, has slightly more overhead associated with it and just possibly may be trickier to debug. But it does have its uses Ive used it myself in some ALGOL68 programs.
Anyway, the point here is that if youve got hundreds of thousands of lines of code that use GOSUB, then you are well and truly in deep trouble. There is no simple way of converting your code and the Microsoft-supplied conversion tool just doesnt do anything apart from tell you that you cant. So there!
Fundamentally, Microsoft has said that, come hell or high water, VB6 will cease to exist as far as it is concerned sometime in 2008. Additionally, it seems that Microsoft is not going to enhance the porting tool or add new language features to VB .NET. So, if you have the interesting intellectual problem which I mentioned above, what are you going to do?
One language that does support both object oriented programming and procedural methods is Delphi. In addition, being Pascal based, it also handles the GOSUB problem nicely. And there are tools out there that will convert from VB6 to Delphi. Borland might be beginning to smile again after a long period in Microsofts shadow.
Another alternative might be to use VB6 a lookalike such as REALbasic. The problem here though might be jumping from the frying pan into the fire. Betting your future on a small software vendor having been burnt by a large one may not be the best, or most tempting, strategy.
Or you could re-write the whole shooting match in VB .NET. But if you are going to do that why chose VB? C# seems to be the way Microsoft is pushing things and Ive certainly seen no real advantage in using VB .NET over C#.
So, if you’re into .NET and plan to use the platform for future applications — FORGET VISUAL BASIC and use C# instead. Visual Basic is going to be a DISFAVORED language this coming decade.
That’s what you get for trusting the evil company called Microsoft. You’re essentially trapped into their product development policies.
My resume is probably equally divided between .NET and Java (with a bunch of C++ too). I probably see five times more job prospects related to .NET than Java.
Intellisense and real time reference checking that actually works. LINQ. No silly delusions about platform independence actually meaning anything. Visual Studio being vastly superior to anything like IntelliJ or Eclipse. Astonishingly simple and robust web development capabilities that make servlets look like a hammer and chisel. Robust forms development tightly integrated to the windowing environment, not garbage like SWING...
So you mean if all I have are Linux and Solaris boxes I can deploy .NET apps?
As for big company support, sorry, but that doesn't really mean very much. Oracle could wind up in the same moribund condition that Sun or Borland/Inprise/Codegear have been in. IBM had a near-death experience in the 1990's. What matters is billions of dollars in fully depreciated, completely debugged code, and millions of programmers who speak the language.
No, I mean you can buy boxes to suit your development platform, and not pretend that the freedom to do otherwise is some big advantage.
.NET vs Java is just another version of the ‘least common denominator’ versus the ‘individually optimized solution’ trade-off. Sometimes one makes sense, sometimes the other makes sense.
The advantage of open source code, is that even if the company goes away, you still have the source code and can modify it.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.