yaminz Posted March 12, 2003 Posted March 12, 2003 Hi I have been developing with Java, C++ andnow VB. VB/MSSQL very comfortable to use, and it is truly a RAD environment. I have heard lot, and seen a lot about VB.NET. Have not the time to investigate into it ? Hence my question a) Are there real advantages over VB if one uises VB.NET ? If so what are they ? I am trying to asses if it will be worthwhile moving into that from normal VB environment. b) I assume most of the syntax of VB.NET will be similar to VB. c) Some of my freinds have stated that VB.NET is a poor attempt by MS to replicate Java run time machine (Compile once run anywhere) ! Some insight would be helpful ..... Regards Yamin Zakaria Quote
Leaders quwiltw Posted March 12, 2003 Leaders Posted March 12, 2003 This should be in Random Thoughts but... a.) OOP and Design should be enough real advantage IMO. b.) Similar. c.) Your friends suffer from ignorance. .NET as a technology is far superior to Java. It's actually a few steps further -- it adds language independence to the mix, plus numerous improvements on the runtime. Just for kicks you could point your friends to this dated paper on the CLR and ask them to detail where it's inferior. http://research.microsoft.com/~emeijer/papers/CLR.pdf Quote --tim
Heiko Posted March 13, 2003 Posted March 13, 2003 My 2 cents. a) There are huge advantages over "old fashioned VB". VB.NET is a fully object oriented language. b) The syntax is mainly similar, and as you are already used to OO programming you will not have to suffer from the changes as much as OO-illiterates do. c) I doubt that this was the idea behind .NET. As of now I believe theat the java class libraries are well larger than those in .NET. Also the IDEs for Java are more mature. But we know Microsoft, and I think they'll put every possible effort into .NET to close these two gaps to the Java world. (UI-Development is way superior to Java already) Quote .nerd
*Gurus* divil Posted March 13, 2003 *Gurus* Posted March 13, 2003 a) True OOP, potential portability of code, vastly more API wrapped in the class library than was available in VB6 b) Pretty much, with extra bits to cater for OOP design and casting c) .NET knocks the socks off Java Quote MVP, Visual Developer - .NET Now you see why evil will always triumph - because good is dumb. My free .NET Windows Forms Controls and Articles
yaminz Posted March 13, 2003 Author Posted March 13, 2003 Hi I assume then VB.NET has Inheritance/Polymorphism unlike VB6. In terms of Web Interface does it have its own language too ? or do you use the traditional ASP, PHP etc ? Is it as cool as VB in terms of user freindly etc ? REgards Yamin Quote
wyrd Posted March 13, 2003 Posted March 13, 2003 a) Are there real advantages over VB if one uises VB.NET ? If so what are they ? I am trying to asses if it will be worthwhile moving into that from normal VB environment. b) I assume most of the syntax of VB.NET will be similar to VB. c) Some of my freinds have stated that VB.NET is a poor attempt by MS to replicate Java run time machine (Compile once run anywhere) ! a) VB.NET is much more faster and flexible then VB6. It's also finally a real language. b) The syntax will be similar, but that doesn't mean you'll have an easy time going from VB6 to VB.NET. As others have stated, VB.NET is an OOP language. However since you've done Java before you should have no problems picking up VB.NET in no time. c) I'd suggest that you do your own research and not believe what people randomly say. Then you can draw your own conclusions. I assume then VB.NET has Inheritance/Polymorphism unlike VB6. Of course, it's a pure OOP language. In terms of Web Interface does it have its own language too ? or do you use the traditional ASP, PHP etc ? No, ASP.NET is no longer a scripting language. It's compiled and programmed using VB.NET (or C# if you prefer). Is it as cool as VB in terms of user freindly etc ? Well, the syntax is user friendly. If you don't know OOP then it could be a little difficult to grasp at first in terms of actually programming with it. Quote Gamer extraordinaire. Programmer wannabe.
*Gurus* divil Posted March 13, 2003 *Gurus* Posted March 13, 2003 I should have said this before - although the syntax will mostly be familiar to you, the real work comes with learning the class library. Just like with C, there's learning the language and then there's learning to use it to actually do things. The .NET framework class library is immense, and you will likely spend many years picking it all up. Quote MVP, Visual Developer - .NET Now you see why evil will always triumph - because good is dumb. My free .NET Windows Forms Controls and Articles
yaminz Posted March 13, 2003 Author Posted March 13, 2003 Hi I also assume VB.NET is compiled as oppose to interpretated like Java. The JVM in the old days (1.2) was sloooooow. I remember Swing too, that was real sloooooow compare to VB and cumbersome to use. For middletier, and backend data acess Java was great. OK then what is used for Transaction Server (Middle Tier) with VB NET now a days. I know the MTS had problems, and Wbesphere and Weblogic was ruling the Java world. Finally anyone have any idea how the market is taking to VB.NET/C.NET, as I said, initially most my colleagues in the Java world were very sceptical!. Thanks all Yamin Zakaria Quote
wyrd Posted March 13, 2003 Posted March 13, 2003 Hi I also assume VB.NET is compiled as oppose to interpretated like Java. The JVM in the old days (1.2) was sloooooow. I remember Swing too, that was real sloooooow compare to VB and cumbersome to use. For middletier, and backend data acess Java was great. OK then what is used for Transaction Server (Middle Tier) with VB NET now a days. I know the MTS had problems, and Wbesphere and Weblogic was ruling the Java world. Finally anyone have any idea how the market is taking to VB.NET/C.NET, as I said, initially most my colleagues in the Java world were very sceptical!. Thanks all Yamin Zakaria .NET is compiled, yes. That includes ASP.NET or any other language that uses .NET (C#). This is why a lot of people believe that .NET will eventually take over Java, as Java has a serious downfall of being interpreted (as you've already mentioned, sloooow). I can't answer what .NET is used for beyond regular applications as I'm only a mere student and not an actual professional. I'll leave the answer to this question for them. :) From what I've read (note, read), businesses who have switched over to .NET are very happy. Most businesses though are still skeptical, and others just down right dismiss it. Those who are skeptical have a right to be, as you should be with any new language. Those who dismiss it entirely usually don't have a clue as to what .NET actually is. They've pretty much looked at the some random code and went "oh, Java rip-off, lame" I'm sure these same people were saying the same thing about Java when it first came out "oh, C++ rip-off, lame" *shrug* I've heard this first hand from teachers in my college, who think they just randomly know everything. One even moronically said "they just added an extra layer to VB6" while others just keep referring to it as if it was the same thing as VB6 or dismissing it entirely. Most people follow trends, so when .NET becomes more popular they'll all eventually switch over and take a closer look. Quote Gamer extraordinaire. Programmer wannabe.
Heiko Posted March 13, 2003 Posted March 13, 2003 I don't know of many large scale business applications. I am in a fairly large IT Consultancy here in Germany and mine is the largest .NET Project we have ever done. It will end up att approx 800 days. Larger companies are sceptical towards Microsoft Technology in general because it has a bad track record as far as security issues are concerned. Also, MS is rather considered a single person, small group platform (serverside). Company-wide issues are more often handled on large scale machines, and that is IBM / Sun etc. --- and that is WebSphere, WebLogic --- and that is J2EE -- and that is Java. However I see that .NET will be very BIG in the market. It is will dominate all MS platforms and solutions. Good thing, though, cause .NET is more sophisticated than VB6 was. More work for people with a thorough understanding of computers, algorithms and systems architecture. Quote .nerd
Leaders quwiltw Posted March 13, 2003 Leaders Posted March 13, 2003 All this "Java is Interpreted" talk and its slowness being attributed to that is a bit misleading. Java is about as interpreted as a .NET language is; in fact they both seem a little compiled and a little interpreted at the same time. As for it being slow, I think it has more to do with it's graphics (swing package) and less because of its pseudo-compiled nature. This is probably why you see tons of web apps written in java but not many client-side apps -- because web apps don't need swing for thier UI. Quote --tim
*Experts* Nerseus Posted March 13, 2003 *Experts* Posted March 13, 2003 I'm no Java pro, but I believe Java supports multiple inheritence...? I know C++ does. C#, VB.NET, etc - all Managed Code languages in fact - do not currently support multiple inheritence though MS does have plans to add that later. In just about every other way, C# and VB.NET are "superior" languages over Java in terms of supported features including the ability to by "ByRef" type arguements - something I can't believe Java doesn't support. I think everything else has been covered :) -Nerseus Quote "I want to stand as close to the edge as I can without going over. Out on the edge you see all the kinds of things you can't see from the center." - Kurt Vonnegut
Leaders quwiltw Posted March 13, 2003 Leaders Posted March 13, 2003 Java doesn't support multiple inheritance. I think the lack of it in Java was intentional -- I assumed the same for C#, VB.NET. Quote --tim
wyrd Posted March 13, 2003 Posted March 13, 2003 All this "Java is Interpreted" talk and its slowness being attributed to that is a bit misleading. Java is about as interpreted as a .NET language is; in fact they both seem a little compiled and a little interpreted at the same time. It is not at all misleading. Java produces bite code which is interpreted as it runs, and is NEVER compiled at all beyond that. .NET produces assembly code which is compiled as the program runs (using the JIT compiler), it is not interpreted, as the program runs actual compiled code (psuedo-compiled would probably best define .NET). This does, however, have a minor side effect of programs being initially a little slow when they are first loaded up, but nothing in comparison to the slowness of Java. Microsofts .NET compiler is just as efficient as the MS C++ compiler (unmanaged code). As for it being slow, I think it has more to do with it's graphics (swing package) and less because of its pseudo-compiled nature. You are correct here. The slowness is mostly in the choice of using swing over awt. The reason for this is the amount of overhead involved using swing (the swing classes are derived from awt classes). Even still, using awt, Java can run slow in comparison to other languages, and it all comes down to Java being interpreted. I'm no Java pro, but I believe Java supports multiple inheritence...? Nope, it sure doesn't. I'm not sure what the reasoning behind it was, but it was indeed a design decision for the language. Their reasoning had something to do with interfaces and the fact you can inherit multiple interfaces. It's been a while since I've used Java, but I believe I'm at least on the right track heh. Quote Gamer extraordinaire. Programmer wannabe.
Leaders quwiltw Posted March 13, 2003 Leaders Posted March 13, 2003 It is not at all misleading. Java produces bite code which is interpreted as it runs, and is NEVER compiled at all beyond that. .NET produces assembly code which is compiled as the program runs (using the JIT compiler), it is not interpreted, as the program runs actual compiled code (psuedo-compiled would probably best define .NET). This does, however, have a minor side effect of programs being initially a little slow when they are first loaded up, but nothing in comparison to the slowness of Java. Microsofts .NET compiler is just as efficient as the MS C++ compiler (unmanaged code). Never? C'mon Microsoft isn't the first to think of JIT. It's been around in the Java world for a while and does compile to native code, so "never" seems overboard -- my position remains unchanged. Quote --tim
wyrd Posted March 13, 2003 Posted March 13, 2003 Give me more a link of info where it talks about the Java run-time compiling bite code into native code.. I'd like to see this. :eek: And I never once stated Microsoft was the first to come up with the idea of JIT. Quote Gamer extraordinaire. Programmer wannabe.
yaminz Posted March 13, 2003 Author Posted March 13, 2003 It is not at all misleading. Java produces bite code which is interpreted as it runs, and is NEVER compiled at all beyond that. .NET produces assembly code which is compiled as the program runs (using the JIT compiler), it is not interpreted, as the program runs actual compiled code (psuedo-compiled would probably best define .NET). This does, however, have a minor side effect of programs being initially a little slow when they are first loaded up, but nothing in comparison to the slowness of Java. Microsofts .NET compiler is just as efficient as the MS C++ compiler (unmanaged code). You are correct here. The slowness is mostly in the choice of using swing over awt. The reason for this is the amount of overhead involved using swing (the swing classes are derived from awt classes). Even still, using awt, Java can run slow in comparison to other languages, and it all comes down to Java being interpreted. Nope, it sure doesn't. I'm not sure what the reasoning behind it was, but it was indeed a design decision for the language. Their reasoning had something to do with interfaces and the fact you can inherit multiple interfaces. It's been a while since I've used Java, but I believe I'm at least on the right track heh. YEs only C++ supports multiple inheritance to the best of my knowledge. Java does not Yamin Quote
yaminz Posted March 13, 2003 Author Posted March 13, 2003 Give me more a link of info where it talks about the Java run-time compiling bite code into native code.. I'd like to see this. :eek: And I never once stated Microsoft was the first to come up with the idea of JIT. Hi The other guy is right, there is a Java compiler, that compiles the Java class ot the native code in assembly to run by Opp SYs. I have never seen it used much. Also I think it was one of those things that defeated the whole point of java being completely portable. Regards Yamin Quote
wyrd Posted March 13, 2003 Posted March 13, 2003 Hi The other guy is right, there is a Java compiler, that compiles the Java class ot the native code in assembly to run by Opp SYs. I have never seen it used much. Also I think it was one of those things that defeated the whole point of java being completely portable. Regards Yamin Yes, I've heard of something similar. But that's not what it sounded like he was talking about, he made it sound like Java could act just like .NET which isn't true. Which brings up another issue with Java, it still has no standard as of yet (last I checked). If you want to compile Java to native code you lose portability. Is this compiler even made by Sun or is it some 3rd party compiler? .NET still provides the portability with the way it works (compiling as it runs). Of course, I don't think the run-time for linux is out yet, so atm Java is still more portable then .NET. That'll change in time though, and when it does, .NET will be able to offer the portability of Java and the speed of compiled programs. Quote Gamer extraordinaire. Programmer wannabe.
yaminz Posted March 13, 2003 Author Posted March 13, 2003 Hi In anycase freinds of my mine who have really really dug deep into Java from C++ and other environment have commented that Java is a EXTREMELY well DESIGNED LANGUAGE. I must say having used the various Java classes (or APIs) for example JDBC, I thought it was very good. Only let down for me was Swing but having said that I prefered the Graphics of Swing in terms of its looks not speed. But when it comes to good old windows programming, I still think VB is solid and the best product out there. Yamin Quote
wyrd Posted March 13, 2003 Posted March 13, 2003 Well, everyone has their opinions on what the best language is. If we brought C/C++ into the mix we'd have a chaotic mess of opinions, rants, raves and arguments, yet when it comes down to it no one would probably ever win. I probably went a little to far with the Java arguments as that doesn't seem to be what your core question is, which seems to be "is it worth the time invested in going to VB.NET from VB6?" The answer to this is fairly obvious; yes. I can't think of any sane person who would say otherwise. I'll leave it at that. :) Quote Gamer extraordinaire. Programmer wannabe.
Leaders quwiltw Posted March 13, 2003 Leaders Posted March 13, 2003 I was actually referring to the JIT built in to most JVMs. This link should help understand what I was saying. My overall point was just that Java, sans a Swing UI, is fast and that "interpreted" is kinda misleading in the traditional sense of "interpreted," since it is compiled (you conveniently use the word 'produces' instead) into bytecode. It really doesn't matter, we seem to agree on the main points. http://wwws.sun.com/software/solaris/jit/ Yaminz, there was a time when I would say the same thing about Java, and those folks who continue to say that probably haven't taken the time to dig as deep into the architecture of .NET, where they'd quickly learn it's superior. Not sure if your friends fall into this category, but there are many folks out there that simply have a bias against Microsoft, so much so that they can't admit when they finally get it right, which is the case with .NET. Quote --tim
wyrd Posted March 14, 2003 Posted March 14, 2003 I was actually referring to the JIT built in to most JVMs. This link should help understand what I was saying. My overall point was just that Java, sans a Swing UI, is fast and that "interpreted" is kinda misleading in the traditional sense of "interpreted," since it is compiled (you conveniently use the word 'produces' instead) into bytecode. It really doesn't matter, we seem to agree on the main points. http://wwws.sun.com/software/solaris/jit/ *scratch* Never seen this before. Maybe I'm not reading it correctly, but it sounds like a seperate download from the normal JVM and it's only for Solaris? If that's the case, it doesn't sound very promising. :( If I'm not reading this correctly and it comes with all JVMs, then I find this interesting indeed since I never knew Java to have a JIT compiler. Quote Gamer extraordinaire. Programmer wannabe.
Leaders quwiltw Posted March 14, 2003 Leaders Posted March 14, 2003 Sun's documentation sucks but as antecdotal evidence, in IE go to Tools-> Internet Options-> Advanced and scroll down to Java and see where you can enable JIT? That's the microsoft VM not sun's. Quote --tim
Heiko Posted March 14, 2003 Posted March 14, 2003 I don't see .NET becoming as platform independent as Java. Or vendor independent, for that matter ;) Quote .nerd
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.