Bluej is an integrated development environment, based on the language blue which was designed and implemented by michael kölling and john rosenberg (kölling & rosenberg, 1996) to teach object-oriented programming.
Bluej has the same visual environment as blue, but uses java (gosling, joy & steele, 1996) as the implementation language. Java is a language that is currently popular in industry, and students beginning the course are highly motivated to learn it. In 1999, bluej was used for the first time to teach java to introductory programming students.
We had a class of about 350 students in the first year of a computing degree.
Bytecode is computer object code that is processed by a program, usually referred to as a virtual machine, rather than by the "real" computer machine, the hardware prossesor. The virtual machine converts each generalized machine instructor into a specific machine instruction or instructions that this computer's processor will understand. Bytecode is the result of compiling source code written in a language that supports this approach. Most computer languages, such as C and C++, require a separate compiler for each computer platform - that is, for each computer operating system and the hardware set of instructions that it is built on.
Windows and the intel line of microprocessor architectures are one platform;
The Bytecode verifier traverses bytecodes. THE COMPILER
Despite their seemingly disparate approaches to the development environment, both UNIX and microsoft windows© do share a common architectural back-end when it comes to compilers (and many many other things, as we will find out in the coming pages).
Executable generation is essentially handled end-to-end on both systems by one program: the compiler. Both systems have a single front-end executable that acts as glue for essentially all 5 steps mentioned above.