New language 
Author Message
 New language

Ok, here are some ideas for the new language...

The evolution of languages started first with load/store primative
operations for the CPU.  This led to assembly which was basically
a labeling system for the actual numbers the cpu understands.  When
you have labels, people created an abstract macro layer above that
so that it produced multiple assembly labels to be compiled into
machine code.  This is basically what Basic and fortran, and Colbol
did.  But as the languages became longer and longer, people started
inventing ways to package some of the often used routines, and created
the concept of a method (java), function (c), procedure (Pascal),
subroutine (basic and perl).  They are basically a way store often
used instructions for the cpu into nice place (label it), and call
it anytime you want.  But since these functions usually need information
passed into it to work, pass by reference and pass by value became
the norm, and was incorporated into the language.  Usually
when a function is called, the calling function stores the passed
values on a stack (a separate place in memory).  The called function
then take these values from the stack and diddles with them.  When it
is done, it return usually one value (either a reference or value) by
placing it back on the stack, and the caller then takes it off of the
stack.  To make it consistent, and less error prone, some languages
invented the concept of a prototype, which basically says, this
function can only take in 4 passed parameters of type integer, and
return type char, etc etc.  Up to this point you have C and pascal.

Then someone comes along and says, hey, why not package multiple
functions
and data into a structure.  And that is how classes got started (which
lead to object oriented languages like C++ and java).  Now when you
are calling a function, instead of eat food, you say "tom, eat food"
you have to tell which structure/class to do it.  Of course tom would
have
to know how to eat and what food to eat.  That is why Tom needs
a function inside called eat, and you need to pass him food as a
parameter.

Well this is fine, but each time you turn on the computer, the classes
dissapear (well at least the data stored inside of them).  So people
invented
components that sort of made classes a little smarter.  Components are
basically classes that (usually, not all) contains serialization, and
function query.  Serialization means it can be stored to harddrive and
back and keep its data intact.  function query (my own term) means you
can
ask a component what functions/methods it supports.  Some people group
the functions into ports and some group them into interfaces.  These
are basically another layer above the functions that you use to actually
execute a function inside a component.  COM, Corba, and JavaBeans are
like these.  (I did some things on Ports, like smart ports, which
automatically does introspection(check parameter types) and
automatically
link methods between components if they match).  I actually created
a new component architecture before (well contributed to it), but it
wasn't truly a new language (you still had to program in java to create
the component pieces to play with).

Well, Perl is something new to me.  It has some old vestiges of assembly
type language structures.  For example, a called function manually
pops stuff off of the stack (well indirectly), as opposed to being
defined in variables identified in the function definition.
It can also return multiple values (interesting).

Well, if you look at most cells in your body, you notice that they
have a cell wall, and inside contains the DNA and other goodies.
Things are passed to the cell through the cell wall.  This is very
similar to passing variables to a component through an
interface/function.

This new language would have components with no constraints on values
passed to it.
as for the values, instead of being dedicated to a method in a
component/class/function, it would be placed on a {*filter*}stream/"bus".
cells/components would grab it when they have appropriate functions
that can use it.

and of course there is the concept of dynamic operators.  operators
are basically built-up from other components.

Sent via Deja.com http://www.*-*-*.com/
Before you buy.



Mon, 28 Oct 2002 03:00:00 GMT  
 New language

Quote:

> Then someone comes along and says, hey, why not package multiple
> functions
> and data into a structure.  And that is how classes got started (which
> lead to object oriented languages like C++ and java).  Now when you

This might be what it looks like to the causual observer, but in fact,
as proven by Common Lisp and Dylan, is not what object-oriented
programming is all about.

Rather, the interesting aspects are abstraction through type
hierarchies, and through polymorphic functions.

Andreas

--
"Anyone need a DVD decrypter for Linux?

| cut -b5-36 | perl -e 'while(<>){print pack("H32",$_)}' | gzip -d"
  -- James Brister



Mon, 28 Oct 2002 03:00:00 GMT  
 New language

Quote:

> > Then someone comes along and says, hey, why not package multiple
> > functions
> > and data into a structure.  And that is how classes got started (which
> > lead to object oriented languages like C and java).  Now when you

> This might be what it looks like to the causual observer, but in fact,
> as proven by Common Lisp and Dylan, is not what object-oriented
> programming is all about.

