At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.
Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus.
Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
yeah they are both system machine languages, hexa is used to shorten the the binary numbers.
regarding your second part, i don't think there is any binary level programming, it'd be very difficult. It sure will work on any platform
No hexadecimal and binary are number systems. They are not machine languages. However, machine language is in binary. Binary is the only thing that machine understands. It does not even understand hexadecimal. Even hex values are translated into binary. This is because a machine is made up of circuits. These circuits can either be on or off. This is what machine language is in binary. 1 mean the circuit is on, 0 means the circuit is off. It is possible to code in binary (machine language) I used to do it all the time, but it is very difficult and you have to know the architecture of the processor very well.
And no, binary or machine language does not work across platforms. Machine language is specific to each machine. It is equivalent to different spoken languages. In the US we speak English. If someone from Russia comes and visits us and tries to communicate in Russian, we will not understand them and vise versa. Even though we make the same sounds with our voices, those sounds are in different orders and such. Processors are the same way. Each processor has its own machine language and what means something to one processor is simply gibberish to another.
Just like with spoken languages, processors need interpreters in order for a program to work cross-platform. The Java Runtime Environment (JRE) is an example of an interpreter. Source code (Java) is compiled into an intermediate language called Bytecode. The JRE then takes the bytecode and translates it into machine code for whatever processor it is running on. The JRE does the work of making one program run on many platforms and the JRE is different for each platform. In other words the JRE for Windows will not work in OS X and vise versa.
Then what about "Pure Java"?
(Third download option)
Not the answer you are looking for? Search for more explanations.
I'm not sure exactly what you are asking. What about it?
Then how is this "Pure Java" able to run on all platforms?
Because it is Java. It runs in the JRE. If you do not have Java installed on your computer this program will not run. Also I think that you may be misunderstanding that the down load that you are referring to is.
Greenfoot is an object oriented programming learning tool. It is written in several languages to run on several different platforms (those are the downloads above the pure Java download. Those downloads more than likely require installation on the specified machine. However, if you look at the extension of the pure Java download, you will see it is .jar. This is the extension of a Java executable file. In other words, The "Pure Java" label is simply saying that that version of Greenfoot is written purely in Java. No other languages are used (it is common to find software that combines C and Java). This .jar is a pure Java program that will run on any machine that has the JRE installed.
And about internet connection.If the binary is different for every processor then how are packets sent in hexadecimal by one machine translated by different machines?
Again, the values are interpreted by whatever program is receiving them. For example, one webpage can be viewed on any platform not because the webpage is coded to work cross-platform, but because the platforms browser grabs the data and interprets it for the machine. Likewise, right now I am on my Mac, but I am typing this reply on my PC. I use a program called TeamViewer. I have the PC version installed on my PC and the Mac version installed on my Mac. So my Mac is not communicating directly with my PC, but rather through the software. Something like this:
Mac machine code -> converted to something else (some intermediate language understood by TeamViewer) -> converted again to packets that can be sent over the Internet -> packets are received by PC's version of TeamViewer -.> packet are converted into the intermediate langugae that TeamViewer understands -> TeamViewer translates intermediate language to machine code naive to the PC