News for hackers. Stuff that matters.
Re:Pharo 9 by a2800276 on Thursday July 15, 2021 @09:00AM (#27844154)
The page seems to be going out of it's way to not mention the word "Smalltalk". Does anyone have an idea why that is? Does Smalltalk have such a bad reputation nowadays or has someone trademarked the term?
Re:Pharo 9 by mumblemumble on Thursday July 15, 2021 @10:20AM (#27845037)
Pharo considers itself to be Smalltalk-inspired.

Maybe the most succinct explanation of what this means comes from their vision document[1]:

> What we want to say is that if there is something that can be improved but does not conform the ANSI Smalltalk, we will do it anyway.

This really does seem to be a fundamental value within the Pharo community, and it distinguishes them from the rest of the Smalltalk community. When observing the communities around Squeak or the commercial Smalltalks, I often get the impression that they view themselves as a sort of Jedi order that's trying to preserve an older, better tradition amidst a decadent modern world. The Pharo community, by contrast, actively acknowledges that Smalltalk was not perfect, and is working hard to improve many things about it, including some of the fundamentals. For example, Pharo's made active steps to make their platform more amenable to source control, and, by extension, collaboration among larger groups of people.

[1]: https://gforge.inria.fr/frs/download.php/30434/PharoVision.p...

Re:Pharo 9 by xkriva11 on Thursday July 15, 2021 @09:19AM (#27844310)
Re:Pharo 9 by blooalien on Thursday July 15, 2021 @06:59PM (#27851101)
I know a buncha literal rocket scientists who swear by Smalltalk with a heavy bias toward the Squeak VM as bein' the best thing since sliced bread, but I honestly rarely hear about it outside those particular circles. Mostly I hear about Javascript, .NET/Mono, and Python in other programming language circles I frequent.
Re:Pharo 9 by pjmlp on Thursday July 15, 2021 @09:29AM (#27844407)
I guess maybe because Pharo has moved beyond Smalltalk-80, and is its own thing nowadays, just like Raket is no longer just Scheme.
Re:Pharo 9 by goatlover on Thursday July 15, 2021 @01:08PM (#27847021)
But the language itself is still Smalltalk with some extra classes, right?
Re:Pharo 9 by xkriva11 on Thursday July 15, 2021 @02:52PM (#27848571)
Smalltalk is just a simple meta-language (like Lisp and Forth). In your system, you may have the same or very similar syntax and keep some degree of compatibility but be very different in many practical aspects. For example, Pharo has Collections API very similar to Smalltalk but very different Files API or UI API. It has another class building strategy with stateful traits, slots, some syntax extensions, different source files format etc.
Re:Pharo 9 by jhgb on Thursday July 15, 2021 @02:30PM (#27848286)
Kind of. At the very least you get traits, dynamic array literals and such that you don't get in "classic" Smalltalk.
Re:Pharo 9 by zabzonk on Thursday July 15, 2021 @09:15AM (#27844279)
I've noticed that as well - it's a bit strange given that Pharo is a fork of Squeak, which does proclaim its ST origins on its front page.

I wouldn't say Smalltalk has a bad rep nowadays, but it used to be knocked for being too expensive (the cost of ST licences back when was beyond a joke), too slow, and producing nasty-looking non-native GUIs. These have almost all been fixed.

Re:Pharo 9 by xkriva11 on Thursday July 15, 2021 @09:36AM (#27844483)
It has basically two reasons. First, it is to prevent conflicts like: "Pharo is Smalltalk, look, it is written on its web page! How do dare you to change this? You are allowed to improve this if and only if all the other Smalltalk implementations do that too!" [exaggerating]. Pharo has many differences from standard Smalltalk (different File API, class definitions, traits, slots, small grammar changes...).

The second reason is that the general knowledge about Smalltalk is very poor, and most people only remember that it is something old and long dead. Try to sell a dead fish.

Re:Pharo 9 by a2800276 on Thursday July 15, 2021 @10:16AM (#27844975)
Interesting, thank you. It still seems weird to me, though. I feel Smalltalk is mostly mentioned with positive connotations (as opposed to, say Cobol) and would guess more people have heard of Smalltalk than Pharo and it would help orientation. So I was assuming something nefarious :)

Is there an overview of the differences somewhere?

Re:Pharo 9 by xkriva11 on Thursday July 15, 2021 @10:37AM (#27845270)
I sometimes ask young programmers or people interested in old computers if they know Smalltalk and what they think of it. Try it too, you might be surprised at the results.

I don't know of any such list of differences, and I don't think it's of much use either.There is ANSI Smalltalk, which is very limited and most implementations go well beyond its scope, so you have to compare each implementation separately anyway.

Re:Pharo 9 by igouy on Thursday July 15, 2021 @11:28AM (#27845856)
> cost of ST licences back when was beyond a joke

March 7, 1988

"Smalltalk/V 286 is available now and costs $199.95"

https://books.google.com/books?id=CD8EAAAAMBAJ&pg=PA25&lpg=P...

> nasty-looking non-native GUIs

The "non-native GUI" was quite important because Smalltalk was running on MS-DOS — not on MS-Windows.

Re:Pharo 9 by varjag on Thursday July 15, 2021 @12:40PM (#27846702)
Well $200 in 1980s is something like $500 today. I don't think I own any piece of software costing that much.
Re:Pharo 9 by setpatchaddress on Thursday July 15, 2021 @02:52PM (#27848580)
That seems like an ahistorical objection.

$199 was a very reasonable price for a powerful dev tool in 1988. A lot of software at the time cost much, much more. Look up historical prices for just about any contemporaneous commercial software.

You can still argue they would have done better in the long run by marketing themselves as "Turbo Smalltalk" at $69.99. But that's a different argument than "wow that's way overpriced," which simply wasn't the case.

Re:Pharo 9 by igouy on Thursday July 15, 2021 @06:28PM (#27850857)
"The list price is $150 each for Turbo Pascal, Turbo C, and for a bundle containing both Turbo Assembler and Turbo Debugger."

p8 October 1988 https://books.google.com/books?id=WSBVAAAAMAAJ&pg=RA18-PA8

Smalltalk/V 286 included source-code debugger, bit mapped WIMP for MS-DOS, BitBlt graphics, … Turbo Pascal + debugger already cost more.

Re:Pharo 9 by igouy on Thursday July 15, 2021 @12:51PM (#27846815)
And … ?

Dec 1988, MS Word 5.0 for MS-DOS, $450.

Re:Pharo 9 by goatlover on Thursday July 15, 2021 @01:11PM (#27847069)
Adobe products can cost that much on a yearly basis.
Re:Pharo 9 by hota_mazi on Thursday July 15, 2021 @02:16PM (#27848100)
The animated screenshots on the website pretty much indicate that the Pharo GUI is still non native and looking very dated and ugly.
Re:Pharo 9 by xkriva11 on Thursday July 15, 2021 @02:25PM (#27848221)
Most tools were modified to use Spec framework so they can use the native look (using GTK) as well as the non-native one. (plus, in future, Web and Console backends). This transition should be finished in the next release.
Re:Pharo 9 by codesnik on Thursday July 15, 2021 @09:35AM (#27844469)
hm, does Pharo have native-looking GUI now?
Re:Pharo 9 by zabzonk on Thursday July 15, 2021 @09:37AM (#27844511)
Well, let's say "better" :-) There was a Smalltalk with a native Windows GUI (Dolphin) but the developers couldn't seem to make any money out if it.
Re:Pharo 9 by igouy on Thursday July 15, 2021 @11:06AM (#27845610)
"ParcPlace VisualWorks Smalltalk emulates all the supported operating systems GUIs in Smalltalk …

Digitalk (now ParcPlace) Visual Smalltalk uses more of the underlying operating system GUI, for better performance but at the price of only supporting a common subset of GUI controls …

IBM Smalltalk maps the Motif GUI widgets onto the underlying operating system widgets.This means you get a very rich kit to build your GUI, but the widgets operate at near native speed. You have the best of both worlds."

p87 "VisualAge for Smalltalk" 1997

http://www.redbooks.ibm.com/redbooks/4instantiations/sg24482...

aka What's the difference between Swing and SWT,

Re:Pharo 9 by xkriva11 on Thursday July 15, 2021 @09:37AM (#27844505)
Re:Pharo 9 by speed_spread on Thursday July 15, 2021 @09:27AM (#27844390)
Maybe Smalltalk sounds old like COBOL. It's hard to re-kindle interest in old tech in the eyes of new devs. It seems every generation of programmers want to have their "own" tools, even if they're worse than the previous ones.
Re:Pharo 9 by dimal on Thursday July 15, 2021 @04:56PM (#27850036)
I always had positive connotations of Smalltalk. Seemed it was talked about as if it was OOP “done right” before Java messed things up. That’s just me though.
Re:Pharo 9 by skissane on Friday July 16, 2021 @04:39AM (#27854190)
COBOL's big problem has always been verbosity rather than age. Fortran and Lisp are older yet both have a more positive image. Fortran and Lisp are each far more succinct languages than COBOL.

(Contemporary Fortran and Lisp have evolved a lot since their initial version, but the same is true of COBOL.)

Re:Pharo 9 by pjmlp on Thursday July 15, 2021 @09:30AM (#27844421)
You mean like C, born in 1972?
Re:Pharo 9 by a2800276 on Thursday July 15, 2021 @09:40AM (#27844548)
C never really fell out of favor, though. And it's also the only available choice apart from assembler in many circumstances. But trying to revive interest in Ada, D, Sather, Prolog, etc would be a lot more difficult.
Re:Pharo 9 by pjmlp on Thursday July 15, 2021 @09:45AM (#27844609)
It was already out of favour in the early 80's, hence C.A.Hoare turing award speech against it in 1980, but then UNIX took over the world anyway, and the FOSS wave with GNU Manifesto helped to take it further.

Apparently people don't have any issue hanging to an OS about the same age as COBOL.

Re:Pharo 9 by FpUser on Thursday July 15, 2021 @12:58PM (#27846907)
>"Apparently people don't have any issue hanging to an OS about the same age as COBOL."

Why should they? It works for many cases and has mountains of apps, tooling, libraries, hardware support and whatnot. It takes decades for the new OS/ecosystem to mature.

Re:Pharo 9 by pjmlp on Thursday July 15, 2021 @03:21PM (#27848931)
Same conclusion can be applied to COBOL applications.

https://www.microfocus.com/en-us/products/visual-cobol/overv...

Re:Pharo 9 by FpUser on Thursday July 15, 2021 @08:46PM (#27851904)
Equating OS and its ecosystem to a single language is not very wise approach I think. In any ways you are obviously free to find fresh and shiny OS of your liking and use it.
Re:Pharo 9 by pjmlp on Friday July 16, 2021 @02:29AM (#27853529)
It surely is, UNIX and C are a symbiotic relationship, born out of each other, one in 1969, the other in 1972.

I surely have, hence why I have gone back to Windows, where the focus is C++ and .NET, macOS where the focus is Objective-C and Swift (UNIX is there for historical reasons only), Android where the focus are Java/Kotlin and C++ (with Linux kernel being an implementation detail).

Re:Pharo 9 by xfer on Friday July 16, 2021 @04:02AM (#27853959)
UNIX is not a thing anymore, nobody writes UNIX code. People use various compatibility layer or straight up use kernel abis. And they are all improving over time. So no they are not all stuck in 80s. Even linux kernel devs are willing to add rust code in the mix.

> Windows, where the focus is C++ and .NET,

Microsoft is huge organization they have multiple focuses. You seem to be mixing the kernel/userland layer and making very weird argument against UNIX(that nobody uses).

I am not familiar with COBOL is there any effort to improve COBOL?

Re:Pharo 9 by anthk on Friday July 16, 2021 @09:44AM (#27856159)
>UNIX is not a thing anymore, nobody writes UNIX code

Please, get out of the GNU cult and check out what BSD's are doing in C.

Re:Pharo 9 by xfer on Friday July 16, 2021 @03:40PM (#27860378)
BSDs are not just sticking to what UNIX was(let's say v7?). They are also doing their own thing.
Re:Pharo 9 by FpUser on Friday July 16, 2021 @06:16AM (#27854702)
For me it is Windows desktop and Linux servers. So far I had no business case to develop for other mobile and somehow do not feel sorry for it as I am in no rush to bend over to things like approval from App stores etc.
Re:Pharo 9 by asah on Thursday July 15, 2021 @09:56AM (#27844750)
Smalltalk never really got substantial adoption...
Re:Pharo 9 by pjmlp on Thursday July 15, 2021 @10:09AM (#27844893)
Thanks Java :(
Re:Pharo 9 by StevePerkins on Thursday July 15, 2021 @11:52AM (#27846163)
Smalltalk first appeared in 1972, and was a stable commercial product by 1980.

Java didn't hit the market until over a decade and a half later.

If you can't build adoption with a 15+ year head start, then it's not the next generation's fault. It just wasn't going to happen.

Re:Pharo 9 by cmrdporcupine on Thursday July 15, 2021 @01:23PM (#27847205)
From 1980 to the late 80s or so people were struggling just to get Smalltalk to perform at reasonable speeds on microcomputer class hardware, so saying 1980 isn't really fair. And most of the research that went into getting Smalltalk (and Self) to perform well on those platforms was then used to get Java to perform.

In actuality, Smalltalk gave Java a headstart.

That said, Smalltalk just doesn't in general "play well with others"; its image based development environment, especially.

Re:Pharo 9 by bigbizisverywyz on Friday July 16, 2021 @08:38AM (#27855614)
>people were struggling just to get Smalltalk to perform at reasonable speeds on microcomputer class hardware

I've heard this before, but it confuses me as apparently the majority of the systems at Xerox Parc (Window manager, word processor, etc. ) were written in Smalltalk. So how could these sophisticated GUI apps perform there but not on other platforms, was the hardware really so different?

Re:Pharo 9 by cmrdporcupine on Monday July 19, 2021 @09:44AM (#27882579)
Yes, they were drastically different. Xerox built their own systems. Look up the Dolphin and Alto, they were basically minicomputer-class systems with custom CPUs built out of 74 series and bitslice components, no single-chip microprocessor. And very expensive.

It wasn't until the mid to late 80s that microprocessor systems built around the 68k series were able to run Smalltalk 80 well. And that was with Tektronix and others spending thousands of man hours developing techniques to implement the VM well. And many of those systems were still basically dedicated to Smalltalk and cost a fortune.

Re:Pharo 9 by linguae on Friday July 16, 2021 @01:53PM (#27859076)
The simple answer to this question is that not all software at Xerox PARC was written in Smalltalk. In fact, Smalltalk was just one out of a few different languages and programming environments that Xerox PARC used. For example, the Bravo word processor was written in BCPL (https://en.wikipedia.org/wiki/Bravo_(software)). Mesa was also developed at Xerox PARC and was commonly used as an implementation language. Interlisp was also largely developed at Xerox PARC.
Re:Pharo 9 by scroot on Thursday July 15, 2021 @12:44PM (#27846763)
> stable commercial product by 1980

This is not true. Even the Smalltalk-80 Blue Book wasn't released until 1983.

> If you can't build adoption with a 15+ year head start

Historical context is important here. FOSS etc were not nearly as prevalent as they are now, and most major development environments had a price. The main Smalltalk players probably got it wrong by pricing out expensive licensing fees. But the head start does not matter when the next thing that comes along is released for free, which is what happened with Java.

Re:Pharo 9 by Qem on Thursday July 15, 2021 @01:56PM (#27847789)
There was also the issue of "viral pricing". As the application was grown as a extension of the image, people were supposed in some schemes to not only pay for their own copy, but also for every copy of the software they wrote and shipped to customers, as it piggybacked on the original image. While free software thrived on copyleft, the first Smalltalks withered on "payleft".
Re:Pharo 9 by jhgb on Thursday July 15, 2021 @02:33PM (#27848328)
Wouldn't that be payleftandright? ;)
Re:Pharo 9 by pjmlp on Thursday July 15, 2021 @12:37PM (#27846671)
Except it was happening, that is why gang of four book uses C++ and Smalltalk on their examples.

Had IBM kept selling Visual Age products instead of jumping into Java ship, history would have turned out much differently.

Or if the Strongtalk guys hadn't return back to Sun and basically turn a Smalltalk VM into a Java one.

JUnit was also born in Smalltalk for those not paying attention.

Re:Pharo 9 by goatlover on Thursday July 15, 2021 @01:17PM (#27847136)
Java was able to ride the wave of the web's rise in popularity, particularly with their marketing of applets and the "network as the computer", with the idea of downloading Java code as needed to supplement the software you're using at the time. That and there was lots of talk about how the JVM was going to be the runtime of the future for all languages.

It's funny how Javascript and the web have turned out to be a more popular target. Nobody back in the late 90s/early 2000s would have thought that. JS was a toy and html was going away in favor of Flash or Java applets or .NET.

At any rate, timing is a really important part of gaining widespread adoption. Smalltalk was way ahead of its time in the 70s, but too early to really take advantage of networking, as their target was stand-alone personal computers.

Re:Pharo 9 by igouy on Thursday July 15, 2021 @07:18PM (#27851225)
> … too early to really take advantage of networking…

So how do you explain "HP Distributed Smalltalk" ? :-)

https://www.hpl.hp.com/hpjournal/95apr/apr95a11.pdf

How do you explain "Gemstone/S" ?

https://gemtalksystems.com/products/gs64/

Re:Pharo 9 by asah on Thursday July 15, 2021 @10:15AM (#27844964)
language developers consistently underestimate the importance of "Algol-like syntax" in allowing mainstream adoption.
Re:Pharo 9 by pjmlp on Thursday July 15, 2021 @10:19AM (#27845024)
Actually language developers consistently underestimate the importance of large corporations pushing languages no matter what developers think about them.

Smalltalk lost the day IBM decided to join Sun.

https://en.wikipedia.org/wiki/VisualAge

> VisualAge Micro Edition, which supports development of embedded Java applications and cross system development, is a reimplementation of the IDE in Java. This version of VisualAge morphed into the Eclipse Framework.

Re:Pharo 9 by xkriva11 on Thursday July 15, 2021 @03:48PM (#27849245)
Re:Pharo 9 by discreteevent on Thursday July 15, 2021 @11:05AM (#27845592)
Java was free and open source and based on files rather than an image.
Re:Pharo 9 by philipswood on Thursday July 15, 2021 @12:34PM (#27846633)
Free as in "free beer", but not open source until much, much later.

Interestingly enough the JVM hotspot compiler was done by Smalltalkers (checkout Strongtalk)

Re:Pharo 9 by igouy on Thursday July 15, 2021 @11:32AM (#27845903)
Java was free. (And marketed by a large organization.)
Re:Pharo 9 by cmrdporcupine on Thursday July 15, 2021 @01:26PM (#27847254)
It's true, and a huge point. Until Squeak came along I as a hobbyist -- who was really interested in Smaltalk -- simply couldn't get my hands on a Smalltalk (other than GNU Smalltalk which doesn't count). All through the 80s and early 90s I salivated at screenshots and descriptions of it, but never got to play with it.

That said, When I did finally get Squeak, I found it pretty neat, but it just never blew me away like I thought it would. I just didn't have anything to do with it.

Re:Pharo 9 by hota_mazi on Thursday July 15, 2021 @02:20PM (#27848165)
Java was an answer to C++, not to Smalltalk, which had already been dead for a while by the time Java started taking off.
Re:Pharo 9 by cmrdporcupine on Thursday July 15, 2021 @03:41PM (#27849166)
It's more accurate to say it hadn't really come alive yet.

But still as late as 96, 97, 98 you could still find job postings advertising for Smalltalk developers. I know, because early-20s me really wanted to do be doing that, but I wasn't qualified.

Within a few years Smalltalk had vanished from the few industry pockets it had, and was replaced by Java in most cases.

Re:Pharo 9 by blacklion on Thursday July 15, 2021 @04:51PM (#27849975)
Fun fact: I know one company in Russia which built aerospace-grade product in Smalltalk as late as 2010s. I don't know, maybe they still use it right now, maybe it had been replaced, all my friends in this company changed job in last 10 years.
Re:Pharo 9 by igouy on Friday July 16, 2021 @01:52PM (#27859067)
"Ubiquitous Applications: Embedded Systems to Mainframe" (pdf)

https://www.davethomas.net/papers/ubiquitous1995.pdf

Re:Pharo 9 by ketralnis on Thursday July 15, 2021 @02:48PM (#27848528)
Sure. How many new devs do you see writing C?
Re:Pharo 9 by pjmlp on Thursday July 15, 2021 @03:19PM (#27848907)
How do you think UNIX clones, GNU utilities and IoT devices are kept up to date?
Re:Pharo 9 by bilbyx on Thursday July 15, 2021 @05:53PM (#27850573)
Lots in the embedded space.
Re:Pharo 9 by valera_rozuvan on Thursday July 15, 2021 @09:27AM (#27844383)
Check out https://consortium.pharo.org/ - you will see:

"A clean, innovative, open-source, Smalltalk-inspired environment."

Re:Pharo 9 by samatman on Thursday July 15, 2021 @08:09PM (#27851669)
If you look at the home page for Racket, you won't see the word "Scheme" anywhere.

Same thing, basically: neither language wants to be beholden to what's come before, nor to their peers.

Re:Pharo 9 by vfclists on Thursday July 15, 2021 @06:22PM (#27850811)
It is mostly marketing bullshit.

Pharo IS Smalltalk in the same way Skoda is Volkswagen