5 ms·
Sigh. Nothing killed Smalltalk. It's not dead. Neither is Scheme. Yeah, both of those languages have pretty small communities, but that's viable in the Internet
by cwp 11y ago
Sigh. Nothing killed Smalltalk. It's not dead. Neither is Scheme. Yeah, both of those languages have pretty small communities, but that's viable in the Internet Age.
Heck, even Self, which nobody ever used for actual shipping software (as far as I know), still has some life in it. The latest release was last year and runs on Linux, Mac OS X. (What, no Solaris support?) http://blog.selflanguage.org/2014/01/12/self-mallard-4-5-0-released/ http://blog.selflanguage.org/2014/01/12/self-mallard-4-5-0-r...
Compared to Self, Smalltalk and Scheme are downright mainstream, and used in all sorts of production software.
This is important if you're planning on inventing a new programming language. The chances that you create the next Javascript or Java are slim to none. Those languages are platforms that are backed by large companies. Languages invented by enthusiastic geeks can succeed, but they don't take over the world. Even when success does come, it's after decades as niche languages with tiny communities.
If you consider Smalltalk and Scheme dead, be prepared to have your language be stillborn.
- wvenable 11y ago> Languages invented by enthusiastic geeks can succeed, but they don't take over the world. Ruby, Python, and Lua are all obvious counter-examples to the idea that enthusiastic geeks cannot create languages that are many orders of magnitude more successful than SmalllTalk and Scheme. Even CoffeeScript, if you can call it a complete language, is in the realm of that success. The only language that has come out recently that is successful purely because of the backing of a large company is Swift.
- cwp 11y agoActually, those are the very languages I had in mind. Perl too. Yes, they have many more active developers than Smalltalk. But you know what? I was part of the Ruby community before Rails, and it was tiny. That was after it had been around for 10 years. So I'll say it again. If you want to create a new language, go for it! But I wouldn't sneer at Smalltalk and Scheme in the process. Those communities are relatively small, but they're still huge compared to your brand-new language, and they will be for decades. And if you judge language success by innovation and influence rather than developers... well, you have even bigger shoes to fill.
- coldtea 11y ago>Actually, those are the very languages I had in mind. Perl too. Yes, they have many more active developers than Smalltalk. But you know what? I was part of the Ruby community before Rails, and it was tiny. That was after it had been around for 10 years. So? Languages might take a while to catch on. Ruby has a huge community and lots of jobs now. And Python has had that even without something like Rails to dominate adoption. Perl was also huge back in the day. As a counterexample Dart is nowhere near even Ruby pre-Rails was, even though it's from a major vendor. And of course C, C++ etc didn't succeed because they had the backing of a major vendor, like Java or C# did.
- pjmlp 11y ago> And of course C, C++ etc didn't succeed because they had the backing of a major vendor, like Java or C# did C - AT&T, UNIX vendors C++ - Almost all C compiler vendors adopted it. CORBA and Windows Development helped it.
- coldtea 11y agoHaving support from third party vendors is not the same as succeeding because you have the backing of a major vendor (and especially one who created you), like Java or C# or Swift.
- pjmlp 11y agoC would have been a footnote in the history of programming languages if AT&T didn't offered the code to a few universities, whose students created the UNIX workstations like in Sun's case. In the late 80's the language had zero value in the hobbyist world. The few compilers that existed generated crappy code, were not even K&R compatible and only mattered to those that had access to UNIX either at work or university.
- skissane 11y agoC was invented at Bell Labs, a subsidiary of AT&T. Surely that counts as "backing of a major vendor"? C spread along with UNIX, which AT&T as vendor licensed to many other companies. It was also helped along by AT&T's own use of C and UNIX in its internal systems, especially telephone switch development.
- rbehrends 11y agoRuby, Python, and Lua were all created in the early nineties, when the alternatives were Tcl and Perl. And it still required each of them a decade or more to take off. This was also at a time when most programming languages did not have free implementations and companies actually sold compilers and interpreters. The programming language landscape was totally different back then.
- Itaxpica 11y ago> The only language that is successful purely because of the backing of a large company is Swift. Rust and Go seem to fall pretty firmly in to that category as well.
- dragonwriter 11y agoI wouldn't really call Rust isn't successful yet, though it showing signs that it may become that way. Go, maybe, its at least farther along the path.
- coldtea 11y ago>The only language that has come out recently that is successful purely because of the backing of a large company is Swift. We don't know that. I mean it's not like ObjC, where the main pusher and motivation to adopt it was Apple having it for OS X (as evident by the relative lack of adoption of ObjC in Linux, NextStep etc). Swift does have got people genuinely interested to use it even outside the Apple ecosystem, they just don't have the chance to, yet.
- ljw1001 11y agodon't capitalize the T. Just Smalltalk. It's cleaner
- e12e 11y agoI wonder if Smalltalk doesn't have much larger community now, than it did in the 80s. Sure, other languages are bigger still -- but if we have, say a thousand times as many Smalltalk programmers today, as in 1980 -- then hopefully the language will keep getting better. Especially since there are now a few Free/open source implementations, tutorial/books and frameworks.
- wvenable 11y agoSmallTalk was taught as a course when I was at University in the 90s. I doubt that's the case now even though conceptually it's a good language in a CS education. We also had courses with functional languages (at that time ML) and Lisp was taught with AI.
- e12e 11y agoMaybe. I don't think being featured in CS education is all that interesting (for fringe languages). I was thinking more along the lines that computing is becoming way more accessible all the time (for one thing a full Smalltalk image+vm is no longer a "large" download) -- so the number of people contributing to Seaside, Pharo etc might be growing. I also wonder a bit about Gemstone/GLASS (the ones behind the Ruby maglev vm/system). As for packaging as others have commented on, I found[1] -- but I think things like the rise of quicklisp[2] shows that these truly powerful languages (and I think Smalltalk is indeed "lisp powerful") can spring up from the brink of death/irrelevance through the serendipitous release of a framework/tool/technique etc. It just occurred to me that it might be interesting to implement Smalltalk on top of Racket as a language -- Racket has (seemingly) great support for creating deployable executables[3]. [1] http://forum.world.st/Create-a-exe-application-in-Pharo-2-0-td4719112.html http://forum.world.st/Create-a-exe-application-in-Pharo-2-0-... [2] https://www.quicklisp.org/ https://www.quicklisp.org/ [3] http://docs.racket-lang.org/raco/exe-dist.html http://docs.racket-lang.org/raco/exe-dist.html [4] See eg: http://queue.acm.org/detail.cfm?id=2068896 http://queue.acm.org/detail.cfm?id=2068896 for an example "Adventure"-like language. Or scheme-without-parens: http://pkg-build.racket-lang.org/doc/sweet/index.html http://pkg-build.racket-lang.org/doc/sweet/index.html PS: Related to Racket and languages, I also came across this nice little post: "7 lines of code, 3 minutes: Implement a programming language from scratch" http://matt.might.net/articles/implementing-a-programming-language/ http://matt.might.net/articles/implementing-a-programming-la...
- duaneb 11y agoScheme is actually used quite a few places, just not as much as a general purpose implementation language. I would say that smalltalk is way more "dead" in the sense that news doesn't make waves the same way scheme news does.
- xrange 11y ago>Scheme is actually used quite a few places Don't leave us hanging, I'm sure lots of people would like to know of Scheme success stories besides Jak and Daxter. http://c2.com/cgi/wiki?LispInJakAndDaxter http://c2.com/cgi/wiki?LispInJakAndDaxter
- tunesmith 11y agolilypond is a big one. Better music notation quality than finale and sibelius.
- frou_dh 11y agoOS X ships with a couple hundred files worth of Scheme related to sandboxing: mdfind -name .sb
- justaaron 11y agoformer PLT scheme = Racket... it's a tight little platform! batteries included... check out DrRacket, and it's dependency graphs that appear upon mousing over defined words...it will even show graphics and mathematical symbols in the REPL if that happens to the be the domain of the functionality you are testing... loads of libraries available... great package system. there's a pretty basic thread-per-connection web server (extension of a generic server i forgot the name of) included and you can get up and running building something very very quickly...
- coldtea 11y ago>Sigh. Nothing killed Smalltalk. It's not dead. Neither is Scheme. Yeah, both of those languages have pretty small communities That's how we define "dead" for languages: "pretty small communities". >but that's viable in the Internet Age. Viable to exist and continue having small communities. But not viable for what matters to lots of people, mainly being able to use them for their company/projects with great support from various sources, documentation, books, new releases and bug fixes commining round the clock, and answers for their questions on Stack Overflow.
- justaaron 11y agoOh stop picking his reply apart when you exactly what his point is: if you consider smalltalk "dead", and you are "going to invent a cool new language" then you can probably get into the BACK of the popularity line, after REBOL or whatever, as basically you aren't worthy... not even close to worthy... in a nutshell, a still-revered, still-used (niche public) language built by people with an actual high-level concept (TDD) from the academic world with the support of much of industry at the time, said language probably can safely stay on it's pedestal despite such a fluff-brained "analysis" as linked article purports to provide... i mean the central point of this article is: "I'm going to make a language that will be big and smalltalk is a convenient hoity toity strawman for me to knockdown" weak.
- coldtea 11y ago>then you can probably get into the BACK of the popularity line, after REBOL or whatever I don't know. Golang, Rust, Clojure and Scala seem to do quite well for themselves, quite better than Smalltalk. I don't have exact numbers of course, but considering job postings, use by high profile companies, books coming out, conferences, tooling created, blog posts and HN articles, they are way ahead of Smalltalk today. Besides this: >as basically you aren't worthy... not even close to worthy... Sounds fishy to me. Even if you're not worthy there's no reason not to try if one wants to. And that's how we do get the 1 in 10.000 languages that ARE worthy anyway.
- sigzero 11y ago
- doublec 11y agoSelf gets used by the enthusiasts in production, for a suitable definition of production. I believe the Self website is served by a webserver written in Self for example. I've also served my blog in the past from a Self webserver. I found the comment in the post about how a few lines of code would be better than the object interactions in the GUI interesting. I thought this would be the case when I started using Self too but even with the GUI you still write code. The method bodies for example are all textual code that feels like programming in any other language. Where the GUI excels is exploring systems, prototyping designs - and then refactoring the design towards a production implementation. It also makes the applications 'live' for users. They can drill down into the application objects and see how things work. The line between OS, application, and development is very blurry in Self.
- russellallen 11y agoYep, the Self website is running on a Self webserver (which is itself running on a half written Self cloud). Seems to be fairly stable, all things considered.