Discussion:
lack of contributors
(too old to reply)
Waldemar Kornewald
2006-04-01 14:28:13 UTC
Permalink
Hi Brian,
you wondered what is wrong with this project? I don't claim to know
this, either, but here are a few possible issues (let's hope you don't
misunderstand these suggestions):

Lack of a compiler: even very simple apps are unusable. This should have
highest priority. Slate must become usable for real-world apps.
Libraries can be extended by others. The core coders must work on internals.

Fight for C++ and Java programmers! It's a lot easier to get them on
board than die-hard, conservative Squeak programmers. Slate should
better be initially seen as a second language, not as a replacement for
your beloved main programming language. There is no obvious reason why
Slate should be better than Lisp or Squeak. Concentrate on other
communities.

You're basically a one-man team. There is no guarantee that this project
will stay alive for a long time. This relates to:
Sometimes people are pissed off by your mentality. Stay calm. Be polite.
Keep in mind that everything you say on IRC is read by many people. Do
you think they will ever want to risk being called an idiot?

You have high expectations. People don't want to be pushed. Let them
work on something, but don't expect anything as long as they are not
established team members.

Slate is too complex. It does not feel very elegant. You have to learn
too many concepts and rules (inheritance, role-based dispatch,
precedence, traits slots, delegation, macros, syntax, ...). You should
take this more seriously. One quickly gets overwhelmed by Slate.

The website greets you with a lot of information. Is the feature list
really needed on the front page? Those features don't tell me very much.
We want to know the *advantages* of Slate, a few *examples*, and a few
direct *comparisons* (Java, Squeak, ...).

