Live data from Hacker News

Pharo 12

pharo.org

101–110 of 116 posts

Re: Pharo 12

#101
post #96

I check every release hoping that they finally fixed rendering for HiDPI. Guess I'll have to keep waiting.

You want cuis smalltalk. It's a heavily-simplified smalltalk (like pharo, it was also forked from squeak), with a redesigned morphic system - which is ENTIRELY vector graphics based (plus a few other niceties).

Yes, even the fonts themselves are vector graphics. You can use a fancy cursive font, rotate a text window, and then zoom it in or out - with total clarity.

Re: Pharo 12

#102
post #96

I check every release hoping that they finally fixed rendering for HiDPI. Guess I'll have to keep waiting.

In Settings Browser, check "Set canvas scale factor automatically"

Re: Pharo 12

#103

Earlier quoted context omitted.

I agree with you. I've worked for a while at a company using it in production [1]. For learning Pharo (while not working at a company), I've learned that going to ESUG [1] and Pharo Days [2] (2 conferences) is the best way to actually learn. On ESUG there are many professional Smalltalkers, including people that write Pharo. And on Pharo Days there are many OG Pharo devs. They can teach you certain things much quicke…

My initial burst of enthusiasm was dampened by the big gap between the entry-level introductions (ProfStef tutorial, the introductory MOOC) and the sheer complexity of everything the image includes. I'm not a big-time Java developer, I certainly appreciate the elegance of the language and dev environment compared to, say, Python, but that huge list of packages and their Baselines in the left pane of the system browse…

> and one of the veteran Smalltalkers there was preferentially rebasing his code on Cuis because he felt Pharo had become too heavyweight.

Pharo has Iceberg integration. I always used the the functionality of Iceberg that said to load the repository from the .git folder itself as opposed to the repository living in the image. That way, I could do git from the command-line, which is especially important for rebasing as Iceberg doesn't have that feature yet.

I've noticed when it comes to Pharo, you need a hacker mentality. Because it lives in a VM, there are a lot of system programming concepts floating around. It's handy if you have that type of background.

Discord isn't the only part of the community. In Europe, the real backbone of the Pharo community is the academic world and the conferences they organize.

Re: Pharo 12

#104

Without ever practically using this system, my first impression is that this is how mech operating systems would have to be. At a certain complexity of vehicle, you would need all of: manufacturer base features/diagnostics, safe-mode control, an open market of source code to add in, pilot preferences, and then real nerd stuff where you customize in your own routines. All the while being able to explore a live running…

I think Pharo still shines in open-source desktop applications. If I'd ever make a desktop application it'd be in Pharo as I'd want to encourage people hacking on it without ever committing it to git (if they don't want to) and have their own unique version of it.

Re: Pharo 12

#105

Earlier quoted context omitted.

This top comment is stark contrast to the one right below it. I guess pure oo is a love hate thing

I used to dislike OOP and favor functional programming languages, until I started working with Smalltalk. I guess the fact that blocks are closures and also first-class objects make up the difference somehow. I learned that programming paradigm is not the main factor I appreciate in a language, but also the elegant/coherent design, simplicity, liveness of the programming environment etc. Also since most of the time d…

I always tell people amazed with LINQ how we already had it on Smalltalk and Common Lisp.

Re: Pharo 12

#106
post #99
post #77

Earlier quoted context omitted.

> Pharo has had GPU-support for a long time For highly parallel general-purpose computations? Tell us more! https://chapel-lang.org/docs/technotes/gpu.html As-already stated in this discussion RoarVM "hasn't been touched in over 10 years". This discussion is about the Pharo 12 release and supposedly RoarVM is "compatible with Squeak 4.1 and Pharo 1.2 ". https://github.com/smarr/RoarVM

Kinda weird to move the goal posts like this.

How else is GPU-support for a programming language to be understood other than that you can write GPU shaders/kernels in it?

Re: Pharo 12

#107
post #26

Great idea but not pragmatic enough. I did try.

