Live data from Hacker News

Pharo 7.0 released

pharo.org

211–220 of 236 posts

Re: Pharo 7.0 released

#211

TLDR: Pharo needs mountains of high-quality documentation equal to Python's docs or Java's docs if it seriously hopes to attract server-side or desktop mindshare among developers. Long Version: In 1980, Smalltalk had some of the best documentation of any language out there. In 2019, it basically has none. By 2019 standards, Pharo 7 ships without any documentation at all. That's a game-stopper. Pharo 7 looks really po…

Thanks for the feedback.

Have you seen [1] and specifically [2]?

[1] https://pharo.org/documentation

[2] http://books.pharo.org/

Do you have a particular example of a site where the kind of documentation that you would like to find is published for other language (lets say Python)? This could help to understand better which are the expectations and why current books and MOOC are not enough.

Re: Pharo 7.0 released

#212

I lol'd when the quote, "Pharo is a pure object-oriented programming language and a powerful environment, focused on simplicity and immediate feedback.", is accompanied with a relatively chaotic artwork of the development environment. Anyways, the dedication of the team is really remarkable. It looks like a really useful learning/teaching tool for OOP. I'll try and hopefully beat my prejudice.

For someone who's familiar with the "IDE" shown in the artwork, I was able to quickly parse the different components and it conveyed a vague sense of excitement :).

Sure, but then you might not be the ideal target audience since you're already sold on the concept

Re: Pharo 7.0 released

#213
post #38

Earlier quoted context omitted.

GToolkit is also an exciting new development that's happening in parallel with the mainline Pharo. This is a reimagined programming workflow for Smalltalk with new UIs for coding, debugging, documenting, example browsing, testing, etc. Likely the best bits of this environment will be cherry-picked into future Pharo releases, but meanwhile it is available here at https://gtoolkit.com/ and I for one am building an appl…

Are there any screencasts or similar videos out there? Looks promising but it probably "clicks" more if you see it in action with a more complete example.

There is a nice overview/demo, though unfortunately the quality of the video isn't great: https://www.youtube.com/watch?v=qeYEais1eT4&feature=youtu.be

Re: Pharo 7.0 released

#214
post #77

I like what I see, but they do a poor job of explaining the use cases, which is a common issue for most technical projects. Is this for: - learning? - developing personal projects? - developing business projects? - can be deployed to desktop platforms? mobile ? web? - Has GUI library support? Without a clear break down of use cases, I am just lost in the cool technology without any way of determining if it fits my ne…

Hey!

In fact, Pharo pretty much can do everything you asked for. It is just amazing to learn a lot of CS concepts. Just so know, Pharo is a great tool to teach. I am a student and this is how I came across Pharo about a few years back.

