Alright so i'm not a professional coder but i tought i'd start learning Java.
So now my question to /prog/ is: does anybody know any good places i can start learning Java? Like good PDF's or sites?
And what is the best compiler according to you?
>>6 Java is not a compiler, its a VM running in userspace
No you fucking retard. Java and the JVM are two *different* things. Java is a language that does in fact get compiled. The JVM, which is a different beast, interprets this compiled code. Man you're stupid. Go back to working the cash registers at Burger King.
Name:
Anonymous2011-07-16 12:47
>>13
JVM was designed specially for Java. It has no TCO and poor dynamic runtime support. In other words, JVM is crap.
Name:
Anonymous2011-07-16 12:58
>>13
Yeah, it's compiled to a VM. But it's not compiled to direct CPU instructions, so it's kinda compiled. But there's a VM that interprets this bytecode, so it's interpreted. But it's kinda compiled, so it can't be interpreted, it must be kinda interpreted.
So Java is compiled but not compiled but kinda compiled but interpreted but not interpreted but kinda interpreted.
Gotta love Java and JIT compilers.
Name:
Anonymous2011-07-16 14:16
>>13
I want to see some Java which "that does in fact get compiled". Show me.
Name:
Anonymous2011-07-16 14:31
>>16
If you use some retarded definition of compiler that only allow for translation to the exact instruction set for a physical machine, then yes, Java isn't compiled, but then again neither would be C on any architecture that uses microcode.
As such a definition would be useless, it is allowed to compile to the language of an abstract machine, like that of the JVM, which includes other high level programming languages.
As for your ``challenge'', just fucking Google it.
Name:
Anonymous2011-07-16 14:35
>>6
Jesus christ are people still fucking confused about this
Name:
Anonymous2011-07-16 14:59
>>15
It's not interpreted
It's not compiled
It's JITTED
Name:
Anonymous2011-07-16 15:00
>>17
No, my definition is "does this program require external software? is it standalone?"
Computers run native code programs, and some of them are:
Emulators run binary images of different system arch,non-native code
Virtual Machines run binary images of interpreted (abstract arch) non-native code
>>20
I know what you meant, and your definition is just bollocks. Wouldn't bundling both interpreter and code in a single binary to satisfy your definition of ``compiled''? Too contrived? What happens with compilers for language implementations with garbage collection? The GC could be either statically linked or dynamically linked, so the program goes magically from requiring runtime software to not doing so, does it become less native then? And let's not get in the way of JIT-compiled programs...
And you didn't have the decency to Google ``microcode'' when you didn't understand it.
So in synthesis: polecatkebabs
Name:
kodak_gallery_programmer2011-07-16 18:11
Cripes, you all suck at Java. Here is how Java code gets run on the JVM...
The source code gets *compiled* by something like javac. The compiler then generates the corresponding bytecode to be read and *interpreted* by the JVM.
With that, I'm never gonna hire any of you fools to any kind of actual Java programming.
Name:
Anonymous2011-07-16 18:42
There is no clear distinction between compiler, interpreter, JITer, etc. -- you're all stupid for arguing about it. Though I agree with #2. Java is a horrible language.
Scala has all the positives of Java with far less of the crap. Unfortunately there's less documentation for beginners.
To be honest just learn Haskell and take over the world.
Name:
Anonymous2011-07-16 18:45
>>24
Yes there is you idiot. And if you really don't believe that there is, then that means you obviously have never written any kind of actual Java code for a company.
I'm fairly certain someone would be able to write shitty Java code for some shitty company without knowing anything about compilers, interpreters or JIT.
Name:
Anonymous2011-07-16 18:48
>>24
And more to the point you minimum wage monkey...
'javac' compiles the source code. There are various tools that you can use to then view the bytecode generated by javac. java then reads and interprets this bytecode. Now shut up and go serve another customer you nowhere bitch.
Name:
Anonymous2011-07-16 18:49
>>26
I'd be willing to bet $3000 US dollars that you wouldn't make it past the first interview.
>>28
That's unrelated, but is the bet still valid if I already have passed an interview?
If so, give me your details.
Name:
Anonymous2011-07-16 18:53
>>29 There is no clear distinction between compiler, interpreter, JITer, etc. -- you're all stupid for arguing about it
If you would tell me, or any other hiring manager that during the first interview, we would end up sending you a rejection letter that basically says go fuck off.
Name:
Anonymous2011-07-16 19:02
>>1
I think a good compliler is Eclipse, and some good tutorials wich are easy to understand and to learn the basics are found on youtube http://www.youtube.com/user/thenewboston
just search for java there are 80 beginners tutorials about 5 to 10 min each.
also a java question.
Does working with lots of classes in one app negative for the speed of the program or does it not matter?
By the way you're gravely underestimating the amount of shit companies out there, people even fix jobs for friends, perhaps you're unfamiliar with this because you don't have any.
Last but not least, where's my money?
Name:
Anonymous2011-07-16 19:13
>>32
I expect the people the people around me to be capable of paying attention to the details. The following statement..
There is no clear distinction between compiler, interpreter, JITer, etc. -- you're all stupid for arguing about it
Doesn't exactly scream "Hey, I'm detail oriented. Hire me."
>>33
I don't give a shit about your expectations, I didn't write that statement.
Your bet was that I (>>26) would be unable to pass an interview, pay me you fucking retard.
Name:
Anonymous2011-07-16 19:56
>>20
Your definition is completely stupid. Do you consider Clang not a compiler, then, because it produces LLVM? Is a cross-compiler not really a compiler, because it's producing bytecode for a different machine? Whether or not the target machine of a compiler is virtual is irrelevant.
But, let's pretend like your definition is correct for a moment.
There have already been several different real CPUs that execute Java bytecode. As in, Java bytecode, the stuff javac produces, is the real machine instructions for these CPUs. As in, not a virtual machine, but an actual physical machine.
Therefore Java is still a compiled language. QED
Name:
Anonymous2011-07-16 20:08
Why don't they build a processor that reads Java source code and runs that?
YOUR MIND HAS NOW BEEN BLOWN
Name:
Anonymous2011-07-16 20:17
>>36
Already done in the 1970s, except with Lisp (as with all programming language innovations)
Name:
Anonymous2011-07-16 20:38
derp derp let's argue over the meaning of a word derp