

Pharo 2.0 Released - MarcusDenker
http://www.pharo-project.org/pharo-download/release-2-0

======
sj4nz
Someone needs to put what "Pharo" is on the front page of their web site
somewhere else other than just the title element in the header which I ignore
most of the time. Browser tabs are usually really narrow if you have 8-9 open.
:)

I had to come here to learn it was a Smalltalk environment.

~~~
teapot7
So true - and sadly so common. If I had my way every website for a
program/ide/library/plugin/whatever would clearly state on the front page just
what the hell it is!

Glad to see Pharo making such excellent progress - they're doing wonderful
work.

------
philippeback
Pharo 2.0 released: tons of new shiny things, an image that is moving the
whole system forward.

Really, being involved in this is like being tied to a rocket surpassing
escape velocity.

Check the real meat here:
<http://code.google.com/p/pharo/wiki/ActionsInPharo20>
<https://pharo.fogbugz.com/default.asp?W7>

------
callinyouin
As someone with essentially no experience with Smalltalk, let me offer some
criticism. (It's constructive criticism, I promise :)

I'm a CS student taking a programming languages course, and for our term
project we need to learn a new programming language, write a small project in
the language and write a paper on its implementation, features, strengths,
weaknesses, etc. After reading about an awful lot of languages, I thought
Smalltalk would be an interesting choice, at least on the implementation side,
given its relatively unique image-based system, not to mention having a
graphical component, essentially an IDE, at the core of the environment.

Since Pharo seemed like the most popular choice, I decided to give it a shot.
I was excited to get started, so I figured I could download the "one-click"
for version 1.4 and get started right away. After extracting the zip and being
given a .app folder, I thought I had mistakenly downloaded the Mac version.
Nope, the website clearly says "For OS X, Linux, and Windows". Right off the
bat this shows that Mac is probably the "first-class citizen", and it
definitely doesn't show that the developers know how to properly distribute
their software for multiple platforms (whether or not it's true, that's what
it looks like). Since my platform of choice is Linux, and having seen the
half-hearted attempts at supporting Linux from so many vendors so many times
in the past, I started to get a bad feeling.

I found the README, whose only information is to run the .sh file included. I
ran it and was given the helpful message that the "Contents/Linux/pharo" file
was missing. Finding that hard to believe, I navigated to where that file was
supposed to be located and, sure enough, there it was. After doing some
detective work, I found the reason for my missing file message was due to the
pharo binary being built for 32-bit systems. NOWHERE on Pharo's home page or
download page is this apparent. No warning is given to the new, unsuspecting,
64-bit-OS-having user.

If anyone involved with the Pharo project is reading this, please understand
that this is unacceptable. In 2013, if some software is built for 32-bit OS's
only, the user should not only be warned before they decide to download the
software, but something less cryptic than a misleading "file not found" error
when trying to run the software would be helpful. I guess I can't say for
sure, but to me this looks like almost no effort was put into helping new
users get started.

Still somewhat determined to get this thing running, I installed an incredible
amount of 32-bit libraries. Still no luck. I got to the point where a "could
not find module vm-display-X11" is displayed. The file does exist, it's just
another case of the 32-bit library blues. I installed some additional X11
32-bit compatibility libraries, but still had no luck.

Unable to justify wasting more time getting this thing working, I just gave
up. I really wanted to spend some time with Pharo, but I guess the developers
don't care about newcomers who don't already know the in's and out's of the
system. I'm sorry, but if you want any sort of Smalltalk comeback that I've
been reading so much about, this is absolutely NOT the way to do it.

~~~
dh83
Yep I can only agree with you, and there is some communication issue for the
matter of the image/vm downloads.

Some measures have been taken especially if you run from the commandline use
the zeroconf scripts from <http://files.pharo.org/scripts>. However still some
issue remain that are currently not nice!

\- no full 64bit support (will be addressed but with a 32bit image format this
isn't that straight forward) \- missing warning to install 32bit libs under
linux (workaround on the way) \- proper packaging (rpm / deb) which installs
the dependencies is missing (also, there are some attempts there) \- you have
to explicitly tell the VM to run headless or not (I honestly don't know why!
:D)

All in all you caught us, we mostly develop on mac, however our test
infrastructure is running on linux hence imperatively Pharo has to run under
linux. Yet there is some need for proper explanations, installation
requirements!

------
Zenchess
Smalltalk is a great language/environment. I think the killer app for it right
now is html5 games. You can program the server back end in pharo smalltalk,
and the client frontend in amber smalltalk. On both ends, you get full
interactivity, ability to inspect and change state, and the ability to debug
and modify the code in real-time without any code/compile/run cycle.

------
stuffihavemade
Is Seaside still being developed? Seems that it died out with DabbleDB being
bought up and the take over of the client side js frameworks.

~~~
dh83
Yes seaside is still in active development and there is progress on getting a
nice configuration working on Pharo 2.0. Until then you can use our manual
build from <https://ci.inria.fr/pharo-contribution/job/Seaside-2.0/> to test
it.

~~~
emaringolo
It isn't fully functional, is it? The image from the CI opens with an STDOUT
error.

What's missing to have a "nice" (working?) configuration for Pharo 2.0?

~~~
dh83
Seaside works, yet it has not been officially release for 2.0 hence we rely on
a gofer script to load all dependencies. What error? I doubt it's related to
seaside. And for the configuration we mostly need somebody to do it :) since
the seaside config is pretty big on its own you got to be careful when
changing things for a new release.

------
ed_blackburn
I read so much about small talk from a historical perspective, I'm
curious..can anyone explain how and why it matters now?

~~~
gecko
In some sense, it "matters" as much as dozens of other "fringe" language
projects (Ceylon, F#, Kotlin, etc.). It brings a different way of thinking to
the table. If that way of thinking is one you like, great. If not, move onto
the next one.

But beyond that, I think the whole reason Pharo matters is that its team is
doggedly bringing Smalltalk _out_ of the historical context. Pharo has
libraries for things like XML, JSON, OAuth, Redis, and OpenID so that you can
interact with other tools. It has support for command-line applications, comes
with an easy-to-use C FFI, and sports a fast JIT so that it's usable for real
applications. It has rewritten libraries for speed, breaking backwards
compatibility where necessary, and has completely overhauled the UI, while
keeping all the pieces that made Smalltalk great. So part of why Pharo matters
is that it makes Smalltalk a real, modern language, that can trivially
integrate with the massive ecosystem that is existing software. No longer is
Smalltalk living in its own little world; it now plays well with others.

As for Smalltalk itself: it still has valuable lessons, even today. Smalltalk
is the only system I know where I can trivially save the running app to disk
and open that running app, complete with all of its state, on another system
to debug what went wrong. It still has some of the best debugging and
development tools of any environment I've used for any language. Smalltalk in
general, and Pharo in particular, is still one of the most solidly turtles-
all-the-way-down environments I have used in my life, where there's no
meaningful distinction between your app, and the core system libraries.

Smalltalk may not be for you, but Pharo makes it a genuinely viable choice for
real-world development.

~~~
igouy
While I appreciate that your comments are intended to promote Pharo, you seem
to be saying that other Smalltalk implementations don't provide support for
command-line applications, C FFI, a fast JIT, usable for real applications.

That doesn't seem right to me.

~~~
gecko
I think, in my head, I implicitly also had "open-source" in that list.

There are several open-source Smalltalks that have some of these things, but I
_believe_ that Pharo is the only one that does _all_ of them. For example, GNU
Smalltalk is the only other Smalltalk I know that has a decent command-line
interface, but it lacks a JIT. (If I have this wrong, hopefully Paolo will
correct me.) You can absolutely use Squeak to write real-world applications,
but the last I checked, you still had to either use the older, slower FFI or
write a plugin if you wanted to call C, and the official distributions still
do not include a JIT. Cuis is largely a subset of Squeak, and therefore has
similar features and drawbacks, and so on and so forth.

If you go closed-source, you do have more options. VisualWorks has a good C
FFI and a fast JIT, and might have a great command-line interface (I honestly
don't remember), but it's not even free-as-in-beer for hobby projects anymore.
Dolphin is likewise fast and has great COM bindings and good libraries, but is
proprietary, and has disappeared and come back enough I'm not entirely sure
I'd feel comfortable spending money on it.

So, yes, you're right, there are other Smalltalks that fulfill some of these
requirements, but Pharo is, as far as I know, the only open-source one that
fulfills all.

~~~
igouy
>> VisualWorks ... but it's not even free-as-in-beer for hobby projects
anymore. <<

Nonsense.

"3. License Fees. This license is granted to you for your personal use only.
Therefore, no license fees are involved, unless you breach the terms and
conditions of this Agreement."

[http://www.cincomsmalltalk.com/main/developer-
community/tryi...](http://www.cincomsmalltalk.com/main/developer-
community/trying-cincom-smalltalk/personal-use-license/)

>> Dolphin ... I'm not entirely sure I'd feel comfortable spending money on
it. <<

So don't -- "Dolphin Community Edition is our Smalltalk development
environment that is FREE for personal/educational use."

<http://www.object-arts.com/products/dce.html>

~~~
emaringolo
Dolphin is stagnated since several years. It's a beatiful piece of Software,
and the best Smalltalk Dialect in terms of native Windows integration. So good
integration that its low level developer (Blair McGlashan) is working at
Microsoft since several years ago.

------
rasur
Double ended fun! Pharo at the backend, Amber smalltalk on the client.

Excellent news from the Pharo team! It's the most fun I've had playing with
computers for almost a decade - Long may it continue!

~~~
diminish
Could someone explain, why pharo matters? I just noticed it on HN#1, and never
heard of it before.

~~~
emaringolo
It is the most recent release of a the Smalltalk based programming
environment, Pharo.

If you never heard of Smalltalk, you can google it. But as a summary I can
tell you it is the father of Object-Oriented Programming, BitBlt, the Model-
View-Controller pattern, the Unit Testing practice (SUnit), the Refactoring
engine, among other things people take for granted today.

------
bergie3000
Strange that the Pharo home page doesn't explain what Pharo does. I'm not
familiar with Pharo and after scrutinizing the Pharo home page I'm still don't
have a clue what it does.

I see a lot of mentions of Smalltalk on this page yet 'Smalltalk' doesn't
appear on the Pharo home page.

Am I missing something? If I'm not already familiar with Pharo, am I simply
not part of the intended audience?

~~~
vincentperes
agree, really hard to find out what it is, the only work that I catch and gave
me a hint is 'virtual machines', but still pretty vague

~~~
epo
Must be really hard to figure you are looking at a download page and then to
click on "home".

------
mark_l_watson
Is this news? Just asking because I have had Pharo 2.0 installed for many
months, but it was probably a beta - it would be good to have dates on
download files and bundles.

I ask because I tried running "System update" and that errored off. If I am
using an old version of "2" then I will go to the trouble of re-installing and
reloading my little project.

~~~
dh83
Unless you regularly updated and worked on the latest 2.0 beta this is news
;). You have a complete list of images here
<http://pharo.gforge.inria.fr/ci/image/20/> including release dates.

During the beta update process it might happen that one or another update
fails. Usually that should not happen though.

~~~
mark_l_watson
I did system updates, eventually got (mostly)everything loaded (after a few
re-trys), but then the image wouldn't save.

So: it only took me a minute or two to fileOut my application packages and
reload them and data into a new image. I should have done this in he first
place :-(

~~~
dh83
or use <http://smalltalkhub.com> in the first place :)

------
skrishnamachari
Great Milestone to all Smalltalk diehards. Kudos to the Pharo Team.

Serves up a bigger notice of stuff that will happen in the next two years...
Smalltalk is definitely on upsurge, if Pharo beats up the drum and the
momentum like this.

Will look forward to fervent Smalltalk with Pharo in the decade ahead..
through all enterprise works..

------
svc
It is awesome to see that Smalltalk, after all this time, is being driven
forward like that !

Just be careful: once you get deep enough into the beauty of Smalltalk, you
will be changed forever and it will be hard to go back.

~~~
pjmlp
I used Smalltalk Visual Works back in 1996 in an university project and it was
quite good experience.

The current development environments still have some catch up to do with the
Smalltalk and Lisp machine offerings.

The only environment I know tried to replicate a similar experience is the
family of Oberon operating systems, because Wirth wanted to explorer a similar
experience, but using a strong typed language.

------
dmpk2k
Does Pharo support multiple hardware threads? How does the performance compare
with VisualWorks?

~~~
emaringolo
No, it doesn't. It is single process with "green threads". Same as node.js ;-)

------
emaringolo
I haven't seen a bigger release for a Smalltalk dialect in the last several
years.

Great work!

~~~
dh83
And we're eager to top this in the following years ;)

------
xutopia
The home page of any project should tell us straight up what it is.

~~~
abredow
The homepage does. This link is to the release announcement.

~~~
timdorr
They include an alt text on the logo image. Why not put that text into the
image itself?

I see a description is in the title of the page, but that gets cut off in my
browser.

"I do enjoy Pharo" is also not a very helpful quote, especially if I don't
know who Kent Beck is.

~~~
dh83
What you don't know Kent Beck!! :D and yes even to me that quote is rather
meaningless :P. I'll try to get the at least the ALT text updated.

------
plinkplonk
Did the new compiler make it into this release? Does anyone know?

~~~
dh83
Nope, even though it is ready for 2.0 it was not included in the release. If
you are more interested you can have a look at the prepared jenkins images
<https://ci.inria.fr/rmod/job/Opal/> .

~~~
gecko
What was new in the compiler?

~~~
dh83
Cleanups and a modern implementation with proper separation of the compiler
toolchain. Additionally they introduced a nice new IR representation to do
more sophisticated changes. All in all it does not come with fancy new
features but a more solid and clean codebase.

------
worldhell129
I'm sorry, I've been turned off of pharo and smalltalk completely. Mostly due
to the fact that I had it forced upon me for my Advanced Algorithms class. I
don't like pharo, and I don't like smalltalk

~~~
philippeback
Your loss mate.

That says more about the ability of your teacher or the fact that you have
some kind of history of abuse by whoever than about the Pharo system.

I guess if he would have used Lisp, you'd dislike Lisp, if it was C++, you'd
hate C++.

What are you using, out of curiosity?

~~~
worldhell129
C++ and java mostly.