And you can build both Business applications (http://pharo.org/Companies) or personal applications. Take a look at the catalogue here http://catalog.pharo.org/ and http://smalltalkhub.com/list. You can do almost everything in Pharo. Imagination is the limit to what you can do in Pharo.

And also there is a good list of use cases at http://pharo.org/success.

HTH

Re: Pharo 7.0 released

#215
post #69

Earlier quoted context omitted.

>I couldn't understand the fascination with the integrated environments though. The only thing I can recommend it watching some Alan Kay videos or Pharo demos. Windows and Linux UI conditioned everyone to think of UI as a crutch for incompetent users, rather than a tool useful in its own right. This cannot be undone in a single reply, no matter how elaborate it will be. Traditional tools are definitely more polished…

What the Smalltalk and apparently now the Pharo people don't seem to understand is that the entire OS is the IDE, "the image". My OS and all of its rules, tools and configuration, the UNIX philosophy, the POSIX standard, all of its history and convention: _that_ is my dev environment and it's as LIVE as anything can be. Not some one-off unicorn IDE - no matter how awesome it is, sorry guys. My entire toolchain in all…

I am using Linux a ton (actually on clusters of boxes) and have a boatload of tools and languages (including low level C and in the past, assembly).

Now, I am also using Pharo to do things on Linux and it is easier and faster to get results out of it, especially when I need to fix a failure.

Pharo is not replacing the OS (even if it may feel like it).

One can deal with a running Pharo remotely (either via VNC directly into Pharo or with Pharo7, using Calypso remote connections).

I am with you on the symbolic aspect but still, having an image that one can inspect is great. I was not understanding its value when I started. Now, I do. And I also find it awesome to have a stacktrace saved to disk on a server so that I can reload it into my desktop box and see exactly where things went south, including variables, values etc. Try that with a core dump.

Now, to each its own and I have a personal little project I should actually deliver, namely being able to expose a fuse filesystem from a Pharo image, so that I can use vim and tmux and those things right from a server. There is no technical issue doing this, just damn code it.

The current Pharo is not an OS inside an OS. UnifiedFFI actually makes it easy to bind with C libraries (heck, I wrapped LibStrophe which is full of callbacks, callbacks that are actually written in Pharo, including full debugging on callbacks, see https://docs.google.com/presentation/d/1HTG3GB3xdwlje8wADZPj...) and the more Pharo evolves (been there since Pharo 2.0) the more it delivers on what I need.

With the new boostrapping, one can actually have images with just the bare minimum (no UI, no devtools) so that it can run.

Also there is lowcode, a way to do really fast stuff in Pharo (actually putting C types in there): https://hal.inria.fr/hal-01353884/document

What is also interesting for me in Pharo is that it actually stood the test of time. I am sick of new languages that pop up all the time, where one is relearning the basics with half baked libraries. Pharo core classes are solid, work well and after working in there for a while, it becomes second nature to do quite advanced stuff that one would not even dream to do in, say, Java.

Pharo is indeed a tool and in my toolbox, it is one the best ones so far. Coupled with Unix tools, it is a beast.

I not care if it is getting popular or not. What I care is that it works, that I can influence its course and change what is not pleasing me (try that with other toolchains).

And also that its community actually owns it, not a commercial organization like Oracle, Google, Microsoft... In that regard, Pharo is pretty much aligned on Linux.

The Pharo community understands the limitations or warts of Pharo, because there are some. But the features are currently delivering a net positive.

And, a little thing that is quite important: I have fun creating and maintaining systems I have done in Pharo.

This really contrasts with other solutions where fighting with accidental complexity takes 50% of the time, if not more.

Anyway, to each its own. I can relate to being angry when engineering. Pharo is lowering the level on my WTF-o-meter, which is actually good.

Re: Pharo 7.0 released

#216
post #49

Earlier quoted context omitted.

The small size of methods is a feature, not a bug :-). And this partly explains why the lack of [your favourite editor] bindings isn't so important. You don't typically spend as much time as you're used to typing in code - and make progress faster as a result - counter-intuitive as that may sound. The integration and the debugger are most of the reason why.

It sounds a lot like you are trying to tell a programmer to stop programming using the keyboard and program using the mouse instead. I think I understand why you are doing that, but I don't see how you can expect to be successful this way. For 99% of programmers out there, programming IS typing on a keyboard. Clicking around with a mouse is only something that non-expert users (or children, e.g. Scratch users) do, be…

As a keyboard freak and vim user, I can relate.

As a Pharo contributor, well, there is indeed some clicking involved but not as much as you may think.

Keybindings are okayish at this point but can use some more love indeed. But this is not related to the core of Pharo but to the tooling that can be improved on some aspects (and this is moving forward actually).

If a user is not able to use a mouse, well, maybe the user can have a CI that integrates all of the code written in Tonel format and pushed to a git repo. Can work, Tonel format is pretty readable and usable from a command line.

There are ways to use Pharo as a "normal" language. But then, what's the point.

Re: Pharo 7.0 released

#217
post #211

TLDR: Pharo needs mountains of high-quality documentation equal to Python's docs or Java's docs if it seriously hopes to attract server-side or desktop mindshare among developers. Long Version: In 1980, Smalltalk had some of the best documentation of any language out there. In 2019, it basically has none. By 2019 standards, Pharo 7 ships without any documentation at all. That's a game-stopper. Pharo 7 looks really po…

Thanks for the feedback. Have you seen [1] and specifically [2]? [1] https://pharo.org/documentation [2] http://books.pharo.org/ Do you have a particular example of a site where the kind of documentation that you would like to find is published for other language (lets say Python)? This could help to understand better which are the expectations and why current books and MOOC are not enough.

From my experience as a recent Pharo user (started in October 2018 with the Pharo MOOC), the two main issues with existing documentation are

1) Much of it is outdated. 2) Much of it supposes significant prior knowledge of Pharo.

