<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p><i>Sorry, a looong message.</i><br>
    </p>
    <p>Le 16/03/2017 à 23:38, Brandon Allbery a écrit :<br>
    </p>
    <blockquote
cite="mid:CAKFCL4W4b3OBgcudhqBseyy+p4hFqoLjjdhbDoFVKayq87R6kw@mail.gmail.com"
      type="cite"> programs are best written for clarity; the *compiler*
      should be optimizing, not the programmer, whenever possible.</blockquote>
    <br>
    A historical anecdote...<br>
    When something called 'cybernetics' ceased to be in the Soviet Union
    a bourgeois pseudo-science whose aim was to enslave the the Class of
    Workers, etc., and Russians and their satellites began to
    manufacture computers, they managed quite fast to master the main
    idea of interesting algorithms, exquisite data structures and their
    processing. They COULD have invented some nice programming languages
    (we are at the end of '50-ties...), but among many other
    calamities,  their forerunners said that they had some wonderful
    teams of very competent mathematicians, who, once instructed how to
    program computers, would do Wonders, in the name of the True
    Proletarian Science.<br>
    <br>
    It was partly true (mathematicians, Andrey Markov Jr., Andrey
    Ershov, etc., not necessarily the Proletarian Science...) .<br>
    So, when the ideal personage of THE Programmer became in US a cliché
    in some science-fiction books (e.g., Asimov's), in the world of the
    True Proletarian Science, very decent humans  wasted a horrible
    amont of time producing low-level codes, and neglecting completely
    the domain of compilation... They managed to put Sputnik and Gagarin
    above our heads, but programming languages did not evolve...
    [[Although the Snobol language invented by Ralph Griswold, was
    partly based on the Markov algorithm concept]].<br>
    <br>
    Now, the morale of this story?...<br>
    Wait a bit.<br>
    <br>
    Second round.<br>
    There is a pedagogical initiative, called the International Olympiad
    in Informatics.  ( <a class="moz-txt-link-freetext" href="http://www.ioinformatics.org/index.shtml">http://www.ioinformatics.org/index.shtml</a> ).<br>
    The evolution of this contest, participating countries, etc., is a
    very interesting story, but here I want just to tell you something
    different. In Wikipedia you will read that<i><b> it is an annual
        competitive programming competition for secondary school
        students. It is the second largest olympiad, after International
        Mathematical Olympiad </b></i><i><b><br>
      </b></i><i><b>The contest consists of two days of computer
        programming and problem-solving of algorithmic nature. To deal
        with problems involving very large amounts of data, it is
        necessary to have not only programmers, <font color="#cc0000">"but
          also creative coders, who can dream up what it is that the
          programmers need to tell the computer to do. The hard part
          isn't the programming, but the mathematics underneath it.... "</font><br>
        <br>
      </b></i>Nice. And now: the TRUTH.<b> The only languages which are
      permitted are C, C++,  and Java</b>. Sorry, recently also Pascal,
    the Eastern Europe insisted upon it.<br>
    I looked through the proposed tasks. A good percentage of them were
    puzzles of logical kind.  But no logical languages were allowed.
    Something which can be coded in 12 lines of CLP, has to be
    ceeplusjavaised on 8 pages, and the Jury acknowledges the speed and
    efficiency of such programs... Laugh or weep?...<br>
    Functional languages? Anybody heard of them?...<br>
    <br>
    Don't  blame the Soviets, please... Look up the <font
      color="#3333ff"><b>British Informatics Olympiad</b></font>. The
    rules I found randomly for the 2000 contest stipulated: <i><b>"The
        languages available will be Turbo Pascal and Turbo C/C++." </b></i>Yes,
    not just C++, but compulsory Borland dialect.<br>
    More?<br>
    Let's see the <font color="#3333ff"><b>ACM International Collegiate
        Programming Contest</b></font>. Rules: <i><b>"... They must
        submit solutions as programs in C, C++, Java or Python 
        (although it is not guaranteed every problem is solvable in
        Python)." </b></i>(Most probably the author doesn't know what
    Python is...)<br>
    <br>
    This is the way we teach our youth to be creative ! In such a way we
    inspire them to became "creative coders". You may think whatever you
    wish, but I am convinced that the best part of the responsibility
    for such a calamitous picture of the CS pedagogy, falls upon those
    feeble-minded "professionals" who know better what is good, what is
    the "main stream" which should be promoted, and what is "wrong",
    which should be severely punished. The totalitarian (or
    fundamentalist)  doctrines are everywhere. Let's build some more
    huge screening walls, and forbid the presence of people who think
    otherwise, and we shall be Great Again.<br>
    <br>
    Jerzy Karczmarczuk<br>
    /Caen, France/<br>
    <br>
    <br>
    <i><b><br>
        <br>
        <br>
      </b></i>
  <br /> <table style="border-top: 1px solid #D3D4DE;">
        <tr>
      <td style="width: 55px; padding-top: 18px;"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank"><img src="https://ipmcdn.avast.com/images/icons/icon-envelope-tick-round-orange-animated-no-repeat-v1.gif" width="46" height="29" style="width: 46px; height: 29px;" /></a></td>
                <td style="width: 470px; padding-top: 17px; color: #41424e; font-size: 13px; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">Garanti sans virus. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient" target="_blank" style="color: #4453ea;">www.avast.com</a>               </td>
        </tr>
</table>
</body>
</html>