Live data from Hacker News

Pharo, the Modern Smalltalk

medium.com

41–50 of 178 posts

Re: Pharo, the Modern Smalltalk

#41

Earlier quoted context omitted.

Coming from a place of ignorance, how does Smalltalk not integrate?

Smalltalk does not use text-based source files, with object source code saved as part of a binary vm image. Smalltalk is completely incomparable with unix editors, version control, and developer tools, relying instead on integrated dev tools inside the vm. Because all development and tools are inside a monolithic image, it's not very practical for writing shell scripts

>Smalltalk does not use text-based source files, with object source code saved as part of a binary vm image.

This is a misleading claim often made by the author of this Medium article. Smalltalk code does reside in text files and the IDE keeps them. This is apart of the "image" that is also kept by the environment to enable faster loading and store state.

Re: Pharo, the Modern Smalltalk

#42
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…

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

If this is true, then it's much slower than LuaJIT, Lisp (SBCL) and probably Chez Scheme: Three great dynamic programming languages worth checking out, by the way.

Re: Pharo, the Modern Smalltalk

#43

>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…

i would take "large ecosystem" over "powerful" or "cleanest and purest"

whenever i am in the process of picking a language for a project, i check if there is a library for what i want to do

Re: Pharo, the Modern Smalltalk

#44
post #2

There's a Mooc starting in december by the INRIA ( French Institute for Research in Computer Science and Automation ) https://www.fun-mooc.fr/courses/course-v1:inria+41010+sessio...

Beat me to posting it. :)

Edit: Actually, the course starts on October 16.

Re: Pharo, the Modern Smalltalk

#45
post #19
post #2

There's a Mooc starting in december by the INRIA ( French Institute for Research in Computer Science and Automation ) https://www.fun-mooc.fr/courses/course-v1:inria+41010+sessio...

Oddly, I'm more fascinated that I'll be able to learn French reading through the materials of that course. Perhaps Smalltalk will follow on the side :)

The course is bilingual.

Re: Pharo, the Modern Smalltalk

#46
post #43

>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…

i would take "large ecosystem" over "powerful" or "cleanest and purest" whenever i am in the process of picking a language for a project, i check if there is a library for what i want to do

Every time I use Clojure for the nuts and bolts of software engineering it reminds me why I prefer Common Lisp.

Every time I need to get something done of any magnitude, it reminds me why I prefer Clojure to Common Lisp.

So... What "systems" said. Truly, Clojure is a Lisp for Getting Stuff Done, as it has access to an astounding number of libraries targeting the JVM, largely allowing you to focus on your product's core.

Re: Pharo, the Modern Smalltalk

#47
post #43

>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…

i would take "large ecosystem" over "powerful" or "cleanest and purest" whenever i am in the process of picking a language for a project, i check if there is a library for what i want to do

Yes but on the other hand Smalltalk is an established language with a long history, i wouldn't be surprised if you are able to find all the libraries you need.

Re: Pharo, the Modern Smalltalk

#48
post #13

Earlier quoted context omitted.

You can download whole books with Pharo examples http://files.pharo.org/books/

Maybe a whole book is overkill. When I'm checking out a new language I like to see a couple of short, accessible examples to get a feel for the language. Like this clock[0]: Time now asValueHolder in: [ :clock | [ [ 1 second asDelay wait. clock value: Time now ] repeat ] fork. clock inspect ] [0] https://medium.com/concerning-pharo/elegant-pharo-code-bb590...

I have found that O'Reilly's "Nutshell" books tell me everything I need to know when learning most new languages, and then some. For some languages, though, they have features that might make this sort of overview challenging if you do not understand the core paradigms (such as Rust's ownership concepts).

Re: Pharo, the Modern Smalltalk

#49

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 ho…

can confirm. My day job is coding in Clojure, which I love, but if I get a spare Sunday afternoon I'll do some coding in Pharo, playing with Roassal

Re: Pharo, the Modern Smalltalk

#50

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 always find LearnXinYminutes to be a cool "quick look" at a language syntax: https://learnxinyminutes.com/docs/smalltalk/
Post reply on HN