Pharo: A malleable and powerful platform
slideshare.net
Pharo: A malleable and powerful platform
1–10 of 51 posts
Re: Pharo: A malleable and powerful platform
#2Basically, what sort of development takes full advantage of the super-awesome neat features that Smalltalk gives you? Or am I thinking about it the wrong way?
Re: Pharo: A malleable and powerful platform
#3Also put my money in there as a consortium member.
Really a great feel and awesome community.
Re: Pharo: A malleable and powerful platform
#4Currently 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.
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!
Re: Pharo: A malleable and powerful platform
#5I really like the Syntax comparison (slides 46-49). And being able to serialize the debugging context of a running program to a file that can be stored for later
Re: Pharo: A malleable and powerful platform
#6I've always considered playing with Pharo (and Seaside). I just... I dabble in a lot of languages, and struggle to make certain ones fit in my toolbox, at times. Where would you put Pharo? Should I attempt web development in it? Server-side apps? Basically, what sort of development takes full advantage of the super-awesome neat features that Smalltalk gives you? Or am I thinking about it the wrong way?
For C libraries you can use Pharo. Pharo has inherited 2 FFIs from Squeak and has implemented 1 additional FFI called Nativeboost which also allows you to inline assembly code for best performance. There is also the extra option of making VM plugin with smalltalk or C code which in turn interface with C libraries.
For Java there is redline smalltalk, but it does not come with the IDE. It can use Java libraries out of the box.
And for Javascript there is amber, it comes with the smalltalk IDE but its still a WIP, so its not as extensive as pharo. It can use javascript libraries out of the box.
Smalltalk is a chameleon , its a language and an IDE made to fit in any case scenario. I think you will have a real hard time proving that its tool best used for specific scenarios, even in cases where OO approach is ideal, smalltalk approach could be ideal because it still has one of the most powerful OO systems plus refactoring tools, plus IDE, plus many nice toys.
Smalltalk is that extremely rare case of software that it makes coding just flow, with no interruptions and no small annoyances. We call this style of coding "Live Coding" and its definetly the biggest reason to try smalltalk and even more try Pharo.
Give a try and register in our mailing list, you will find many people passionate about smalltalk and yet a very welcome atmosphere for beginners.
I am also a recent convert to Pharo from Python. I love Python but I dont miss it. So far Pharo has been very productive , fun and eye opening experience.
You can find more info here -> http://www.pharo-project.org/home
also a forum for the mailing list can be found here -> http://forum.world.st/Pharo-Smalltalk-Developers-f1294837.ht...
Re: Pharo: A malleable and powerful platform
#7Re: Pharo: A malleable and powerful platform
#8Currently 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!
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.
Re: Pharo: A malleable and powerful platform
#9Now, 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 I can tell even simple "two-liners" force my fingers off of home row...Also anyone happen to know if there's a usable vim-like interface/editor/thing for pharo (other than just starting vim and copy/pasting)?
For the curious, I got this to work (just copy-paste into a Workspace. Note that I had to change getGif with getJpeg -- but I'm not yet sure how to "live patch" that properly, for now I just abandoned the stack trace, fixed the code and evaluated again (the last line):
Gofer it
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfXMLSupport';
load.
(Smalltalk at:#ConfigurationOfXMLSupport) project latestVersion load.
Gofer new
squeaksource: 'XMLSupport';
package: 'XML-Parser'; load.
"Get the data, you can try and print this, if you want"
data := 'http://picasaweb.google.com/data/feed/api/all?q=puppy' asUrl retrieveContents.
"parse it"
doc := XMLDOMParser parse: data.
"split up"
entries := doc
allNodesSelect: [ :n | n name = 'entry' ].
"pick one"
entry := entries anyOne.
content := entry
nodesDetect: [ :n | n name = 'content' ].
url := content attributeAt: 'src'.
(ZnEasy getJpeg: url) asMorph openInHand . "Opens image"Re: Pharo: A malleable and powerful platform
#10I've been playing with Pharo (and seaside) for a couple days now, and I know it's going to be painful to go back to normal tools.