Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: Parrot, the future of dynamic languages ?

by Anonymous Monk
on Dec 20, 2004 at 14:42 UTC ( [id://416193]=note: print w/replies, xml ) Need Help??


in reply to Re: Parrot, the future of dynamic languages ?
in thread Parrot, the future of dynamic languages ?

Well, virtual machines aren't exactly new. The JVM was succesfull long before Parrot was concieved. And that of course wasn't the only VM.

Parrot will be a "virtual assembler", which will make "assembly-style" programming cross platform.

But Parrot isn't intended so programmers can write assembler! Someone reading your words would think the reason higher level languages exist is because all assembler languages are different. The main reason the assembler exists is that is makes is easier to write compilers - the compilers just have to emit assembler code, instead of having to drive the VM. Just like gcc front ends output some intermediate code, instead of a native binary.

To me this is a "quantuum leap forward" in the way programmers will be able to think about data and program. No matter what architecture you are on, you will be able to visualize the cpu registers and memory to have the same structure, and write real cross platform code.

Well, it's not really cross platform. In fact, the code will target only one platform: Parrot's virtual machine. Note also that the decision whether Parrot should be stack based or register based was made after the idea of having a VM. It being register based was never a target. It's just an implementation detail in the larger scope of having a VM.

It is in my opinion, the first real attempt to make a coding "standard".

Hello? Where have you been the decades? What about Java? What about POSIX? What about any other language that only has one implementation and doesn't delegate to platform specific libraries?

You will be presented with a set of cpu-registers, and some standard variable types, like interger,numeric,string, and binary. Programming just becomes pushing the data thru the virtual registers.

Ah, there you have been! In the early 1950s! Now I understand the "quantum leap". It must be a huge jump to go from "pushing data thru registers" to "pushing data thru virtual registers".

It'll be a real seller! No more regexes! No more hashes! No IO-library! No devices! Just pushing data thru registers! I can hear SUN and Microsoft weep, soon noone will be using Java, C# or .NET. Everyone will just be pushing data thru registers.

  • Comment on Re^2: Parrot, the future of dynamic languages ?

Replies are listed 'Best First'.
Re^3: Parrot, the future of dynamic languages ?
by zentara (Archbishop) on Dec 20, 2004 at 16:45 UTC
    It'll be a real seller! No more regexes! No more hashes! No IO-library! No devices! Just pushing data thru registers! I can hear SUN and Microsoft weep, soon noone will be using Java, C# or .NET. Everyone will just be pushing data thru registers.

    Well the Parrot libs will still have to handle the drivers, etc, but it should become invisible to the programmer, and there will of course be alot of high-level libraries to do alot of the repetitive stuff, like regexes and hashes. And I DO see the end of Java and C#, and NET except for the corporate fools who will hang on to it, because they "invested their life's training" into it.

    I admit I havn't been "schooled" by the mainstream college ideas since the 70's and I missed out on the all the Java stuff, but I'm glad I didn't waste my time with it. So yes, maybe a quantuum leap for me, isn't the same as for you. But at least I'm not "trapped in one of the quantuum energy-state-holes" called Java,C#,or NET.

    For what it's worth, I've been seeing a parallel push in C++. As I read the newsgroups now, it seems they are developing a CPAN sort of library collection to make the simple things, easy and invisible to the programmer. Check out Boost It seems that there is this cone we are all in, all heading towards the "cone's vertex". That vertex, is a set of libs, that run cross platform, and allow you to handle data intuitively as humans understand it. We see data as "numbers,text,and binary bits". Dosn't it make sense to make a cpu that handles data in that form? Sure it has ultimately to be done at a binary level, but should programmers have to deal with that? I think all programming languages are going to "merge" into 1 "quasi-launguage" when that cone-vertex is reached. We are still quite a distance away, but Parrot seems to be taking those first steps, and that is what I like about it.

    Maybe the world needs a "global conference" on "what would the "ideal cpu" should be, and go about creating it as a "virtual cpu" with a "virtual assembly language". Then when a new cpu is released, the low-level enginners use the real assembly for the cpu, to make libs for compatibility with the "standard virtual cpu". Then all programmers have to do is learn 1 cpu, and the associated ways of doing different tasks.

    To me, that is what Parrot is all about. It's not about Perl. Perl is just going to be implemented using Parrot.

    My only prayer is that they have some good assembly programmers to do the basic libs, so it's fast.


    I'm not really a human, but I play one on earth. flash japh
Re^3: Parrot, the future of dynamic languages ?
by Elian (Parson) on Dec 20, 2004 at 18:16 UTC
    Ah, there you have been! In the early 1950s! Now I understand the "quantum leap". It must be a huge jump to go from "pushing data thru registers" to "pushing data thru virtual registers".
    Woohoo! It's back to the future! Or forward into the past. Or something like that.

    Anyway, when all's said and done (and Parrot's in a state to be rolled out now for many languages, which is a bizarre thought, though nonetheless true) nobody should care that there's Parrot under the hood of their favorite language. We're the plumbing. All you should ever care about the plumbing is whether it works and whether it fits in with whatever you need to hook up to it. If anything more's required then we've failed at least a little.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (3)
As of 2024-04-24 22:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found