jmcilhinney said:
By the way, VB.NET is in no way based on Java. Java is an OO language based on C/C++ syntax. VB.NET is an OO language that is based on VB6 syntax. The fact that there are similarities doesn't mean one is based on the other. VB.NET just implements many of the same programming language features that Java does. Java didn't invent most of them though. I have no specific dislike of Java or love of Microsoft. It's just facts.
mmmmhhhh.. nawww
here's a little join the dots that's been roaming my mind since .net 1.0:
Once upon a time, a long time ago, there was a language called java 1.0
Microsoft saw it as a good thing so they provided it too
Then came java 1.1 from Sun and a few other vendors, and microsoft followed.
But microsoft realised that they could do it another way, and thought they could woo developers with the bright lights of Visual Studio so their java started to deviate from the standard
By the time java 1.18 was here, and microsoft's proprietary java implementation called J++ (java but beter, in microsofts humble opinion) was romping on, it was starting to break the ideals of java in a big way
Sun, the owners of java, didnt like this very much and slapped Microsoft around in court quite a bit. Microsoft lost this case, and unable to buy Sun (which they usually do when challenged with a court case concerned code disputes with other vendors) they went away and withdrew supplied-with-windows support for java in Windows XP
Possibly as an attempt to drive another nail into java's coffin (if removing it from XP wasnt going to be enough) and killing another bird with the same stone by not wasting huge amounts of J++ development microsft renamed J++ into .net and carried on working away for a few years.
Now, we have .net and people really do think it's a) new, b) hard, c) a step apart from all they have seen before..
It's not
If you get Java, rename a few keywords like StringBuffer (replaceWith: StringBuilder) and change the precompilers a bit so they recognise different syntax, then you can end up with .net and not waste all the development.
Its a brilliant concept too..
Intermediate Level code, that is interpreted by the javavm, i mean .net framework.. It's tied to windows, but then, so was J++. If someone bothered writing a .net framework for linux then .net apps would run there too
So lets take a big step back and look at this:
java is OO
.net is OO
they operate in similar ways and have similar object names and packages/namespaces
much as you can argue that this is because its a good way to do things, you have to consider the flipside of the coin that a lot of .net is java run through a load of Find/Replace constructs
.net has varying syntaxes to make developers feel more comfortable but it produces the same IL code - this is brilliant, because you dont actually "learn c#, or vb.net or j#" you just learn .net and then remember a list of keywords. I'm not saying that Java invented the OO concepts.. im just giving a reason for why .net exists - it was created after Microsoft got smacked around the playground and took their Java football home with them. It's brilliant business sense, - cant beat them/join them and I'm glad that Microsoft produced .net because I like it (sometimes) and knowing it means i can pay my bills at the end of the month.
I learned OO concepts via Java, but I could have learned them in .net - it just wasnt around when I went to uni. I dont program Java much now - and i'm surrounded by too many MS fanboys that wont even allow me to program in c# (vb.net is enforced) because it goes outside their comfort bubble of vb6, and they refuse to open their eyes to see that the two languages (c# and vb.net) are the same, but with && instead of AndAlso etc..
Ends up, i'm pointing out that i'm not pro-Java, anti-Microsoft, or any variation inbetween. I try to maintain an extreme indifference towards the tools i use to perform my work - you cant fall in love with something in IT; you get locked in a rut far too quickly
