(12-18-2014, 05:14 AM)Arthur Curry Wrote: How is it any more "not cross platform" than C? Java is very much cross-platform, to say otherwise is just being cynical and ignorant. The multiple available JVMs are obviously a testament to that fact.
taken out of context
(12-18-2014, 05:14 AM)Arthur Curry Wrote: If you define a platform as a runtime and libraries, then sure we'll call java a platform. However couldn't the same argument be made that any language that isn't assembly is a platform?
Do you define x86 a platform? If so, then JBC is a platform.
(12-18-2014, 05:14 AM)Arthur Curry Wrote: Are you sure about that? It would depend almost entirely on the way he decides to formulate his program. I could envision a JAVA program that is syntactically identical in the codebase for both windows and linux, could you not? It's hard to argue with your statement due to its inherent vagueness, so could you please give an example of what would be "VERY different?"
Windows=well, windows
Linux, BSD, xnu, etc = POSIX.1
VERY different structure. If you were a real programmer you would know the differences.
(12-18-2014, 05:14 AM)Arthur Curry Wrote: C would almost definitely be harder to write in. To say otherwise would be a downright fallacy. Simply in terms of garbage management, the collection offered as an inherent part of the JVM would save loads of time in the development phase. Not to mention the JDK already contains every necessary higher order api function for a project like this and those functions are available on every system this will be deployed to.
Not at all. C may be harder to learn, but so is Chinese. Chinese is VERY easy to write in.
(12-18-2014, 05:14 AM)Arthur Curry Wrote: That is asininity at its very finest. There is no such distinction as a "real programmer" and as such have no right to infer what is believed by "real programmer[s]." To make such a broad and absurd claim like this is an attack on your own credibility. How can someone take you seriously when you make such a haughty statement without any supporting facts.
Java is a perfectly capable language and is used by a myriad of programmers and companies worldwide. Learning Java now will almost definitely benefit you in the long-run should you decide to pursue a career in computer science or a related field. I myself am a molecular biologist and I use Java every day to expand upon the functions provided in imageJ: the most widely used image processing software by biologists worldwide. You never know when you might need a skill or when it may be beneficial so - yes - learn Java and/or learn C, but whatever the case make sure you don't listen to arrogant, self-lauding, masturbatory ignoramuses such as phyrrus9.
These are the words of a professional Java programmer. I do in fact have a career in computer science and not one time have I ever even had the option of using Java. My choices have always been C or ARM32 (v7). Sure, learn Java, its nice to know how things work, but don't expect it to be the solution to your problems. Much like VB is not a real world solution.
Back to the cross platform thing: What language is the standard JVM written in again?
By your terms, that would make C also cross platform.
Java is not cross platform because you cannot take your java source code and run it on ANY cpu (flawed statement, armv8 has a BJ instruction that allows execution of Java bytecode without the use of any built in features such as garbage collection). You require an interpreter. Is bash cross platform? No. Bash is not a programming language, it is a script and requires a platform dependant interpreter. Therefore making said interpreter a platform. Thus the JVM is the interpreter for Java, making Java itself a platform. (also flawed, as the JVM provides the platform for the Java, but your intelligence would not grasp this as you stated in the last reply).