Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re: Re: Re: Re: New JAVA Specification

by diotalevi (Canon)
on Jun 17, 2003 at 19:09 UTC ( [id://266600]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Re: New JAVA Specification
in thread New JAVA Specification

I wasn't referring to JavaScript. I was referring the Java, the scripting language with the source->bytecode compiler javac and the bytecode interpreting VM java. Just because it happens to have a slow compiler that obliges keeping the compiler separate from the VM doesn't mean it isn't a scripting language.

Replies are listed 'Best First'.
Re: Re: Re: Re: Re: New JAVA Specification
by djantzen (Priest) on Jun 17, 2003 at 19:48 UTC

    Just because it happens to have a slow compiler that obliges keeping the compiler separate from the VM doesn't mean it isn't a scripting language.

    Actually I think most programmers would draw the line between scripting and "normal" languages at the separation of compiler and architecture specific machine code. The fact that Java code is compiled down to a particular, albeit portable, architecture -- the Java Runtime Environment -- puts it in a separate category from languages like Perl and Python. To flip your statement, just because a language runs on a virtual machine does not mean it's a scripting language.


    "The dead do not recognize context" -- Kai, Lexx

      So because perl has a speedy compiler and can invoke it during execution it is a scripting language while Java has a slow compiler and can't invoke it during execution and it isn't? I'd say that both cases are scripting languages - they both run on a VM and are interpreted. There's no fundamental distinction here that I can see.

        I agree it's mushy territory, and will become more so with Perl 6 and its distinction between compiler and VM. But the difference between the languages is not just that Java keeps the two steps entirely separate, but also that the Java language is designed to achieve dynamic runtime behavior not through reliance upon a ready-to-hand compiler but on mechanisms like typecasting and classloading.

        One might view Java (and Perl 6 when people start releasing bytecode versions of their software (and you know they will :) ) as residing in an intermediate category between C et al and Perl 5 et al. That's the argument made in this article.


        "The dead do not recognize context" -- Kai, Lexx

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://266600]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (7)
As of 2024-04-19 10:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found