1. 40
  1. 12

    Being intrigued, I took me half the thread of comments to realize it was 3y olds. After a few googling, it seems the author have followed up on their intent : Annexi-strayline consultancy website and their blog.

    The first two languages I was exposed as a teenager (longer than a few articles on the web) was Scheme and Ada because for whatever reasons at the time, I found one book on each for cheap at a second-hand bookshops. It never pushed so far to be fluent on those languages but it set me up for weird expectations for what I expected programming languages to be. I fell hard on my nose when discovering Python, Javascript and C after that :)

    With learning about “everything explicit and words prevail on sigils/hierogplyphs” mentality from and Ada and weirdly it is also something that you will see a lot in Scheme. The main design concept that remains from those two are the homogeneity and predictability of the design syntax, I think that Zig right is pushing also the enveloppe this way.

    I took me a long time to find a language matching reasonable syntax balance between all those until I see Julia. I also developed a strong preference to kebab-case for unclear reason. At the same time, I am digging Raku (where sigil and one (unicode) character function and operators are legion) but hey kebab-case here.

    1. 2

      I also developed a strong preference to kebab-case for unclear reason.

      This is quite prevalent in Scheme and other Lisp dialects. Maybe it stems from there?

      1. 3

        A “good justification” comes from Chris Done’s article:

        Lisp-case: do-and-go

        1 key press per new component

        Chords involved: 0

        Uses standard English compounding character: - (think: “type-class”, “camel-case”, “five-point”, “computer-generated”)

        Aesthetically pleasing, consistent height and separation

        1. 1

          I realized last week that this means that I could bind the uppercase characters to paredit stuff; in comments and strings they self-insert, and on the rare case I need to type them in an identifier or symbol I can C-q first.

          It’s working out great, I have four different lengths of wrap hardcoded. Usually I just want zero, one or two anyway.

        2. 1

          Yes, it was a bit tongue-in-cheek sorry and a bit about finding kebab-case the more readable form vs snake and camel without really knowing why (besides first exposure and impact that can have on habit).

          1. 4

            You should take a look at the Zinc programming language. It allows whitespace in identifiers. Spacecase.

            (Also, there’s a joke to be made about “kebab-case” and “tongue-in-cheek”.)

            1. 3

              So did Algol 68, technically.

              1. 3

                Keep on stropping in the free world

            2. 2

              Christ, I feel dumb, haha. I was tired writing that comment…