Once you start to become familiar with Pharo, neither is much of a problem. You see that the screenshot of Pharo 5 resembles what you see on Pharo 7 in spite of superficial differences. And you picked up enough of the jargon to be able to judge if some documentation is close to your level or not.

For someone who downloads Pharo 7, starts it up, and wonders "what now", most of the existing documentation is confusing. The MOOC was a much better starting point back in October, but with the new system browser in Pharo 7, it's seriously outdated as well.

Re: Pharo 7.0 released

#218
post #193

Earlier quoted context omitted.

I don't remember the MOOC costing money, but it was in French with English subtitles which is understandable with them being French researchers at INRIA, but it couldn't keep my attention up due to the gap. The books are all free in PDF form and the lead developer also has another website somewhere where he hosts old Smalltalk textbooks which are largely still relevant. They certainly could work on conveying this bet…

Sorry, if I came off as too negative! For me it was just the initial perception I got. E.g. I only realized that the books were free after you told me. And yes, this is due to me evidently being too lazy doing an additional click. I don't mind paying for books, but not as a first step. I did download and tried Pharo because I was intrigued by it from another person, if I just were to land on the website from some ran…

I see what you mean. I think Smalltalk and lisp have always suffered from poor marketing. There have been efforts to change this, but possibly too little too late.

Re: Pharo 7.0 released

#219

Earlier quoted context omitted.

> Without the UNIX philosophy none of this would even get off the ground. So the UNIX philosophy was the only possible way computing could have gone to result in a diverse set of systems that communicate with each other? Is there some sort of CS proof of this claim? Or was it just how history played out? > For some reason some people think programming is hard because you have to create some classes and struggle with…

LOL sorry about that. But still, yeah. > So the UNIX philosophy was the only possible way computing could have gone to result in a diverse set of systems that communicate with each other? I don't know and it is not relevant. If you're so inclined you may come up with another paradigm. Anyway, Pharo in particular is not such a paradigm, it's a fancy tool. Fancy, but a tool and it should behave as such and should co-op…

I sympathize with your criticism, which reflects my first impressions of Smalltalk when I played with Smalltalk 80 on my Atari ST 25 years ago. An impressive system, but isolated from the rest of the universe.

However, today's Pharo has made significant progress with interfacing to "foreign" stuff. The file system has become a first-class citizen of the environment. There is an FFI to work with C libraries. And of course support for network protocols. Source code management is based on Git. It's the GUI that remains in a world (window) of its own, but otherwise Pharo's system integration level is just a notch below languages such as Python or Ruby.

Re: Pharo 7.0 released

#220
post #8

What is this thing - is it a programming language or an operating system or a desktop environment?

It's a Smalltalk. It's half language, half environment. The language itself is one of the inspirations for Ruby, and you will find in Pharo a purer expression of much of Ruby. The whole, 'everything is an object' applies, but so does 'everything is message passing,' and in a much more thorough way. The language's syntax is almost reminiscent of LISP in its simplicity (not its actual form, but there is so little of it…

Thank you very much for writing this!
Post reply on HN