Live data from Hacker News

Pharo, the Modern Smalltalk

medium.com

31–40 of 178 posts

Re: Pharo, the Modern Smalltalk

#31
post #11

They need to work on the presentation. How do you get started ? How does the code look like ? etc. Not just "download this program and buy this book"

FWIW the PDF of the book "Pharo By Example" is available for free. It has also been revised for version 5 - I tried using edition 1 with Pharo 4 and kept having to look up the new names for things, to the point where it was frustrating to try and follow. They appear to have put a lot of work into updating the guide.

Re: Pharo, the Modern Smalltalk

#33

Is there a snippet of example code to look at? I browsed the pharo.org website, but couldn't find an example to give me a taste. I even tried googling "pharo example" and with a brief look at the results didn't find an example. Today, there are hundreds of programming languages competing for attention. It is in your interest to put an example front and center of why one should spend time looking into yet another prog…

I've always found the 'image' environment to be far more interesting than the language of Smalltalk itself. If you do find just code snippets, you're missing out on what I, at least, see as the most significant feature of the whole thing. The way it goes about defining the code is clunky, but the overall structure of 'images' and the workflow involved with them is fascinating. I could easily see something similar bei…

Lots of other languages work/worked that way. System images were a common feature of many Lisp systems and some Forth systems in the 1980s.

Re: Pharo, the Modern Smalltalk

#34

Earlier quoted context omitted.

I've always found the 'image' environment to be far more interesting than the language of Smalltalk itself. If you do find just code snippets, you're missing out on what I, at least, see as the most significant feature of the whole thing. The way it goes about defining the code is clunky, but the overall structure of 'images' and the workflow involved with them is fascinating. I could easily see something similar bei…

Lots of other languages work/worked that way. System images were a common feature of many Lisp systems and some Forth systems in the 1980s.

Also self

Re: Pharo, the Modern Smalltalk

#35
I like Pharo. I was able to build a widget that scraped the front page of HN in an afternoon with it just by following the built-in tutorial and googling.

One interesting "killer app" might be the Moose platform [0]. It's basically an interactive environment for the analysis of software. Writing a parser is rather straight-forward and turning the AST into a visualization is also quite easy. This sort of feels like how I imagine a good IDE should be.

[0] http://www.moosetechnology.org/

update spelling.

Re: Pharo, the Modern Smalltalk

#36
post #17

Okay, so lot's of praise for a language. But I have three questions that aren't answered by the article: 1.) How fast are programs written in Pharao? 2.) Is it possible to write complete and halfway modern looking desktop end-consumer GUI applications in Pharao? 3.) How good is it at parallel programming (i.e. multicore support, not just concurrency with green threads)? I'm always interested in learning a new languag…

1) Last time I tried it was reasonably fast for a dynamic language - somewhat slower than javascript (V8) but faster than python (cpython) to give you a ballpark 2) Yes, but ou will not use native widgets. The way you write applications is: you write code by modifying the behaviour of objects in the Pharo application (which is your editor, debugger, GUI, version control system and so on), then you strip off the parts…

My current main language for my own projects is Racket, but there are performance issues with text% and the support for parallelism is not good enough. So I guess with this respect Pharao will not be a good alternative for me either.

However, I've looked at screenshots and the default widget system seems fairly reasonable. So I'll check it out anyway.

Thanks a lot for the replies, they were helpful!

Re: Pharo, the Modern Smalltalk

#38

Is there a snippet of example code to look at? I browsed the pharo.org website, but couldn't find an example to give me a taste. I even tried googling "pharo example" and with a brief look at the results didn't find an example. Today, there are hundreds of programming languages competing for attention. It is in your interest to put an example front and center of why one should spend time looking into yet another prog…

I've always found the 'image' environment to be far more interesting than the language of Smalltalk itself. If you do find just code snippets, you're missing out on what I, at least, see as the most significant feature of the whole thing. The way it goes about defining the code is clunky, but the overall structure of 'images' and the workflow involved with them is fascinating. I could easily see something similar bei…

That image environment sounds scary to me. I used to do a lot of hardware development, and what I love most about software is that you can always restart from the clean plate (by restarting the program) and/or undo your previous work (with version control).

From what I understand, none of this applies to Smalltalk. You always modify code on the fly, so you may end up with properties which exists, but no current code ever sets them. Or your program ends up in the invalid state, and you have no idea why -- is it a genuine bug or did it happen few minutes ago, when the function was still incomplete?

Re: Pharo, the Modern Smalltalk

#39
>Smalltalk has the cleanest, purest implementation of object-oriented concepts; not even Java, Ruby, nor CLOS can lay claim to that.

I'll take "powerful" versus "cleanest and purest" any day, thank you very much. Sorry but i'm staying with CLOS whenever i want to do object-oriented programming without feeling limited.

The author is on a pro-Smalltalk crusade (which I find just fine, Smalltalk is a great lang, and in a perfect world, it would be as popular as Javascript is today), but does so at the expense of constantly deriding Clojure, Common Lisp and Racket, which I find silly.

Post reply on HN