Live data from Hacker News

Pharo: A malleable and powerful platform

slideshare.net

11–20 of 51 posts

Re: Pharo: A malleable and powerful platform

#11
post #4

Currently doing web and backend stuff with it. Works very well. Also put my money in there as a consortium member. Really a great feel and awesome community.

Neat! What sort of web stuff? Using Seaside or something else? Do you think you could send me an email (in my profile here), I'd love to pick your brains about using Pharo in production!

Seaside. B2B stuff. There is no big deal using this in production. Even works on AWS if you want. There is no big difference in doing java and pharo at the end of the day.

So, load balancing and monitoring you can do with things like nginx and monit.

Of course, I am no in the league of doing the next Twitter. It may keep up tough.

I am tying everything together with RabbitMQ, so scaling is doable.

Storage for blobs etc is in Riak.

Re: Pharo: A malleable and powerful platform

#12
post #8
post #4

Earlier quoted context omitted.

Neat! What sort of web stuff? Using Seaside or something else? Do you think you could send me an email (in my profile here), I'd love to pick your brains about using Pharo in production!

Seaside is one approach, there is also Aida-Web. Those are implemented in pharo. with Amber you can use also node.js if you want. And any server side node.js library you can get your hands on. Amber can use any js library. You could even mix amber, pharo , node.js and seaside / aida-web .Sky is the limit. Its up to you which specific approach you will choose. You definitely have loads of options.

I had a shot at Aida-Web, not my cup of tea. Does the job though. Amber is another beast, and is a very good option for single page web apps. Can do proxying of JavaScript objects, so you can harness whatever you like in your code and use the JS API the Smalltalk way. Which is kind of cool. With the Helios IDE, it is a killer. Needs a while to master but worth the time.

Re: Pharo: A malleable and powerful platform

#14
post #9

Very nice - even managed to duplicate the demo with a bit of effort (once I got 32bit gl librarires installed in my 64bit ubuntu and got the standard 3.0 image/vm to start...). Now, it appears one can do/print with ctrl-d/ctrl-p -- and that it will work for the current line, eg: 1 + 1 "prints 2" But how about blocks? Is there a reasonable alternative to either selecting with the mouse, or with shift-arrow? As far as…

AFAIK there's no keyboard shortcut that selects the whole block (taking block to mean a multi-line chunk of code, rather than a closure).

What you can do is put empty (or even non-empty!) comments between chunks of code, double-click just after the comment and everything up to (but not including) the start of the next comment will be selected.

  ""
  myFoo do: [:each |
      each bar
  ]
  ""
... and so on.

Many years ago someone did produce a set of vim key bindings for some version of Squeak (ancestor of Pharo), never tried it and I've no idea how well it would work under Pharo. Googling for vim squeak will get you some starting points.

Re: Pharo: A malleable and powerful platform

#15
Side-topic question: is anything from the Smalltalk OO model that hadn't made its way into Ruby?

I know that Matz took lots of ideas from Smalltalk when he created Ruby, but I wonder if there are any good OO model related things he didn't adopt. I don't mean the whole image based and IDE in the program thing, I know this is something only Smalltalk has.

Re: Pharo: A malleable and powerful platform

#16
post #9

Very nice - even managed to duplicate the demo with a bit of effort (once I got 32bit gl librarires installed in my 64bit ubuntu and got the standard 3.0 image/vm to start...). Now, it appears one can do/print with ctrl-d/ctrl-p -- and that it will work for the current line, eg: 1 + 1 "prints 2" But how about blocks? Is there a reasonable alternative to either selecting with the mouse, or with shift-arrow? As far as…

yes blocks are also evaluated with cmd+d. So its possible this way to evaluate/execute multiple smalltalk statements (message sends).

so you can do

a := [ message . message . message . ].a value.

if you just ctrl+d it will execute all messages. "a value" executes the body of the block.

also in pharo like emacs and vim , shortcuts are tied to methods so you can add a shortcut for any method you want. And since pharo has over 70 thousands methods , you will need a pile of keyboards :D

We could implement also a more convenient way of executing multiple lines in a workspace. Generally in Pharo we spent most of our time with system browser and debugger and much less with workspace. Workspace is more for one liners. There is also already a tons of shortcuts, I am new with pharo so maybe there is something already I am not aware of.

Also I don't mind using the mouse now and then. I find it harder to remember tons of keyboard shortcuts. But I am moving slowly to a more keyboard orientated workflow.

Re: Pharo: A malleable and powerful platform

#17
post #9

Very nice - even managed to duplicate the demo with a bit of effort (once I got 32bit gl librarires installed in my 64bit ubuntu and got the standard 3.0 image/vm to start...). Now, it appears one can do/print with ctrl-d/ctrl-p -- and that it will work for the current line, eg: 1 + 1 "prints 2" But how about blocks? Is there a reasonable alternative to either selecting with the mouse, or with shift-arrow? As far as…

AFAIK there's no keyboard shortcut that selects the whole block (taking block to mean a multi-line chunk of code, rather than a closure). What you can do is put empty (or even non-empty!) comments between chunks of code, double-click just after the comment and everything up to (but not including) the start of the next comment will be selected. "" myFoo do: [:each | each bar ] "" ... and so on. Many years ago someone…

you dont need to do that as I replied above. Using my approach will automagically select the whole block and evaluate it without having to touch the mouse.

Re: Pharo: A malleable and powerful platform

#18
post #15

Side-topic question: is anything from the Smalltalk OO model that hadn't made its way into Ruby? I know that Matz took lots of ideas from Smalltalk when he created Ruby, but I wonder if there are any good OO model related things he didn't adopt. I don't mean the whole image based and IDE in the program thing, I know this is something only Smalltalk has.

Less verbose syntax.

Re: Pharo: A malleable and powerful platform

#19
post #15

Side-topic question: is anything from the Smalltalk OO model that hadn't made its way into Ruby? I know that Matz took lots of ideas from Smalltalk when he created Ruby, but I wonder if there are any good OO model related things he didn't adopt. I don't mean the whole image based and IDE in the program thing, I know this is something only Smalltalk has.

Does Ruby have traits ?

http://pharo.gemtalksystems.com/book/LanguageAndLibraries/Tr...

Re: Pharo: A malleable and powerful platform

#20
post #4

Earlier quoted context omitted.

Neat! What sort of web stuff? Using Seaside or something else? Do you think you could send me an email (in my profile here), I'd love to pick your brains about using Pharo in production!

Seaside. B2B stuff. There is no big deal using this in production. Even works on AWS if you want. There is no big difference in doing java and pharo at the end of the day. So, load balancing and monitoring you can do with things like nginx and monit. Of course, I am no in the league of doing the next Twitter. It may keep up tough. I am tying everything together with RabbitMQ, so scaling is doable. Storage for blobs e…

I had the impression that many Seaside projects got rewritten in something else after some time. Last time I checked the site and the success stories.
Post reply on HN