2014-06-19 22:21 GMT+02:00 Sven Van Caekenberghe <[email protected]>: > > On 19 Jun 2014, at 21:01, kilon alios <[email protected]> wrote: > > > I don't see how something that is simple cannot be easy unless its not > really simple. > > > > So far I have not found Pharo simpler to Python. As a coding experience. > Maybe if I stay around 10 year I will. I know there are things that Pharo / > Smalltalk does better than Python like closure , or concepts associated > with functional programming etc. But in the end of the day I don't care > about languages that theoretically are great. > > > > I have not yet seen great gains in the language while I code, maybe > because in the end of the day I just code in a very simplistic way, I am > not a pro coder, I don't have the experience to use complex concepts like > an experienced coder would do. I know a few things and that is what I use. > But I don't stop learning . > > > > In the end of the day yes I find Smalltalk and Pharo much more difficult > to Python because of the lack of documentation. Even books on Smalltalk > seem to be decades old. Pharo has zero official reference documentation and > I don't , like many others , like to read code , reading code is very very > very slow. Did I just said that I don't like to read code, additionally I > don't like to read code. I hate reading code with no comments. > > Reading well written code is an important way to make progress, IMHO. > > http://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html > > First principle: << Personal Mastery: If a system is to serve the creative > spirit, it must be entirely comprehensible to a single individual. >> > > Even though Linux is open-source I bet most of us have never read any > kernel or system code. In Pharo, everything is easily accessible to a > pretty low level - that is really amazing. > > Using senders, implementers and references to find what you want is a key > skill. > > Of course, not every part of the system is as good an example, or written > in such a way that it is easily understood - nor is everything documented. > And granted, often it can be hard to get an overview. > > But we are moving forward in the right direction. > > Yep, I forgot that I learned with Smalltalk/V and st80... I think I had read all the code base after two or three years, blue book included. Learning with Squeak/Pharo certainly put the hurdle a bit high... I don't think I will ever read the whole... I'd say maybe try and teach with Cuis?
> The syntax however is very simple. I also love that the syntax looks > nothing like C, even though the vast majority of languages I know and I > know most of the popular ones are C based. I never had a problem with the > syntax. So I would say that Pharo is by far the type of language I love to > read, if we exclude the fact that I don't like to read code and I hate > reading uncommented code. So I cannot relate to your students, I don't see > how anyone can see Smalltalk as complex at least on a syntax level unless > he does not real understand what he learned. > > > > I am here however because I have fallen in love with live coding and the > Smalltalk IDE. I was blown away with emacs but one day I asked at #emacs in > IRC "hey guys would not be awesome if emacs had GUIs and a full blown > language" and the answer I got " try Squeak " , "Oh its a lisp thing" , "No > its smalltalk", "what on earth is smalltalk ?" and the rest is history. > > > > I would say that language-wise Smalltalk is by far the easiest language > I have learned. But as a coding experience is hard because of lack of > documentation, lack of good documentation and lack of libraries. I think > however Pharo deserves to be loads more popular, its a very good effort and > me and Pharo seem to have the same goals in terms of coding. "Elegance and > directness". I don't care so much about "simplicity" because nothing in > this world is really simple, not "ease of use" because nothing worth doing > is easy to do. For me "elegance" is doing "the complex thing the simplest > way possible without compromising" and "directness" means "do it now, zero > delays, zero excuses". It seems to me Pharo is build on these ideals and I > would be around as long as it follows them. > > > > > > On Thu, Jun 19, 2014 at 8:52 PM, Dennis Schetinin <[email protected]> > wrote: > > As for me, Smalltalk was both really simple and easy at the time I met > it many years ago. Maybe that's because I have been experiencing so many > problems on the "C++" way and have been looking for solutions… and > Smalltalk had them all. > > > > But I have been teaching smalltalk for almost ten years by now, and I > see that for the most of students (I would say for 90 – 95% of them) > Smalltalk is not easy. I don't know why. I wonder why, actually. But that's > how it is. > > > > And those who don't understand, who don't "feel" Smalltalk always says > "it's too complex". You see, they confuse "it is complex" with "it is > hard". And I think I saw exactly the same thing in that Kilon Alios's > message. That's why I haven't manage not to answer :) > > > > What I wanted to say is that Smalltalk is really simple: it is based on > few essential (and very human) ideas (there could be even fewer though), > has a minimalistic syntax (could have even less syntax though I think). > Other languages are much more complex. I don't know Python well, but I bet > it's much more complex than Smalltalk. But when you do complex things day > by day, for many years… they become easier. You just don't feel complexity > anymore. It's still there, and it still hinders… but you don't see that > anymore. And by now, any other, even much more simpler tool will be > uncomfortable, strange… and hard. I think that's why most students do not > embrace Smalltalk: it's different, it's unusual, it's strange… so I can > admit: it's not easy. But please do not say it's complex! :) > > > > I believe these thoughts were inspired by some articles on "easy vs. > simple", "simple is objective while easy is subjective" etc. …They can be > easily googled if need be. > > > > > > > > -- > > > > Best regards, > > > > > > > > Dennis Schetinin > > > > > > > > 2014-06-19 21:01 GMT+04:00 Nicolas Cellier < > [email protected]>: > > > > > > > > > > 2014-06-19 16:44 GMT+02:00 Dennis Schetinin <[email protected]>: > > > > Simple ~= Easy. > > Smalltalk is simple (simpler then most of other PLs), but it's not easy > (to understand and master, especially after other PLs). > > > > > > > > Intersting... > > I'm certainly too biased after all these years of Smalltalk, but I would > have thought the exact contrary... > > What exactly isn't easy in Smalltalk versus other PL? > > Is understanding and mastering C++, lisp, haskell, whatever, simpler > than Smalltalk? > > Or do you only mean that difference between any two other languages is > less than difference to Smalltalk? > > > > > > -- > > > > Best regards, > > > > > > > > Dennis Schetinin > > > > > > > > 2014-06-17 11:59 GMT+04:00 kilon alios <[email protected]>: > > personally I don't like this postcard , it looks too much like "snake > oil marketing" to me. > > > > It creates the illusion that Pharo is much simpler than other > programming languages as a programming language while nothing can be > further from the truth. The idea here is to prove to the viewer that Pharo > is based on a very simple recipe and that is of course true. But if we have > to be honest is should come with a disclaimer for the potential users that > Pharo is no blue pill and there tons of things outside this postcard you > need to learn if you want to create the simplest Pharo application. I will > be frank , as a language I dont find Pharo any simpler than let's say > python , which I am more familiar with. And the fact that there is this > simple recipe gave me zero benefits to me so far. Its a cool trick that may > come handy down the line if I want to shape the language more to my needs, > but I dont see doing this to a day by day basis. > > > > Now a "living coding postcard" stating the workflow of Pharo and > demonstrating the power of the debugger is much more honest and frankly > better marketing for Pharo. You show something to a person that will > benefit his workflow on a day by day basis. > > > > > > On Tue, Jun 17, 2014 at 10:32 AM, Yuriy Tymchuk <[email protected]> > wrote: > > Now, who is creative enough to add “dynamic array” (one with curly > braces) and temporaries in a block to the original thing: > > > > exampleWithNumber: x > > | y | > > true & false not & (nil isNil) ifFalse: [self halt]. > > y := self size + super size. > > #($a #a "a" 1 1.0) > > do: [ :each | > > Transcript show: (each class name); > > show: ' ']. > > ^x < y > > > > > > > > Uko > > > > On 16 Jun 2014, at 15:35, Oscar Nierstrasz <[email protected]> > wrote: > > > >> > >> I got it from Stef, who always said it came originally from Ralph > Johnson. > >> > >> http://c2.com/cgi-bin/wiki?SmalltalkSyntaxInaPostcard > >> > >> Googling around finds various copies of this, but no original source. > >> > >> Oscar > >> > >> On 16 Jun 2014, at 10:58 , Yuriy Tymchuk <[email protected]> wrote: > >> > >>> I guess it’s here: http://files.pharo.org/media/flyer-cheat-sheet.pdf > >>> > >>> I think that it would be interesting to put the syntax on a postcard. > It can work as a proof of concept, some addition cheat-sheet for newcomers > and also as some king of souvenir. > >>> > >>> Uko > >>> > >>> On 16 Jun 2014, at 10:36, stepharo <[email protected]> wrote: > >>> > >>>> you have the flyer of Damien (no idea where it is) but no real > postcard. > >>>> > >>>> Stef > >>>> > >>>> On 16/6/14 09:35, Yuriy Tymchuk wrote: > >>>>> Hi guys, > >>>>> > >>>>> we all are talking about the syntax fitting in a postcard, but was > there any real postcard with Pharo syntax prototype? This would be really > interesting. > >>>>> > >>>>> Uko > >>>>> > >>>>> > >>>> > >>>> > >>> > >>> > >> > >> > > > > > > > > > > > > > > >
