Anybody else read the Java thing in the daily news?
-
rb55 wrote:
C/C++ would get you potentially better performance/memory utilization, but you would need some very highly skilled devs to obtain that boost, and the development time would be significantly higher.
I agree with all of those.
rb55 wrote:
That may be true for a small subset of code, but certainly not for the general C# windows program.
It was my understanding that Mono is fairly complete. At least now. I know about 5 years ago it wasn't close.
jschell wrote:
It was my understanding that Mono is fairly complete. At least now. I know about 5 years ago it wasn't close.
Well, it's been over 2 years since my last foray into C# ended, so perhaps it's better now, although I don't see how they're dealing with WinAPI calls. Then again, I had a specific server type requirements, and that certainly wasn't portable, considering I wound up using the WinAPI directly (unsafe code - oh my! :)
-
Java is a great language, even though I haven't coded much in that language. The disadvantage of Java is that the owner (maker, new owner) of the language is sue crazy. Microsoft was sued by Sun for the additions it made to Java. As a result, they made C#. (Never had that problem with C++.) Then, Oracle sued Google for copyright and patent infringement by using Java. This alone kills Java for me. If I can't use it as freely as I use C++, then Java is done with. Besides, as a programmer, I don't want to peer program with a lawyer at my side.
James Lonero wrote:
Java is a great language, even though I haven't coded much in that language. The disadvantage of Java is that the owner (maker, new owner) of the language is sue crazy.
Oracle sued Google for creating a java derivative outside what they felt were the bounds of the license. No one else to my knowledge has been sued by them. Oracles problem in this case is that Google used the APIs only, so didn't need the license, and copyright law didn't support Oracle. (Thank goodness!)
James Lonero wrote:
Microsoft was sued by Sun for the additions it made to Java. As a result, they made C#.
MS was sued by Sun for creating a JVM per the license, and then adding unofficial extensions to create their own flavor of JVM, making them incompatible with everyone else. Considering their monopoly at the time and the potential damage they could do by effectively making Java Windows only (the biggest Java platforms are non Windows) it seems Sun did all the right things.
James Lonero wrote:
Then, Oracle sued Google for copyright and patent infringement by using Java. This alone kills Java for me. If I can't use it as freely as I use C++, then Java is done with.
Besides, as a programmer, I don't want to peer program with a lawyer at my side.You don't have to worry about Oracle suing you for programming in Java. You're free to do anything you want with Java the language. What you're not free to do is create your own JVM outside the license. As for needing a lawyer by your side, you just about need that today regardless of what language you're coding in.
-
Vivic wrote:
The idea that in the CONFIGURATION DIVISION, you could specify source and target computers was an idea before its time. Even for today. Unless there were cross-compilers for every computer on every make of computers, that was useless.
Cross-compilers existed for many computers several decades back. Granted, I don't know when this specification entered the spec, that was before my time :)
rb55 wrote:
Cross-compilers existed for many computers several decades back.
The 1950's and 60's saw a variety of computers manufactured by many vendors, such as IBM, Univac, Burroughs, NCR, Honeywell, Control Data Corporation, etc. Even Packard-Bell (of TV and refrigerator fame), GE, RCA and Xerox got into the computer business. Computers of different generations from the same manufacturer were incompatible. Th think that you could produce target code for a Packard-Bell computer on an NCR computer was futuristic, particularly when the first COBOL compiler itself had not been written when that language was defined. Nor was compiler technology understood nor were there lex and yacc. Of course, it made no economic/business sense whatsoever and so I don't think any computer vendor implemented this particular aspect of the language. Things look easier when the entire world has standardized on the Intel processor chips. As you said, it was before your time.:rose:
-
Where was dotNet in 1998? Ever hear of MS Java or J-sharp?
Basic history:
MS saw popularity of Java rising.
MS products at the time were VB or else VS C++/MFC
MS tried the embrace, extend, extinguish recipe with Java 1.1,
but Sun sued them over changes and additions MS added to Java
MS stopped their Java implementations at 1.1 as part of a settlement and
agreed to support Sun's applet plugins better in IE.
MS still saw the benefit of the technology, so they switched all of their
Java/VM efforts into dotNET/C# to directly compete with Java.
Look at the original dotNET APIs vs. Java APIs at the time. 1:1 correlation.
Meanwhile, Sun had become too content with the Java 1.2 spec. They thought they
were done!
dotNET caught up to Java and passed it up in terms of functionality.
Sun grudgingly started adding things like generics and enums which they originally
said they would NEVER add.
Thank goodness for the competition or Java 1.2 might have been the last Java version!Reasons for using Java:
It was the best choice in 1998, 1999, etc.
Many Java tools have had hot code replace since 1999. (Huge time savings!)
It is still a good choice today. (Still best for our product)
It is so universal, that there is TONS of free, open Java source out there.
It is multiplatform. (Yes. with no recompilation, it runs on Windows, Mac, Linux)
It was and still is browser deployable.
Silverlight apps are just Java Applets reworked. (Admit it!)
Java Applets will keep working,
but it looks like MS is already trying to kill Silverlight.
Browser deployments of Java can still provide more consistent behavior
cross browser than JavaScript/HTML5.
Java+Eclipse allows for 25,000+ source file recompiles in 10 minutes,
of course, good incremental compiling is
normally subsecond to compile and hot replace
true databases of workspaces/solutions, etc. As far as I can tell,
VS looks like it still scans files for references.
It has been really stable. Code compiled against Java 1.2 12 years ago should still
run fine with 1.7.
If you adopted (and reworked your app) each time MS technology
for database access has changed, how many times would you have done this?NOTE: You should never let any untrusted site run ActiveX, Java, JavaScript, etc. in your browser, EVER! Why did Microsoft have to add the ActiveX kill bits, etc
Looking at the text from a distance (without glasses, I will soon need a pair) your text block with reasons looks like a Java exception dump on the console.
-
Java...I have never really seen the point of it, okay it was supposed to run everywhere with Java Virtual Machine (like .NET Framework on some things iPaqs, Pocket PC), not give you direct access to the hardware (like .NET annoying), be royalty free (like .NET Runtime). So all in all it has been replaced has it not (discussion in a Pub with Geeky friends led to "Why the ***** would you use Java, C# pretty much the same plus you can blame Microsharft when it goes wrong!) Plus all the hotshot Java people I know (2) came from C++ to Java back C++ a few years ago... Are there features of Java that aren't anywhere else, whats it unique selling point any one (don't want to start a war just interested.)
Hello, We are a C# house, yet I just finished a new project in Java. The customers are using machines that were built around Windows 2000 and RedHat Linux 4. AFAIK, Java is the only browser based solution for this. Just using the right tool for the job. Pat O
Tanks for your support
Pat O
Blog_ _ _
/*\== /*\== /*\==
<ooo> <ooo> <ooo> -
Java is a great language, even though I haven't coded much in that language. The disadvantage of Java is that the owner (maker, new owner) of the language is sue crazy. Microsoft was sued by Sun for the additions it made to Java. As a result, they made C#. (Never had that problem with C++.) Then, Oracle sued Google for copyright and patent infringement by using Java. This alone kills Java for me. If I can't use it as freely as I use C++, then Java is done with. Besides, as a programmer, I don't want to peer program with a lawyer at my side.
James Lonero wrote:
Microsoft was sued by Sun for the additions it made to Java
Incorrect. Microsoft was sued because they broke the signed contract they had with Sun.
James Lonero wrote:
(Never had that problem with C++.)
They of course didn't have a signed contract. And C++ has a ANSI spec which companies can implement. Java never had that. And I can note that it took several tries before Microsoft even got close to ANSI compliance with C++.
James Lonero wrote:
Then, Oracle sued Google for copyright and patent infringement by using Java
Oracle is very aggressive in its business practices. A better argument there would be uncertainty over the future of the language in terms usage outside of Oracle. However Sun jdk is open sourced so it can continue just like gcc.
James Lonero wrote:
Besides, as a programmer, I don't want to peer program with a lawyer at my side.
Funny. But of course there are quite a few ways in which a C++ programmer can end up producing code which infringes on something. But that is true of any language.
-
Hehe, talking about irony; cross-compatibility is my reason to use .NET, as the assemblies are binary compatible between systems. I can compile on Windows under VS, copy to USB, and run it under Mono. Some third-party libraries work, some don't (heavy interop etc.) I'm currently developing targetting Ubuntu (desktop), and before that Debian (Raspberry Pi) Java will stay around, and we'll keep seeing new versions. Good to have some competition, and good to have choices.
Bastard Programmer from Hell :suss: if you can't read my code, try converting it here[^]
But .Net is not binary compatible. MSIL only works if you have the same version of CLR. Furthermore there are MSIL commands that only exist on the Desktop/Full CLR, or the Compact CLR, or the Silverlight CLR. Don't even get me started about 32 vs 64 bit issues. These issues are all on Windows platforms, it gets dicier when you jump to Mono. I program in C# for a living. I like the language and the libraries. I would never choose it "cross platform" development. Java is much better at running on different systems.
Tanks for your support
Pat O
Blog_ _ _
/*\== /*\== /*\==
<ooo> -
rb55 wrote:
Cross-compilers existed for many computers several decades back.
The 1950's and 60's saw a variety of computers manufactured by many vendors, such as IBM, Univac, Burroughs, NCR, Honeywell, Control Data Corporation, etc. Even Packard-Bell (of TV and refrigerator fame), GE, RCA and Xerox got into the computer business. Computers of different generations from the same manufacturer were incompatible. Th think that you could produce target code for a Packard-Bell computer on an NCR computer was futuristic, particularly when the first COBOL compiler itself had not been written when that language was defined. Nor was compiler technology understood nor were there lex and yacc. Of course, it made no economic/business sense whatsoever and so I don't think any computer vendor implemented this particular aspect of the language. Things look easier when the entire world has standardized on the Intel processor chips. As you said, it was before your time.:rose:
Hate to break it to you, but there is a large variety of hardware even today, it just seems that everything is Intel. Yes, there have been a large number of casualties over the years. There always are when a fundamental new technology makes its breakthrough. Personally, I despised COBOL the first time I saw it, and I still do, interesting but unsupported features in the language spec not withstanding.
-
But .Net is not binary compatible. MSIL only works if you have the same version of CLR. Furthermore there are MSIL commands that only exist on the Desktop/Full CLR, or the Compact CLR, or the Silverlight CLR. Don't even get me started about 32 vs 64 bit issues. These issues are all on Windows platforms, it gets dicier when you jump to Mono. I program in C# for a living. I like the language and the libraries. I would never choose it "cross platform" development. Java is much better at running on different systems.
Tanks for your support
Pat O
Blog_ _ _
/*\== /*\== /*\==
<ooo>pdohara wrote:
But .Net is not binary compatible.
It is binary compatible with Mono, under Linux. Copy, run.
pdohara wrote:
MSIL only works if you have the same version of CLR.
No, it works for the version that was initially targeted, and later versions. Yes, they changed the VM for version 4. Backward compatibility is normal for Microsoft. Forward compatibility is nonsense.
pdohara wrote:
Furthermore there are MSIL commands that only exist on the Desktop/Full CLR, or the Compact CLR, or the Silverlight CLR.
IL?
pdohara wrote:
These issues are all on Windows platforms, it gets dicier when you jump to Mono.
I program in C# for a living.Ditto, for over 10 years. Currently under MonoDevelop.
pdohara wrote:
I would never choose it "cross platform" development.
That's your choice :laugh:
Bastard Programmer from Hell :suss: if you can't read my code, try converting it here[^]
-
Norm .net wrote:
That may be but apparently it's installed on 1 Billion Devices :)
That may be but apparently it's installed on 1 Billion phones. FTFY.