8 ms·
Pharo Smalltalk Overview
- pvg 6y agoBunch of previous big Pharo threads: https://news.ycombinator.com/item?id=18968116 https://news.ycombinator.com/item?id=18968116 https://news.ycombinator.com/item?id=18267445 https://news.ycombinator.com/item?id=18267445 https://news.ycombinator.com/item?id=16754872 https://news.ycombinator.com/item?id=16754872 https://news.ycombinator.com/item?id=14504244 https://news.ycombinator.com/item?id=14504244 https://news.ycombinator.com/item?id=11690125 https://news.ycombinator.com/item?id=11690125 https://news.ycombinator.com/item?id=9386775 https://news.ycombinator.com/item?id=9386775
- theshadowknows 6y agoI’m sure it can’t be done, but I’d love to see Pharo running natively on iOS one day.
- iso8859-1 6y agoI'd prefer iOS running in Pharo, since Pharo is good for debugging and since all iOS documentation isn't freely available.
- saagarjha 6y agoWhy not? I’m sure if you cull the JIT you could probably compile it for the platform. Apparently there’s even macOS and ARM support, so it’s more than halfway there ;)
- jecel 6y agoSqueak was ported to iOS right after the iPhone came out. The virtual machine only had an interpreter back then but, as you said, there is not reason why the JIT (called Cog) couldn't be used as well. Apple has never allowed it on the app store (but applications built with it have been allowed as long as they are completely closed) so people can't get it, but that is a non technical issue. The needed code is at https://github.com/OpenSmalltalk/opensmalltalk-vm/tree/Cog/platforms/iOS https://github.com/OpenSmalltalk/opensmalltalk-vm/tree/Cog/p...
- saagarjha 6y agoNot so, Apple has closed some loopholes in iOS 14 to make (already limiting) JIT restrictions more annoying to the point where it's not really usable anymore…
- deesep 6y agoI love Pharo and occasionally explore it, but I worry that there are very few examples of applications developed with it. [0]The ones listed seem to be old(at least the last time i checked). This page is currently unavailable [0]https://pharo.org/success https://pharo.org/success
- bjz_ 6y agoGlamorous Toolkit[0] is pretty neat! More of something designed for making software on top of, but it's a pretty cool example of what's possible. [0]: https://gtoolkit.com/ https://gtoolkit.com/
- deesep 6y agoThanks for sharing. I'll explore it.
- greggman3 6y agoWhy is that only possible in Pharo? The concepts seem pretty language agnostic. Maybe I've mis-understood what it does but I can imagine a devtools plugin for Chrome/Firefox that basically does effectively if (x instanceof foo) ShowUIForFoo else if (x isnstanceof bar) ShowUIForBar ... And then let you register your object UIs so they show up in the debugger.
- hvs 6y agoPossibly a case of a Hacker News Hug of Death.
- disposedtrolley 6y agoMy favourite feature of Pharo (which I believe it inherited from Squeak) from my very limited experience with Smalltalk environments is the ability to search for methods via example. In the Finder window, you can type an example of an input and the result that you want, for instance `2. -2`, and the system will search for a method to do that operation for you. In this case you'd see the "negated" method which given `2` spits out `-2`. https://www.youtube.com/watch?v=awAB4zHrlHI https://www.youtube.com/watch?v=awAB4zHrlHI
- wk_end 6y agoThis seems like total magic. How on earth is that implemented?
- ssivark 6y agoVenturing a guess: Make up a unit test that runs on all relevant functions of the class (I.e. type) that the object “2” belongs to, and pick functions that pass the test.
- spindle 6y agoYes.
- iso8859-1 6y agoHow could that possibly be safe in a non-pure programming language? There could be a function that deletes the n first files found in the working directory.
- noblethrasher 6y agoI remembering wondering about the same thing a few years ago, and came across this: https://stackoverflow.com/questions/30177559/how-does-find-by-example-work-in-the-pharo-finder/30178067#30178067 https://stackoverflow.com/questions/30177559/how-does-find-b...
- 6y ago
- mickduprez 6y agoI love Smalltalk but apart from the commercial versions, the UI frameworks are very limited or immature and have very few examples or doc's. Yes, you can build your own 'morphs' etc but that doesn't scale well for anything but one off small/toy applications. Pharo is probably the best placed open source Smalltalk to get into the enterprise dev market and has a promising UI framework under dev at the moment but until this gets sorted out I think it will remain on the sidelines for a while yet.
- pjmlp 6y agoCommercial Smalltalks for Windows are as flexible as Win32. http://www.cincomsmalltalk.com/main/ http://www.cincomsmalltalk.com/main/ This was the path they were on when Java happened.
- badsectoracula 6y agoThere is also Dolphin Smalltalk[0] which is an open source Smalltalk with native Win32 UI support. [0] https://github.com/dolphinsmalltalk https://github.com/dolphinsmalltalk
- pjmlp 6y agoYes that was another one. I was using Smalltalk/V for Windows 3.x back in the day, as part of some university project assignments.
- JimmyRuska 6y agoI love the idea of being able to visualize the state of everything while it's running, for me, that's the killer feature I'd love to see in other languages.
- stefanchrobot 6y agoErlang's VM comes to mind. It has great APIs for inspecting a running system and quite a few options for consuming that data: build-in observer [0], CLI version [1], web live dashboard [3] and more. [0] https://erlang.org/doc/apps/observer/observer_ug.html https://erlang.org/doc/apps/observer/observer_ug.html [1] https://github.com/zhongwencool/observer_cli https://github.com/zhongwencool/observer_cli [2] https://github.com/phoenixframework/phoenix_live_dashboard https://github.com/phoenixframework/phoenix_live_dashboard
- nahuel0x 6y agothe "Smalltalk" word is missing from this page and the main one, interesting marketing move :)
- hota_mazi 6y agoPharo has been distancing itself from the word "Smalltalk" pretty much since day one. This is not surprising at all.
- pjmlp 6y agoPharo is no longer a pure Smalltalk-80, it follows its own path. Squeak is the real Smalltalk for modern computers if one wants to be precise.
- xkriva11 6y agoSqueak was never supposed to be a modern Smalltalk. See https://pbs.twimg.com/media/EMJoLicXsAA7dej?format=jpg&name=small https://pbs.twimg.com/media/EMJoLicXsAA7dej?format=jpg&name=...
- pjmlp 6y agoI know, just making the point where Pharo and Squeak differentiate themselves. :)
- mhd 6y agoDidn't Cuis[1] branch off from Squeak even before that to be closer to its ST-80 roots. Although, if I recall correctly, it does at least use Morphic and not MVC. [1]: https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
- hota_mazi 6y ago"The server is temporarily unavailable". Wonder if it's written in Pharo.
- dpraburaj 6y agoIt appears to be. Zinc is the default http client/server package. $ curl -I https://www.pharo.org/features HTTP/1.1 200 OK Date: Tue, 21 Jul 2020 05:18:23 GMT Server: Zinc HTTP Components 1.0 Content-Type: text/html;charset=utf-8 Content-Length: 27546 Connection: close Not sure how common it is to have it serve traffic directly instead of through a reverse proxy like nginx though.
- bmitc 6y agoI've been meaning to find some time and go through the Pharo MOOC. Would love to learn the language and environment. https://mooc.pharo.org/ https://mooc.pharo.org/
- tom_mellior 6y agoI enjoyed that MOOC, I can definitely recommend having a look. I watched the videos in French, IIRC there was English dubbing available, but it was not great.
- bmitc 6y agoThanks for the encouragement! Yes, I've seen the English dubbing, as I've watched the few videos or so. It seems like an interesting language, and I really like the idea of interactive programming systems. It's similar to what I use and the languages I am interested in, but I haven't given a Smalltalk system proper learning time. I feel it's an area of computer science that has not received much attention. If programming languages and their environments were more interactive and gave better feedback, then I feel I don't need all sorts of fancy stuff like dependent types, which really seem to excite people. If the system's interactability and feedback is good enough, I, the programmer, can make the right decisions, which is the primary challenge when programming.
- xkriva11 6y agoWe started to describe these features in more detail on the The Pharo Dev blog: https://thepharo.dev/tag/pharofeatures/ https://thepharo.dev/tag/pharofeatures/
- seif_madc 6y agoFrom my little experience with Pharo, i can say it offers many things i can't find elsewhere and there is a huge room for innovation and improvement, and on top of that a lot of fun, Pharo is not getting the attention it deserves.
- register 6y agoThe main thing that put me down on investigating Pharo even for hobby projects is the absence of native multi-threading support. I know that it depends on the application context but still...