This is really exciting - congratulations to the team and all the contributors. For those who already know "what smalltalk is all about" but are looking to get into Pharo and get something done, I recommend Pharo by Example and Deep into Pharo - between those two books, any developer should be able to figure out the workflows Pharo expects you to employ to be productive. My only advice would be to go in without preco…
Pharo 9
191–200 of 232 posts
Re: Pharo 9
#192The 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
#193And 10 years later still no proper support for retina displays. I really think you should get your priorities straight.
There is a GTK3 backend now, hopefully that should make HiDPI work, support Wayland, etc. – depending on how it's implemented of course. Doesn't look like it's ready to handle all the UI (?) though – in the promo screenshot there's one GTK window on top of a more classic Pharo window (?)
I don't know what they were thinking. As far as I can tell, Pharo UI history has been one bad (as in not pragmatic) decision after another.
Re: Pharo 9
#194Earlier quoted context omitted.
It's a very noisy datapoint, but compare performance VW Smalltalk to NodeJS: https://benchmarksgame-team.pages.debian.net/benchmarksgame/... VW Smalltalk is between 2x and 27x times slower than Javascript. And Pharo is slower yet than VW Smalltalk: https://benchmarksgame-team.pages.debian.net/benchmarksgame/... Nevertheless, as the front page the the Benchmarks Game is careful to mention, benchmark performance is 1)…
Those benchmarks are quite old, from Pharo 5 in 2017. It would be interesting to see a updated version. Eliot Miranda and Clément Béra are working on speculative inlining for the JIT compiler. From http://www.mirandabanda.org/cogblog/about-cog/ - "With Clément Béra I’m working on adaptive optimisation (a.k.a. speculative inlining) at the image level, optimising from bytecode to bytecode. We call this project Sista, w…
Seems to be tagged 2020 — 5.0-202002121043 Wed Feb 12 11:06:45 UTC 2020 gcc 5.4.0 [Production Spur 64-bit VM]
The pharo.version file contains — 80
Re: Pharo 9
#195Earlier quoted context omitted.
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.
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 m…
So how do you explain "HP Distributed Smalltalk" ? :-)
https://www.hpl.hp.com/hpjournal/95apr/apr95a11.pdf
How do you explain "Gemstone/S" ?
Re: Pharo 9
#196Earlier quoted context omitted.
Those benchmarks are quite old, from Pharo 5 in 2017. It would be interesting to see a updated version. Eliot Miranda and Clément Béra are working on speculative inlining for the JIT compiler. From http://www.mirandabanda.org/cogblog/about-cog/ - "With Clément Béra I’m working on adaptive optimisation (a.k.a. speculative inlining) at the image level, optimising from bytecode to bytecode. We call this project Sista, w…
> Pharo 5 in 2017 Seems to be tagged 2020 — 5.0-202002121043 Wed Feb 12 11:06:45 UTC 2020 gcc 5.4.0 [Production Spur 64-bit VM] The pharo.version file contains — 80
Re: Pharo 9
#197This is a long list of rare features that make Pharo interesting: https://pharo.org/features
AFAICT the big benefit of Pharo is on-the-fly introspection and the tooling to support dynamic introspection. quick q: I can see the benefit for creating developer tools like the IDE and maybe for creating domain specific languages (DSLs)... but what "regular" applications benefit from this? in particular, I can see (widespread use of...) introspection making it difficult for a developer of one large Pharo codebase t…
Ever use developer tools in the web browser? Do you imagine they make Gmail harder or easier to debug and maintain?
Re: Pharo 9
#198I've often heard two statements online from older programmers. "Delphi/TurboPascal was the peak of developer productivity" And "Smalltalk was the peak of developer productivity" I've only been programming about a decade so both of those languages were long before my time. Can anyone who has experience programming in Smalltalk share what was so special about it/what made it so productive to write programs in versus ot…
Sure. Back in the day, Smalltalk without GUI was known as "headless" so Google "headless smalltalk" and you should find info.
Re: Pharo 9
#199I've often heard two statements online from older programmers. "Delphi/TurboPascal was the peak of developer productivity" And "Smalltalk was the peak of developer productivity" I've only been programming about a decade so both of those languages were long before my time. Can anyone who has experience programming in Smalltalk share what was so special about it/what made it so productive to write programs in versus ot…
It's a very noisy datapoint, but compare performance VW Smalltalk to NodeJS: https://benchmarksgame-team.pages.debian.net/benchmarksgame/... VW Smalltalk is between 2x and 27x times slower than Javascript. And Pharo is slower yet than VW Smalltalk: https://benchmarksgame-team.pages.debian.net/benchmarksgame/... Nevertheless, as the front page the the Benchmarks Game is careful to mention, benchmark performance is 1)…
Re: Pharo 9
#200>In Pharo, everything is an object. This purity and uniformity in the system and language design makes Pharo clean and comfortable to learn. Does this mean Python and JS meet the same definition and are as "clean and comfortable"?
Maybe the closest "real world" examples would be Lua, and scheme?