Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Education Python

Scientist Proposes a New Programming Language For Teaching Coding (and Python) (github.com) 160

Long-time Slashdot reader theodp tells us Netherlands-based scientist Felienne Hermans shared a radical idea at the 2020 ACM International Computing Education Research Conference for a new programming language to be used for teaching coding -- and for teaching Python: Hermans — an associate professor at the Leiden Institute of Advanced Computer Science — observes In her ICER presentation on Hedy that we don't overwhelm children who are beginning to learn to read with the messy rules of capitalization, punctuation, and sentence construction. So why do we think kids unfamiliar with programming concepts will be able to deal from the get-go with the chock-full-of-syntax-challenges presented by even a "simple" Python loop?

Hedy (proof-of-concept beta) attempts to reduce cognitive load by introducing programming with different "levels" that gradually and gently introduce children to new commands and increasingly complex syntax. Hedy, Hermans explains in a paper, is "a gradual language with an increasingly complex syntax, based on how punctuation is taught to novice readers in natural language education."

This discussion has been archived. No new comments can be posted.

Scientist Proposes a New Programming Language For Teaching Coding (and Python)

Comments Filter:
  • Good (Score:5, Insightful)

    by Anonymous Coward on Monday August 17, 2020 @06:46AM (#60409597)

    I was doing a bit of catching up in web programming - I haven't written anything for years, but I do like to keep my hand in.

    Every single time I dip my toes into the world of web... it's a bigger and bigger shitshow.

    I mean jesus wept, there's HTML with all its cruft, then Javascript with its insanity... then CSS. All of these have different syntax rules... and then there are the HTML templates (own rules), and client-side frameworks.

    And then you open the can of worms that is CSS... which is so odd, it needs its own variety of languages to use it as a compile target (SASS etc).

    What a mess. Lots of hard work to develop the most convoluted stuff... and make it criminally hard for a youngster starting to program. Seriously the amount of stuff needed to make progress is staggering.

    • by sycodon ( 149926 )

      Absolutely Correct.

      You take the existing THIRD GEN language, put it into a jar and shake it up and you get Yet Another THIRD GEN Programming Language.

      The only differences is that they take different portions of the language and black box it so, "magic happens here".

      The other day there was a story about natural language programming. This is the kind of shit that ensures that will never happen.

      • Re: Good (Score:4, Insightful)

        by BAReFO0t ( 6240524 ) on Monday August 17, 2020 @08:00AM (#60409793)

        Natural language is shit!

        Completely vague, extremely context-dependent, always changing, and with so much bloat, that it makes hoarder grandma's Windows ME PC look clean and tidy.

        Don't be so lazy. There is no way around learning formal logic and computer hardware.

    • Re:Good (Score:5, Informative)

      by TheDarkMaster ( 1292526 ) on Monday August 17, 2020 @07:32AM (#60409681)
      These days the biggest culprits of this mess have been frameworks that try to hide from you how things are actually done, and the worst are those that try to pretend that a web page would be a desktop application.
      • Yep. If you throw away JQuery, et. al., then you end up with something much simpler and easier to manage.

        JQuery is only needed on resumes, it's not needed in real life any more (IE 6.0 is dead!).

        • I found JQuery has 1 good feature: the $ syntax.

          nobody wants to write document.GetElementByDOMSelectorOrListOfElementSelectorsYouPoorPerson() every time when $(xyz) does the saem thing. Its only a shame jquery returns a jquery object and not a native DOM element.

          If you want to teach kids how to program, teach them C. Its a tiny language, it shows how computers actually work, and once they know it enough to code, they can move on to something with higher level "easy to use" constructs else without a problem.

          • by HiThere ( 15173 )

            What age level? In high school C might be reasonable. Earlier Scratch would be a better choice. In C it's too hard to do anything vaguely interesting.

            Note that it's harder to do anything interesting in C for good reasons. Apple ][ basic was easier to do something interesting in, but it was tied to a specific machine. And even so most who learned it were in high school or older.

            C is a good first language for college students. An adequate first language for some high school students (the kind that are l

            • by darkain ( 749283 )

              There is always QB64. It is cross-platform and supports OpenGL, while still running the original QBasic scripts (like Gorilla and Snake). BASIC is easy to learn, and with OpenGL on the side, it can do crazy and interesting things.

            • It was Java when I was in HS CompSci 15 years ago.
            • by malkavian ( 9512 )

              I was writing assembly at 11, if that helps.. I'd have loved C back then.

              • by HiThere ( 15173 )

                Yes, and I liked assembler in high school too (though computer time was so expensive I never did much). But most people want to get pretty pictures, or interesting sounds. Assembler to do that is way too hard. Perhaps if I started now I'd continue to use assembler, but I quit because every few years the computer would change to something incompatible at the assembly level. So I picked up UCSD Pascall and Lifeboat C. But when I went to work the language we used for the first several years was SPAN (tota

        • I agree about jQuery. If you use jQuery, you STILL need to know JavaScript. So now you have to know two languages - both jQuery and JavaScript. Since they are similar and being used simultaneously, it's easy to get things confused. For example jQuery objects vs JavaScript objects. I much prefer to just use JavaScript.

          As for the idea of a language even easier than Python - wow I hope that never catches on! That would be terrible. Really.

          The idea might be good pedagogy - it makes sense to a teacher. Bu

      • that try to pretend that a web page would be a desktop application

        As much as this sounds like a valid criticism, at the end of the day when you hit compile and the result pops up with a UI on a desktop, the end user doesn't give a shit if it was written in C++, Java, or Brainfuck. I personally find it insane but if the end result is that someone who is good at HTML and CSS can throw a tiny bit of Typescript at it and suddenly have a full desktop application, who am I to criticise because the result isn't "pure".

      • by jythie ( 914043 )
        I would actually argue that the biggest culprit is feature creep. Languages tend to start off small and focused, but in order to 'remain relevant' they keep adding new features to the language itself, trying to make every language be everything to everybody. But I do agree frameworks are a huge issue, esp the ones that seem designed to draw in people from other languages and disciplines by making one language behave like another.
    • Re: (Score:2, Interesting)

      by Anonymous Coward
      At the age of 8, I found ASM intuitive and that's how I self-taught programming. Very few syntax rules to learn.
      • Re:Good (Score:4, Insightful)

        by NicknameUnavailable ( 4134147 ) on Monday August 17, 2020 @08:20AM (#60409879)

        At the age of 8, I found ASM intuitive and that's how I self-taught programming. Very few syntax rules to learn.

        Yeah, some people aren't cut out for abstract thinking let alone coding. The #learntocode thing is a psyop by large corporations which don't like paying peasant developers executive salaries.

    • Comment removed based on user account deletion
    • I agree, the web-stacks have grown yuuuge. With the desktop IDE's of the 1990's, custom CRUD development tended to be distributed in organizations, with developers wearing more IT hats. But today's bloated web-stacks require more layer specialists: UI, logic layer, stack manager, database, etc. The work-shop model gave way to the factory model. It's more labor to make the same app because there is overhead for each layer to communicate among each other. The web's stateless nature and GUI-unfriendly standar

    • I was doing a bit of catching up in web programming - I haven't written anything for years, but I do like to keep my hand in.

      Every single time I dip my toes into the world of web... it's a bigger and bigger shitshow.

      I mean jesus wept, there's HTML with all its cruft, then Javascript with its insanity... then CSS. All of these have different syntax rules... and then there are the HTML templates (own rules), and client-side frameworks.

      And then you open the can of worms that is CSS... which is so odd, it needs its own variety of languages to use it as a compile target (SASS etc).

      What a mess. Lots of hard work to develop the most convoluted stuff... and make it criminally hard for a youngster starting to program. Seriously the amount of stuff needed to make progress is staggering.

      But why would you move past JS, HTML, and CSS? I guess if you want to do full stack there are a variety of ways to go but even NodeJS isn't exactly new anymore.

  • by Anonymous Coward

    We already have BASIC. Bill Gates even coded a compiler for us, for Christ sake!

    • BASIC was never intended for teaching people how to program.

      Maybe the language you're looking for is Pascal.

      • Do you really not know what the "B" in BASIC stands for?

        Really the argument could be made that COBOL, BASIC, Pascal, and Python were all made for people learning to code.

        And all of them serve that purpose fine. Honestly learning to code is about learning fundamentals. The language really doesn't matter. The potential coder needs to learn about variables, conditionals, loops, recursion, sorting algorithms, etc. Then learn about the concept of many usually built-in but commonly used functions (trims, subs

      • The B in BASIC stands for "Beginners ". Now that you know that I trust you can figure out for yourself what is wrong with your claim.
  • by StonyCreekBare ( 540804 ) on Monday August 17, 2020 @06:47AM (#60409605) Homepage

    History repeats itself? Or is this just a rhyme?

    • by beuges ( 613130 ) on Monday August 17, 2020 @07:30AM (#60409679)

      Came here to say this. Pascal was designed as a teaching language, to get students familiar with programming concepts without having to focus on syntax, but being aware that syntax is important.

      program programname
      begin
      end

      This is the basic structure for your program. It makes sense. It has a name, a begin and an end.

      Then somewhere around the early 2000s it was decided that it was a waste of effort to teach Pascal when it's not used in the real world, so most academic institutions decided to switch their entry-level courses from Pascal to Java, where the first thing you see is

      public class ProgramName {
          public static void Main(String[] args) {
          }
      }

      And the intro to programming students are immediately told 'just ignore all those words, you'll be taught about them later'.

      I'm pretty sure we'd have a lot more developers (and of a better quality too) if entry-level courses used the right tools for the job.

      • I'm pretty sure we'd have a lot more developers (and of a better quality too) if entry-level courses used the right tools for the job.

        Or just recognize that the language isn't the problem, the problem is that not everybody wants/needs to be a coder.

        No language will help if the pupil simply isn't interested.

      • Structured versus object-oriented programming. COBOL versus C.

        Apples versus oranges.

        • Structured versus object-oriented programming. COBOL versus C.

          C and COBOL are both poor examples of structured programming and poor examples of object-oriented programming.

          C can be the least structured language around, and it isn't object oriented. The early versions of COBOL are close to the same. Both are bare-metal languages in their early implementations. In the early days, everything was minimalist. I think some of the early COBOL implementations even had 80-column punch card support, complete wit

      • I went through that. Straight from GWBASIC to QBasic, then VB6 all on my own. Then suddenly get thrown into Java. Drove me nuts having syntax that just got copied and pasted without me understanding it. To this day, I can understand only the inner structures of a function but can't write anything from scratch. Not that I've ever wanted to work with Java since.

      • by AmiMoJo ( 196126 )

        Having looked at the examples Hedy seems to be a lot simpler than even that. You can literally just write

        print hello world

        and it works. The way you can then build up by starting to use things like quote marks, variables and flow control is nice.

        The online demo doesn't have syntax highlighting. I don't know if that is deliberate. Sometimes it's not entirely obvious what is a keyword and what is a variable/literal etc but for very simple stuff it's not a big issue.

      • Reading a Java main method is easy for a young person. For an older person, yes, it's hard, but young people have sharper brains and can just ignore the ceremony.

        If reading Hello World in Java is too difficult for you to comprehend, trust me, it only gets worse. I have been doing this for 25 years now...you will never get a real job where you can understand every line of code end to end. You will need to be able to filter out signal from noise.

        I don't think programming is something everyone should
      • by lazarus ( 2879 )

        Niklaus Wirth [wikipedia.org] didn't stop with Pascal either. He also created Modula-2 and Oberon / Oberon-2 to be, among other things, suitable for the development of operating systems. To prove it out he created an operating system called the Oberon System in Oberon-2 which can run on many platforms including in a browser.

        Oberon-2 is probably my all-time favourite computer language. Wish I could make a living writing code in it.

      • What about BASIC? ;)

    • by jythie ( 914043 )
      Well, that is kinda how things work. People try something, spend time looking at what works and what does not, then go back to the drawing board and come up with something better. Both Computer Science and Child Development/Education have come a long way in the last 50 years.
    • by taustin ( 171655 )

      I was thinking Visual Basic 6, which was insanely popular with people who didn't know crap about programming (and which worked fine for simple stuff), until Microsoft took it out behind the barn and shot it in the head.

      • Marketing wise, I'm not sure the VB6 to .NET transition was handled well. Office kept using VBA. With the elimination of VB6, there is no growth path out of VBA. I find it very strange that Microsoft has an Excel monopoly in the financial industry, because of VBA macros, and provides no upgrade path.

        I was never clear why .NET needed to be incompatible with VB6. I get that if you had to recode an application, you might as well use C#. However, to this day, there is still VB6 code walking around without

  • by tiagovdberg ( 947265 ) on Monday August 17, 2020 @06:53AM (#60409611)
    It's called BASIC. Awful Language. But has almost no punctuation marks in it.
    • by jdharm ( 1667825 )
      10 Print "This"
      20 Goto 10

      run
    • by jythie ( 914043 )
      All the more reason for better alternatives.
    • Scratch has none at all.

      This "scientist" needs to learn about things like Scratch before proposing new languages.

      • So starting from Scratch, how do you _gradually_ introduce syntax until you're programming in Python? Going directly from Scratch to Python is an all-or-nothing affair, introducing too much syntax in one go. Or at least that is the point they are trying to get at.

  • by xonen ( 774419 ) on Monday August 17, 2020 @07:00AM (#60409619) Journal

    The question here is: do you really want to teach kids programming in a sloppy way?

    Part of the fun of programming is how a tiny error can crash the program or even the entire computer in our ZX, C64 and W95 days. It's part of the 'the computer does what you tell it to do, not what you want it to do'. It's part of the challenge. And it helps abstract thinking.

    So, while i appreciate the thought of teaching more kids to code and i can see the reasoning behind it, we also don't teach children they can be sloppy when writing a natural language like English. Kos iff vee dooh nod eavan ah humen kood anderstand watt te vec ya meen bro.

    • Re: (Score:2, Redundant)

      we also don't teach children they can be sloppy when writing a natural language like English.

      To some extent you're making an apples-to-oranges comparison. In general, children learn to understand and speak languages like English well before they learn to write them. So when it comes time to read and write the language, then a) they've already made and been corrected on a lot of basic mistakes and misunderstandings and ambiguities and b) they're not starting from scratch.

      I think that when children (and possibly a good many adults) are learning to program, having the equivalent of that pre-literate o

      • To some extent you're making an apples-to-oranges comparison. In general, children learn to understand and speak languages like English well before they learn to write them. So when it comes time to read and write the language, then a) they've already made and been corrected on a lot of basic mistakes and misunderstandings and ambiguities and b) they're not starting from scratch.

        "Scratch" is actually an excellent place to start coding without all the written stuff, syntax errors, etc.

        https://scratch.mit.edu/ [mit.edu]

    • by AmiMoJo ( 196126 )

      Many teachers have said the same, particularly about BASIC. All I can tell you is that I self taught myself BASIC at about age 7 or 8 and somehow turned out okay. I think the main thing at that age is get kids interested and engaged. Remember they haven't mastered stuff like basic spelling and punctuation yet, or maths beyond addition, subtraction, multiplication and division.

    • We do allow a lot of sloppiness in how children produce letters on a piece of paper -- we do not insist they are all neat, in a straight line, the same size, and so on, until a few years in. Grammar is introduced even later (for example I was starting writing letters on a piece of paper aged 4-5, and grammar was taught 8-9, and neat writing 7-8 -- something like that).

      • We do allow a lot of sloppiness in how children produce letters on a piece of paper -- we do not insist they are all neat, in a straight line, the same size, and so on, until a few years in.

        I earned a grade of D in writing (printing) in second grade. Obviously, "neat, in a straight line, the same size, and so on," mattered a lot to my teacher!

    • I suppose so - after all, they'll be working with Javascript wehen they grow up so they might as well get used to pain at an early age :-)

  • Children are already excellent at programming.

    "WANT SWEETY!"

    You see? The verb / parameter sequence is the basis of almost every programming language. And the children also know how to repeat commands. Their main problem is the things they want to program (their parents) have a mind of their own.

  • Logo (Score:4, Insightful)

    by Anonymous Coward on Monday August 17, 2020 @07:13AM (#60409653)
    It even draws pretty pictures.
  • by BAReFO0t ( 6240524 ) on Monday August 17, 2020 @07:36AM (#60409693)

    Why don't we, instead, not breed even more retards by giving kids too too little of a challenge because we are too incompetent to make it engaging and explain it well?

  • by LordHighExecutioner ( 4245243 ) on Monday August 17, 2020 @07:47AM (#60409723)
    I showed my children how to use Scratch [mit.edu], they learned it faster than I could teach it to them. The android version is quite limited, but I wired up a raspberry to my home network, and they are enjoying it with full options. Next step is to interface some LEDs and motors to the Raspberry, and show them something about robotics. Don't reinvent the wheel...just spend some time with children, and they will learn fast. Once they are familiar with scratch coding, it wouldn't take a lot to learn C/Python/COBOL, whatever you want.
  • by kamakazi ( 74641 ) on Monday August 17, 2020 @07:56AM (#60409777)

    I admit, I started programming as a kid in the 70s, and I started with actual machine code for the Z80, first language used was basic. However, by the time I got to college at the end of the 80s there was a prerequisite for all programming courses called Logical Problem Solving. We never touched a computer, but we were presented problems and learned to solve them. Pseudocode was taught and allowed, but we actually lost points if our solutions appeared to be an actual programming language.
    I found this to be fundamental in my own programming, because if the programming is conceptual, then a language is just syntax. If you are teaching programming and syntax at the same time then my opinion is there is a better way.
    When I went back to college in 2002 I found that there was no longer a language free fundamental programming class. And I saw the kids coming in through the program seemed to associate the basic elements of programming with a language in a literal sense, not with programming in a conceptual sense. When I need a new language I don't ask if the language has a basic structure, I ask what the syntax is. These kids often seem to have trouble realizing that structures that are syntactically different may be conceptually identical.
    So in my opinion we don't need another language to teach programming.

    • 100% this. I have been assisting CS teachers through high school and college, and I consistently saw 3 issues that beginning programmers had trouble with:
      1) The IDE: how do I load / save my program, how do I compile and run it? What are all these options for?
      2) Basic programming stuff: syntax and concepts. Why the semicolon at the end? How to use functions? What exactly are objects?
      3) Translating requirements into a design, translating problems into algorithms (what you describe)
      In my experience, t
  • by Shotgun ( 30919 ) on Monday August 17, 2020 @08:00AM (#60409795)

    The language to start kids with is ENGLISH (or French, or German, or whatever language happens to be prominent in your locality).

    If I had a dime for every time I had to deal with some lug nut that can't give simple friggen' instructions to complete a task, I could have been retired already. "Programming languages" are nothing more that formalized methods of providing instructions to a compiler so that it can generate machine code implementing the programmer's desire. The programmer, in all cases, must be able to enunciate what that desire is. If you can teach her to write that down in a clear and concise way, using plain [local language], translating those instructions to a particular programming language is trivial.

    I repeat, for the umpteenth time, the hard part about programming is NOT the language. It is the ability to clearly write down directions to complete a task.

    • Then you might actually like this new "language" as it is just a subset of unambiguous plain English.

    • by dabadab ( 126782 )

      The programmer, in all cases, must be able to enunciate what that desire is. If you can teach her to write that down in a clear and concise way, using plain [local language], translating those instructions to a particular programming language is trivial.

      That sound deep but I call bullshit.
      It's hard to really understand what "clear and concise" is until you actually start programming and start to see your instructions in action. And it's not just 8 year old kids but in the early days of computers actual math

    • There's a difference between understanding language and breaking down a task into a logical sequence of steps. But before you can use those steps you do at the very least need to speak the same language, and the point of the entire article is to teach what is important (the very thing you complain about) rather than frustrate people's learning efforts in syntax.

    • by kamakazi ( 74641 )

      Hey, that's what I said 4 minutes before you did! Usually I say things right after someone else says them. :-)
      I agree wholeheartedly.
      If you can tell a person what to do, then you can tell a computer, the computer is just better at following instructions repetitively and literally.

  • Maybe teach them LOLCODE [wikipedia.org] as a first language?

    Just puttin' it out there...

  • Yes, that's radical: We create a new programming language!
    • Seriously. It isn't even radical to have a made-for-education programming language. This has been done for at least 40 years.

  • "We don't overwhelm children with punctuation and sentence construction."

    Hyphens have vanished from English in the last twenty years.

    when was the last time anyone under forty used a semicolon?

    how many people care to capitalize anything ever?

    interobang.

    L33t

    Sentence construction? Meet the emoji. If interpreting hieroglyphs wasn't difficult enough, wait a hundred years then try an emoji. Iambic pentameter ain't got nothin' on eggplants.

    • Sentence construction? Meet the emoji. If interpreting hieroglyphs wasn't difficult enough, wait a hundred years then try an emoji. Iambic pentameter ain't got nothin' on eggplants.

      Sometimes an eggplant is just a purple fruit.

  • Don't propose it, do it. Wasn't Java written in a weekend?
  • Oblig:

    https://imgs.xkcd.com/comics/s... [xkcd.com]

    Also BrainF**K

    https://en.wikipedia.org/wiki/... [wikipedia.org]

    Can't let our younger generation off that easily...

    • by erktrek ( 473476 )

      "Hello World" in BF according to Wikipedia:

      ++++++++[>++++[>++>+++>+++>++>+>->>+[>.>---.+++++++..+++.>>.>+.>++.

  • And more about teaching ways of logically organizing steps to a procedure. At least in my opinion. I like scratch for young kids for that reason.
  • by john.r.strohm ( 586791 ) on Monday August 17, 2020 @09:02AM (#60410031)

    Kemeny and Kurtz designed BASIC for exactly that purpose. It worked, quite well.

    Wirth designed PASCAL for almost exactly that purpose. It worked, quite well. A *LOT* of people looked HARD at it, and noticed that the students who started in PASCAL came out a lot better than the ones who started in FORTRAN. (It is significant to note that, when the US Department of Defense put out the requests for a common language for defense embedded systems, all four of the contractor proposals used PASCAL as their starting point. When DoD contacted Bell Labs, asking Bell Labs to propose a language based on C, Bell Labs demurred, saying that C was not then and would not ever become robust or reliable enough for DoD embedded systems work.)

    Abelson & Sussman chose LISP for their start-from-nothing book, precisely because LISP had almost no syntax. They chose the Scheme dialect, because it designed out some of the more "interesting" kludges in earlier dialects of LISP. I will grant that "Structure and Interpretation of Computer Programs" is not the easiest book in the world to read all the way through, and it almost requires a really good instructor to go with it, but the early stuff is very simple and very understandable.

    Perhaps the right answer is, before we propose Yet Another new programming language, we spend some time looking at what has already been done.

    • > Perhaps the right answer is, before we propose Yet Another new programming language, we spend some time looking at what has already been done.

      Indeed. /Oblg. xkcd standards [xkcd.com]

      Or as Bjarne Stroustrup famously said [stroustrup.com]: "There are only two kinds of languages: the ones people complain about and the ones nobody uses".

      Every programming language sucks. The trick is to find the 2 that suck the least for oneself.

  • Lots of post here arguing that the perfect teaching language already exists, and it is thus impossible for anyone to make a better one, and foolish to even try. It is nice to know that in this one area of programming and computer science there is no further room for improvement.

    But there is little agreement on what that language is. Pascal? BASIC? Scratch? Logo? Python? ...

  • The examples on the web site are provided in a slideshow format. Also, it only progresses you forward, so if you want to return to a previous lesson, you have to restart. Really?

    Nothing is understandable unless it looks either like a PowerPoint presentation or an "app", and can't follow basic document navigation rules?

  • If we make things easy when it comes time to do difficult things it would be intolerable because the brain won't be able to cope with it. I mean, we could skip teaching kids to read because reading is hard, so why not just teach them stuff by talking? But we don't, because if we did that it takes much longer to deliver the same information in later stages of life. What I mean is, there may be inherent value in doing tasks that are difficult, require sustained effort that takes time and patience, and overcom

  • Syntax is just a small initial hurdle. But just as spellchecking does not turn a book you write automagically into a bestseller, tools are needed to support semantics and pragmatic levels of programming. It is time for research to move on beyond fixing the simple problems and searching the proverbial key under the light: Repenning, Alexander. 2017. "Moving Beyond Syntax: Lessons from 20 Years of Blocks Programing in AgentSheets [researchgate.net]." Journal of Visual Languages and Sentient Systems 3 (July): 68-89.
  • Why would you need yet another language to teach coding? If you do need it, you don't know how to teach or code.. And I doubt if phyton is the best language to teach someone how to code, but that's another matter. Any already existing language is perfectly fine to start people learning how to code, even kids (I was 7 when I first started learning how to code on an Apple ][ with BASIC), step by step I learned more things.. No need for any other methods to teach coding, first a simple 'hello world' and the sl
  • I looked at levels 1-7 and I think it's a nice educational progression. I've seen the frustration on the part of young kids trying to use an actual programming language like Python -- including some *very* smart ones who 10 years later became excellent techies, so ideas like this are very valuable.

    I'm not sure whether I consider it better than Scratch, though, with its intuitive visual elements. At least the name is better, assuming it was named after the great Hedy Lamarr.

  • What else?

  • At Northeastern University Matthias Felleisen introduced programming using a very simplified version of Scheme, then adding features as needed. Thanks to this approach he was able to teach two semester worth of concepts in one semester. They use a free book for that How to Design Programs http://htdp.org/ [htdp.org].
  • <sarcasm> As a first language, Scala will be effective at halting future programmers from pursuing that career, and will make this space less crowded. </sarcasm>

    I've been programming in multiple languages for decades, and Scala, while the academic goals were admirable, has resulted in a mess of a language - to the point of where you need a syntax analyzer to understand what was written. Therefore, a pointless language. We started using it in some projects where I work, and now they are going ba

Reality must take precedence over public relations, for Mother Nature cannot be fooled. -- R.P. Feynman

Working...