> Rather, the interesting aspects are abstraction through type
> hierarchies, and through polymorphic functions.

Also, the "system bus" idea looks a lot like the work on the Linda system by
Gelerntner, et al. from a few years back.

faa



Mon, 28 Oct 2002 03:00:00 GMT  
 New language
On Fri, 12 May 2000 00:15:03 -0400 (EDT), "Frank A. Adrian"

Quote:




> > > Then someone comes along and says, hey, why not package multiple
> > > functions
> > > and data into a structure.  And that is how classes got started (which
> > > lead to object oriented languages like C and java).  Now when you

> > This might be what it looks like to the causual observer, but in fact,
> > as proven by Common Lisp and Dylan, is not what object-oriented
> > programming is all about.

> > Rather, the interesting aspects are abstraction through type
> > hierarchies, and through polymorphic functions.

> Also, the "system bus" idea looks a lot like the work on the Linda system by
> Gelerntner, et al. from a few years back.

BTW the "system bus" idea is back in Sun's JavaSpaces that are part of JINI:

        http://java.sun.com/products/javaspaces/

__Jason

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp



Tue, 29 Oct 2002 03:00:00 GMT  
 New language
JavaSpaces is very cool, and the JavaSpaces book is a classic, explaining an idea
new to the mainstream clearly and with code you could copy and paste to get
something you understand up and running.
It would easily be possible to reproduce much of the functionality of JavaSpaces
using data objects represented in XML passed around via XML-RPC (or a simple HHTP
request) so languages other than Java (such as, say, Dylan) could collaborate in
tuple spaces. This would require software to be pre-installed on clients, as you
wouldn't have the "advantage" of being able to download and run arbitary code,
but in practice you'd want to pre-install with most JavaSpaces applications
anyway.

- Rob.

Quote:

> On Fri, 12 May 2000 00:15:03 -0400 (EDT), "Frank A. Adrian"

> BTW the "system bus" idea is back in Sun's JavaSpaces that are part of JINI:

>         http://java.sun.com/products/javaspaces/

--

MacOS wonderfulness for The Hitch Hiker's Guide to the Galaxy Game.
"Arthur bought the Apple anyway."-So Long & Thanks For All The Fish.


Tue, 29 Oct 2002 03:00:00 GMT  
 New language
  This is my first post, so forgive any newbieness...


Quote:
> JavaSpaces is very cool, and the JavaSpaces book is a classic, explaining
an idea
> new to the mainstream clearly and with code you could copy and paste to
get
> something you understand up and running.

  I went to the page, but I think I'm missing something.  What's here that
isn't in something like DO or (if you're a masocist) CORBA/DCOM etc.?  What
is the "system bus" concept?

Maury



Mon, 11 Nov 2002 03:00:00 GMT  
 New language
The system bus idea was referred to in a previous posting. My take on it was
that it's a kind of central data pipeline for each process. This is in
contrast to the callbacks and singletons used by languages that have to
manually pass data between known nodes of functionality. It makes for a very
dynamic, environment-based system.

There are several good things about JavaSpaces:
- You download the functionality as well as the data, so you can have generic
workstations (of any platform, it's Java...) pulling down objects and
processing them in the sandbox without having to be configured for each task.
Big time saving, big flexibility gain.
- The space-based programming paradigm is designed for distributed computing,
rather than squeezing an existing paradigm into the demands of a new way of
working as RPC/CORBA or DO/DCOM do. DO I like the most out of these, but
JavaSpaces is still a tool designed to solve the problem, rather than bring
the problem to an existing tool.
- It is a new way of thinking about structuring tasks. It's very flexible and
elegant, do read the JavaSpaces book online (even just the sample chapter) to
get a feel of how it does things differently. Co-ordinating resources,
queueing tasks and data and co-ordinating tasks across many machines becomes
very simple, far more so than using altered object technologies. You cn start
to imagine new ways of structuring tasks and data, too, the JavaSpaces book
has some useful patterns.

I still think we should re-implement JavaSpaces in XML and do a Dylan version.
:-)

- Rob.

Quote:

>   This is my first post, so forgive any newbieness...



> > JavaSpaces is very cool, and the JavaSpaces book is a classic, explaining
> an idea
> > new to the mainstream clearly and with code you could copy and paste to
> get
> > something you understand up and running.

