Hi,

2014-09-07 13:02 GMT+02:00 Alain Busser <alain.bus...@gmail.com>:

> Strangely, I am preparing a Python session for pupils who are supposed ti
> know almost nothing about programming; and I finally came up with the
> turtle module! I realized that
>
> *COBOL has been invented so that people who work in banks and do not know
> how to program, can program
> *Basic was supposed to be usable by beginners (hence the "b" letter);
> which imho is false
> *LOGO has been invented so that such silly creatures as robots could
> program; and of course children could program in LOGO (and even, as I read,
> tech programmation at the age of 4)
> *Smalltalk has been created to cope with the mice and windows, but
> thinking about programmation for children (hence, Etoys and Scratch)
> *In France there was a thing called "LSE" which was supposed to help
> writing the program in a language neighboring French language. No one
> remembers that, but there were other experiments like "execalgo" or
> "algobox" (not mentionning MathsOntologie ;-))
>
>
> Seeing that, I realize that a programming tool especially made for
> children is not really a new idea, but Python is cool for that. In France
> too Python is heavily used, especially for students. What surprises me is
> that the English government choose Python for *children* instead of, say,
> Scratch. I would not use xMaxima to teach fractions just because xMaxima is
> able to compute integrals!
>
> To conclude, for me, Phratch on Android is the future in that domain ;-)
>

Thank you to make advertisement  for phratch. I hope to see it on Android
soon.

Cheers,
Jannik


