12 ms·
It is like fitness. One just hates it when it aches all over the place and then quits. Or keeps on moving through the pain/grind and grow a lot in all kinds of
by philippeback 9y ago
It is like fitness. One just hates it when it aches all over the place and then quits. Or keeps on moving through the pain/grind and grow a lot in all kinds of ways.
And saying that VA or VW give a better user experience when coding vs Pharo, I beg to differ.
- martin-t 9y agoExcept the pain in pharo doesn't come from the difficulty of learning new things or self-improvement but from the buggy environment itself. Learning to save your work every 5 minutes because it might crash any time doesn't make you a better dev, it just lowers your standards.
- philippeback 9y agoCome on, you are just throwing mud around for some reason I do not even want to know about. It is hard to lose code with Pharo. I have always recovered everything 99.999% of the time. You are happy with VW, fine with me. I cannot stand it.
- martin-t 9y agoThe reason is Stéphane Ducasse is using his students as unpaid testers[0]. I can't see any other reason he'd make us use the latest technologies as you mentioned. I also don't like the approach "let's write some code that passes tests and maybe works 80% of the time, and then release a few fixes every week for the next few months". Some of my classmates had to wait for 2 weeks just to get a working version of iceberg for the team project. And by working i mean it managed to clone the project, we kept getting "message sent to nil" and "object X does not understand message Y" errors for the rest of the semester and not just from iceberg. Any of those would be trivially caught in a static language. Yes, there's a recovery feature. I found it slightly buggy too but it worked most of the time (and yes, i used it a few times). Still doesn't help when the whole image gets corrupted and pharo segfaults on startup. [0] https://news.ycombinator.com/item?id=16757107 https://news.ycombinator.com/item?id=16757107
- ben-coman 9y agoMartin, IIUC you are a student that suffered a class using bleeding edge features. I can understand why you are bitter, but you should not be so quick to disparage Mr Ducasse. Your faculty was his client, and it seems that circumstance was outside his control. From our mail list... Stephane Ducasse wrote: > I told them NOT to use github. > I told them that Bloc was alpha. They got a large list of topics and could have picked another one. > Now of course we should improve and they too.
- martin-t 8y agoFair point, i assumed using iceberg was his idea, my apologies if it wasn't. Can't comment on the stability of bloc, other team-members did that part of the project. OTOH, please note that iceberg was only the tip of the iceberg (i am a huge fan of the name), the IDE itself did crash many times and corrupted my image once. The formatter moved comments into other blocks which changed their meaning and combined with CTRL+Z it deleted code after cursor in some cases reproducibly. One extra funny though harmless bug was that shift+click didn't select a range of items items in some listboxes. It selected just the new one but left the old one highlighted. I clicked a few items and sometimes it selected the whole range. When I released shift and clicked more items, it played back the clicks i made earlier and selected those items instead. We joked that smalltalk did not only invent OOP but also command queuing in strategy games. Yeah, it was mean but we couldn't imagine what code had to be behind the listboxes to cause this behavior. So yeah, maybe someone else thought OOP students would make a good typechecker for iceberg and designed the class accordingly but what i think and say about pharo still stands.
- ben-coman 9y agoFrom your "learning experience report"(Dec 2017) linked further down I see that two of your main gripes relate to Bloc and Iceberg(Git). * Bloc is not a "Released" subsystem. While its development group report Bloc is stabilizing and encourage more people to start exercising it, Bloc is not on the Pharo 7 Release roadmap. Pharo 6 is current stable release. * For a long long time, Monticello was Pharo's main source code control system. Responding to general criticism that Smalltalk sometimes lives in its own shoebox and doesn't interface well to "standard" systems, Pharo is spending significant effort on Iceberg to adopt Git as its main version control system (I don't know of any other Smalltalk that has a GUI Git tool). But Iceberg is quite a new subsystem with a Technical Preview release in Pharo 6.0. It was initially slow to draw new users from Monticello as many users were not familiar with git, so bugs remained that were only exposed with broader use. Last December I was trying Iceberg and also experienced crashes with it. One thing to keep in mind is that Pharo's usually great stability is due to everything being implemented in itself on a garbage collected virtual machine, i.e. memory-violation errors eliminated. Iceberg makes use of the "libgit" external C library via FFI. While this aligns with Pharo's policy of not reinventing the wheel (another oft criticism of Smalltalk) but does allow memory errors that normally could never occur. So the Iceberg subsystem is not a good benchmark to judge the stability of the rest of Pharo. btw, Lately I've found Iceberg stability quite improved and I started using it daily. Also, based on constructive feedback an improved GUI is planned. * Around December there was also bug in the new Garbage Compactor related to the conversion of the VM from 32-bit to 64-bit. This is a complex system that took a while to identify, diagnose and correct. Unfortunately I think you landed in a perfect storm. If the presenter was trying to show off the latest features I guess you got caught up on the bleeding edge of development. Part of the problem here is Pharo bleeding edge is usually quite stable (I use it daily), but we of the Pharo choir better placed to work around any hiccups in order to push Pharo forward. But these should not be exposed to newcomers and you don't have time to deal with them in a classroom setting. I'm sorry this damaged your impression of Pharo, but please understand how your broad statements damage Pharo in turn.
- ljw1001 9y agoI'm sure VA and VW are out of date today, but when I used them, did not break all the time. The libraries worked together. I'm sorry to say that has not been my experience with Pharo.