Live data from Hacker News

Pharo, the Modern Smalltalk

medium.com

71–80 of 178 posts

Re: Pharo, the Modern Smalltalk

#71
post #9

My beef with Smalltalk is that it's far too much a world onto itself for my taste. Java is already a bad enough citizen of Unix but Smalltalk takes it to a new level. If Lisp and Scheme can integrate well into Unix, why can't Smalltalk?

It can read files and talk to databases and make network connections etc... Are you just talking about using an editor on Unix files? iirc, the in IDE editor takes advantage of the meta-data in the compiled classes in order to provide a better editing experience that a file system approach could only replicate with a separate parser...

Re: Pharo, the Modern Smalltalk

#72

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…

Smalltalk is not "yet another programming language"; Smalltalk is the language all those other OO programming languages copied. You should look into it because it is the source of the object oriented paradigm and it'll make you a better OO programmer in all of those other languages.

Re: Pharo, the Modern Smalltalk

#73
post #9

My beef with Smalltalk is that it's far too much a world onto itself for my taste. Java is already a bad enough citizen of Unix but Smalltalk takes it to a new level. If Lisp and Scheme can integrate well into Unix, why can't Smalltalk?

What you mean is, why can't you take everything that makes Smalltalk great away, and make it work like every other file based language. The answer is, because then it would suck.

Re: Pharo, the Modern Smalltalk

#74
post #54

Earlier quoted context omitted.

Simply a) keep a copy of the original image [clean slate] b) keep a copy of your changes/additions [use version control if you like] c) import b into a. Repeat daily or weekly as you please. > You always modify code on the fly Since back in the '70s when Smalltalk was being created at Xerox PARC and used there for experimental systems development, changes were automagically recorded in a changes .cha text file. For m…

> Simply a) keep a copy of the original image [clean slate] b) keep a copy of your changes/additions [version control] c) import b into a. Really? So we're back to "MyImage.img.bak.2.old.works", "MyImage.img.bak.3.works", "MyImage.img.bak.2.test"? Now that is an experience I do not want to ever have to experience again.

No you don't manage and back up using images (you can of course). Instead you manage and back up diffs just like you would in any other language. You can do that from inside or outside the VM. From the outside, the VM writes it's changes to a change (diff or journal) file and you get to choose when and if you're going to commit those changes. You can use that file to make commits to your SCM.

Re: Pharo, the Modern Smalltalk

#75
post #63

Earlier quoted context omitted.

> There's no excuse for not having any examples of a programming language… https://pharo.org/ I see examples on their home page.

There is an image showing many IDE windows, one of which does actually show code you would find if you already knew what the code you were looking for looked like. You could still not copy and paste it. Then there is a textual example consisting of two lines of Posix shell, embedded in which is indeed a tiny Pharo program in a string. The parent's point mostly stands. (Oh, and there is a frickin' popup for a frickin'…

> You could still not copy and paste it.

Why would you copy and paste code before you'd done anything more than glance at a language home page?

Perhaps the better comparison is with some other languge IDE:

https://www.jetbrains.com/go/

Re: Pharo, the Modern Smalltalk

#76

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…

This may not be immediately apparent, but I discovered that Smalltalk did not fit into the 'programming language' concepts in my head. I think of a typical bytecode VM language as

  [source code] -> [interpreter] -> [running program]
Instead Smalltalk is more like

  [running program] + [auto persistence] + [editing tools]
So you don't modify large gobs of source code files, you modify the running program from within - aka live editing. The running program consists of a network of interconnected objects. You use the textual syntax also - but only to modify parts of the already live program (e.g. you could 'install' a new method on an existing class object). You inspect the running program using graphical browsers (typically also part of the same program) - and everything you modify is live immediately.

The syntax of Smalltlak is interesting (can be seen here https://en.wikipedia.org/wiki/Smalltalk#Syntax). But the more interesting aspects of the experience are the live editing, working with network of objects, hybrid text/non-text ways of modifying these objects, etc.

Re: Pharo, the Modern Smalltalk

#78
post #19

Earlier quoted context omitted.

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 :)

You're probably joking, but fwiw I'm 7 weeks into Duolingo's French lessons right now and found most of this course page to be easily readable without reference to the English. It's much easier than Le Petit Prince, a children's book for which I still need to hit the dictionary a lot.

No, not joking. I have some French courses under my belt from my childhood, but I never got very fluent with it because I never had any use for it. Having an actual need to use the language would be great.

Re: Pharo, the Modern Smalltalk

#79

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…

This may not be immediately apparent, but I discovered that Smalltalk did not fit into the 'programming language' concepts in my head. I think of a typical bytecode VM language as [source code] -> [interpreter] -> [running program] Instead Smalltalk is more like [running program] + [auto persistence] + [editing tools] So you don't modify large gobs of source code files, you modify the running program from within - ak…

> [running program] + [auto persistence] + [editing tools]

How do you use TDD when coding like this?

Re: Pharo, the Modern Smalltalk

#80
post #75

Earlier quoted context omitted.

There is an image showing many IDE windows, one of which does actually show code you would find if you already knew what the code you were looking for looked like. You could still not copy and paste it. Then there is a textual example consisting of two lines of Posix shell, embedded in which is indeed a tiny Pharo program in a string. The parent's point mostly stands. (Oh, and there is a frickin' popup for a frickin'…

> You could still not copy and paste it. Why would you copy and paste code before you'd done anything more than glance at a language home page? Perhaps the better comparison is with some other languge IDE: https://www.jetbrains.com/go/

Yeah maybe if Pharo was just a Smalltalk IDE, but apparently it is a distinct language.
Post reply on HN