1. 8
  1.  

  2. 8

    Pyret is another programming language made for teaching programming to beginners.

    1. 4

      Not really a fan of that syntax. And it seems a little too limited imo. However I really like the idea of having some special purpose programming languages designed to teach about some specific PLT concepts, like variable scope, mutability, pass by value/pass by reference, etc. as presented in https://blog.brownplt.org/2018/07/05/mystery-languages.html

      1. 2

        I think you’re spot on. I’d never considered the idea of a language to teach people languages, but it makes complete sense when you think about it. Yes it will inevitably have things people don’t like, but the concept to me is something I wish existed at any point while I was learning how to program.

      2. 3

        The subtitle brought to mind Grace, but I’m always happy to see people trying to make programming easier to understand.

        1. 3

          I really like easylang for that: https://easylang.online/

          1. 2

            Neon source code is case sensitive

            I’m sorry, but that alone is enough for me to not dive deeper into the language: the mixture of all-uppercase, all-lowercase, and “title case” looks like it’s asking to be a PITA.

            1. 1

              Don’t you mean case-insensitive?

              1. 3

                I didn’t mean anything, I was quoting from the docs: »Neon source code is case sensitive«.

                See e.g. https://neon-lang.dev/docs/overview.html

                4.1 General

                All identifiers are case sensitive. Language defined keywords are all upper case.

                And then we have types. Most of them must be title cased:

                Boolean

                Number

                String

                Bytes

                But it would be too easy if all om them were title cased, so there’s

                RECORD

                CLASS

                mentioned together with two title cased types in section 4.2.

                And function names seems to be lower case.

                That’s not something I would like to teach to neophytes.

                1. 2

                  Yes, agree on that.

                  I wonder why these languages are so … not sure … I’m always thinking “they are learners, not dumb” when I see such “pedagogical” languages.

            2. 2

              Interesting. Looks a lot like Pascal. Unsurprising, it lists it as an inspiration (https://neon-lang.dev/motivation.html) and Pascal was written as a language that was both practical and good for teaching.

              I’m not sure though of the goal to teach “Programming Languages” as a singular thing. Programming languages are always intertwined with the artifacts they produce and my pet theory is that people learn programming languages because they are interested in the artifact. Still, some languages are easier to access than others, but this may come in surprising places: PHP is very popular not because it is easy to teach, but easy to run everywhere.