>   I went to the page, but I think I'm missing something.  What's here that
> isn't in something like DO or (if you're a masocist) CORBA/DCOM etc.?  What
> is the "system bus" concept?

--

MacOS wonderfulness for The Hitch Hiker's Guide to the Galaxy Game.
"Arthur bought the Apple anyway."-So Long & Thanks For All The Fish.


Mon, 11 Nov 2002 03:00:00 GMT  
 New language

Quote:

> Loosely coupling systems via 3rd-party objects (spaces, channels, etc) is a
> common pattern in distributed and dynamic systems.

I like the tuple space space idea, I hadn't encountered it before. I do think
that Linda/JavaSpaces makes "spaces" the enabling metaphor or structural entity
for problem-solving, and I think that's different to the broker-based
distributed-object systems. I also hadn't considered spaces in relation to the
channel idea but I think spaces are a superset of channels (you could make a
channel in a space but I don't think you could make a space in a channel).

Quote:
> Of course, JavaSpaces is a more direct reinvention of the Linda research from
> the mid-1980s.

Yes, you're right: I haven't been trying to claim that JavaSpaces per se is new,
but re-reading my posts it certainly looks that way.
The JavaSpaces designers are very careful to credit Linda as their inspiration,
much the same as Apple don't with the Xerox Star... :-)

- Rob.

--

MacOS wonderfulness for The Hitch Hiker's Guide to the Galaxy Game.
"Arthur bought the Apple anyway."-So Long & Thanks For All The Fish.



Mon, 11 Nov 2002 03:00:00 GMT  
 New language
Hi,

I haven't read the JavaSpaces stuff in detail, but to me it just seems to
another incarnation of the message-oriented systems idea.

E.g. CORBA has the Event and Notification services and Message-Oriented
Middleware (MOM) predates CORBA.

Loosely coupling systems via 3rd-party objects (spaces, channels, etc) is a
common pattern in distributed and dynamic systems.

Of course, JavaSpaces is a more direct reinvention of the Linda research from
the mid-1980s.

This isn't to say that JavaSpaces is junk, just that it is neither a new idea
nor even a new form of an idea (AFAICS).

__Jason

_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp



Mon, 11 Nov 2002 03:00:00 GMT  
 New language

Quote:

> The system bus idea was referred to in a previous posting. My take on it
was
> that it's a kind of central data pipeline for each process. This is in
> contrast to the callbacks and singletons used by languages that have to
> manually pass data between known nodes of functionality. It makes for a
very
> dynamic, environment-based system.

  Ok, is this something that's out there now?  Does it have some similarity
with the object freezing clipboard in NS?

Quote:
> - You download the functionality as well as the data

  Right... suddenly Java just went up a few notches in my book.

Quote:
> - The space-based programming paradigm is designed for distributed
computing,
> rather than squeezing an existing paradigm into the demands of a new way
of
> working as RPC/CORBA or DO/DCOM do. DO I like the most out of these, but
> JavaSpaces is still a tool designed to solve the problem, rather than
bring
> the problem to an existing tool.

  Well ok, but I'm not sure DO is "designed" for anything really.  I suppose
what I'm asking is what's different for the programmer?  I assume in both
systems you ID the space, id the object you want inside it, and then use it.
No?

Quote:
> - It is a new way of thinking about structuring tasks. It's very flexible
and
> elegant, do read the JavaSpaces book online (even just the sample chapter)

  Ok, I'll do that.  The reason I'm asking here is that after attempting to
wade through the EJB stuff I finally saw a real explaination of it and EJB
sucks rocks.  Thus I try to avoid anything on the Sun site.  :-)

Maury



Mon, 11 Nov 2002 03:00:00 GMT  
 
 [ 10 post ] 

 Relevant Pages 

1. Use a new language: Structured Programming Language

2. New language Avail for PC and Mac

3. Syntax Questions for a new language with somewhat Smalltalk-like syntax

4. Microsoft releases info on new language C#

5. Announcement: ScriptV--a new language for computer graphics and animation

6. SetupBuilder - New Language Modules

7. Undescribed new language statement?

8. Undescribed new language statement?

9. New language named Wright1000

10. Mosaix NEW Language GUI

11. Help Wanted - New Language - Compiler Project

12. New language

 

 
Powered by phpBB® Forum Software