In what way is it not pragmatic? I don't know Pharo at all, but "not pragmatic" often means just "too different from what I'm used to"...

Yes, very different is part of less pragmatic IMHO.

It is very oriented to develop tooling of tooling of tooling and we all work with files nowadays, not wirh images.

I want to like Pharo, but that creates other frictions with tools such as Git (I know you can use Git, I tried, it is just not obvious how the workflow works).

Also, it has a full set of APIs for GUIs that noone knows in contemporany programming.

It is a pitty bc I really think it could really excel at interactive and live programming. However, when I drop Python there even if supposedly inferior, I can have my editor and iterate fast.

I can invent even some kind of hot reloading that works well enough. And the result (the pragmatic result!) is that overall it ends up working better for me.

I really want to like Pharo. I find it super cool. But... every time I use it I end up getting stuck. C FFI, I am not sure how to do it (my fault probably!), workflow is unobvious even if more powerful.

So I end up wanting to do some interactive stuff but I always get stuck.

Also, the software deployment with Pharo is weird. It looks weird. It should look like a regular app when I launch something, not like a marsian environment.

Re: Pharo 12

#108
post #94
post #92

Earlier quoted context omitted.

> that amounts to a lot of work Why? Are you making a lot of changes that conflict with the distro? "Guideline 120 Avoid modifying the existing behavior of base system classes." :-) 1996 Smalltalk with Style page 95 https://rmod-files.lille.inria.fr/FreeBooks/WithStyle/Smallt...

it's not the code conflicts, but all the modifications i made to the environment. addons i installed, configurations i changed, windows i opened, code snippets i have in a workspace/playground. pharo is to much like a desktop, and switching to a new version of pharo is like reinstalling my computer and setting up my desktop from scratch. there is no tool that would just take every change i made to the original pharo…

> there is no tool that would just take every change i made to the original pharo image and apply it to the new one.

What about Smalltalk?

All your interaction with the IDE is implemented in Smalltalk. For each of the changes you want to preserve, figure out which UI class is used and browse the code to figure out how the UI class makes those changes. Then copy what the UI class does into a workspace script, save the script, and file-in to a clean distro image to check that it works.

Here's an example of a little script being filed-in to load a program, do clean-up and save the image:

https://benchmarksgame-team.pages.debian.net/benchmarksgame/...

Re: Pharo 12

#109
post #108
post #94

Earlier quoted context omitted.

it's not the code conflicts, but all the modifications i made to the environment. addons i installed, configurations i changed, windows i opened, code snippets i have in a workspace/playground. pharo is to much like a desktop, and switching to a new version of pharo is like reinstalling my computer and setting up my desktop from scratch. there is no tool that would just take every change i made to the original pharo…

> there is no tool that would just take every change i made to the original pharo image and apply it to the new one. What about Smalltalk? All your interaction with the IDE is implemented in Smalltalk. For each of the changes you want to preserve, figure out which UI class is used and browse the code to figure out how the UI class makes those changes. Then copy what the UI class does into a workspace script, save the…

i would want to preserve everything. this is not solvable with a simple script. in docker this feature comes built in. everywhere else all i need to do is copy my homedirectory, and every upgraded application works with the data i have. smalltalks design makes this a magnitude more difficult, and in the end not worth the effort until i get an opportunity to work on a paid project.

Re: Pharo 12

#110
post #109
post #108

Earlier quoted context omitted.

> there is no tool that would just take every change i made to the original pharo image and apply it to the new one. What about Smalltalk? All your interaction with the IDE is implemented in Smalltalk. For each of the changes you want to preserve, figure out which UI class is used and browse the code to figure out how the UI class makes those changes. Then copy what the UI class does into a workspace script, save the…

i would want to preserve everything. this is not solvable with a simple script. in docker this feature comes built in. everywhere else all i need to do is copy my homedirectory, and every upgraded application works with the data i have. smalltalks design makes this a magnitude more difficult, and in the end not worth the effort until i get an opportunity to work on a paid project.

> not worth the effort

That's your decision to make and I have no reason to quarrel.

Post reply on HN