Domain: squeak.org
Stories and comments across the archive that link to squeak.org.
Comments · 380
-
We already know the answer: It's called DMI/DME.
If computers would be infinitely fast and thus also have nigh infinite memory and storage (because fractal compression at zero cost - duh) we'd all inmediately be using what is called a Direct Manipulation Interface (DMI) or Direct Manipulation Environment. Squeak comes close to that, but a good DMI would be something like Flash combined with RunRev using Python or something as a PL, including a touchscreen object modeller for contemporary tablets and some other niceties. The difference between programming and runtime environment would basically completely disappear.
There would be no files anymore, just "Objects" and no starting or stopping of programms, just saved "states" of objects or processes running in and on objects. Again, Squak or RunRev/LiveCode come close to this, but of course are a little flakey to be true contenders for the proposed computing utopia in the GP.
The best experiences I had actually were with Flash, although flashes timeline stuff always was a step backwards vis-a-vis hypercard, squeak and such. But still
... Need a loading bar? Draw one and apply something like >>bar.width = myFile.loading,percentage Done. Doesn't get any better than that short of the computer reading your mind.I would love to have a Python or JS 2018 driven DMI/DME with triple-A 3D and Flash-style 2D vector graphics. Completely FOSS. That would totally rock!
My 2 eurocents.
-
Re:The future is in the past!
Take a look at Squeak ( http://squeak.org/ ).
I did take a look at Squeak. The interface is abysmal and the documentation is atrocious. The runtime is slower than I would ever have thought possible. I was really excited about it until I used it.
-
The future is in the past!
Take a look at Squeak ( http://squeak.org/ ). As it turns out most things in the future will have their roots in the discarded ideas of the past. As far as programming languages take a look at Erlang and Elixir (computer languages are the operating systems of the future). I expect the capability model and the actor model will get a lot more popular in the future. In the future computers will be networks, applications will be distributed applications.
-
Re:Ease of development perspective
What you are looking for there is Squeak and Smalltalk. Very cool system.
-
Re:Yes we should but...
If everyone is able to program, it will unlock the potential for more powerful interfaces. Something like this guy is talking about. Or the Squeak OS, where every button is re-programable by the user.
-
Squeak or Gambas
Squeak: http://www.squeak.org/
Gambas: http://gambas.sourceforge.net/
-
Squeak
Can you give us some examples of any modern, notable and widely used apps of any kind written in Smalltalk?
Before I answer, I first need to know whether you have heard of Squeak. I'm not sure what you mean by "notable and widely used", but here's a list of projects using Squeak.
-
Squeak
Can you give us some examples of any modern, notable and widely used apps of any kind written in Smalltalk?
Before I answer, I first need to know whether you have heard of Squeak. I'm not sure what you mean by "notable and widely used", but here's a list of projects using Squeak.
-
Re:Smalltalk live images
I would like to inform you that VM's exist. I do most of my testing in VMs. I can snapshot a running system and replay it running any language. I can peer into memory and register states.
TL;DR: All programming languages and development environments support live images, just not as nicely as Smalltalk.
Recommendations: People who liked Smalltalk, also liked Squeak and Seaside.
-
Re:functional
Not entirely. Of course you can model A=B+C as a function A which, when evaluated, returns the sum of B and C. And sure, you can evaluate A() several times and get different results if B or C have changed.
Reactive programming is about the future and expecting change. When B or C changes, notification of that change is pushed up to the eventual recipient.
So let me get this straight instead of polling the keyboard and mouse port constantly, with Reactive Programing we can just have them generate an interrupt which calls a handler and it calls functions which calls functions to propagate this state change event into other waiting batches of code until the end result is generated -- Updating a cursor location or activating keystroke command, etc. Wow, that's pretty revolutionary. Someone should invent the shit out of that so that the CPU can just sit on a HALT operation until something actually happens.
Or we can just stick to calling it Event Driven Programming and be fucking done. The Controller updates the View when data in the Model changes? You don't say.
But it's more than just simple event handling. For example, what if you wrote a complex SQL query against a few dozen tables located on a hierarchy of servers that might only return a handful of joined records out of millions or billions? And what if that data rarely changes, but you need to know almost immediately?
Well in that case I just have the controller update a distributed data model that's broken down according to its views. The problem with pure reactive approach is that you can't efficiently run a SQL across the distributed data model unless you thought to prearrange the system for it -- If you did think ahead, then you didn't need reactive programming to accomplish it. If you use a purely Reactive Programming Language and platform then you'd still have to re-deploy the system every time you want to include a new query.
That's why distributed DBs with replication already exist so that you can deliver, say, Google+ notifications to nearby friends in near real-time while allowing those not explicitly interested to search for the data later after the cached data replication occurs. See? Folks already thought about the bandwidth problem of the "reactive approach"... A Reactive Programming language essentially does the job of a network and database engineer, and you can bet it'll make some dumb assumptions unless these employees are maintaining the implementation of the back-end framework that exposes the event controller and data model to the RP language anyway (which seems to be the case in TFA). No real win over handing a data flow diagram to a couple of coders who will implement it anyway, except with a formalized language you've added another layer of abstraction and thus another layer of mystery between the programmer's desires and the end result -- "Let's put People in the Compiler! What can possibly go wrong?!"
So, basically RP just not storing storing the data in a central location (Polling) and delivering the data as it arrives (Event Driven). Smalltalk and Squeak already exist, so it's not like we need a new language for calling functions in response to
.onChange() -- No, you really should take a look at Squeak if you haven't already. I mean, I'm all for reinventing the wheel when needed, but can't we just rename Squeak to (re)Active++ Enterprise Edition and skip this headache? -
The only way to do it
Kay worked at just that, at Xerox PARC. It was not visual, but let's be honest here; Xerox fscking PARC.
You should check this out:
http://squeak.org/About/No... It is better.
-
Re:Then why didn't that happen with notebooks?
Jumping in here although there are many places in this thread where I would like to comment.
Some points made by others I agree with: 1) Laptops were too expensive, big, and heavy, 2) battery life was not good enough, compounded by OS designers resource-hungry designs, 3) teachers set in their ways, 4) lack of software compatibility, 5) inadequate WiFi coverage and bandwidth.
Over ten years ago I started the Open Slate Project to develop an educational solution similar to what Mr. Fowlkes describes, and I certainly agree with the article's headline. In my concept, an app called Super Chalk Board functions in a client-server manner to transmit data, including live, even hand drawn, input from any slate to any slate or group within the classroom. The display is in layers (think GIMP or Photoshop) with the top layer being notes made by the slate user (student). The slate would have enough storage to hold a reasonable amount of material locally, so that review, study, even homework assignments can be done without a network connection. Sessions would be recorded so that a student who missed class could download the session from home or when they return.
While searching for a way to implement Super Chalk Board I came across Squeak Smalltalk and am convinced that it would made the ideal foundation for Open Slate's software, which I dubbed Chalk Dust. I have used a book morph to create a sample of a first generation Chalk Dust application. Still not networked, but even so rich in potential. Much has been done by the Etoys team to bring Squeak to young children.
The Open Slate Project has been languishing lately but the rise in inexpensive hardware has inspired me to restart it. Anyone interested can look over the somewhat outdated site and sign up for our (low volume) mailing list. Always looking for contributors, or help of any kind for that matter.
-
Re:First...why?
or Squeak
-
JavaFX + Scala or Groovy = UI development goodness
I was a little disappointed that, for a topic that mentions JavaFX, there hasn't been any significant discussion about JavaFX at all so far.
I'm admittedly not a UI developer, but, I've been playing with ScalaFX and looking at GroovyFX and seeing a lot to like (See JavaFX 2.0 and Scala like Milk and Cookies). Combining this stuff with some of the ideas from Morphic and we could get some really compelling UI's that would be hard to do in a browser even with HTML5.
-
Programming for fun? Lisp and Smalltalk
You say you want to "code for personal reasons", which I take to mean because you find programming enjoyable and want to write programs for fun.
Then I would absolutely recommend Lisp and Smalltalk. For Lisp, you can get started with Lisp In A Box and Peter Siebels' "Practical Common Lisp". For Smalltalk, try Squeak accompanied by Squeak by Example. It's all free.
No, you are probably not going to get a job writing in either of these languages, but learning them may indeed help you get a job, as they are both conceptually deep, and their influences are broader than many realize: JavaScript borrows heavily from Lisp, and Ruby and Objective C from Smalltalk. Even Python and Perl have some Lisp concepts in them. In fact it seems that every new dynamic language to come out in the last twenty years owes something to these two languages. They are like the Greek and Latin of programming languages.
-
How about Squeak.
http://squeak.org/ from what I have heard is a great learning language. Would be a nice option to support.
-
Re:Same way you get your kids interested in gaming
When I got started I used an Ohio Scientific with a 6502 CPU. It ran basic, but PEEK and POKE were by far the most frequent statements used. A lot sexier than a dirty PRINT statement.
In response to the original question, I recommend writing games with Flash. (Pay no attention to the anti-Flash flack sure to follow.) Tons of help availabile on-line and from the book store. If that holds his (or her) attention, install Squeak and learn how to use the active morphs, such as a Storyboard or Playfield. Fiddling with morph properties is a lot more interactive than editing ActionScript.
-
Smalltalk
Depending on his skill level and interest, I would try Squeak. Scratch and Etoys work well with younger kids.
Someone else said you can't force someone to program. I agree with that, but people don't always know what they're going to like. Give him things to explore and maybe he will become interested. Try not to be offended if he doesn't.
-
Squeak
If you really want cross platform and variable display resolution, look at Squeak Smalltalk, an open source implementation of Smalltalk that is the balm and can, in fact, run cross platform on any device for which a c compilier is available. There are several forks, one of which, Pharo, is targeted at commercial developers.
"Major computing platforms supported include most versions of Windows including CE/PocketPC, MacOS, Linux/Unix, OS/2 Warp, Acorn RiscOS, and even a bare chip (the Mitsubishi M32R/D)."
-
Sounds like Smalltalk's code browser.
Welcome to the 1970s. Squeak is one of the better implementations these days.
-
Stackware like RunRev is actually pretty cool
I once built a custom vertical market cross-plattform desktop application in RunRev. The functions of the little app where speced to the last detail and the user interface was designed and drawn out down to the last pixel, Font requirements included. Coaxing the IDE into not sucking by adding 3rd party extensions and such was a bit of a hassle, but all in all the project went very well.
We used RunRev 2.x with various 3rd party extensions including a font-compiling plugin (which in the end didn't work) and a more IDE-like extension of the RunRev enviroment that eased coding.
The visual and object oriented style of building apps in stackware is pretty cool and can be insanely fast, fluent, concurrent and bugsafe. You get concurrent from the first minute on, because Stackware usually uses the DMI approach, which is pretty cool in itself. The way the runtime integrated with it's own DMI (Direct Manipulation Interface) and compiles it's current state into the deployable app is something one has to get used to, but it actually is OOP in its purest form, if you get the hang of it. This sort of developement is a direct descendant of the Smalltalk way of doing things and makes the Java/.Net way look like ancient weedy spagetti-basic.
Yet RunRev uses a PL called TransScript, something like a bizar resemblence of SQL and Lingo that tries to emulate english for dummies. An attempt which, of course, doesn't work. That's the biggest gripe I have about these commercial types of stackware. Building a new PL and throwing out the junk we've got from C and it's ancestors is a good thing, but putting in SQLs failiures of a end-user-interface language is bad and the results are usually accordingly. The one FOSS project that aimes in a stackware direction that I know of is Squeak and it uses Smalltalk, which probably is a way better to go.
Any way you look at it, stackware and visual development has a lot going for it if it is done right.
It actually kicks all other dev-methods imaged by Eclipse, Java, .Net, [fill in generic Big-Fat-Appstack here] and whatnot up and down the street, to be honest. I'm not suprised they claim to have saved half a million in costs, and I actually believe it's true.My 2 cents.
-
Self-Made Software
"DIY" and software do not appear together often enough.
I would teach them how to create their own personal "apps" using Squeak. Use Nebraska to collaborate and share in class. Look for a few techies to help.
To get stared, try Sugar on a Stick and look at Etoys, a specialized subset of Squeak. (You use Squeak to create Etoys.)
Nebraska: http://wiki.squeak.org/squeak/1356
Wider range of info: http://squeak.zwiki.org/SqueakNotes
A recent class at University of Illinois: https://agora.cs.illinois.edu/display/cs598rej/Spring+2009;jsessionid=3BA508D972A809064DC117DBDF7C36C8
-
Self-Made Software
"DIY" and software do not appear together often enough.
I would teach them how to create their own personal "apps" using Squeak. Use Nebraska to collaborate and share in class. Look for a few techies to help.
To get stared, try Sugar on a Stick and look at Etoys, a specialized subset of Squeak. (You use Squeak to create Etoys.)
Nebraska: http://wiki.squeak.org/squeak/1356
Wider range of info: http://squeak.zwiki.org/SqueakNotes
A recent class at University of Illinois: https://agora.cs.illinois.edu/display/cs598rej/Spring+2009;jsessionid=3BA508D972A809064DC117DBDF7C36C8
-
Re:Speaking as a professor...
I have been working on a related project for roughly ten years and made very little progress. The obstacles to free textbooks are many, and include:
o Author reluctance due to
- the dream of publishing a hit and making money
- fear that associating with such an endeavor (e.g., Wikipedia) will damage their reputation (corollary: a successful publication improves reputation)
- lack of skill in creating on-line contento Difficulty in finding credible reviewers willing to work for free
o A belief held by consumers that something expensive is worth more (corollary: people measure success by money raised and spent rather than money saved)
o Marketing costs
o The belief that information printed on paper is better than when displayed on screen
- easier to read
- easier to highlight
- easier to carry
- better tactile experience (page flipping)
- better retentiono Broad-based doubts and fears about using computers in the classroom
- money could be better spent elsewhere
- lack of tech support
- the computer becomes a distraction
- disruptions caused by viruses and malwareI encourage anyone considering such an endeavor to explore ways that an automated text can provide a better experience than a printed book. Avoid the trap of publishing presentation slides or simply the text that would be used in a traditional book. Currently I am exploring Squeak, an open-source implementation of Smalltalk with rich media capabilities, specifically the use of bookmorphs and stackmorphs as lively containers for engaging interactive content. These two morphic classes draw inspiration from the old Macintosh HyperCard program.
I am undecided on the issue of true open-source content. Currently I lean towards a published version which can be used freely to create derivative works, while the original author's work cannot be altered. I am not a big fan of anonymous work, nor of communal products. Yet I totally support FOSS.
-
What if he was a Mac Pundit asking about OS X?
What if he was a Mac OS X pundit, and asked this question of Mac OS X? "Does Apple innovate too much to be competitive in the desktop market?" What people really want is System 7, all this innovation and UNIX underpinning are just developers writing for developers. Why do we need an object oriented runtime library, and a constantly changing AP that supports concurrent processingI? Most Mac users were happy with one mouse button, why do they need their track pads to sense multiple points? Changes like this just confuse the user and make them learn new ways to do old tasks.
Clearly he has a point. It just isn't a very good one. The real problem with the linux desktop has been INSUFFICIENT innovation. And I don't mean replacing X. I mean designing software that makes computing ubiquitous, transparent, and accessible. Why I as a user should ever be concerned about files, drives, network connections, applications, processes, etc. you know all those metaphors programmers have invented for themselves, is beyond me.
What the linux desktop sucks at (and this is true for all WIMPy interfaces) is cross-task operations. When I'm working on a project that involves, text, drawings, tables, and some computations, using a system like Linux, Windows, or Mac OS X is an exercise in frustration. Each "task" as defined by the system's designers requires a different set of tools. By generating a report is only one task from my point of view as a user. As a result, I will end up using 4 or more tools, because no one tool has my work flow in mind.
There are interfaces that solve this problem, however, and they've been around since the late 1970s and early 1980s. Some of us still use them today. Now there is an experimental implementation of one for linux here you can run them in your web browser here and you can package up you can roll your own tools with this here. But all of these are still from the user's point of view in their infancy. -
Re:Make it simple, or you won't do it...
Anyone wanting to create a wiki without a whole bunch of complicated infrastructure should try Swiki. It is written in Smalltalk, and good to go straight out of the box.
-
Re:agreed: persistence, not files
Check out Squeak.
-
Re:PHP?
Or, you could go in the other direction, and reduce the typist burden, allowing them to use concepts to get things done quickly so they get positive feedback.
I'd suggest Scratch, from MIT:
The code is designed like lego blocks, and you attach things together. You can publish to the MIT website from within the development environment and develop a fan base, which gives more positive feedback. You can also download someone elses program from the site, tear it apart in the IDE, change things, then republish your new program and it will automatically attribute the program as being built by Jack, but based on work by Jill.
If you want something a little more sophisticated, you can teach them Squeak.
Squeak is a full featured implementation of Smalltalk, which was designed from the ground up to teach OOP.
http://en.wikipedia.org/wiki/Smalltalk
My 8 year old has used both of these, and I've introduced Scratch to 13 year old children to it and had them get very excited at what they could do with it.
-
Concepts not Implementation
To begin with let's take the computer out of programming Computer Science UnPlugged
There are three environments I'd recommend for teaching programming.
SmallTalk/Squeak coupled with Squeak by Example
Scheme/PLT Scheme coupled with How To Design Programs
Logo/Berkeley Logo coupled with Computer Science Logo Style
The big idea is not to teach them how to do something in one language but to teach them the concepts that will allow them to learn how to do it in any language.
If the kids really are gifted then the class time is too valuable to have them sat there pounding keyboards, that's manual labor. Treat the class as lectures/discussions with experimenting on computers left up to them.
Try and get them to learn about the lectures subject matter before the class e.g. publish a schedule and make it clear they are expected to have read so and so pages before the class.
If they are gifted and motivated this will be as close to the Platonic style of teaching as you can get.
The side effect is that you have prepared them to succeed in college if they can get the idea of using lectures as a review of what they already know.
-
Squeak Smalltalk
It's not just the language, it's the whole dynamic multimedia environment. It's great for adults; it's perfect for young'uns.
-
Re:big demo video
I don't know if these are free enough for you, but there is a 192MB AVI file you can download and a Google video with the usual advantages and limitations.
-
Re:Umm
Here is a better description from Squeak.org (Smalltalk)
Sophie is a digital media assembly tool to combine images, text, video, and audio into a single multimedia document such as slideshows, presentations and annotated videos.
If any of you played with Squeak, you should see that even if you exclude the code from Sophie -- Squeak already has most of the multimedia functionality described above (and really, like many Squeak applications I've seen, Sophie really doesn't try to advertise the fact that it's built on top of Squeak, otherwise people would know how freakishly easy it would be to just add a dash or two of minor functionality and repackage the entire image as something completely new).
In any case, I wish good luck to the Bulgarian developers. And I hope that they were selected for their skills/experience, and not just because they were the lowest bidders. And of course, I wish good luck to the OpenSophie developers as well. When someone starts investing money into trying to copying your work, it's actually a very good sign (even if it does not feel that way at first). It can only lend credibility to your product/community.
You guys should not be pissed off about this, not that I can tell you what to feel and what not to feel. But any modicum of success that the other project garners (which is still a long ways off -- even if they still retain the original name) will only propel your own project forward and into the limelight. And if anything, desensitize yourself to the jealousy, fantasize about their success, and should they do something better than you -- do not be afraid to learn from them (instead of rationalizing your own false sense of superiority and coming up with all kinds of reasons of why they're worse than you). Chances are. If your project is worth funding/cloning. These guys won't be the first, nor the last, to try to clone it. So position yourself as the leader of that emerging niche, encourage others to clone your project, encourage others to enter the market, and position yourself early on as the main evangelists/authors/speakers/teachers for that incoming crowd of new competitors and that new expanding audience of users/customers/clients/investors/press that will inevitably come along with them.
-
Re:Son?
Along those lines I would point out that Smalltalk was designed to be easy for children as well, so you might want to take a look at http://www.squeak.org/ It's never too early to pick up good programming habits.
-
Kids need multimedia
Today's kids need and deserve the full package: multimedia.
You should change the Unix kernel hacker hat for the Squeak Smalltalk programmer hat.
-
Show your son SmalltalkShow him Smalltalk and let him get on with it.
It's probably the most productive language and programming paradigm ever created.
It'll probably blow your mind apart, but youngsters take to it like ducks to water.
The slogan is: Smalltalk makes hard things possible, and the impossible, possible.- The canonical portal Notice the links in the LH column.
- The Highly Graphical and Fun One. Free Software.
- The One for Children. Free Software.
- The Super Fast One Available for unsupported use gratis, but not Free Software.
- The Big Commercial One. Commercial software, but gratis for personal and non-commercial use.
- Free Online Books
If he gets a reasonable grasp of the principles of these, I assure you he can look forward to a very profitable and rewarding life.
-
Hackety Hack
They can learn Ruby quite nicely using Hackety Hack.
You could also try Squeak if you're Smalltalk-inclined.
-
Re:Lazy Developers
Ah. And here the metaphor falls down. Can I, Average Joe Blow, contribute meaningfully to a coding project? Well, no.
Maybe you could - but you certainly won't. You've disenfranchised yourself. Carping about being locked out of a process when you aren't willing to follow its agreed-upon procedures is just entitlement culture, especially when if you're that averse to those procedures you have the option of maintaining your own copy of anything you're interested in and not bothering to share any of your changes.
Incidentally, the system you seem to be asking for exists, and is called Squeak. Enjoy. That is, if it's not too much effort for you. -
Re:The Price Is RightWhatever Nicholas Negroponte's price was, Microsoft seems to have found it.
It would be more honest - but less satisfying - to say that the market has met OLPC's price.
That it is - or very soon will be - possible for the OEM to build a fully competitive educational laptop, pre-load Microsoft's Student Innovation Suite and sell it for less than the XO.
You want Squeak? You can have Squeak.
The Windows platform demands no ideological or religious commitment whatever.
You can load and run software under any license you chose. Without ever once being drawn into a theological argument over how many angels can dance on the head of a GPL pin.
-
Re:Take a look at MIT Scratch
As well as Scratch, there's a lot of other interesting educational stuff built on top on Squeak, eg eToys, Plopp, Dr Geo II etc. The fact that it's on the OLPC XO is driving a lot of development work for new activities as well.
There's an article at news.squeak.org that mentions an interesting series of posts by one of the developers of Dr Geo II who is building up an introduction to Squeak features for educators. -
Re:Take a look at MIT Scratch
And, for us programming geeks, Scratch is built on Squeak, the open source implementation of Smalltalk.
-
there's Sqeak e-Toys and others
Sqeak is a Smalltalk-like language and environment, runs on many platforms and has a package called e-Toys. It's on the OLPC
I believe they have other education software too so here's a link for you to search for yourself:
http://www.squeak.org/Features/Education/
LoB -
Re:Java is not beautifulThe result is that this system today, called Squeak, runs identically on more than two dozen platforms. Java does not do that. [...] Once we realized that Java was likely not to be compatible from platform to platform, we basically said we'll generate our own system that is absolutely compatible from platform to platform, and that's what we did. And then real world happened:
Pasting > 32kB of text crashes Unix VM
JPEGReadWriter2Plugin seg faults on SPARC system because 'double' in structure not 8-byte aligned
bug in Cross/vm/sqMemoryAccess.h -
Re:Java is not beautifulThe result is that this system today, called Squeak, runs identically on more than two dozen platforms. Java does not do that. [...] Once we realized that Java was likely not to be compatible from platform to platform, we basically said we'll generate our own system that is absolutely compatible from platform to platform, and that's what we did. And then real world happened:
Pasting > 32kB of text crashes Unix VM
JPEGReadWriter2Plugin seg faults on SPARC system because 'double' in structure not 8-byte aligned
bug in Cross/vm/sqMemoryAccess.h -
Re:Java is not beautifulThe result is that this system today, called Squeak, runs identically on more than two dozen platforms. Java does not do that. [...] Once we realized that Java was likely not to be compatible from platform to platform, we basically said we'll generate our own system that is absolutely compatible from platform to platform, and that's what we did. And then real world happened:
Pasting > 32kB of text crashes Unix VM
JPEGReadWriter2Plugin seg faults on SPARC system because 'double' in structure not 8-byte aligned
bug in Cross/vm/sqMemoryAccess.h -
Re:Why Ruby?
It's unfortunate that most people who praise Ruby as being this groundbreaking language in terms of features and usability neglect to look back 30 years at its roots in the smalltalk language. In fact, the smalltalk syntax to do the same thing is surprisingly similar.
1 to: 10 do: [:x | x printNl]!
For those of you unfamiliar with smalltalk, I'd really urge you to look into it. Squeak is a very mature implementation http://www.squeak.org/. In either case, you're right the syntax is powerful and beautiful, and in my opinion its a real shame that it has taken 30 some odd years for people to realize its potential. Even the java language is moving in towards adding closures as a language feature http://www.javac.info/ . -
Re:Nonsense.
Check out Squeak, based on Smalltalk. http://www.squeak.org/
-
Alan Kay, Dan Ingalls, and Smalltalk to the Rescue
Ah, this is a repeat of a number of patent lawsuits. It's too bad that Alan Kay's group with Dan Ingalls et. al. invented overlapping windows in a GUI in the 1970's. Woops, forgot about the prior art. How about that.
http://news.squeak.org/2007/10/12/smalltalk-to-the-rescue-microsoft-ex-execs-sue-red-hat/
http://users.ipa.net/~dwighth/smalltalk/byte_aug81/design_principles_behind_smalltalk.html
http://www.groklaw.net/article.php?story=20071011205044141 -
Re:Don't assume they'll be just be used for good
I know I'll be buying four of them for Xmas, two for poor kids, one for my daughter, one for my niece. She's only just turned seven, and is already designing video games in Squeak, which comes with the OLPC, so I imagine this will work well for her.
-
Re:Development
Objective-C is only hard to learn if you don't already know Smalltalk, and I don't think I'd trust a developer who doesn't know Smalltalk to write OO code, even if they never use the language for real work.
And it's never too late to learn Smalltalk! A new free book has just been released giving an introduction to the multi-platform open-source Squeak Smalltalk. -
Re:C Plus Plus Bye Bye
but, if we talk about managed languages, I'd go straight for Python or Common Lisp.
Meh, I'll take Smalltalk, thanks. :)