Live data from Hacker News

Pharo 11

pharo.org

11–20 of 189 posts

Re: Pharo 11

#11
post #5

The "fusion of a developed program and development environment" idea is very cool. One (maybe dumb) question though: > Simple & powerful language: No constructors, no types declaration, no interfaces, no primitive types. Are constructors and primitive types really the sort of things that people find to be unnecessary complexity?

Constructors are tools to put an object in a starting state, but there's alternative solutions; in Go, factory functions are pretty common.

Primitive types reminds me of Java, which doesn't have primitive types per se (everything is an object under water), but they're adding it soon (or already have) for performance reasons.

Re: Pharo 11

#13
post #5

The "fusion of a developed program and development environment" idea is very cool. One (maybe dumb) question though: > Simple & powerful language: No constructors, no types declaration, no interfaces, no primitive types. Are constructors and primitive types really the sort of things that people find to be unnecessary complexity?

Many languages need constructors (and static methods) because the class is not an object.

In Smalltalk the class is the sole instance of another class (MetaClass), so a "static method" becomes a "class-side" method. And so it is inheritable.

The meta relationship is hard to understand (at first), but it is part of what causes the parsimony in all the interactions, and the "everything is an object". https://stackoverflow.com/questions/57898036/is-it-true-that...

Primitives (as in int, double, etc.) are a different subject, and although an Integer or a Smallinteger is a specially optimized object, it has the overhead of being an object (as in "Boxed" Integer in other languages), instead of some bytes at some memory location.

Most of the times you don't need the optimized version, and if were the case that you do, then it's when you optimize that piece of execution specifically (maybe making an external call to a more low-level, optimized version).

Re: Pharo 11

#14
I used Pharo in my Object Oriented course at the Univeristy (for my CS degree) and I was really surprised for this paradigm. We saw Haskell and Pharo and I was really happy to discover new things from a language point of view. It is hard to say that Java or any other imperative language is OO after seeing Smalltalk/Pharo.

About the question if it's used in production, the teacher for that segment of the course was a specialist who worked on big companies and showed us examples of being used and we were (again) blown away.

I never fully understood it (although I passed that course), but it's one of the things I'd like to know it better: not for usage, but out of curiosity.

Re: Pharo 11

#15
post #5

The "fusion of a developed program and development environment" idea is very cool. One (maybe dumb) question though: > Simple & powerful language: No constructors, no types declaration, no interfaces, no primitive types. Are constructors and primitive types really the sort of things that people find to be unnecessary complexity?

Constructors are tools to put an object in a starting state, but there's alternative solutions; in Go, factory functions are pretty common. Primitive types reminds me of Java, which doesn't have primitive types per se (everything is an object under water), but they're adding it soon (or already have) for performance reasons.

Java does have primitives/unboxed types (int, long, boolean, etc) what they’re adding is support for unboxed/value classes created by users. This should help reduce the duplication between int and Integer and so forth.

Re: Pharo 11

#16
post #14

I used Pharo in my Object Oriented course at the Univeristy (for my CS degree) and I was really surprised for this paradigm. We saw Haskell and Pharo and I was really happy to discover new things from a language point of view. It is hard to say that Java or any other imperative language is OO after seeing Smalltalk/Pharo. About the question if it's used in production, the teacher for that segment of the course was a…

I'd be interested in some of these industry use case stories if you could share something.

Re: Pharo 11

#17
post #12

Earlier quoted context omitted.

I work for one of the companies on that list and can attest we still use smalltalk/pharo.

Very cool. Smalltalk is one of those "I'd like to learn" languages for me.

it would take you about half an hour. absolute minimal syntax and fairly obvious semantics.

of course, learning how to use it properly might take a little longer :-)

Re: Pharo 11

#20
post #14

I used Pharo in my Object Oriented course at the Univeristy (for my CS degree) and I was really surprised for this paradigm. We saw Haskell and Pharo and I was really happy to discover new things from a language point of view. It is hard to say that Java or any other imperative language is OO after seeing Smalltalk/Pharo. About the question if it's used in production, the teacher for that segment of the course was a…

I'd be interested in some of these industry use case stories if you could share something.

Not the OP but JP Morgan’s Kapital system which underpins their credit hybrids business was smalltalk.

I say was because i believe it’s been deco’d in the past few years but i don’t know for sure, when i worked at JP it was still a core breadwinning system.

Post reply on HN