Bye,
Waldemar
Brian Rice
2006-04-01 23:33:54 UTC
Permalink
Since today is April Fools Day, I almost sent an "[ANN] "Project
Cancelled" email. The other email idea was "Slate renamed to Slava"
to joke about pandering to the Java set and Factor's author as an odd
side-effect. I'm not even sure what I'm supposed to take seriously in
this email.
Post by Waldemar Kornewald
Hi Brian,
you wondered what is wrong with this project? I don't claim to know
this, either, but here are a few possible issues (let's hope you
Lack of a compiler: even very simple apps are unusable. This should
have highest priority. Slate must become usable for real-world
apps. Libraries can be extended by others. The core coders must
work on internals.
The core coders (Lee) left. THAT's the problem. I'm not blind to the
fact that the speed of Slate is a serious problem. Todd Fleming told
me himself that the disappointing speed of the UI disheartened him to
stop working on it.

The irony here is staggering. I just don't know what to do about it.
Bringing back Lee would have its own attendant problems - he's really
just not easy to work with.
Post by Waldemar Kornewald
Fight for C++ and Java programmers! It's a lot easier to get them
on board than die-hard, conservative Squeak programmers. Slate
should better be initially seen as a second language, not as a
replacement for your beloved main programming language. There is no
obvious reason why Slate should be better than Lisp or Squeak.
Concentrate on other communities.
Yeah, you're right about who to advocate to; I've definitely thought
about it since day one, but I'm no promoter. I am fundamentally a
pretty depressed guy who's in pain all the time; when the pain goes
away (in a couple of weeks I'm hoping), I'll get better again,
hopefully permanently, but in the mean time I cannot play PR-man.

So, if you want this to happen, help me make it happen. Do some work
to make site improvements or blurbs that will speak to the right
people. Be a language marketer. Someone has to do it.
Post by Waldemar Kornewald
You're basically a one-man team. There is no guarantee that this
Sometimes people are pissed off by your mentality. Stay calm. Be
polite. Keep in mind that everything you say on IRC is read by many
people. Do you think they will ever want to risk being called an
idiot?
Well, I need people around who are really competent and go-getters,
not people who talk all the time and don't send patches. I'm also a
harsh guy, and I will tell people exactly what I think, rather than
yield pleasantries and insult them when they're not around. I
actually appreciate being yelled at if I deserve it. It's a matter of
culture and some built-in personality quirks. Why is it such a "risk"
to be called an idiot? Is what happens on IRC suddenly a big deal
elsewhere? The world is full of much worse things, things that are
insane and sad and have real consequences, like the 8 people who were
killed by a gun-toting maniac just a block from my house last
weekend. Calling someone an idiot just does not rate on my "human
interaction Richter scale".

In any case, the people with patches get heard and catered-to. The
people who need everything explained to them and don't like
fundamental ideas of the author sometimes get insulted when they nag
too much. If you don't like something in Slate, change it. The source
is there, and "darcs send -o" is available for anyone to contribute.
Post by Waldemar Kornewald
You have high expectations. People don't want to be pushed. Let
them work on something, but don't expect anything as long as they
are not established team members.
This is a fundamental problem with me - I am not a master programmer
and cannot do everything that Slate needs. I also would like Slate to
be usable before I am drawing a pension. Everyone else sees Slate
from the outside-in; for me, I feel my life ticking away and it
becomes personal.

So I want people to work intensely on it so that the project is not
filled with hundreds of half-done projects and nothing useful. I
don't even care if they work on it sporadically, as long as they get
something ***done*** in the time they have. Because projects which
are half-done will be worked on by someone else, who has no insight
into the person's thought process (unless they comment code liberally
and document it, which is rare and takes effort), and therefore finds
it easier to rewrite it from scratch. Case in point: Slate has had no
less than ***FOUR*** SDL GUI back-ends.

My problem right now is that each of my contributors takes as much
time from me just to communicate with them (just as is happening
right now) as they put back in to the project.
Post by Waldemar Kornewald
Slate is too complex. It does not feel very elegant. You have to
learn too many concepts and rules (inheritance, role-based
dispatch, precedence, traits slots, delegation, macros,
syntax, ...). You should take this more seriously. One quickly gets
overwhelmed by Slate.
I'm hard-pressed to find what I should do about it. That's why I
invite people to write tutorials covering it, because the manual is a
***reference*** and not didactic at all. It cannot be my job to teach
people Slate, because I live in it and cannot get my mind out of that
perspective. I just CAN'T do it. Similarly, if I wrote tutorials, I
would have a harder time "swapping out" that information and
"swapping in" Slate internal code information.

I am going to re-iterate this: it cannot be my job to write teaching
materials. If you find Slate too hard, then help others find it
easier or don't use it and stop whining. Casual users just do not
belong in a pre-1.0 language community.

And Slate is that complex because those features are powerful. Remove
any of those, and you remove the purpose of the project. I welcome
simplification (Slate was originally supposed to be a concatenative
language, for example), but you are surely not going to be the source
of it.
Post by Waldemar Kornewald
The website greets you with a lot of information. Is the feature
list really needed on the front page? Those features don't tell me
very much. We want to know the *advantages* of Slate, a few
*examples*, and a few direct *comparisons* (Java, Squeak, ...).
Would you like to do that? The website is made from a darcs
repository at http://slate.tunes.org/repos/site/ . I would willingly
accept patches for it. If they are not "polished", I can make a
branch for the variation and try to improve it. At least make some
mock-up pages or something.

Honestly, though, if all this is hot air and you don't do anything
substantial about it, don't expect me to be pleasant to you.

--
-Brian
http://tunes.org/~water/brice.vcf
Matt Revelle
2006-04-02 00:06:13 UTC
Permalink
Hi Waldemar,

If you're interested in helping out with tutorial-type documentation,
there's an infogami site for it: http://slate.infogami.com. It's open
for anyone to contribute, and you don't have to muck with HTML or
figure out darcs.

The goal is to help more people understand Slate's features and
idioms. The pages contain mostly learn-by-example stuff, but code
comparisons to other languages should also be added.

Matt
Post by Brian Rice
Post by Waldemar Kornewald
Slate is too complex. It does not feel very elegant. You have to
learn too many concepts and rules (inheritance, role-based
dispatch, precedence, traits slots, delegation, macros,
syntax, ...). You should take this more seriously. One quickly gets
overwhelmed by Slate.
I'm hard-pressed to find what I should do about it. That's why I
invite people to write tutorials covering it, because the manual is a
***reference*** and not didactic at all. It cannot be my job to teach
people Slate, because I live in it and cannot get my mind out of that
perspective. I just CAN'T do it. Similarly, if I wrote tutorials, I
would have a harder time "swapping out" that information and
"swapping in" Slate internal code information.
I am going to re-iterate this: it cannot be my job to write teaching
materials. If you find Slate too hard, then help others find it
easier or don't use it and stop whining. Casual users just do not
belong in a pre-1.0 language community.
And Slate is that complex because those features are powerful. Remove
any of those, and you remove the purpose of the project. I welcome
simplification (Slate was originally supposed to be a concatenative
language, for example), but you are surely not going to be the source
of it.
Post by Waldemar Kornewald
The website greets you with a lot of information. Is the feature
list really needed on the front page? Those features don't tell me
very much. We want to know the *advantages* of Slate, a few
*examples*, and a few direct *comparisons* (Java, Squeak, ...).
Would you like to do that? The website is made from a darcs
repository at http://slate.tunes.org/repos/site/ . I would willingly
accept patches for it. If they are not "polished", I can make a
branch for the variation and try to improve it. At least make some
mock-up pages or something.
Honestly, though, if all this is hot air and you don't do anything
substantial about it, don't expect me to be pleasant to you.
--
-Brian
http://tunes.org/~water/brice.vcf
Waldemar Kornewald
2006-04-04 09:36:26 UTC
Permalink
Post by Brian Rice
The core coders (Lee) left. THAT's the problem. I'm not blind to the
fact that the speed of Slate is a serious problem. Todd Fleming told
me himself that the disappointing speed of the UI disheartened him to
stop working on it.
The irony here is staggering. I just don't know what to do about it.
Bringing back Lee would have its own attendant problems - he's really
just not easy to work with.
If nothing else works, would you be able to add support for LLVM? You
mentioned it a few times and it seemed to require architectural changes
(SSA).

Lee seemed to be depressed because of lack of progress (not because he
does not want to work on big projects). He made the impression that he
did not want to work on the compiler any longer ("sigh...yet another
2500 lines of code..."), so I had my doubts about his return. Maybe he
coded too much and maybe you two were talking about too many "future"
things on IRC instead of just coding the high-priority stuff before
doing anything else.

Do you think that Lee would continue his work if you ask him politely?
You don't have to "live" with him. Just code your stuff and stay away
from IRC discussions (only help in case of real problems).
Post by Brian Rice
So, if you want this to happen, help me make it happen. Do some work
to make site improvements or blurbs that will speak to the right
people. Be a language marketer. Someone has to do it.
I already tried to promote it. Most people shy away from complex syntax.
That was the reason for my earlier mail suggesting to at least remove
Post by Brian Rice
weekend. Calling someone an idiot just does not rate on my "human
interaction Richter scale".
Really, being called an idiot does not motivate people. What about
instead of saying "you're an idiot" you say "sorry, I must continue with
work"? That will end the discussion, too.
Post by Brian Rice
be usable before I am drawing a pension. Everyone else sees Slate
from the outside-in; for me, I feel my life ticking away and it
becomes personal.
I have the feeling that I don't have to tell you that this has a bad
impact on any project (frustration, where is the fun?, ...).
Post by Brian Rice
So I want people to work intensely on it so that the project is not
filled with hundreds of half-done projects and nothing useful. I
Well, what might be the reason for people running away, then? I think
that the syntax plays a big role. Smalltalk is very verbose, for example
(maybe this is good, though). There are too many rough edges. The ideas
are cool, but Slate is not as easy to learn and use as it should be.
Post by Brian Rice
I'm hard-pressed to find what I should do about it. That's why I
invite people to write tutorials covering it, because the manual is a
***reference*** and not didactic at all. It cannot be my job to teach
people Slate, because I live in it and cannot get my mind out of that
perspective. I just CAN'T do it. Similarly, if I wrote tutorials, I
would have a harder time "swapping out" that information and
"swapping in" Slate internal code information.
I started collecting a pro/con list for every Slate feature and I will
add suggestions on how to improve the situation. I'll post it to
http://slate.infogami.com/ when it's finished.
I will also try to make an easy to understand "syntax" introduction
without saying things like "unary messages have higher precedence
than...". I'll try to make it as natural as possible, but it's really
difficult with three types of messages...

Could the others please help me with this work? Why do you think is
Slate cool? What are its issues? Where is room for improvement?
Please reply to this mail or go to http://slate.infogami.com/ and add
your opinion.
Post by Brian Rice
Honestly, though, if all this is hot air and you don't do anything
substantial about it, don't expect me to be pleasant to you.
You're again trying to push me and preparing to call me an idiot... ;)

Bye,
Waldemar
Mark Haniford
2006-04-04 11:11:47 UTC
Permalink
I'm in no position to give any advice on what direction Slate should
take at this point. The only thing I've "contributed" is noticing
something non-portable in boot.c

To me the important ideas about Slate are PMD and an image-based live
environment. Syntax is important to alot of people, but after
perusing a lot of the mailing list archives on Sunday I thought I
understand that a lot of the "nasty" stuff would be taken care of when
a gui-based development environment came around.

I'm not a systems/compiler guy but is LLVM something that could be
reasonably "dropped in" in a reasonable amount of time? If Slate
doesn't have a compiler guy then maybe something else could be used in
the mean time while the rest of the system was fleshed out and then at
a later time, a compiler guy could work on another backend. Too bad
that Slava decided to go in another direction because he seems to be a
coding machine. Maybe syntax does matter though because that
Forth-like code seems more foreign to me than even Slate/Smalltalk
code.

On a final note of what I can see as good news, it seems that Slate is
still the only project working on PMD.
Matt Revelle
2006-04-04 14:24:48 UTC
Permalink
You said it and Brian has said it, the eventual goal of Slate is to
have a development environment that is not limited to simple ascii
text for design. The assumption now is: the Slate developer(s) are
such awesome, masochistic coders that any scary syntax doesn't matter
much (for now). The focus should be on the VM and platform features;

At this point, some tutorials to jumpstart the learning process of
potential contributors is enough. The syntax is most likely to scare
Algol-minded coders; providing translation of idioms between Slate and
C++, Java, etc. is something we need to throw up on the site if we
want to capture the interest of those developers.
Post by Mark Haniford
To me the important ideas about Slate are PMD and an image-based live
environment. Syntax is important to alot of people, but after
perusing a lot of the mailing list archives on Sunday I thought I
understand that a lot of the "nasty" stuff would be taken care of when
a gui-based development environment came around.
...snip...
Post by Mark Haniford
Maybe syntax does matter though because that
Forth-like code seems more foreign to me than even Slate/Smalltalk
code.
Brian Rice
2006-04-04 15:53:53 UTC
Permalink
I am discussing this with someone off-list, to translate SSU to SSA
and generate an LLVM binding. I even suggested this to Lee some time
ago to save him time, and he didn't respond to it positively (I
forget what his actual attitude about it was, probably general
depression).
Post by Mark Haniford
I'm not a systems/compiler guy but is LLVM something that could be
reasonably "dropped in" in a reasonable amount of time?
--
-Brian
http://tunes.org/~water/brice.vcf
Brian Rice
2006-04-04 17:24:45 UTC
Permalink
Post by Waldemar Kornewald
Post by Brian Rice
The core coders (Lee) left. THAT's the problem. I'm not blind to
the fact that the speed of Slate is a serious problem. Todd
Fleming told me himself that the disappointing speed of the UI
disheartened him to stop working on it.
The irony here is staggering. I just don't know what to do about
it. Bringing back Lee would have its own attendant problems -
he's really just not easy to work with.
If nothing else works, would you be able to add support for LLVM?
You mentioned it a few times and it seemed to require architectural
changes (SSA).
This is addressed in an earlier reply in this thread.
Post by Waldemar Kornewald
Lee seemed to be depressed because of lack of progress (not because
he does not want to work on big projects). He made the impression
that he did not want to work on the compiler any longer
("sigh...yet another 2500 lines of code..."), so I had my doubts
about his return. Maybe he coded too much and maybe you two were
talking about too many "future" things on IRC instead of just
coding the high-priority stuff before doing anything else.
I have no idea. Lee cared only about writing a stand-alone OS with
its own compiler and tool-chain. Slate was only a better alternative
to Squeak for writing compilers and system software.

These goals /became/ "future" stuff because I wanted a usable system.
Priorities were always based on perspective. What you think is high-
priority didn't concern him much at all, and vice-versa.
Post by Waldemar Kornewald
Do you think that Lee would continue his work if you ask him
politely? You don't have to "live" with him. Just code your stuff
and stay away from IRC discussions (only help in case of real
problems).
The code tree is the "house" we all live in. If code changes
conflict, people get upset, and he would often get upset at the mere
idea of extending the VM in ways he did not like to support.

IRC has very little to do with it, and he has shown very little
inclination to communicate via other media.
Post by Waldemar Kornewald
Post by Brian Rice
So, if you want this to happen, help me make it happen. Do some
work to make site improvements or blurbs that will speak to the
right people. Be a language marketer. Someone has to do it.
I already tried to promote it. Most people shy away from complex
syntax. That was the reason for my earlier mail suggesting to at
Somehow I doubt you are introducing this to people who would find
Slate naturally appealing. You also have an aggressive resistance to
Smalltalk syntax, which is likely to be a hidden undercurrent in any
way that you communicate about it.

You have provided no concrete suggestions for replacement that did
not reduce to "shoehorn it into Python syntax". I have also provided
a plausible coding framework into which you could channel your
efforts. I await the use of that.
Post by Waldemar Kornewald
Post by Brian Rice
So I want people to work intensely on it so that the project is
not filled with hundreds of half-done projects and nothing useful. I
Well, what might be the reason for people running away, then? I
think that the syntax plays a big role. Smalltalk is very verbose,
for example (maybe this is good, though). There are too many rough
edges. The ideas are cool, but Slate is not as easy to learn and
use as it should be.
The kind of verboseness that Smalltalk has ***IS*** good. Making code
that reads as much like natural phrasings of a domain and how to
organize it is infinitely better than fn(arg, arg, ...) notation and
hard-coded control-flow primitive syntax.

If you don't like that, then work with the MVC syntax pattern
suggested or LEAVE. Honestly if the next 10 email messages from you
are still concerned with this, I will just start ignoring you.
Post by Waldemar Kornewald
Post by Brian Rice
I'm hard-pressed to find what I should do about it. That's why I
invite people to write tutorials covering it, because the manual
is a ***reference*** and not didactic at all. It cannot be my job
to teach people Slate, because I live in it and cannot get my
mind out of that perspective. I just CAN'T do it. Similarly, if I
wrote tutorials, I would have a harder time "swapping out" that
information and "swapping in" Slate internal code information.
I started collecting a pro/con list for every Slate feature and I
will add suggestions on how to improve the situation. I'll post it
to http://slate.infogami.com/ when it's finished.
I will also try to make an easy to understand "syntax" introduction
without saying things like "unary messages have higher precedence
than...". I'll try to make it as natural as possible, but it's
really difficult with three types of messages...
You just don't like Smalltalk syntax. Admit it. It's describable on
one page of paper for Squeakers, and yet you're making this big deal
about it. It's a syntax that 12-year-olds can learn. Don't be such a
stubborn person.

What's your alternative? Removing the three precedence levels so that
parentheses are needed everywhere? Somehow I think you'll resist this
appearance of lisp-ish syntax even more.
Post by Waldemar Kornewald
Could the others please help me with this work? Why do you think is
Slate cool? What are its issues? Where is room for improvement?
Please reply to this mail or go to http://slate.infogami.com/ and
add your opinion.
Uh, that is not the purpose of the infogami, and I am not going to do
that. If anything, the infogami was started at least partly because
the wiki was unavailable. In fact, I am going to stay away from it
and let it be user-driven.

--
-Brian
http://tunes.org/~water/brice.vcf
Matt Revelle
2006-04-04 18:30:08 UTC
Permalink
The infogami site was originally created because the Slate wiki was
down. Any of the content can be moved to the official wiki at any
time.

Questioning Slate's implementation may be healthy, but it isn't the
main goal of the infogami site, and it's too early to do any heavy
bitching. Again, the goal is to jumpstart developers that are
interested in the language concepts but are confused by the syntax.

For example, listing the pros and cons of prototyping is helpful to
new users, but suggesting alternative implementations on the same page
is just going to confuse them.
<snip>
Post by Brian Rice
Post by Waldemar Kornewald
Could the others please help me with this work? Why do you think is
Slate cool? What are its issues? Where is room for improvement?
Please reply to this mail or go to http://slate.infogami.com/ and
add your opinion.
Uh, that is not the purpose of the infogami, and I am not going to do
that. If anything, the infogami was started at least partly because
the wiki was unavailable. In fact, I am going to stay away from it
and let it be user-driven.
--
-Brian
http://tunes.org/~water/brice.vcf
Waldemar Kornewald
2006-04-05 00:05:16 UTC
Permalink
Post by Brian Rice
Post by Waldemar Kornewald
Post by Brian Rice
So, if you want this to happen, help me make it happen. Do some
work to make site improvements or blurbs that will speak to the
right people. Be a language marketer. Someone has to do it.
I already tried to promote it. Most people shy away from complex
syntax. That was the reason for my earlier mail suggesting to at
Somehow I doubt you are introducing this to people who would find
Slate naturally appealing. You also have an aggressive resistance to
Smalltalk syntax, which is likely to be a hidden undercurrent in any
way that you communicate about it.
[...]
You just don't like Smalltalk syntax. Admit it. It's describable on
one page of paper for Squeakers, and yet you're making this big deal
about it. It's a syntax that 12-year-olds can learn. Don't be such a
stubborn person.
Oh, please stop talking about this "you don't like Smalltalk" stuff. I
just see that there are a few issues, but no syntax is perfect:

(x < 5) /\ (x > 9) ifTrue: [...].
vs
(x < 5) \/ [x > 9] ifTrue: [...].

and

x < 5 ifTrue: [...].
vs
[x < 5] whileTrue: [...].

I'm not suggesting to drop Smalltalk syntax. I do love the fact that it
forms nice sentences which makes code highly readable. I just think that
we can improve it (mostly with an IDE). I spent much time on thinking
about alternatives, but Smalltalk has the best syntax I've seen. I hope
that the issue is closed now.

What I wanted to say is that the syntax *can* be described in a few
sentences (especially if you are talking to programmers), but the
current manual blows it up too much. This is what I wanted to fix. Also,
I wanted to make the front page and other website content understandable
without having studied computer science...really, a few years ago I
would not have understood *one word* (and you were talking about
twelve-year-olds...).
Post by Brian Rice
Uh, that is not the purpose of the infogami, and I am not going to do
that. If anything, the infogami was started at least partly because
the wiki was unavailable. In fact, I am going to stay away from it
and let it be user-driven.
I would have placed it on the wiki, but I still don't have access to
tunes.org and an IBM site. My IP range (89.*) seems to be blocked (I
switched to a new ISP...). Maybe I can get around this somehow.
Post by Brian Rice
For example, listing the pros and cons of prototyping is helpful to
new users, but suggesting alternative implementations on the same page
is just going to confuse them.
I just wanted a place to put suggestions on and do some planning. This
will be removed and cleaned up after everything has been discussed.
Later, this should become part of the website, anyway.

Bye,
Waldemar
Mark Haniford
2006-04-05 01:53:30 UTC
Permalink
A bit of background: I used to program a lot of C++ - from '97 to
2004 it's about all I did in a professional capacity. Maybe
familiarity breeds contempt, maybe it was the lack of my colleagues
training them coming from assembly language, or maybe it was our
inability to use templates because of our compiler - but I learned to
loathe it as a language other than just me writing code that I would
maintain myself.

In any case, I consider it a bad collaboration language. It's just
too quirky for mere mortals and those that don't just get it. Most
people (me included) don't just get C++ completely. In the hands of
wizards (KDE/QT) guys it is a powerful tool.

In any case, around late 2004 I started looking for a more productive
tool - mostly personally. I always pretty much hated Java - starting
off with a lack of unsigneds that caused me frustration with parsing
out a binary file that we needed. Plus, to me, Java was just a dumbed
down C++. Bytecode platform portability is just topping and not core.

Anyway, I went through a feeding frenzy of many languages, Lisp,
Dylan, Python, Ruby, etc...and eventually took a second look at
Smalltalk

About Smalltalk: Like many algol-inspired programmers, I found the
syntax to be quirky, but as Smalltalkers know, it has a drop-dead
simple syntax. Not only that, but keyword selectors make it very
readable. Notwithstanding (i < 42 ifTrue: []). That is not readable,
it's just consistent. If ( blah) is how we read, but that's somewhat
offtopic for this rant.

But I could deal with Smalltalk syntax because it gave me an imaged
based "live" environment - especially in Squeak. That was the key for
me. Squeak is a "desktop" but in a kindof "fuck the rest of OS, we'll
just do our own thing" kind of way.

Squeak is braindead in many ways. It's completely fugly and totally
childlike in it's out of the box appearance. Not only that, but with
it's philosophy of "BitBlt" is all we need", I knew that it's a lost
cause. Maybe Croquet will take it to the next level, but I've always
despised "let's forget about the native OS" philosophy - especially
with the major platforms now starting to utilize the power of the
GPUs.

A word about coding: One of the reasons I became attracted to
Smalltalk environment is because it de-emphasized the textual file
nature of code. I consider file-based, text-based programming
completely flawed and antiquated. It's not that I don't consider
text-programming flawed, but the file-based, dumb-ass text editor of
today's programming as flawed. I'll point to intentional programming
(intentsoft.com) or what an MIT guy (subtextual.org) as the future.
Smalltalk has always been in a bit in that flavor. Understanding
foreign (something you haven't written) code has always been something
I've seen as a major flaw of how we program. In other words, we don't
have tools to understand code at various contextual levels. We're
still in the dark ages of programming.

I don't have the answers. I don't have the brain to have the answers,
but PMD does seem to be (at an intuitive level) to be part of the
answer of managing the complexity of programming in our puny human
brains - or maybe I'm just stupid.

Oh, and as far as Brian's attitude. I went through a lot of the
mailing lists archives to understand the history of Slate and found
Brian to have a fairly professional, congenial attitude. I think it's
just IRC that he might have a problem with. That's fine, he recently
stated he doesn't dig IRC.

In any case, PMD is what is important, not syntax. If the syntax
sucks then we can parse out the slate code into something else.

I have no stake in. Brian does and I can understand his passion. I'm
somewhat passionate about a better way to do things too, but maybe
Waldemer has some decent suggestions.

Brian, don't rip on him. At least he cares enough to post.

Anyway, I'm rambling and I don't care. PMD is out there (is Mica
alive) and it'll come about in some form.

I'm tired and refuse to review this ill-ranted post. Take it for what it is.

Maybe "PMD" should be forked
Brian Rice
2006-04-05 15:20:37 UTC
Permalink
Post by Mark Haniford
About Smalltalk: Like many algol-inspired programmers, I found the
syntax to be quirky, but as Smalltalkers know, it has a drop-dead
simple syntax. Not only that, but keyword selectors make it very
readable. Notwithstanding (i < 42 ifTrue: []). That is not readable,
it's just consistent. If ( blah) is how we read, but that's somewhat
offtopic for this rant.
I will gratuitously comment that Slate can (right now) do:

if: i < 42 then: []
if: i < 42 then: [] else: []

and "[] until: []" / "[] while: []"
Post by Mark Haniford
Oh, and as far as Brian's attitude. I went through a lot of the
mailing lists archives to understand the history of Slate and found
Brian to have a fairly professional, congenial attitude. I think it's
just IRC that he might have a problem with. That's fine, he recently
stated he doesn't dig IRC.
Yeah, I shouldn't be on there much any more. IRC exposed me to too
much raw commentary from people who couldn't be bothered to do more
than spend 15 minutes on anything.
Post by Mark Haniford
In any case, PMD is what is important, not syntax. If the syntax
sucks then we can parse out the slate code into something else.
The MVC framework should in principle allow that, by using the AST
model for portability.
Post by Mark Haniford
I have no stake in. Brian does and I can understand his passion. I'm
somewhat passionate about a better way to do things too, but maybe
Waldemer has some decent suggestions.
Brian, don't rip on him. At least he cares enough to post.
Point taken.
Post by Mark Haniford
Maybe "PMD" should be forked
Well, the source language with PMD, Cecil / Diesel, is still around,
but it's totally static and centered around university research work.

--
-Brian
http://tunes.org/~water/brice.vcf
Brian Rice
2006-04-05 15:13:01 UTC
Permalink
Post by Waldemar Kornewald
Post by Brian Rice
Post by Waldemar Kornewald
I already tried to promote it. Most people shy away from complex
syntax. That was the reason for my earlier mail suggesting to at
Somehow I doubt you are introducing this to people who would find
Slate naturally appealing. You also have an aggressive resistance
to Smalltalk syntax, which is likely to be a hidden undercurrent
in any way that you communicate about it.
[...] You just don't like Smalltalk syntax. Admit it. It's
describable on one page of paper for Squeakers, and yet you're
making this big deal about it. It's a syntax that 12-year-olds
can learn. Don't be such a stubborn person.
Oh, please stop talking about this "you don't like Smalltalk" stuff.
Fine.
Post by Waldemar Kornewald
(x < 5) /\ (x > 9) ifTrue: [...].
vs
(x < 5) \/ [x > 9] ifTrue: [...].
and
x < 5 ifTrue: [...].
vs
[x < 5] whileTrue: [...].
I'm not suggesting to drop Smalltalk syntax. I do love the fact
that it forms nice sentences which makes code highly readable. I
just think that we can improve it (mostly with an IDE). I spent
much time on thinking about alternatives, but Smalltalk has the
best syntax I've seen. I hope that the issue is closed now.
Brackets to denote lazy / repeatable evaluation is some kind of
problem? Why?
Post by Waldemar Kornewald
What I wanted to say is that the syntax *can* be described in a few
sentences (especially if you are talking to programmers), but the
current manual blows it up too much. This is what I wanted to fix.
Also, I wanted to make the front page and other website content
understandable without having studied computer science...really, a
few years ago I would not have understood *one word* (and you were
talking about twelve-year-olds...).
Well, yeah, again it's a REFERENCE, which means it's only there to
tell you exactly what Slate does in technical terms. You guys need to
write the tutorials.
Post by Waldemar Kornewald
Post by Brian Rice
Uh, that is not the purpose of the infogami, and I am not going to
do that. If anything, the infogami was started at least partly
because the wiki was unavailable. In fact, I am going to stay
away from it and let it be user-driven.
I would have placed it on the wiki, but I still don't have access
to tunes.org and an IBM site. My IP range (89.*) seems to be
blocked (I switched to a new ISP...). Maybe I can get around this
somehow.
It's not blocked by the wiki.
Post by Waldemar Kornewald
Post by Brian Rice
For example, listing the pros and cons of prototyping is helpful to
new users, but suggesting alternative implementations on the same page
is just going to confuse them.
I just wanted a place to put suggestions on and do some planning.
This will be removed and cleaned up after everything has been
discussed. Later, this should become part of the website, anyway.
Even so, try to fix the technical access problem, not pollute someone
else's work.

--
-Brian
http://tunes.org/~water/brice.vcf
Waldemar Kornewald
2006-04-05 19:12:50 UTC
Permalink
Post by Brian Rice
Post by Waldemar Kornewald
(x < 5) /\ (x > 9) ifTrue: [...].
vs
(x < 5) \/ [x > 9] ifTrue: [...].
and
x < 5 ifTrue: [...].
vs
[x < 5] whileTrue: [...].
...
Brackets to denote lazy / repeatable evaluation is some kind of
problem? Why?
It's something you have to become aware of and it feels inconsistent
(though it's not). Maybe it's just me expecting the language to be
intelligent enough to know when lazy evaluation is appropriate. I want
the language to help me, not stay in its static cage.
BTW, isn't that part of Zoku's ideas?

I forgot to mention that if Slate should really support a "scripting
language" mode then it's probably good to support normal text editors
(UIs are not available very often). This would speak for making Slate
more readable even at the ASCII level (without going too far away from
Smalltalk's message syntax, but we have discussed this already...).
Post by Brian Rice
if: i < 42 then: []
if: i < 42 then: [] else: []
and "[] until: []" / "[] while: []"
I like this more than the current style because it sounds more like a
sentence.

Loops should probably better look like this:
while: [] do: []
until: [] do: []
Post by Brian Rice
Post by Waldemar Kornewald
Post by Brian Rice
Uh, that is not the purpose of the infogami, and I am not going to
do that. If anything, the infogami was started at least partly
because the wiki was unavailable. In fact, I am going to stay
away from it and let it be user-driven.
I would have placed it on the wiki, but I still don't have access
to tunes.org and an IBM site. My IP range (89.*) seems to be
blocked (I switched to a new ISP...). Maybe I can get around this
somehow.
It's not blocked by the wiki.
I can't reach the tunes.org and slate.tunes.org servers in general and I
don't know who to contact to solve this issue. My ISP can't help
me...they just said that it seems that this is a new IP range that a few
routers are still blocking (didn't know that this can happen at all).
Post by Brian Rice
Even so, try to fix the technical access problem, not pollute someone
else's work.
Agreed. I'll use an anonymizer. That seems to work for the time being.

Bye,
Waldemar
Pupeno
2006-04-05 20:24:57 UTC
Permalink
Post by Waldemar Kornewald
Agreed. I'll use an anonymizer. That seems to work for the time being.
Tried EFF's Tor ?
--
Pupeno <***@pupeno.com> (http://pupeno.com)
Brian Rice
2006-04-05 20:50:22 UTC
Permalink
Post by Waldemar Kornewald
Post by Brian Rice
Post by Waldemar Kornewald
(x < 5) /\ (x > 9) ifTrue: [...].
vs
(x < 5) \/ [x > 9] ifTrue: [...].
and
x < 5 ifTrue: [...].
vs
[x < 5] whileTrue: [...].
...
Brackets to denote lazy / repeatable evaluation is some kind of
problem? Why?
It's something you have to become aware of and it feels
inconsistent (though it's not). Maybe it's just me expecting the
language to be intelligent enough to know when lazy evaluation is
appropriate.
I'm not going to let the language source become ambiguous. Languages
are notational technology, and precision is better than lack thereof.
Languages should be dumb so that agents (human and automata) that
work with it find it transparent. Again, see the AST MVC pattern.
Post by Waldemar Kornewald
I want the language to help me, not stay in its static cage.
I want to be the King of all Siam and wear a fancy hat, but saying so
won't do a damned thing to help that. I left the self-modifying
concatenative syntax behind because it was too difficult to think in.
Languages that try to be clever will bite you later.
Post by Waldemar Kornewald
BTW, isn't that part of Zoku's ideas?
(Referring to http://www.zoku.com/ )

I don't find anything about Zoku to be terribly compelling other than
the vaguely worded statements of philosophy. (Same with Paul Graham's
Arc proposal.) It has lots of good marketing blurbs, but the
technical content is dubious (I've seen deeper stuff than what's on
the website), and I find the author to be somewhat of a quack. I have
spoken to him in person many times (and also over Skype), and there
is also controversy about his owning smalltalk.org and promoting his
own personal views as even remotely resembling those of the larger
Smalltalk community (or anyone at all, actually).
Post by Waldemar Kornewald
I forgot to mention that if Slate should really support a
"scripting language" mode then it's probably good to support normal
text editors (UIs are not available very often). This would speak
for making Slate more readable even at the ASCII level (without
going too far away from Smalltalk's message syntax, but we have
discussed this already...).
See Common Lisp's SLIME mode with SWANK protocol. Someone could port
this to Slate fairly easily if they focussed on it.
Post by Waldemar Kornewald
Post by Brian Rice
if: i < 42 then: []
if: i < 42 then: [] else: []
and "[] until: []" / "[] while: []"
I like this more than the current style because it sounds more like
a sentence.
while: [] do: []
until: [] do: []
I understand, and these are not official yet, especially since I'd
need to add bytecode compiler support to optimize them to the same
level. Right now they're just layers atop the Smalltalk-80 idioms. In
any case, "do:" is reserved for applicative settings where no other
idiom suffices. I see no reason to ape other languages precisely when
a close analogue is good enough.

In any case, WE CAN TRANSFORM THE SYNTAX LATER. It will also be
easier with an IDE/source-database and pattern-matching template
transformers for Slate code.

REPEATED NOTICE: Don't put the cart before the horse. Every single
time you focus on these issues instead of handing me a patch, you
irritate me. Doing the opposite will reverse this trend just as
readily, and I exhort you to do so. If you do not do so, you will
only raise my ire and accomplish less.

Is this too much to ask?

--
-Brian
http://tunes.org/~water/brice.vcf
Mark Haniford
2006-04-05 21:31:03 UTC
Permalink
Is there something to Zoku? I went to the website and saw a bunch of
rather vague philosophical statements about what Zoku is, but is this
actual software that can be bought or downloaded? I assume "the zoku
guy" is somehow related to Smalltalk.
Waldemar Kornewald
2006-04-07 12:29:29 UTC
Permalink
Post by Brian Rice
I'm not going to let the language source become ambiguous. Languages
are notational technology, and precision is better than lack thereof.
Languages should be dumb so that agents (human and automata) that
work with it find it transparent. Again, see the AST MVC pattern.
Okay, a good IDE mode will do.

I will first concentrate on the website/tutorial. I had to write a test
today, so I could not work very much on this.

How much work is left until we can use refactoring tools? I'd like to
finally get rid of having to specify "(... traits)" in method definitions.

About performance:
You said that the message dispatcher has much potential for a speed-up.
Do you know of other bottlenecks and how much speed-up we can expect?
How far can we get without even coding a full compiler?

Bye,
Waldemar

Loading...