Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

The Slate Programming Language

CowboyNeal posted more than 10 years ago | from the languages-named-after-microsoft-sites dept.

Programming 244

An anonymous reader writes "I know that we have had an influx of new programming languages of late, but I feel that this one merits special attention. Theoretical computer scientists and long-time Squeak and LISP contributors Brian Rice and Lee Salzman have been rapidly developing a language called Slate. It draws on the various strengths of the Self, Smalltalk, and LISP languages. To quote from the website: 'Slate is a prototype-based object-oriented programming language based on Self, CLOS, and Smalltalk. Slate syntax is intended to be as familiar as possible to a Smalltalker, rather than engaging in divergent experiments in that respect.' The beta release is currently being written in Common LISP."

cancel ×

244 comments

Sorry! There are no comments related to the filter you selected.

Shut up go away (-1, Troll)

Anonymous Coward | more than 10 years ago | (#8689516)

Perl > * and programming == dead.

bye

First Post (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8689521)

Can you express the concept of the first post in this language?

Re:First Post (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8689629)

you fail: it

The French strike again (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8689756)

It's fitting that a Frenchman is willing to defend Saddam [bbc.co.uk] ...

It works! (3, Funny)

Timesprout (579035) | more than 10 years ago | (#8689527)

I prototyped this mail using it

Re:It works! (-1, Troll)

Anonymous Coward | more than 10 years ago | (#8689739)


I couldn't help but notice that your breath smells of hot, black penis.

Re:It works! (-1, Troll)

Anonymous Coward | more than 10 years ago | (#8689784)

At least mine doesn't smell like semen. I may suck, but at least I don't swallow like you.

Re:It works! (0)

Anonymous Coward | more than 10 years ago | (#8690072)


good comeback!

loser.

Pretty Cool (1, Informative)

Anonymous Coward | more than 10 years ago | (#8689540)

Prototype based, multi-methods.

Looks like dylan [gwydiondylan.org] .

Ah, great, Smalltalk (4, Funny)

Deraj DeZine (726641) | more than 10 years ago | (#8689546)

Slate syntax is intended to be as familiar as possible to a Smalltalker

And for the rest of the world? Oh wait, sorry, Smalltalkers are gods among programmers. So foolish of me to think of myself before the Smalltalkers.

Re:Ah, great, Smalltalk (3, Insightful)

hding (309275) | more than 10 years ago | (#8689552)

I suppose the rest of the world can take the five or ten minutes that it takes to understand Smalltalk syntax.

Re:Ah, great, Smalltalk (1, Funny)

Anonymous Coward | more than 10 years ago | (#8689782)

Ok, fine. Since I have to, can I get it in music video form?

Re:Ah, great, Smalltalk (1, Troll)

Deraj DeZine (726641) | more than 10 years ago | (#8689823)

And while you're at it, why don't you learn Esperanto [esperanto.net] and the Dvorak keyboard layout [gigliwood.com] ? You sheep obviously have nothing else better to do.

Re:Ah, great, Smalltalk (1)

hding (309275) | more than 10 years ago | (#8690095)

Probably because we see no great benefit in that. I however, find Smalltalk a useful language that I would use even more than I do were it not for the existence of Lisp.

well, (3, Funny)

bsDaemon (87307) | more than 10 years ago | (#8689569)

at least you admit it. that's the first step to recovery.

Slate's logo is intended to be fam. to Slashdotter (-1, Troll)

ArseneLuppin (762660) | more than 10 years ago | (#8689574)

Slate's Logo [msnbc.com]

MOD PARENT UP (-1, Troll)

Anonymous Coward | more than 10 years ago | (#8689596)

That's the actual logo. It IS strangely familiar.

Re:MOD PARENT UP (0)

Anonymous Coward | more than 10 years ago | (#8689653)

But why would anybody use a moon as the logo for a programming language? Is this to differentiate themselves from Sun's java?

Re:Slate's logo is intended to be fam. to Slashdot (0)

Anonymous Coward | more than 10 years ago | (#8689685)

cool.

Re:Ah, great, Smalltalk (0)

Anonymous Coward | more than 10 years ago | (#8689660)

Oh, I can't think of any other language that used smalltalk as a base... Oh yeah, except C++.

Re:Ah, great, Smalltalk (0)

Anonymous Coward | more than 10 years ago | (#8689686)

Yes, the syntax is so similar. Because I was talking about syntax in my post.

Re:Ah, great, Smalltalk (0)

Anonymous Coward | more than 10 years ago | (#8689796)

Put down that crack pipe, son.

Re:Ah, great, Smalltalk (0)

Anonymous Coward | more than 10 years ago | (#8689874)

actually stroustrup says C++ and smalltalk are siblings on his faq page.

Re:Ah, great, Smalltalk (0)

Anonymous Coward | more than 10 years ago | (#8690094)

Actually he's talking about OO concepts inherited(ka-ching!) from Simula. Syntax wise he says Java is closer (and that is not very close IMHO).

Re:Ah, great, Smalltalk (2, Funny)

Mjlner (609829) | more than 10 years ago | (#8689773)

Slate syntax is intended to be as familiar as possible to a Smalltalker

So it is definitively not going to be very popular in Finland [scantours.com] . The Finns are known as the worst small talkers in the world.
Oh, wait...

Re:Ah, great, Smalltalk (2, Interesting)

Anonymous Coward | more than 10 years ago | (#8689817)

Great, indeed. I'm always amazed by comments like this. How on Earth a language designed to be easily used by small children ever acquired this lofty "ivory tower" connotation I doubt I will ever know. I've been a professional Smalltalk programmer for the last ten years. The language is literally child's play, working with it is easy and enjoyable, building large complex systems with it is trivial, maintaining them is also rather painless, the tools that are typically bundled with it are incredibly powerful, the tools I've built to go along with it have been easy to build, the community itself is very friendly. I've never come across this attitude that you describe. There are some very sharp people in this community, I would assume that there are some very sharp folks in other language communities as well. As for myself, I've never considered myself to be a master programmer, but as one person put it, "the power of Smalltalk is to allow mediocre programmers to create powerful systems". Not exactly flattering, but there is a lot of truth in that. It certainly makes my life a great deal more enjoyable. The simple truth is that most programmers, whatever language you consider, are not gurus. Never underestimate the power of a computing environment that began with the notion of giving end-users power equal to that of those who created the environment. It lets ordinary programmers such as myself look good on a daily basis.

Re:Ah, great, Smalltalk (1, Funny)

Deraj DeZine (726641) | more than 10 years ago | (#8689838)

language designed to be easily used by small children...The language is literally child's play

So basically it's a language that was designed to be used by unwanted children in sweatshop conditions? I, for one, am apalled. All you Smalltalk slave drivers should be ashamed!

Re:Ah, great, Smalltalk (0)

Anonymous Coward | more than 10 years ago | (#8689998)

hmmm... a computing environment that is poewrful, yet simple to use, and your immediate assumption is that it is intended to be used to enslave children?

So, if the language is complex to use, yet no more powerful, does that mean it is meant to enslave adults?

Re:Ah, great, Smalltalk (1, Flamebait)

badmammajamma (171260) | more than 10 years ago | (#8689967)

lol...all smalltalkers are elitist. I have yet to meet one that doesn't think he's god's gift to OOA&D (especially when talking to people using other languages, like Java).

The Smalltalk Elite (0)

Anonymous Coward | more than 10 years ago | (#8689996)

I'm not elitist. I use both Smalltalk and Java at work (in roughly equal amounts) and I'm quite literally four times as productive in Smalltalk as in Java. I don't write four times as much code in St as in Java, mind you, it's just that much more expressive.

So, as a humble programmer, you would do very well to at least figure out why St is so much better than Java.

Sean

Re:The Smalltalk Elite (0)

Anonymous Coward | more than 10 years ago | (#8690181)

Interesting! I don't use Smalltalk, but I use Java and Lisp at work about equally, and I have several years of experience in both languages. I have to say that I'm about three times more productive in Java, mainly because of the libraries and good interface/implementation separation and readable textual form.(We have a lot of legacy Lisp code that needs to be pushed ahead)

If we combine your experience and mine, this would make Smalltalk twelve times more productive than Common Lisp. I'll have a look at it. Thanks.

Re:Ah, great, Smalltalk (0)

Anonymous Coward | more than 10 years ago | (#8690017)

I've worked with Smalltalkers all my working life. They've typically been good people. Elitist? Nah. Just able to see through the cruft of a problem that isn't hidden in the self-made thicket of language.

As for elitists... I've seen them in all language communities. Some are even quite good.

Obligatory. (3, Insightful)

hot_Karls_bad_cavern (759797) | more than 10 years ago | (#8689568)

If the new language doesn't support your needs, shut up and don't use it.

Use what is best for the situation and don't whine.

What I use to satisfy my needs... (0, Troll)

ArseneLuppin (762660) | more than 10 years ago | (#8689591)

;-) [msnbc.com]

Re:What I use to satisfy my needs... (2, Informative)

Deraj DeZine (726641) | more than 10 years ago | (#8689617)

That link has an awful lot of plus signs. As if you're trying to hide something on the end of the URL. But what could it be? Maybe if I clic---No! Ow! My eyes!

I can't believe they changed the goatse.cx layout.

Re:Obligatory. (0)

Anonymous Coward | more than 10 years ago | (#8689831)

This is a serious question, not a troll. But what do people use these kinds of languages for?

For apps people use C, C++, Java, VB (God help us), etc, etc

For low level stuff, C, C++, asm

For scripting Perl, Python, shell script, etc

What kind of project would this be useful for?

Re:Obligatory. (0)

Anonymous Coward | more than 10 years ago | (#8689854)

Perhaps they're compensating for something?

Re:Obligatory. (1, Insightful)

Anonymous Coward | more than 10 years ago | (#8689915)

For apps people use C, C++, Java, VB (God help us), etc, etc

Well done - it's one of the etcs. There are applications out there written in Lisp, Haskell, Smalltalk, all sorts of weird and wonderful languages that the C world knows little about.

You've probably used some of them without even realising.

pascal (-1, Flamebait)

Anonymous Coward | more than 10 years ago | (#8689571)

is by far the most superior language. forget all the others. DOS and TP 7.0 is all you need for the next killer app. thank you.

Athiests (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8689575)

You can't have a civil discussion with an atheist. Atheists like to think of themselves as rational, but if you observe their behavior you'll find they
are anything but. They are full of anger and bitterness, and react with frightful outrage whenever they encounter someone with different views from
their own. Even people who think that atheism is a reasonable philosophy must admit that most atheists did not arrive at their point of view through
anything resembling a rational process. Rather, they are poorly socialized individuals who are lashing out angrily at anything which they perceive to be
valued by "mainstream" society. You really shouldn't take it personally. It is the result of an angry and profoundly unhappy psychological condition on
their part, not due to you or your Christian beliefs.

Christians (-1, Flamebait)

Anonymous Coward | more than 10 years ago | (#8689785)

You can't have a civil discussion with an Christian. Christians like to think of themselves as rational, but if you observe their behavior you'll find they are anything but. They are full of anger and bitterness, and react with frightful outrage whenever they encounter someone with different views from their own. Even people who think that Christianity is a reasonable philosophy must admit that most Christians did not arrive at their point of view through anything resembling a rational process. Rather, they are poorly educated individuals who are lashing out angrily at anything which they perceive to be valued by "intellectual" society. You really shouldn't take it personally. It is the result of an angry and profoundly unhappy psychological condition on their part, not due to you or your scietific and empirical facts.

Re:Christians (0)

Anonymous Coward | more than 10 years ago | (#8690081)

You can't have a civil discussion with a donkey. Donkeys like to think of themselves as rational, but if you observe their behavior you'll find they are anything but. They [donkeys] are full of anger and bitterness, and react with frightful outrage whenever they encounter someone with different views from their own. Even people who think that donkeyism is a reasonable philosophy must admit that most donkeys did not arrive at their point of view through anything resembling a rational process. Rather, they are poorly educated individuals who are lashing out angrily at anything which they perceive to be valued by "intellectual" society. You really shouldn't take it personally. It is the result of an angry and profoundly unhappy psychological condition on their part, not due to you or your scietific and empirical facts.

Prototyping OO is not a great paradigm (1, Flamebait)

Viol8 (599362) | more than 10 years ago | (#8689576)

Its fine for small scripts , rubbish for large programs as object and inheritance management becomes a minefield. I'm sure this language will
provide hours of mental masturbation in various academic ivory towers but for those of us who have to code in the real world its not going to rock it.

Slashdot, where censorship runs rampant (0)

Anonymous Coward | more than 10 years ago | (#8689632)

Why was this modded down?

Its a valid opinion. If Slashdot is going to claim to be a place of free discussion of all points of view and fight against censorship, then its going to have to practice what it preaches.

Re:Slashdot, where censorship runs rampant (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8689648)

The definition of Troll has morphed over the years. It now primarily means: "opinion I disagree with".

Re:Slashdot, where censorship runs rampant (-1, Offtopic)

Anonymous Coward | more than 10 years ago | (#8689708)

Attention mods: anti-Slashdot propaganda has been posted. Quickly mod parent down as a troll and crush the dissenters!

Re:Slashdot, where censorship runs rampant (0)

Anonymous Coward | more than 10 years ago | (#8689754)

Crush the dissenter!
Crush the dissenter!
Crush the dissenter!
Crush the dissenter!
Crush the dissenter!


HAVE NO MERCY ON THE HERETIC!

Re:Slashdot, where censorship runs rampant (0)

Anonymous Coward | more than 10 years ago | (#8689801)

We have this mod points
You troll now
Are you afraid?
Death to dissenters
Death to Anti-Slash
CowboyNeal is great

Eh (5, Funny)

Anonymous Coward | more than 10 years ago | (#8689728)

Who gives a shit about the real world. None of the tools you cubicle-dwelling corporate serfs love so much ever came from the real world. All your programming tools come from research labs -- mere leftovers thrown away by academics once they grow bored of playing with them.

You code monkeys are nothing but low-skilled craftsmen, so when real scientists speak, please sit down and shut up, mkay?

Re:Prototyping OO is not a great paradigm (1)

fredrikj (629833) | more than 10 years ago | (#8689876)

So, write a Java interpreter in it. Problem solved.

Re:Prototyping OO is not a great paradigm (0)

Anonymous Coward | more than 10 years ago | (#8689989)

That's exactly where HotSpot came from... The Self folks were spun off from Sun, then came back with a Java VM written in Self that ran about twice as fast as Sun's. Sun had to buy them back. Whoops.

Re:Prototyping OO is not a great paradigm (1)

ecki (115356) | more than 10 years ago | (#8690036)

So you take your JavaScript experience and come up with "JavaScript sucks, JavaScript uses prototyping, therefore prototyping sucks?" Or what other prototyping languages have you used?

Too obscure (3, Insightful)

Animats (122034) | more than 10 years ago | (#8689578)

By paragraph 2 of the manual, we're here:
  • Block closures

    A block closure is an object representing an encapsulable context of execution, containing local variables, input variables, the capability to execute expressions sequentially, and finally returns a value to its point of invocation. The default return value for a block is the last expression's value; an early return can override this.

This is a language for people who like obscure semantics.

Yes, closures are useful. I've used them in LISP. I even used one once in production code in Perl, to do some error handling cleanly. But when the manual starts out with closures, it's clear that somebody is getting too cute.

This is a language for "l33t haxxors", of the old MIT AI Lab persuasion. Check out "instance specific dispatch". Now that's designed to totally confuse maintainers.

Re:Too obscure (3, Interesting)

Anonymous Coward | more than 10 years ago | (#8689622)

In Smalltalk, closures are fundamental. Without them you can't do if statements or whiles or anything else.. Smalltalk closures are very simple.. in Lisp their are a bit more intimidating to the unitiated.

Re:Too obscure (3, Interesting)

Animats (122034) | more than 10 years ago | (#8689731)

Well, it's one solution to the "how do I return a temporary" problem. There's elegance there. But it's expressed in an unnecessarily obscure way. The reference-counted Perl model is equally powerful but more comprehensible.

Re:Too obscure (1, Funny)

Anonymous Coward | more than 10 years ago | (#8689637)

Perhaps you would be more comfortable with Intercal [ofb.net] or Brainf*ck [muppetlabs.com] ?

Re:Too obscure (1)

quigonn (80360) | more than 10 years ago | (#8689871)

Well, I would, if they one built computers with Brainf*ck CPU [clifford.at] .

Re:Too obscure (0)

Anonymous Coward | more than 10 years ago | (#8689830)

Yes, closures are useful. I've used them in LISP. I even used one once in production code in Perl, to do some error handling cleanly.

You've only ever used a closure once in Perl?

You mean you never touch obscure "l337 h4x0r"-type functions like... well... "map" and "sort", both of which use closures?

Man, Perl hackers ain't what they used to be...

Re:Too obscure (1, Insightful)

Anonymous Coward | more than 10 years ago | (#8689914)

Bah, although I agree with many comments in here about "yet another ass language," I can't let this one go.

Closures are fundamental to most functional programming languages and smalltalk. They're useful, all programmers should understand them.

They are not an obscure concept. Good programmers use them all the time.

Re:Too obscure (3, Insightful)

quigonn (80360) | more than 10 years ago | (#8689916)

No, it's not obscure. Please have a look at Ruby, where closures are the natural way of doing most things. For example, there is no for-loop, but it is implemented as method for Integer objects (literals are also objects in Ruby):

14.upto(19) do |i|
# do ... end is the closure
end

so, the closure is executed 6 times, the first time with i = 14, the next time with i = 15, the third time with i = 16, up to i = 19.

Just have a closer look at Ruby, and you will see that the whole standard library is built on top of this simple and elegant concept. The book "Programming Ruby" can even be read online and downloaded from www.pragmaticprogrammer.com [pragmaticprogrammer.com] .

Re:Too obscure (0)

Anonymous Coward | more than 10 years ago | (#8689999)

Ruby is a bit more flexible than that.

i.e., it has for loops available if you want 'em.

And I always liked the curly braces instead of 'do'..'end':

for i in 14..19
puts i
end

OR:
(14..19).each { |i|
puts i
}

OR:
(14..19).each do |i|
puts i
end

the real question is: (-1, Redundant)

Anonymous Coward | more than 10 years ago | (#8689592)

can you write linux with it?

right! (2, Funny)

Anonymous Coward | more than 10 years ago | (#8689593)

I C sea Slates on the C Shore!

The first thought that came to my mind... (3, Funny)

Rahga (13479) | more than 10 years ago | (#8689595)

Even though, admittedly, this looks is a joke post, I couldn't help but think this the moment I noticed the article: "I don't really need a programming language that hates Catholic, can't grasp the realities of free-market economics, and is determined to write-in Howard Dean on the 2004 elections ballots..."

why slate (5, Informative)

larry bagina (561269) | more than 10 years ago | (#8689609)

From the faq: Why did we decide on a new programming language?
  • Smalltalk-80 is over 20 years old. We don't think the original team intended for the model to last this long (well, from discussions on the Squeak [slashdot.org] mailing list, they've said so).
  • Smalltalk [slashdot.org] doesn't adequately express many design possibilities that show up often in good complex programs. Requiring classes, not allowing multiple dispatch, and not including some form of multiple inheritance is limiting for a lot of interesting cases.
  • The Common Lisp [slashdot.org] and Dylan [slashdot.org] communities have created some powerful interface toolkits which Smalltalk cannot easily take advantage of.
  • Cecil [slashdot.org] is statically-typed and not very dynamic. Dylan [slashdot.org] suffers from a case of too much syntax, and not enough emphasis on live environments.
  • Common Lisp [slashdot.org] is not object-centered or generic enough with its functions.
  • Goo [slashdot.org] uses the unfriendly Lisp syntax, and isn't quite suited to object-centered thinking.
  • Self [slashdot.org] turned out to be too strange an environment for Smalltalkers, and never had a decent implementation. Strongtalk [ucsb.edu] was bought up.
  • Bytecode virtual machines and chunk format are old hat. It'd be worth at least trying some different run-time setup.
  • The Squeak [slashdot.org] system is very powerful in terms of some experimental libraries and user interface ideas, but is based on an aging architecture and a license that is partly troublesome.

i think smalltalk++ would be a better approach than inventing a new language. Look at C++: it's backwards compatable with C, so a C coder is already a C++ coder and can slowly start making use of new C++ features.

Re:why slate (1)

bsharitt (580506) | more than 10 years ago | (#8689655)

I think Smalltalk++ would be in wrong direction. Maybe OBjective-Smalltalk, or Smalltalk#.

Re:why slate (4, Insightful)

Anonymous Coward | more than 10 years ago | (#8689724)

"i think smalltalk++ would be a better approach than inventing a new language. Look at C++: it's backwards compatable with C, so a C coder is already a C++ coder and can slowly start making use of new C++ features."

Or maybe, just maybe for once we could acknowledge that programmers are smart people and can learn new things. Lets get off trying to bend over backwards and make a broken language better -and- backwards compatible. This is exactly why C++ is the horror that it is today. Write a new clean language and just make sure that it links well with others. Then you can call functions from your old programs written in whatever the hell language you want, nobody knows and the code slowly moves over to a codebase that doesn't rape the programmer (like trying to use exceptions in a C++ program without the exception killing you!).

Re:why slate (0)

Anonymous Coward | more than 10 years ago | (#8689777)

I was going to reply to you seriously, but then I realized that your last name is "bagina"

Forget it.

Re:why slate (0)

Anonymous Coward | more than 10 years ago | (#8689789)

I've seen worse. Miss April Guzzler decided to enlist in the Navy one day. Guess what she became? Yes, Seaman Guzzler.

Re:why slate (1)

drooling-dog (189103) | more than 10 years ago | (#8689883)

New language? We seem to get a new language every time someone completes a course in compiler construction...

Re:why slate (0)

Anonymous Coward | more than 10 years ago | (#8690051)

1) all those languages are obscure and useless to most of us (I have used many of them, but never for a production system. I use the constructs for inspiration in other more mundane languages.)

Ruby is probably the best balance between academic and pragmatic, yet it isn't on your list for some reason.

2) "Look at C++" .. uh, no. You have plenty of nice elegant languages on your list, why bring up the C++ monstrosity???

Re:why slate (0)

Anonymous Coward | more than 10 years ago | (#8690068)

Look at C++: it's backwards compatable with C

Technically that is not true. For example, C programs may use C++ keywords as variables.

Deja vu (5, Interesting)

spellraiser (764337) | more than 10 years ago | (#8689616)

Slate is a prototype-based object-oriented programming language based on Self, CLOS, and Smalltalk.

From a recent [slashdot.org] post:

Prothon is a new industrial-strength, interpreted, prototype-based, object-oriented language that gets rid of classes altogether in the way that the Self language does.

Does this point to a trend in language design?

Re:Deja vu (1)

Anonymous Brave Guy (457657) | more than 10 years ago | (#8689704)

Does this point to a trend in language design?

Yep: if you want publicity, send an article on a brand new language that isn't finished yet to Slashdot and wait. :-)

At least we're improving, though. The last one was "pre-alpha" (or vapourware, as it's technically known). This one is "beta" (or get-everyone-else-to-test-it-for-you, as it's technically known). One of these days, someone will write an article about a genuinely innovative language that really exists in usable form, and the eds will reject it because we've all got bored. :-)

Re:Deja vu (1)

RovingSlug (26517) | more than 10 years ago | (#8689767)

Ok, I'll ask. What's a "prototype-based object-oriented" language and how does it differ from C++ and Java?

prototype based languages (5, Informative)

Jecel Assumpcao Jr (5602) | more than 10 years ago | (#8689938)

When running a program, it is very likely that you will want to create new objects as you go along. You have some alternatives:
  • call a magic constructor fucntion (C++ and friends)
  • send a message like "new" to a factory object (like a class in Smalltalk)
  • send a message like "copy" or "clone" to an object that is like the one you want to create

In the third case you might find out that you can get by with a set of "prototype" objects to copy from and you don't need classes at all. But to actually eliminate classes you will have to find solutions to the other things they do for you like hold the behaviors for the objects (you can put them in the objects themselves, for example) and reflection (Self uses special "mirror objects" for that).

There are several different styles of prototype based languages [dekorte.com] .

Re:Deja vu (1)

ZenFu (692407) | more than 10 years ago | (#8690151)

Ok, I'll ask. What's a "prototype-based object-oriented" language and how does it differ from C++ and Java?

I was wondering the same thing and found the following items:

http://www.dekorte.com/Proto/Chart.html [dekorte.com]
Prototype-based languages are object oriented langauges where a new object instance is "cloned" from existing live object(a prototype) instead of being constructed by a class. This makes the language simpler by requiring one less data type and solving the infinte regress problem of classes(if you use a class to create an object, what do you use to create a class?). It is also ideal for systems such as GUIs where the pattern of creating one object by copying and modifying another is already handled by the language itself. Check out the site to see a table of similar languages.

http://c2.com/cgi/wiki?PrototypeBasedProgramming [c2.com]
In a class-based language (like Java or Smalltalk), every object is an instance of a class. An object contains its own data (instance variables), but its class holds its behaviour (methods). To make a new object, you ask a class to "instantiate" itself.

In a prototype-based language, an object can contain both data and behaviour. It's a self-contained thing. To make a new object, you just call the "copy" method on an existing object.

Re:Deja vu (1)

Imperator (17614) | more than 10 years ago | (#8689852)

Does this point to a trend in language design?

No, just in a trend (of 2) in slashdot stories. No one really uses these languages.

Yet Another Language (to learn ?) (0)

Anonymous Coward | more than 10 years ago | (#8689681)

BTW, beta release is not really what I do consider as "stuff that matters". Wake me up when an official release will be announced.

Slate has a programming language? Cool! (0, Offtopic)

acceleriter (231439) | more than 10 years ago | (#8689688)

Does it only let you write about a tenth of the program, then let you finish the rest after you've forked over for a subscription or read some ads?

Sounds interesting. (0)

Anonymous Coward | more than 10 years ago | (#8689751)

But, anyway, Brian Rice is a asshole, which I know from experience.
Probably one of those hyper-intelligent theoreticians who should best avoid all human contact.

More info (0)

Anonymous Coward | more than 10 years ago | (#8689759)

http://lists.tunes.org/mailman/listinfo/slate

eeep... (0)

Rodrin (729362) | more than 10 years ago | (#8689763)

I feel sorry for all the people who get asked "Whats the best programming language." and then get asked "What do I have to choose from?" *sigh*

April fools..I hope (4, Interesting)

rufusdufus (450462) | more than 10 years ago | (#8689781)

Confusing things like:

3 + 4 * 5 " ==> 35 (not 23) "

and

(3 / 4) == ( 3 / 4) "==> false"

give pause for concern.

But the example code snippet for the curious @ dispatch operator uncommented and unexplained takes the cake:

"
oc@(OrderedCollection traits) copyFrom: start to: end
[| newOC |
end start ifTrue: [^ oc newEmpty].
newOC: (oc traits newSize: end + 1 - start).
start to: end do: [| :index | newOC addLast: (oc at: index)].
newOC
].
"

How could someone argue with a straight face that this gobblygook is progress in programming languages?

Amazing. (4, Funny)

warrax_666 (144623) | more than 10 years ago | (#8689881)

And they say its syntax is easier to understand than LISP? I wonder what they're smoking...

Re:April fools..I hope (0)

Anonymous Coward | more than 10 years ago | (#8689890)

And the explanations, where present, are even better -

All of these literal expression types can be nested within each other without the # prefix since it all has been forced to compile-time already.

WTF?

Re:April fools..I hope (0)

Anonymous Coward | more than 10 years ago | (#8689952)

Acedemic morons in their ivory towers.

Idiots... Get a job!

Re:April fools..I hope (0, Offtopic)

ameoba (173803) | more than 10 years ago | (#8690059)

Sod off. Go back to using toggle switches to program machines that output to a row of LEDs.

Give us back our garbage collected OO languages, our GUIs and our multiuser multitasking operating systems and our networking.

Re:April fools..I hope (1)

Jayzz (540605) | more than 10 years ago | (#8690054)

I don't know much about smalltalk either, but the first example produces 35 instead of 23 because in smalltalk there is no operator precedence.

That is, all operators are just messages, so they are used from the left to the right. It's like (3 + 4) * 5, thus 35.

Re:April fools..I hope (5, Informative)

Chinju (662523) | more than 10 years ago | (#8690160)

I don't know much about Slate, or Smalltalk, or anything, for that matter, but a quick look at the article shows that both of your "confusing" examples are not that confusing...

As someone else already pointed out, "3 + 4 * 5" ==> 35 (not 23) because Slate has no differences in binary operator precedence and therefore always associates to the left.

And as for "(3/4) == (3/4)" ==> false, this is because "==" tests for _object_ equality, and the two different instances of "(3/4)", while representing the same numerical value, are distinct objects. It appears that "=" tests for numerical equality.

Re:April fools..I hope (1)

master_p (608214) | more than 10 years ago | (#8690212)

I was about to say the same thing but I hesitated because I've put the 'crap' label in many new programming languages. But I am glad someone agrees with me.

What happened to simplicity ?

another one (1, Funny)

Anonymous Coward | more than 10 years ago | (#8689810)


looks like "prototype-based, object-oriented" [google.com] are the new buzzwords in programming languages

it still needs more nanotubes to leverage your ROI while creating on-demand multi-tier dynamic buisness systems creating synergy between individual nodes of your process factoring considerations

PLEASE DISREGARD. (1, Informative)

Anonymous Coward | more than 10 years ago | (#8689850)

I am one of the primary authors of Slate and I *DID NOT* authorize anyone to do such advertising as this (and I believe the post is severely misleading on other levels), as we are CLEARLY not ready for any sort of exposure of this level. Unless you are really specifically interested in an essentially unuseable language, move along and ignore this. Again, move along and ignore.

Wait a minute....... (5, Funny)

MasterSLATE (638125) | more than 10 years ago | (#8689862)

Thats MY nick..... So, they're saying I'm a smalltalker with a lisp?

Shhhtop it! :(

Check out Io (0)

Anonymous Coward | more than 10 years ago | (#8690007)

For those who are dissatisfied with current language offerings, I encourage you to check out Io at http://www.iolanguage.com/ [iolanguage.com] .. It's small, simple and pretty well planned out.

ain't nothin' wrong with prototype OO (3, Interesting)

Laxitive (10360) | more than 10 years ago | (#8690019)

Man, and here I am writing my own little VM for a prototype OO system.. seems to be all the rage nowadays :D. I'm liking the recent trends of languages evolving to use simpler and simpler higher level semantics. I am a fan of smalltalk and self, but not their syntax. Their language environment and semantics, though, are worth pursuing.

One of the reasons I like prototype OO (specifically, delegation-based prototype OO, as opposed to languages that use embedding), is that a lot of _other_ dynamic language models fit well on top of it. For example, it would be very simple to make a Python -> Self compiler, because constructs that self exposes can be used directly to implement more specific class-oriented pythonic constructs. It leads me to beleive that a prototype-oo oriented base-vm can serve as a good abstract platform environment for several dynamic 'scripting' languages.

I'm not sure about the multiple dispatch though. I think multi-dispatch can be confusing.. especially in languages like these where the notion of runtime types is muddled quite a bit of the time.

-Laxitive

Other prototype languages w/older implementations (0)

Anonymous Coward | more than 10 years ago | (#8690103)

So what's wrong with Io [iolanguage.com] ? It's been around for a while and announced on Freshmeat. Also already has code written in it. Or Lua [lua.org] , which has been around longer. Or, hell, just update one of the Self implementations. Why yet another language implementation other than ego?

I'm going to create the Stale programming language (2, Funny)

Anonymous Coward | more than 10 years ago | (#8690124)

It's going to be based on COBOL, but will add the most annoying features of all of the other programming languges, and will leak memory like a firehose through a collander.

Re:I'm going to create the Stale programming langu (0)

Anonymous Coward | more than 10 years ago | (#8690182)

That would definitely make it the popular "Brand X" of programming languages. Every C(+, ++, #), LISP, PROLOG, Python, Smalltalk, etc. programmer would compare their elegant creations to Stale's. It'd also win hands-down in any obfuscated code contest.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?