>
>
> Alain
>
>
> On Sun, Sep 7, 2014 at 2:29 PM, kilon alios <kilon.al...@gmail.com> wrote:
>
>> Python has no competition. Sure there are languages that are more popular
>> than Python for their own reasons. There have been simpler languages before
>> python, there have been more popular languages, more cross platform
>> languages etc etc but Python fills a gap that no language was able to fill
>> before it , easy to use very powerful well documented libraries. Python is
>> a language that you can teach to a kid now and make a living later on using
>> until his or her old age. Its not because the language is simple , its
>> simple enough but not the simplest. Its because the culture surrounding the
>> creation of libraries . That culture has a name its called "pythonic"
>>
>>  Beautiful is better than ugly.
>>     Explicit is better than implicit.
>>     Simple is better than complex.
>>     Complex is better than complicated.
>>     Flat is better than nested.
>>     Sparse is better than dense.
>>     Readability counts.
>>     Special cases aren't special enough to break the rules.
>>     Although practicality beats purity.
>>     Errors should never pass silently.
>>     Unless explicitly silenced.
>>     In the face of ambiguity, refuse the temptation to guess.
>>     There should be one-- and preferably only one --obvious way to do it.
>>     Although that way may not be obvious at first unless you're Dutch.
>>     Now is better than never.
>>     Although never is often better than *right* now.
>>     If the implementation is hard to explain, it's a bad idea.
>>     If the implementation is easy to explain, it may be a good idea.
>>     Namespaces are one honking great idea -- let's do more of those!
>>
>>
>> this kind of ideology is why Python has been so successful. It has also 
>> inspired jokes like this
>>
>>
>> http://xkcd.com/353/
>>
>> it may look funny and it says thinks about overestimating the simplicity of 
>> those libraries but python does feel at times as simple as this, as simple 
>> as importing antigravity.
>>
>> So if a kid comes to me and ask me "what language should I learn" , I will 
>> recommend a language that is fairly easy to learn , has powerful library , 
>> easy to use libraries , well documented and its a language that will able to 
>> keep using even if his or her needs change, forever. For that only Python is 
>> the language that has been able to succeed and I think its adoption will 
>> continue to progress in educational institutions pretty much everywhere on 
>> the planet.
>>
>>
>> Referring to the rest of your post I dont agree that we need to separate 
>> Data from Code, I think quite opossite that a kid needs to be taught why 
>> Code and Data are one and what that means in practice. I also don't agree 
>> that OO or functional programming or any other programming paradigm I am 
>> aware of are the future. They are simple solutions for simpler times. The 
>> coding community at large the way I see it is in denial hoping to apply 
>> simple recipes to solve complex problems. We need very complex solutions to 
>> very complex problems , we need tools that can interact with the user in 
>> many diffirent ways.
>>
>> Pharo is definitely showing the future, the close integration of IDE , 
>> language and environment. But thats is just the start, the next step is 
>> powerful tools that can deeply interact with code and solve automagically 
>> logical coding problems. Obviously all that has to be wrapped to an easy 
>> enough interface for the user even if the solutions is very complex.
>>
>> Fortunately this where the rest of the coding world is heading. For example 
>> iPython is one of the most popular python projects right and it offers a 
>> highly interactive environment for python coders that shares a lot of 
>> similarities with Pharo though the implementation is very different.
>>
>> So the future is no longer languages , is no longer IDEs , its not even 
>> environments but tools that are produced in these environments that can 
>> vastly automate coding and hide the increasing complexity of coding 
>> solutions. Maybe one day a child will be able to describe to a computer what 
>> kind of software he or she needs and the computer automatically generate the 
>> code for it. That day is not close enough but is where we are heading.
>>
>>
>>
>> On Sun, Sep 7, 2014 at 12:34 PM, Trygve Reenskaug <tryg...@ifi.uio.no>
>> wrote:
>>
>>>  I have for some time been pondering two problems.  One is to identify
>>> the fourth R in *R*eading, w*R*iting, a*R*ithmetic, and p*R*ogramming.
>>> There are many contenders for the kids' first step. I believe the English
>>> government has chosen Phyton as a first language. Scratch has a certain
>>> popularity, there are many others. My concern is "what comes next"? I want
>>> the kid to gradually build a mental model of what computing is all about.
>>> Learn a little, do a little, lean more, do more, etc. up do old age. This
>>> goes much deeper than any programming language. It's a bit as learning to
>>> read. Personally, I "broke the reading code"at an early age. Since then, I
>>> have been learning more and more. What I read today would have been
>>> incomprehensible to me 75  years ago.  But my basic mental model of what
>>> reading is all about has remained unchanged. I have never had to unlearn
>>> anything.
>>>
>>> I suggest that true object orientation (not class orientation) can form
>>> the foundation for the human mental model of computing. Internalize it and
>>> live with it forever.
>>> -------------------------------------
>>> The other problem is to find a better example for DCI presentations. It
>>> should
>>>
>>>    1.     Be executable and have a cool demo effect.
>>>    2.     Its domain model should be obvious from the demo.
>>>    3.     It should have very few and  very simple Data classes.
>>>    4.     It should have a Context that is clearly and obviously
>>>    separate from the Data.
>>>    5.     It should scale to any number of Contexts (use cases) without
>>>    changing the Data classes.
>>>
>>> -----------------------------------------
>>> *Last night I got an idea for an example: A waltzing couple. (See the
>>> attached for a picture and Wikipedia for a movie of the use case).*
>>>
>>> The program needs one simple class for a moveable shape and a DCI
>>> Context for each dance (waltz, foxtrot, tango, ... for two role, polonaise
>>> for more.)  The example will clearly demonstrate the wisdom in separating
>>> what the system IS from what the system DOES since the simple Shape class
>>> would be overloaded with instance methods for all dances.
>>>
>>> What do you think?
>>>
>>>  --Trygve
>>>
>>>
>>>
>>> --
>>>
>>> Trygve Reenskaug      mailto: tryg...@ifi.uio.no
>>> Morgedalsvn. 5A       http://folk.uio.no/trygver/
>>> N-0378 Oslo             http://fullOO.info
>>> Norway                     Tel: (+47) 22 49 57 27
>>>
>>
>>
>


-- 

~~Jannik Laval~~
École des Mines de Douai
Enseignant-chercheur
http://www.jannik-laval.eu
http://www.phratch.com
http://www.approchealpes.info
http://car.mines-douai.fr/

Reply via email to