On 19 Jun 2014, at 21:01, kilon alios <kilon.al...@gmail.com> 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.

> 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 <chae...@gmail.com> 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 
> <nicolas.cellier.aka.n...@gmail.com>:
> 
> 
> 
> 
> 2014-06-19 16:44 GMT+02:00 Dennis Schetinin <chae...@gmail.com>:
> 
> 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 <kilon.al...@gmail.com>:
> 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 <yuriy.tymc...@me.com> 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 <oscar.nierstr...@gmail.com> 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 <yuriy.tymc...@me.com> 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 <steph...@free.fr> 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
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 
> 
> 
> 
> 
> 


Reply via email to