4 ms·
«The first true object-oriented language. But it seems to me Smalltalk is pretty much a forgotten language.» Why do so many people kill Smalltalk so fast? I c
by bromagosa 13y ago
«The first true object-oriented language. But it seems to me Smalltalk is pretty much a forgotten language.»
Why do so many people kill Smalltalk so fast?
I could give so many URLs to illustrate how Smalltalk has a stable and growing community, with so many open projects and people making a living out of it, teaching it in universities and using it for research, but I think these two links sum it all up:
http://forum.world.st/ http://forum.world.st/
http://smalltalkjobs.wordpress.com/ http://smalltalkjobs.wordpress.com/
- girvo 13y agoFrom my research, it's growing too, which I find awesome. I'm a fan of Pharo and Seaside :)
- overgard 13y ago> Why do so many people kill Smalltalk so fast? Because it doesn't have curly braces. Entirely unfair, but it seems like if you want to sneak in an innovative language it needs to be a wolf in sheep's clothes. (IE: it need to vaguely resemble C)
- Kurtz79 13y agoI could make an argument for the exact opposite. If a new language has curly braces is instantly reviled and deemed as "not innovative" by part of the community.
- AnimalMuppet 13y agoI think both are true, because "the community" is not one thing. It's a bunch of people, each with their own viewpoint. And a bunch of people have strongly-held views (in both directions) on curly braces.
- mcv 13y agoThat's one of the big reasons why javascript is so horrible. It is a really nice and innovative language, but it had to be dressed up to resemble C (or Java really).
- Dewie 13y agoSince curly braces are a pain for me to write (on my keyboard), I strongly embrace languages who don't make them part of the important syntax.
- blobfish 13y agoWouldn't it be better to buy a new keyboard and expand the range of languages you can type in comfortably?
- pdpi 13y agoI'm going to hazard a guess that the problem is not the physical keyboard, but rather the OP's use of a non-US keyboard layout. My native portuguese keyboard layout uses AltGr-8 and AltGr-9 for square brackets, and 7/0 for curly braces, and it's incredibly uncomfortable. I eventually changed to using the US International layout (with dead keys) to make it less awkward to write code, to the detriment of writing in portuguese.
- Dewie 13y ago> I'm going to hazard a guess that the problem is not the physical keyboard, but rather the OP's use of a non-US keyboard layout. You're exactly right.
- bromagosa 13y agoBut we also do have curly braces! For dynamic arrays! ;) { Number. #someSymbol. 5 + 6. [ :anArgument | anArgument doSomething ] value: 'some string goes here'. #(3 'hi'). 1000 factorial }
- klibertp 13y ago+1 for this - Pharo is my platform of choice for developing hobby projects and I'm really pleased with it. And it moves really fast, with 3.0 release scheduled this month (IIRC) and with very exciting features planned for 4.0 too. I checked out some other Smalltalks, including the GNU and VisualWorks ones, but Pharo comes as the cleanest all-in-one Smalltalk starter kit. On a related note, I recently started playing with Io, which is very interesting too. It's smaller than Pharo and not image based, which makes it better suited for scripting (although it's possible to run Pharo in headless mode), has easily modifiable syntax and is pure object oriented with prototypal inheritance. If you like Smalltalk give Io a shot, chances are you'll like it too.
- sanderjd 13y agoWell, just from my noob point of view, every time I've dug in and tried to get into Smalltalk, I've found the language to be really really nice, but I've found the ecosystem to be really really confusing. The concept of needing a development environment and a persistent image (probably not even using the right terms...) just doesn't click with me. I struggle to figure out where to put things, or how to use my editor, or how to use source control, or how to distribute my programs, and maybe some other things I'm forgetting. I'm sure there are mind-expanding answers to all these questions, and I remain open to learning, but I wanted to give a counterpoint to the frustratingly inane "har har curly braces" sibling comment. Sounds like Pharo is nice (but that's what I heard about Squeak before...).
- klibertp 13y agoSounds like you are not "ready" for Pharo yet. The problem with Pharo is that, as I said in the comment below, it's all in one package - it has built-in editor, built-in version control and package system, file manager, and generally built-in tools for almost everything. Image-basedness is also a big difference, it's a powerful concept, but it can be hard to really grok and use it effectively. From what I know I think there are two ways you could go to avoid all this problems until you feel comfortable enough with Smalltalk to tackle them again. One way is GNU Smalltalk, "a Smalltalk for people who can type", which feels fairly normal to work with. You can use your editor and version control software with ease. From the look of it it has a bit less libraries and a bit smaller ecosystem and community, but it could serve you well as introductory Smalltalk. The other way is Amber, which is a Smalltalk written in JavaScript (or maybe it self-compiles already?). It comes with a "browser" (the thing you use to explore and write code in Smalltalk) implemented as a JS app and you can play with it immediately in your (web) browser. It's also half-image, half-file based, so while it will introduce you to the concept of image based environment, you will use your favourite editor and other tools. Smalltalk can feel very confusing at first and it is really different from what you know already. It may not be always possible to learn all of Smalltalk system (like Pharo) in one go, especially if you're working and you don't have too much free time. Going through the stages, from less-smalltalky to full Smalltalk environment may take a bit longer, but it will make it easier to learn it.
- anaphor 13y agoYeah, all of those dynamic GUI creators are basically the corollary to Greenspun's 10th law except for GUI-makers.