At 03:09 PM 3/30/2002 -0500, Bijan Parsia wrote:
Learning how to explore Squeak from the app into the code is a key "aha" moment, in my experience. Obviously, you haven't gotten there yet. It might be interesting to know what books/articles/whatever you used so we can rectify them a bit.
Didn't use any. Just picked it up, and started poking at it. Couldn't quite figure out where the source code was. I thought the flapping windows were a little weird -- if nothing else, it gives the idea that you can't really tell what you might or might not be able to do, until you actually poke it with the mouse. This meant, when looking for source code, that I was never really sure if I had looked properly (I am working from recollection here, it was some months ago). Eventually, I have better things to do.
I will try again. (Much time passes.)
Okay -- there is a bit of a theme to all the problems, and that is that the system is too tuned to expert use. Just for example, the tool tips take .8 second to appear. Why should a beginner be forced to wait to see these? So, I have a quest, which is to find that delay, and reduce it.
There's insufficient cues. Over in the tools thing (that pulls out of the right border) there's no clear cue that what you are supposed to do is click AND DRAG. I ended up with some large number of funny yellow dots over there in the flaps, they must mean something, I can't make them do anything.
And the world menu, why does it need a special "dismiss this menu" selection, instead of a little X in the upper left corner to make it go away? What's going on here? Why this inconsistency? There must be a reason, but it seems really ridiculous to have "dismiss this menu" spelled out as a choice. (And no, I don't think it would improve things much if you explained it to me. It would seem just as ridiculous to the next person who had not heard the explanation.)
It's difficult to "find" things. I eventually decided that what I needed to do was find some message senders (for some message related to balloons, can't recall what). Is it "find"? Nope. Eventually, on a lark, I happened to right-click over in the unlabelled list that *happens to contain* what appear to be message names, and I discover the "senders of ..." choice. Now, I suppose, if I were playing Adventure, I would say "aha", but otherwise I'm just turning over rocks looking for pretty minimal treasure.
So, after much looking, I find the method that contains the time for delay before display the help balloons, and change it to 100 ms. Now I'm ready to save my change.
(Digression: A much less diplomatic rant was deleted, and I decided to substitute something more useful and perhaps productive. So, here I am, trying to replay my actions, and I CANNOT FIND the code that I found once already. That's not good.)
So, I'm ready to save my change. That's save, spelled, apparently, a-c-c-e-p-t. At least, I hope that was right -- it asked me for my initials, and I wonder, in hindsight, if there was some sort of a try-it-out-before-committing button that I should have hit first (I mean, who knows, maybe I failed to turn over the UI rocks in the proper order?)
This all seems a little terse, and it seems like a gratuitous change of jargon. Why not call all the finding things "find", and all the saving things "save"? Why not label the columns of stuff so I can know for sure what they contain?
But now, with my faster help tips, I went poking through the music player, and selected something ("ratio") under the something menu on the waveform (light green) window, got a zero divide (why?) dismissed the exception notice, and now the waveform window is blank and useless. I wish I knew how to reset/restart it. Oh Well. Maybe the exception window went somewhere, and I should go looking for it. Nope, can't seem to find it.
The learning curve here is really unpleasant. I can compare this with a couple of different things I've picked up in recent months. One was DrScheme, from Rice. I already knew Scheme, sure, but I didn't know the IDE (and I have the red, blue, and green Smalltalk 80 books to browse for Smalltalk examples, so I'm not completely without documentation). DrScheme had an example graphics thing I could cut from the doc, paste, play with. It was even a little bit buggy, so they could illustrate how to do something better (also in the doc). There's a "scripting" window in Squeak, but it doesn't appear to be what I wanted, since I cannot type in it, move it, close it, or change its size.
Datapoint #2 is the Eclipse IDE for Java. It took me a while to figure out what was what, but I made some progress from the very start, and soon enough I knew enough to see that I would not have to take anyone else's word that it would eventually be worth my while to learn it. And yes, I am aware that Eclipse has Smalltalk roots, and I wonder if this turning-over-rocks sort of user interface is part of the Smalltalk style, because I have similar gripes about it. At one point, after using it for some days, it still took me *minutes* to find the proper button to push to get what I wanted.
Please understand (and I can see how it would fit your model of the world not to believe this) I am actually trying to figure this out, and I am actually quite good at figuring things out. I've fixed Other People's Bugs in everything from Gosling Emacs, to device drivers in the LSI-11 FuzzBall OS, to a DVI-to-PDF converter in MikTeX, to David Gay's floating point-to-string conversion code. If it's not easy for me, you've got a problem. This feels like an Adventure Game, not a user interface.
I know, but I don't see why not. Squeak is great for writing a wide variety of compliers. You've not done it, I take it.
I've written a number of compilers, looked at many more. I've written a fair amount of code in Lisp and BCPL, and had quite good luck with some untyped C code that I wrote long ago (all roads lead to void *). I spent a good long time playing with functional languages (wrote an FP84 interpreter in BCPL, even). I'm not stupid, I'm not inexperienced.
The compilers I was thinking of, and I should have made myself clear, seem to take at least 8 person-years to complete, and are commensurately large. It would be a tremendous win to write one of these in less time, but it would also be an expensive experiment. I don't know if they are large because they must be large, or if they are large because the use of a stupid language makes them large, or if static checking makes it possible for them to become large. Again, an expensive experiment to determine what's really going on, and I'm not really interested in ridiculous dogmatic answers from people who haven't even done it in the "wrong" language. You probably think I'm a neanderthal for using sucky Java, but most places I know of that are writing compilers, are using C or C++ -- they're not even using language with garbage collection. (Gcc, astoundingly, is written in K&R C.) They are not even willing to risk that minimal a change.
What I don't see is what your purpose in arguing with me like this is. My suggestion/request, if you wish to do something about the adoption of Java where you think Squeak would do better, is to show off Squeak where it works well, and is clearly better than Java. If you wish to argue that Squeak is truly better even for writing compilers, you can say that, but as a compiler-and-other-things writer, I see Java's limits most clearly when working on things that are not compilers. I think you are making the job of promoting Squeak (to, for instance, Apple) unnecessarily hard if you insist on trying to show it off where Java does not most clearly suck. Swing's a pig -- it ought to be easy to make it look bad.
Furthermore, nobody has ever said "wow!" about a compiler demo.
David Chase
On Sun, Mar 31, 2002 at 03:57:50PM -0500, David Chase wrote:
I've written a number of compilers, looked at many more. I've written a fair amount of code in Lisp and BCPL, and had quite good luck with some untyped C code that I wrote long ago (all roads lead to void *). I spent a good long time playing with functional languages (wrote an FP84 interpreter in BCPL, even). I'm not stupid, I'm not inexperienced.
The compilers I was thinking of, and I should have made myself clear, seem to take at least 8 person-years to complete, and are commensurately large. It would be a tremendous win to write one of these in less time, but it would also be an expensive experiment. I don't know if they are large because they must be large, or if they are large because the use of a stupid language makes them large, or if static checking makes it possible for them to become large. Again, an expensive experiment to determine what's really going on, and I'm not really interested in ridiculous dogmatic answers from people who haven't even done it in the "wrong" language. You probably think I'm a neanderthal for using sucky Java, but most places I know of that are writing compilers, are using C or C++ -- they're not even using language with garbage collection. (Gcc, astoundingly, is written in K&R C.) They are not even willing to risk that minimal a change.
From my experimentation with Squeampiler (which was originally actually a design for a Common Lisp compiler), I can whole-heartedly say that despite missing some features like multiple dispatch or macros, that Squeak has undoubtedly made a lot of parts of the compiler writing simpler, among them being it's thorough system of collection classes, the simplicity of the language itself, etc. With respect to compilers that take 8 person-years to complete, I can't help but feeling this perspective really isn't valid anymore. With all the revolutions going on with SSA, control dependence graphs, scheduling and register allocation, loop analysis, etc., there is literally a wealth of techniques out there that reduce the amount of code you have to write by *staggering* amounts. In a mere *week*, I had written a great deal of functionality (and it even surprises me how much I got done when I look back on it) that GCC does with a lot more code than I ever used (undoubtedly from the adhoc, crusty old algorithms they use) ... YMMV, though. :)
David Chase
Lee
On Sun, Mar 31, 2002 at 03:57:50PM -0500, David Chase wrote:
I've written a number of compilers, looked at many more. I've written a fair amount of code in Lisp and BCPL, and had quite good luck with some untyped C code that I wrote long ago (all roads lead to void *). I spent a good long time playing with functional languages (wrote an FP84 interpreter in BCPL, even). I'm not stupid, I'm not inexperienced.
BCPL is of course on the extreme opposite end of the hype spectrum from Java. Interested Squeakers should visit http://www.cl.cam.ac.uk/users/mr. The language is described in "BCPL, the Language and Its Compiler", Martin Richards and Colin Whitby-Strevens, Cambridge University Press, ISBN 0 521 28681.
The possibilities are endless, possibly recursively so: - Squeak VM in BCPL, with Slang tranlated to BCPL rather than C - BCPL compiled to Squeak bytecode, running on Squeak VM - BCPL bytecode interpreter hosted in Squeak - A simulation of Tripos in Squeak, for hosting BCPL programs
I'm about half serious, this would be a fun thing to do.
Dave
On Sun, 31 Mar 2002, David Chase wrote:
At 03:09 PM 3/30/2002 -0500, Bijan Parsia wrote:
Learning how to explore Squeak from the app into the code is a key "aha" moment, in my experience. Obviously, you haven't gotten there yet. It might be interesting to know what books/articles/whatever you used so we can rectify them a bit.
Didn't use any. Just picked it up, and started poking at it.
I'm told that phychology students are often told on their first day: "people don't read the instructions until they get stuck". Looks like you've gone past this!
Please, please, read the instructions! (The books and all the tutorials linked to from www.squeak.org.)
Oddly, I think the main issue with Squeak is a mind set thing (rather like those who complain about Linux/BSD because it doesn't behave like a Windows application). Someone who approaches with a child's view might play about with the games, with the drumming bunny, and so on first. That way they'd get an idea of what the mouse did, and what the code looked like. I'd not approach a Python interpreter without reading some kind of instruction first (what?!! You mean the indents do something?).
Once you find the source code, it's pretty much straightforward Smalltalk (which may be a little ideosyncratic in this day and age, but is hardly off the wall).
The issue is probably further compounded in that Squeak isn't just an IDE, but a quasi Operating System (it'll be a real OS soon enough) a set of applications, and some source code tools. Furthermore, there are several ways (etoys, MVC, Morphic) in.
Please understand (and I can see how it would fit your model of the world not to believe this) I am actually trying to figure this out, and I am actually quite good at figuring things out. I've fixed Other People's Bugs in everything from Gosling Emacs, to device drivers in the LSI-11 FuzzBall OS, to a DVI-to-PDF converter in MikTeX, to David Gay's floating point-to-string conversion code. If it's not easy for me, you've got a problem. This feels like an Adventure Game, not a user interface.
I think this is the main problem: you're approaching Squeak as an expert (and, to be sure, someone far more experienced than me). Maybe you could try approaching it like a child.
(Gcc, astoundingly, is written in K&R C.) They are not even willing to risk that minimal a change.
Actually, I think it's written in pretty damn ANSI compliant C. <g> And I think RMS has other changes in his mind's eye!
It has to be written in something, it has to be fast and ultra portable. Seems like a fair choice to me!
Cheers
John
Lunedì, Aprile 1, 2002, alle 01:13 AM, John Hinsley ha scritto:
n issue with Squeak is a mind set thing (rather like those who complain about Linux/BSD because it doesn't behave like a Windows application). Someone who approaches with a child's view might play about with the games, with the drumming bunny, and so on first. That way they'd get an idea of what the mouse did, and what the code looked like. I'd not approach a Python interpreter without reading some kind of instruction first (what?!! You mean the indents do something?).
Once you find the source code, it's pretty much straightforward Smalltalk (which may be a little ideosyncratic in this day and age, but is hardly off the wall).
The issue is probably further compounded in that Squeak isn't just an IDE, but a quasi Operating System (it'll be a real OS soon enough) a set of applications, and some source code tools. Furthermore, there are several ways (etoys, MVC, Morphic) in.
Well I have a debt with Squeak.
A bit of years ago (Squeak 2.4) I read the bank account tutorial. I was a complete beginner in programming.
I understood. I understood what objects were, I understood message sending, attributes and methods.
I loved it.
I tested my bank account withdrawing and putting money in.
Then, I played with a traffic light demo.
It was INCREDIBLE how immediate it was to turn lights on and off.
I was not a programmer and never studied math (ancient greek, instead).
I've been able to make some associations between an article I read about the messaging between, ehm, "cellule" in Italian (sorry I haven't got the English term for it) made of molecules passing from a cellula to another and the right molecule acts on some other molecules inside the cellula.
Some time later I was contracted to work on a java web app made with VisualAge.
I hated the fact that I have to declare the class of an object. String string = new String() was really ridiculous.
But I could work on that app because I had understod with Squeak.
VisualAge helped me really so much. That's a SmallTalk enviroinment applied to Java. I think that's a miracle
The fact that not everyone recognizes its superiority is a mistery to me as the success of Windows and the failing of the Lisp machines.
Today I don't work in that shop any longer and I saw Project Builder for the first time in my life after reading so much about it (I'm a big lists lurker)
I can't use it. I understand what's its paradigm but I can't get it.
A method is NOT a piece of text.? How can this community be so rigid on this?
ProjectBuilder is considered an "expert" tool.
Objects in Squeak are living entities. Not so everywhere else. It's so sad.
Now I can't work in java any longer (or until I don't find a decent tool)
The "expert" programmer I met on my job (40 years old, a degree in math, 15 years of experience) didn't like VisualAge because it kept all the stuff inside itself and not revealing it.
"Why not in the filesystem as everyother dev tool?" He asked. He preferred Jbuilder (his experience was in Delphi)
Now, my point. It's a mindset.
David, I think that if you took a look at PB with no instructions you'd get it in a minute. As I did with Squeak.
As for all the rest, I agree with you, anyhow. I left Squeak because I was not able to follow it. File Ins, no docs on how to do things, trick discovered casually, etc. Yes, finding things is difficult, in Squeak. And it was a moving target.
But now I know what SmallTalk is. It's the try to make machines a little more similar to human beings instead of trying to make human being more similar to machines (Sorry David).
My 2 cents.
P.S. Not SmallTalk X neither Eclipse run on MacOsX at now. Anyone can suggest me an enviroinmentg I could find nice, knowing what my mindset is ? ;-) Thanks !!
on 4/1/02 9:10 PM, catonano at a.peluso@fulltrading.it wrote:
Lunedì, Aprile 1, 2002, alle 01:13 AM, John Hinsley ha scritto:
n issue with Squeak is a mind set thing (rather like those who complain about Linux/BSD because it doesn't behave like a Windows application). Someone who approaches with a child's view might play about with the games, with the drumming bunny, and so on first. That way they'd get an idea of what the mouse did, and what the code looked like. I'd not approach a Python interpreter without reading some kind of instruction first (what?!! You mean the indents do something?).
Once you find the source code, it's pretty much straightforward Smalltalk (which may be a little ideosyncratic in this day and age, but is hardly off the wall).
The issue is probably further compounded in that Squeak isn't just an IDE, but a quasi Operating System (it'll be a real OS soon enough) a set of applications, and some source code tools. Furthermore, there are several ways (etoys, MVC, Morphic) in.
Well I have a debt with Squeak.
A bit of years ago (Squeak 2.4) I read the bank account tutorial. I was a complete beginner in programming.
I understood. I understood what objects were, I understood message sending, attributes and methods.
I loved it.
I tested my bank account withdrawing and putting money in.
Then, I played with a traffic light demo.
It was INCREDIBLE how immediate it was to turn lights on and off.
I was not a programmer and never studied math (ancient greek, instead).
I've been able to make some associations between an article I read about the messaging between, ehm, "cellule" in Italian (sorry I haven't got the English term for it) made of molecules passing from a cellula to another and the right molecule acts on some other molecules inside the cellula.
Some time later I was contracted to work on a java web app made with VisualAge.
I hated the fact that I have to declare the class of an object. String string = new String() was really ridiculous.
But I could work on that app because I had understod with Squeak.
VisualAge helped me really so much. That's a SmallTalk enviroinment applied to Java. I think that's a miracle
The fact that not everyone recognizes its superiority is a mistery to me as the success of Windows and the failing of the Lisp machines.
Today I don't work in that shop any longer and I saw Project Builder for the first time in my life after reading so much about it (I'm a big lists lurker)
I can't use it. I understand what's its paradigm but I can't get it.
A method is NOT a piece of text.? How can this community be so rigid on this?
ProjectBuilder is considered an "expert" tool.
Objects in Squeak are living entities. Not so everywhere else. It's so sad.
Now I can't work in java any longer (or until I don't find a decent tool)
The "expert" programmer I met on my job (40 years old, a degree in math, 15 years of experience) didn't like VisualAge because it kept all the stuff inside itself and not revealing it.
"Why not in the filesystem as everyother dev tool?" He asked. He preferred Jbuilder (his experience was in Delphi)
Now, my point. It's a mindset.
David, I think that if you took a look at PB with no instructions you'd get it in a minute. As I did with Squeak.
As for all the rest, I agree with you, anyhow. I left Squeak because I was not able to follow it. File Ins, no docs on how to do things, trick discovered casually, etc. Yes, finding things is difficult, in Squeak. And it was a moving target.
But now I know what SmallTalk is. It's the try to make machines a little more similar to human beings instead of trying to make human being more similar to machines (Sorry David).
My 2 cents.
P.S. Not SmallTalk X neither Eclipse run on MacOsX at now. Anyone can suggest me an enviroinmentg I could find nice, knowing what my mindset is ? ;-) Thanks !!
Try VisualWorks. a X version for the next release VisualWorks& is under preparation. You can use VW5 non commercial
www.cincom.com
We use use daily besides Squeak
stef
On Mon, 1 Apr 2002, catonano wrote:
P.S. Not SmallTalk X neither Eclipse run on MacOsX at now. Anyone can suggest me an enviroinmentg I could find nice, knowing what my mindset is ? ;-) Thanks !!
You could run Visual Works Non-Commercial under OS X. http://www.cincom.com ...
Regards, Aaron
Aaron Reichow :: UMD ACM Pres :: http://www.d.umn.edu/~reic0024/ "A weed is just a plant whose virtures have not yet been discovered." :: r. w. emerson
On Sun, 31 Mar 2002, David Chase wrote:
[snip]
The learning curve here is really unpleasant.
And it varies. Clearly Squeak's not fitting well for you. Thanks for the details.
I can compare this with a couple of different things I've picked up in recent months. One was DrScheme, from Rice. I already knew Scheme, sure, but I didn't know the IDE (and I have the red, blue, and green Smalltalk 80 books to browse for Smalltalk examples, so I'm not completely without documentation). DrScheme had an example graphics thing I could cut from the doc, paste, play with. It was even a little bit buggy, so they could illustrate how to do something better (also in the doc). There's a "scripting" window in Squeak, but it doesn't appear to be what I wanted, since I cannot type in it, move it, close it, or change its size.
FWIW, I've also used DrScheme and found it much harder to use and figure out than Squeak. <shrug/> Neither of us are prolly good test cases.
[snip]
I have similar gripes about it. At one point, after using it for some days, it still took me *minutes* to find the proper button to push to get what I wanted.
Actually, I find that to be the case for a lot of UIs. So, I do agree, to a certain extent.
Please understand (and I can see how it would fit your model of the world not to believe this)
I don't know how you can.
I am actually trying to figure this out,
I never hinted otherwise.
and I am actually quite good at figuring things out.
I never hinted otherwise. However, you are not the only person having tried to figure it out who is also good at figuring things out. Some of those have had different experiences. I'm glad to have yours written up.
I've fixed Other People's Bugs in everything from Gosling Emacs, to device drivers in the LSI-11 FuzzBall OS, to a DVI-to-PDF converter in MikTeX, to David Gay's floating point-to-string conversion code. If it's not easy for me, you've got a problem.
Not necessarily. You *aren't* a novice user, you're an expert in a different gamult of UI cues.
Or rather, it's not yet clear to me that it's the problem you think it is. I would *like* Squeak to be friendly for one of your background and skills, but, frankly, I don't go out of my way to do anything about it. I spend my time making it friendlier for me, mostly, and for people I have to use it with.
This feels like an Adventure Game, not a user interface.
Sorry. Still works well for me and I suck at Adventure :)
I know, but I don't see why not. Squeak is great for writing a wide variety of compliers. You've not done it, I take it.
I've written a number of compilers, looked at many more.
"You've not done it [that is, written a compiler *in Squeak*], I take it."
I've written a fair amount of code in Lisp and BCPL, and had quite good luck with some untyped C code that I wrote long ago (all roads lead to void *). I spent a good long time playing with functional languages (wrote an FP84 interpreter in BCPL, even). I'm not stupid, I'm not inexperienced.
I really meant that you were inexperience with using Smalltalk to write compilers. I still hold your rationale for why Java "works" for "compilers" where Squeak "doesn't" are trollish.
Actually, given your experiences, I don't see why you would recommend Squeak (or Smalltalk) for *anything*.
The compilers I was thinking of, and I should have made myself clear, seem to take at least 8 person-years to complete, and are commensurately large.
Yes, that would have helped, but I'd still dispute it. (Again, to be clear, I think Squeak is *great* for smallish compilers for dynamic scripting langauges. I think it can work well for other sorts, but I take it we don't dispute the scripting lang category.)
But we really have to just disagree, or launch the experiement. I will point to the fact that Smalltalk has been used for *very* large systems (easily the size you describe), including every Smalltalk system. Self's dynamic profiler/optimizer was written in Self.
I *also* think that there are languages that might well do much better, on a number of fronts (especially statically typed functional langauges), but there's a lotta 'if's in there.
Oh, another super-static neat langauge you might check out is Mecury, a Prolog descendant.
It would be a tremendous win to write one of these in less time, but it would also be an expensive experiment. I don't know if they are large because they must be large, or if they are large because the use of a stupid language makes them large, or if static checking makes it possible for them to become large. Again, an expensive experiment to determine what's really going on, and I'm not really interested in ridiculous dogmatic answers from people who haven't even done it in the "wrong" language.
Er...You don't mean *me*, do you? :) I guess you missed the jokey bits.
But really, I know well that Java has been used to do all sorts of language experiments and implementations. It's acquired a wide range of quite amazing tools (parsing frameworks alone). Some of these have fought hard with the JVM (e.g., Kawa) and done neat stuff.
But lets separate two bits. One, I don't think saying "Java sucks" on a Squeak list is a Crime Against Squeakanity. Second, I don't think that Smalltalk has any inherent barriers to writing good compilers. Third, I think that Java -- aside from frameworks -- has relatively few advantages, especially in theory, for langauge implementation (as opposed to langauges like Mercury, Haskell, ML, or Common Lisp).
You probably think I'm a neanderthal for using sucky Java,
Not at all. Really. I have *sympathy* :)
I think you're a neanderthal because of that sloping brow! :)
but most places I know of that are writing compilers, are using C or C++ -- they're not even using language with garbage collection. (Gcc, astoundingly, is written in K&R C.) They are not even willing to risk that minimal a change.
Sure. I'm not sure 1) why you think I didn't know this and 2) what relevance it has. I certainly wouldn't suggest porting Gcc to Squeak :)
What I don't see is what your purpose in arguing with me like this is.
Well, I'm a bijany-come-latey to this discussion. I, however, really dispute two things: 1) that, on a Squeak list, people should get bent out of shape and chide folks for saying "Java sucks" 2) that "Squeak isn't good for compilers". If the "Java sucks" stuff *really* personally bothers you so much, then I'm sorry about that fact, but really think the solution is to grow a thicker skin. That Squeak, as it stands, isn't a good choice of porting target for gcc I can totally agree :)
My suggestion/request, if you wish to do something about the adoption of Java where you think Squeak would do better, is to show off Squeak where it works well, and is clearly better than Java.
Hmm. Ok, I'm prolly in the wrong converstation. I don't generally try to displace other people's choices except when *I'm* affected by them, or they really are having difficulty that I can help with by my advice.
If you wish to argue that Squeak is truly better even for writing compilers,
I don't want to argue that. I just don't think that there's enough of a difference *even* given the frameworks for me to switch. Haskell and Mercury are a bit more compelling for me, on that front.
you can say that, but as a compiler-and-other-things writer, I see Java's limits most clearly when working on things that are not compilers.
Heh. I can believe that. Hmm. Here's an interesting case: take Appel's Modern compiler techniqeus in Java (there are C and ML versions) or that Java Parser book (which implements a couple of logic and query languages). Would they be *better* if the code were in Smalltalk? I don't know. *I* would do better if they were, and I think the books might be clearer. But I don't know if the difference is great enough to warrent a switch. If *I* were going to write such a book, I might well use Squeak, but I'd prolly have to put in a bunch of extra effort to make it worth using to a large number of people. Expertise and experience tends to trump language features, I'm afraid.
I think you are making the job of promoting Squeak (to, for instance, Apple) unnecessarily hard if you insist on trying to show it off where Java does not most clearly suck.
Heh. We agree there.
I'd go further. If I were trying to sell Squeak to Apple (again), I'd play on the Objective C possibilitys, and maybe a Hypercardish/AppleScriptical angle. But that's just me ;)
Swing's a pig -- it ought to be easy to make it look bad.
Indeed.
Furthermore, nobody has ever said "wow!" about a compiler demo.
Actually, I believe folks have said "wow!" about Self/Hotspot.
Are we past animosity twixt us? I think I barrelled in a bit, but I also think you missed some of the lightness in my tone (and were a bit overstating in the compiler case). I hope squeak *does* become easier for you, because I find it really works well for me and find myself experience a lot of frustration in other systems.
Cheers, Bijan Parsia.
On Sunday 31 March 2002 23:40, Bijan Parsia wrote:
But we really have to just disagree, or launch the experiement. I will point to the fact that Smalltalk has been used for *very* large systems (easily the size you describe), including every Smalltalk system. Self's dynamic profiler/optimizer was written in Self.
Actually, the whole Self virtual machine including the two compilers is written in C++ (the sources are available to anyone who isn't scare of 80kloc in that ugly language ;-).
This was a mistake, which Squeak fixed with the Slang thing. But full Smalltalk (or Self) is a much better choice for writing compilers.
-- Jecel
On Mon, 1 Apr 2002, Jecel Assumpcao Jr wrote:
On Sunday 31 March 2002 23:40, Bijan Parsia wrote:
But we really have to just disagree, or launch the experiement. I will point to the fact that Smalltalk has been used for *very* large systems (easily the size you describe), including every Smalltalk system. Self's dynamic profiler/optimizer was written in Self.
Actually, the whole Self virtual machine including the two compilers is written in C++ (the sources are available to anyone who isn't scare of 80kloc in that ugly language ;-).
D'oh! I grovel. I think I confused the Smalltalk in Self with Self itself.
This was a mistake,
Heh. Indeed.
which Squeak fixed with the Slang thing. But full Smalltalk (or Self) is a much better choice for writing compilers.
I still, personally, wouldn't want to port GCC to Smalltalk, but that's *just* me. I wouldn't want to port it to Java, either. Hell, I don't even want to *run* it, or even have it on my hard disk, or GOD JUST KNOWING ABOUT IT IS CAUSING MY EYEBALLS TO EXPLODE!!!!
Ahem.
I trust the spectacle I just made of myself has distracted everyone from the fact that I was in grotesque error.
Cheers, Bijan Parsia.
On Tuesday 02 April 2002 00:18, Bijan Parsia wrote:
D'oh! I grovel. I think I confused the Smalltalk in Self with Self itself.
I am probably the source of your confusion. Sorry. I did write a Self in Self - http://www.lsi.usp.br/~jecel/tiny.html#rel1
Since it is an interpreter, it isn't very practical (if you already have a Self to run it on, then you don't really need it) and was never debugged enough to be actually used. A Self in Self compiler, on the other hand, would be a great thing to have since it could be bootstrapped into running directly on some hardware.
I still, personally, wouldn't want to port GCC to Smalltalk, but that's *just* me. I wouldn't want to port it to Java, either. Hell, I don't even want to *run* it, or even have it on my hard disk, or GOD JUST KNOWING ABOUT IT IS CAUSING MY EYEBALLS TO EXPLODE!!!!
Just compare Alan Purdy's translator with Ian's Jitter. The whole point in having a GCC in Smalltalk is not having it look at all like GCC ;-)
Ahem.
I trust the spectacle I just made of myself has distracted everyone from the fact that I was in grotesque error.
Don't worry if reality doesn't match the opinion you expressed. I am changing reality so that it does... just be patient.
-- Jecel
squeak-dev@lists.squeakfoundation.org