Domain: squeak.org
Stories and comments across the archive that link to squeak.org.
Comments · 380
-
Re:UIs at Xerox PARC>And what _was_ XEROX up to when Jobs & Co. came to visit?
When I visited PARC in the early eighties,...
The Xerox PARC GUI lives on today as part of the free Squeak Smalltalk environment.
You can get a some idea of what things looked like back then (including seeing Smalltalk-72 in action) from the screenshots at: http://minnow.cc.gatech.edu/squeak/683
-
Re:Apple is... -- The G4 beats Athlon & Pe
nah, there 's only one test of processing power:
Squeak
Since it's platorm independent, you'll get a truer reflection of what the case really is. (course, you'll still need to worry to a certain extent about the state of the C compilers for the various platforms), but it'll be a better indication than Photoshop, for sure.
-
Re:It had to happen
For "real" OO, one must go to high-level languages like Smalltalk and Lisp
The above comment just defeated any hopes of you being taken seriously by anyone with a clue. Lisp is a function al programming language and not an object oriented language. Functional langauges emphasize a lack of state (no global variables or assignment operations) and referential transparency (functions always do the same thing if passed the same parameters) which is in conflict with Object Oriented programming concepts. The chances of Lisp being mistaken for an object oriented language by anyone who actually knows about Object Oriented Programming is zero.
Personally I hate SmallTalk. As the first post to this article indicated OOP's forte is solving large scale problems, primarily because it turns out that C becomes very difficult to maintain past 50,000 to a 100,000 lines of code. The typelessness of smalltalk (as exemplified by Squeak) makes one rely on the documentation practices of other programmers way too much. Typelessness means that if one does not choose variable names that are highly indicative of the the type purpose of an object as well as comment the code properly it will be difficult for maintainers to update the code. In programs with a high degree of coupling this can be extremely aggravating. Several times while trying to write applications in Squeak I hit my head against the brick wall when trying to find out what types a function accepted or what types it returned simply by looking at the code for the function. Sometimes it would take looking through methods in 4 to 6 classes before I could figure exactly what type had been passed to a function and what it returned, of course by then I would have forgotten why I was looking in the first place. Imagine reading a man page with all the types Xed out. AAAARGH.
-
Re:Puh-leeze
Amen. For the love of god.
Visual Basic does what it is supposed to do and, over the years, has come to do it damn well. True, earlier revisions of the language were really weak, but it has evolved into an excellent language for rapid application development. It is quick to write, easy to debug, and, with a bit of creativity, can be used to do a bloody lot. For someone who has to do a lot of quick, turnkey Windows application development, I can vouch for the legitimacy of the language. I can write 98% of the code I need in VB, debug it, package it, and deploy it very quickly, and not have to worry about killer alloc problems, whatnot. Other people may not like it, but there is certainly a sizable chunk of people who do.
VB is criticized for being a "Basic." So the English-centric language is more accessable to the novice programmer than C. This results in a greater number of novices using VB than using C, thus meaning that there are going to be a larger concentration of novices in the VB world than in the C world. It is easier to turn out compilable code in VB than C. But given a good programmer, you will get good code out of either language. It's the programmer that really matters, remember? A good programmer can pick a convenient tool and turn good stuff out of it. Not all of us live in a non-Microsoft world.
But, if we're really going to talk smack about languages, then, for the love of god, don't hold C or Javascript up as some kind of "perfect" creation. The principals of something like Squeak make for much better argument.
----
I am not a Microsoft groupie, but I'm not going to break my neck avoiding them when there are more productive and convenient ways for me to get my job done. -
Squeak ported to the Playstation
-
Squeak Smalltalk
Though Squeak Smalltalk is the best cross-platform development system I know, it has some problems which may (or may not) make you not consider it:
- it has its own GUI which runs inside a single window in the host system
- like most Smalltalks, it is hard to separate the application from the development environment for shipping it to customers
- it is being actively developed, with the side effect that there are a lot of rough edges and things change a lot with each version
This last "problem" also means that the other problems might soon be solved...
-
Re:How about Smalltalk?There are at least 2, maybe 3 Smalltalk flavors that would allow cross-platform development with less pain than Java:
- Squeak (www.squeak.org) is bit-compatible across several platforms -- just ftp your image over and run it. Open-source under a liberal license.
- VisualWorks (www.cincom.com/visualworks/) also runs bit-identical across Linux, Solaris, Windows 95/98/NT, PowerMac, HP-UX, etc. My personal favorite, though it's not truly open source. You can see all of the source to the class libraries, you just have to pay the vendor when you want to deploy
- Smalltalk X (www.exept.de) has recently been ported to NT.
We have a large machine control system written in VisualWorks that we ported to Linux one afternoon (in about 45 minutes) -- the only difficulties were external Windows DLL calls that we were making (e.g., bring up the native windows file dialog).
See also: www.whysmalltalk.com
-
Emacs and JavaEmacs and Java, the two tastes that go great together.
Seriously, as far as development "tools", Emacs is the way to go. I hate to start a new job and being forced to use some development environment. Give me Emacs with its keybindings and its full glory anyday.
If you are developing cross-platform and do not need a GUI, go for C++. If you need a GUI, go for Java. If you are really courageous, go for Squeak, the most cross-platform language ever.
--Ivan, weenie NT4 user: bite me! -
Re:Perl is obsolete, among other thingsit's attempt at object-orientation is a joke, something which even Bjarne Stroustrup would be ashamed of had he created it.
While I would like to believe this, I strongly suspect its not true. Bjarne Stroustrup has shown no remorse for inflicting the disaster that is C++ upon the world. Indeed, you could argue that Larry Wall was merely the unwitting victim of a hacker culture that values the "quick and dirty hack" over the "spend some time thinking about it" approach. Unless you are a total moron (like the majority of Slashdot readers) you will realise that theoretically sound languages such as Modula-3 and Smalltalk are the wave of the future. You either have TRUE strong typing (as in M3) or you GET RID OF TYPING ALLTOGETHER (as in Smalltalk). The half-assed fence-sitting characterised by C++ and Perl is typical of the shoddy thinking of many so-called computer experts (Stroustrup and Wall in particular).
Now, of course I hate Perl and C++ as much as the next guy, but what I find more worrying is the underlying agenda of moral relativism implicit in Perl's slogan "there's more than one way to do it". It starts off with allowing the coder to use an associative array or a list, but eventually it will serve as a "gateway language" to even more screwed up languages such as TCL and Java, and from there onto "alternative" lifestyles, body piercing and fringe politics like Socialism.
While banning Perl superficially seems like a very attractive solution to the problem, look deeper and you will see this is not the answer. Banning Perl will simply drive it underground, and make it all the more attractive to young impressionable coders. Far better to educate these youngsters that there are safer alternatives out there, and they won't be labelled as "square" for using them. After all, who is more "cool" - the ravaged and weary Perl addict slumped over his poorly documented spaghetti code that looks like line noise, or the bright eyed and alert young coder with his clear and easily understood Python source ?
thank you.
-
Re:Open Source Windows
I don't think you'll get anywhere unless you let the source be "out there" and pick from that what you want. Indeed, the "capital" which folks gain when they make contributions is the source itself. Also, trying to control the plethora of source versions is likely to be an expensive thing, although it has and is being done in places.
-
Java, Smalltalk and C++
The Java lacks of C++ feature is frustrating for a lot of pepole, in my own opinion. On the other side, now the new Smalltalks (as Squeak ) can offer a better environment of Java (and even C++)? What do you think?
Giovanni Giorgi -
Without wanting to provoke a language war...
-
Re:TIMTOWTDI -vs- KISS
Hmmm... I don't know if it is a 'definition', but by 'First Order Object' I meant an object, defined as a specfic part of the language grammer, which has a parent of 'Object' and inherits from nothing else.
I don't see any particular advantage to having tuples -- or any other class -- directly inheriting from Object. There are a lot of shared functionality between tuples and lists, and even dictionaries.The particular class inheritance isn't really a matter of functionality. In Smalltalk Integers don't even inherit directly from Object, nor True or False. I don't think that implies they aren't important to the language.
Even languages where 'everything is an object' like Python often do this as an optimization and/or to provide support for language features that rely on the first order object.
Almost every language provides some optimization for tuples. The only exceptions I can think of are Lisp languages, where lists are more important than tuples, and maybe some low-functionality languages like m4 (which hardly count).Python does have some syntactic sugar for tuples, and I won't say that's unimportant. But I don't think that makes something quite first-order or not. (doesn't Icon have similar syntactic sugar?)
In Smalltalk you can do "#(1 2 3)" to make a tuple, or even "{x. y. z}" if you are using Squeak (which is the only Smalltalk I'm really familiar with). For other collections, you can use "#(1 2 3) as: Set" which will inline a Set into the code (as opposed to creating it at runtime). You can even do "{a. b}
:= #(1 2)" in Squeak, though nobody uses it and for half the releases it's broken.In Scheme and other Lisps lists are more important, but their functionality is probably more powerful, since they are used for everything (even the syntax). There's no unpacking for assignment, but then assignment is almost looked down on
:-/I don't think Python is the most of anything. That's not bad, but it's definately a language of refinement not revolution. The only really novel think, I think, is the indentation.
-
Re:A Slight Revision to the History of Lisa
Don't fret - these things are all coming back from the dead
:-)Check out Squeak Smalltalk or Self (now also on the Mac besides Sparc machines). Even GNU Smalltalk has come back from the dead and will be getting great JIT technology real soon now.
-
Re:Speak for yourselfCould not agree more. Smalltalk was and is the current be-all and end-all of OOP.
Check out the Squeak homepage for more info.
A good Smalltalk programmer can be orders of magnitude more productive than a good C++ programmer in part because of the brevity/terseness of the language, but also because of the sheer richness of the environment.
Smalltalk is more 'component' oriented than other languages, component level re-use is pervasive, and the MVC paradigm makes gui design a pleasure.
In short, try it. Be prepared to invest a little time, it will be rewarded.
-
Re:A list
Um...
Lets see...
Well, the closest I can come up with is the morphic graphics system in Squeak, although I don't know whether or not it is "leading the field." -
Re:Mystery Meat Navigation
They're not so bad, since they're color coded. Too bad if you're color blind though. You want real mystery, check out the "halos" in the morphic interface of squeak smalltalk
Gotta admit though, it's absolutely the most flexible GUI around, even if it is dog slow. THAT is an interface that's way behind the Moore curve. But boy is is something. Lets you drag, resize, and rotate every window and every widget in them. -
Re:C: smaller,faster is still better for "platform
>> C will always be the language of choice for platforms.
Why? Is this for technical or social reasons?
Lisp and Smalltalk have been used to implement operating systems,HTTP servers, and database systems and quite efficient and powerful ones at that. What advantage does C have besides being close to the hardware?
examples:
Li sp Machines
CL-HTTP Hypermedia Server
Squeak
Pluggable Webserver and Swiki
MinneStore
GemStone
-
Squeak on Crusoe
I want my Squeak running on Crusoe with morphic!!!
-
Re:Teaching the children
IMHO:
<soapbox>
That depends on what you'd like to teach.Are you familiar with the works of Alan Kay? He was the guy, who led the Learning Group at Xerox PARC, where Steve Jobs got his ideas from.
Kay's primary idea was, that he would never build a computer, which wasn't usable by a child (see: imagination amplifier).
He developed the idea of an imagination amplifier, a device that would be small and cheap enough that every child could wear one and it would provide an incredible tool for your mind.
Kay is now working at WDI (Walt Disney Imagineering) as a VP of research with most of his core Smalltalk team from PARC, which eventually stopped by at Apple and was strongly involved in the design of the MacOS UI.
</soapbox>A GUI is an indespensible tool in teaching children what a computer does, but you do not have to use MacOS, there are as well other possibilities, like Squeak Smalltalk (SqC) or LearningWorks (learningworks.neometron.com) if you want to teach children programming.
Both Squeak and Learning Works are based upon Smalltalk, a language that is among the most powerful (if you know The Tricks), but which was initially designed to teach programming to children.
Howard Rheingold's (BTW fouding editor of Hotwired) book Tools for Thought is a really good ressource on this and is available online at rheingold.com. It tells about Babbage, Boole, Turing, Engelbart, Kay, Nelson and many more. It's a must read for everyone interested in our history.
-
Sqeak has had an Open Source HWR for years...
There's an Open Source Smalltalk called Squeak that is an astoundingly interesting platforms from a number of perspectives. Most relevant to this discussion, Squeak has an open source implementation of handwriting recognition, written by Alan Kay and inspired from a rather clever grafitti-like HWR, called GRAIL, from the 60's. I've seen GRAIL in and it's actually rather better than grafitti, which isn't bad in a very old piece of free software. Thus, you can use anything with a pen as a "PDA" if you can run Squeak on it. The recognizer is quite good, and the source code is easy to read.
Squeak runs on all sorts of OS's, including Linux. It doesn't need an OS - it's been ported to "bare metal". It's been ported to PDA's (like the Zaurus PDA), DEC Itsy, WinCE, and others, like DOS, BeOS, Windows, MacOS, OS/2, the Acorn, AmigaDOS... you get the idea.
So if anyone really wants an Open Source HWR for Linux, I'd suggest downloading Squeak and reading the (really short!) code for the recognizer. -
Re:the freedom to fork versus wrtie-once-run-anywh
Sheesh, how, then, is it that we have 200 000 lines of Java code at our company that runs just fine on Solaris, Windows and Linux? Not a single line of code needs to be changed between these environments?
I stand by my statement. Enough so that I'll even repeat it again: WORA is a complete myth.And I don't doubt what you are saying is true, either. Your corporation has a carefully controlled environment and if Java isn't set up on a computer, you have people to fix that. But the last two letters of WORA stand for Run Anywhere. I didn't say that the computers at your company can't all run the stuff. But most computers don't have a JVM all nicely set up so that they can run Java.
In a controlled corporate environment, Java may be able to approach its ideal. But controlled corporate environments are not "anywhere"! And I'm not just being anal, though maybe I'm not thinking in a corporate manner.
And anyway, with carefully enough written ANSI C you could make something nearly WORA. If you are willing to put the effort into it, many things can be portable. Maybe Java is easier than other solutions this way, maybe not, I wouldn't know. But Java is not such a clear winner as it would have itself be.
Squeak is trully WORA, so it can be done. But Java for one reason or doesn't choose to make that choice.
-
Re:How nice
If you want true write-once run-anywhere, and more pure object orientation why not use squeak ? I understand that Smalltalk can be orders of magnitude more productive than pseudo object-oriented languages such as C++ and Java.
-
Re:This will only hurt
Use Squeak instead. How Object Oriented programming SHOULD be done. Become 10x more productive than the average programmer.
-
Scamper
The Squeak Smalltalk system is available for many different platforms, including Linux. I use its included browser, called Scamper, when I want to look at sites with Flash. It doesn't handle tables or frames, but I expect that to change soon.
Squeak, including Scamper, is 100% open source
-
Smalltalk 72
I think that Dan Ingall's Smalltalk-72 implementation, first for the Nova and then for the Alto, is certainly one of the top hacks of all time.
You can try a Smalltalk 72 emulator that runs in Squeak Smalltalk. But remember that this is a hack, so don't expect it to be either easy to run or to understand.
--Jecel
-
Wait a second -
Don't dis Disney and the Imagineers too much. At least they're giving smart people like Alan Kay, Dan Ingalls, and John Maloney money for working on stuff like Squeak. IMO that's excuse enough to put up with EPCOT etc.
:) -
Smalltalk is better
- Smalltalk has been used to teach programming to kids and that works.
- Smalltalk is pure: *everything* is an object.
- Smalltalk is available in free, commercial and non-commercial versions (squeak, VisualWorksNC, many more...)
- Smalltalk comes with an IDE, no stupid edit/compile/test cycle for the entire source, no switching between editor and app, you can even change a Smalltalk program *while it's running*.
Incremental compilation is a big boon to rapid prototyping, I won't explain, you have to *feel* it. - OO companies love to see Smalltalk on your resume.
- A lot of Smalltalks are binary compatible across platforms.
- Add-ons commercially supported (OOdb, distributed Smalltalk, versioning systems, connectivity to legacy systems, web connectivity etc. etc,)
- see also:
- -
Re:Sounds Good... and in smalltalk too!
If Alice interests you, you might want to check out the Squeak implementation, I think it's called Wonderland. Squeak is a free smalltalk-80 (sort of) environment written in smalltalk being developed by Disney, and there is a linux port available from squeak.org. Wonderland comes with the standard image. disclaimer: I have not had a chance to mess around with either the python or squeak implementations so I don't know how they would compare
-
Disney and Apple
This article's logic:
1) Steve Jobs is selling lots of Macs.
2) Steve Jobs is making lots of money.
3) Macs suck.
4) Therefore Steve Jobs is selling Macs only so he'll be bought out.
This is obviously faulty logic. Steve Jobs may be perfectly content to have 7% market share. If I were Apple, though I'd be making a big push towards thin clients; start selling stripped-down iMacs for $500 preconfigured to connect to a VNC server running on LinuxPPC on a supercharged G3 and you're halfway there already. Only serious geeks would buy this setup for home, but at work, these would sell like hotcakes.
I wouldn't mourn if Disney bought Apple. Apple could easily shift to a mainly content company; make iMacs the machines of choice for video buffs, with DVD players and embedded content and super-easy Web browsing, and many would buy them. If Apple can get back to doing truly groundbreaking multimedia work, I think they could be very successful.
What if Apple bought a smaller movie company? It has the cash. They'd have the same advantages as if Disney bought them. They could even buy Pixar; Apple has tons of creative talent, which is just what a too-technically-minded company like that needs. I think the SEC would call this a conflict of interest, tho.
~scriptkiddie
PS: There is a way to recapture the alpha-quality, slightly slipshoddy but still amazing feeling you got when you first saw a Mac. Check out the Squeak system, which, oddly enough, was partially written by Disney. It isn't just a programming language; it's almost a whole operating system.