Login
You're viewing the front-end.social public feed.
  • Oct 9, 2026, 6:50 PM

    my wishlist for an "everyday" programming language:

    - no slop
    - well defined, open standard that changes infrequently
    - a small team could reasonably re-implement the language from the standard
    - interpreted (or works well in a REPL or notebook-style environment, at least)
    - basic string type is unicode (not just byte strings)
    - performant tabular and multidimensional data support with non-bulky syntax for indexing/slicing/etc (e.g. numpy.org/doc/stable/user/abso)
    - coroutines?
    - no slop

    💬 15🔄 2⭐ 0

Replies

  • Oct 9, 2026, 6:58 PM

    (not 100% sure what i mean by "everyday"—just for making little tools, data processing, integrating things, prototypes. not for high performance or high stakes things)

    💬 2🔄 0⭐ 0
  • Oct 9, 2026, 7:10 PM

    (i suspect the actual answer to this is Some Kind Of Lisp but i haven't been able to find a lisp that seems like it would be okay for doing data-related stuff)

    (i would also like to be able to teach classes in this language, and no one has ever dared to teach lisp to artists and designers. it is forbidden, it seems)

    💬 5🔄 0⭐ 0
  • Oct 9, 2026, 6:57 PM

    @aparrish when you say “no slop” does that mean that ai generated code is against the license of the language? Cause i’ve thought about making a troll language with that license.

    Or does it mean the language is cleanly designed by hand? Which i also want.

    Or does it mean that no consideration for vibe coding is made as part of the design? Which i’m super concerned about for the future of all languages. I love coding in swift, which seems to meet your requirements but i’m concerned and afraid swift will get some user hostile changes because “the robots want it”

    💬 0🔄 0⭐ 1
  • Oct 9, 2026, 7:00 PM

    @spazcosoft i mean no generative AI used in the development of the language (implementation or specification design). though i am also interested in the idea of computer languages that are designed to be actively hostile to vibe coding as a practice!

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 9, 2026, 7:01 PM

    @gbargoud yeah i guess i basically want a stripped down python without a claude banner on the git repo

    💬 1🔄 1⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • Oct 9, 2026, 7:00 PM

    @aparrish Same except I'd be willing to deal with compiling as someone with a broken enough brain to enjoy writing C.

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 1
  • Oct 9, 2026, 7:22 PM

    @bremner @aparrish Yeah, come to Guile Scheme, and more importantly, Spritely's Hoot, which is an implementation of Guile Scheme written in Guile Scheme which compiles to Webassembly (so you know a small team can build it, because we did at the Spritely Institute)!

    AND, regarding teaching it, we soon will be releasing an interactive IDE built on top of Spritely's tech that runs in the browser, no special tooling required

    💬 2🔄 4⭐ 12
  • Oct 9, 2026, 7:46 PM

    @cwebber @bremner @aparrish Wait, scheme's strings are unicode without needing to dodge around stuff? Didn't I try-and-fail to read an old book of the spec in, like, middle-school, doesn't it way-predate unicode standardization?

    ... oh right wait right you can Just Do That if you come together to consensus and put out reports revising the language every ~decade or so.

    💬 2🔄 0⭐ 2
  • 💬 1🔄 0⭐ 0
  • 💬 0🔄 0⭐ 3
  • Oct 9, 2026, 9:28 PM

    @gaditb wisp is working without a hitch. No syntax changes needed for years now shows me that the design worked out.

    And there’s a fledgling tutorial for creating #games with wisp:
    draketo.de/software/enter-thre

    It includes complete setup instructions for self-hosting your games and expands on the 64 page programming with #wisp #book:
    draketo.de/software/programmin

    (though the text of that one is still getting feedback to make it easier to understand)
    @cwebber @bremner @aparrish

    💬 1🔄 1⭐ 3
  • Oct 9, 2026, 10:44 PM

    @gaditb Regarding the state in terms of spread: in the past year about 10.000 people visited the Naming and Logic: programming essentials with #wisp books webpage and over 1.900 downloaded the #creativecommons by-sa licensed #PDF of the book:

    draketo.de/software/programmin

    That’s not huge, but given how deep it is in a niche of a niche, I’m pretty happy.

    And I’d be even happier if you helped spread it further :-)

    @cwebber @bremner @aparrish

    💬 1🔄 2⭐ 2
  • 💬 0🔄 0⭐ 0
  • 💬 1🔄 0⭐ 2
  • Oct 9, 2026, 8:17 PM

    @cwebber @gaditb @bremner @aparrish what does "strings are unicode" mean? "canonically equivalent strings measure as equal"? or "strings are sequences of grapheme clusters with the structure, but not semantics, of unicode extended grapheme clusters"? or just "strings are sequences of code points in the range 0x0000 to 0x10FFFF with code points in the range 0xD800 to 0xDFFF forbidden"? or "strings are sequences of code points in the range 0x0000 to 0x10FFFF with code points in the range 0xD800 to 0xDFFF allowed"?

    💬 1🔄 0⭐ 1
  • Oct 9, 2026, 8:31 PM

    @u2764 @cwebber @bremner @aparrish I assume "string and bytesequence are different types", and in particular "slicing and joining and length and nth-character selection and char-by-char iteration and regular expressions and ..., transform valid unicode sequences to valid unicode sequences, and don't split or choke on multi-byte single-codepoint sequences".

    💬 0🔄 0⭐ 1
  • 💬 1🔄 0⭐ 0
  • Oct 9, 2026, 8:42 PM

    @gaditb @cwebber @bremner @aparrish but most people use “supports unicode” to mean “has an underlying data type which can support numbers up to 0x10FFFF”, which does not really involve Unicode at all, since Unicode does not mandate that characters have a particular byte representation

    what is a “multi-byte sequence” in this context? 好 and æ̇ are both characters which take up multiple bytes, but one is a single codepoint and one is two. do you treat these the same or differently?

    💬 1🔄 0⭐ 0
  • Oct 9, 2026, 8:47 PM

    @gaditb @cwebber @bremner @aparrish “naïve” and “naïve” are canonically equivalent strings. if a program expects one and a user inputs the other, this should be treated as a match. the lengths of these strings should be the same, and iterating their characters should produce canonically equivalent grapheme clusters. that is what the unicode standard specifies behaviour should be

    💬 1🔄 0⭐ 1
  • 💬 0🔄 0⭐ 1
  • Oct 9, 2026, 9:07 PM

    @u2764 @gaditb @cwebber @bremner yeah, really what i mean by "strings are unicode" is that i don't have to profusely apologize to my students who want their programs to work with languages that don't easily fit into the one-byte-per-character paradigm. python strings are sequences of unicode code points, which is at least a good starting point for this, especially w/the unicodedata library (for canonicalization and grapheme cluster iteration). something like that would be an okay baseline imo

    💬 0🔄 0⭐ 0
  • Oct 9, 2026, 8:35 PM

    @cwebber @gaditb @bremner @aparrish (i am dubious that you can have both “a small team could reasonably re-implement the language from the standard” and “strings are unicode”. a small team CANNOT reasonably re·implement the unicode standard. language is complex and requires a team of specialists to properly handle. you can outsource this work to ICU, but that means either shipping ICU in your binaries or giving up on easy crossplatform compatibility. and that would still be “a small team could easily re·implement except this one core part”. sorry)

    💬 1🔄 0⭐ 1
  • Oct 9, 2026, 10:54 PM

    @u2764 @cwebber @gaditb @bremner i do agree with this, unfortunately, especially since unicode is a moving target (and none of the decision-makers involved really have any reason to make implementation easy). i never said my criteria were actually attainable, or not self-contradictory, haha

    💬 0🔄 0⭐ 0
  • Oct 11, 2026, 2:38 AM

    @gaditb @cwebber @bremner @aparrish Chicken Scheme is also slop-free and UTF-8 internally, recently gained R7RS support, and can be compiled to C for performance, as well as interpreted. The C can be compiled with Zig as well as other compilers.

    💬 1🔄 1⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 1⭐ 2
  • Oct 9, 2026, 7:29 PM

    @aparrish and, anecdotally, an ex took a course at an art school that taught SICP in the context of music composition; it's been done!

    💬 0🔄 0⭐ 1
  • 💬 0🔄 0⭐ 1
  • 💬 0🔄 0⭐ 0
  • 💬 1🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 1
  • Oct 9, 2026, 7:54 PM

    @aparrish @aeva I think golang might qualify here, it ticks most of the boxes unambiguously, some with asteriskses

    It is technically a compiled language but I've seen work towards repl from third parties but cannot vouch for their quality

    Multi dimensional arrays are pretty much what you have in C++ but slicing is a first class feature built into the language not the stdlib

    💬 0🔄 0⭐ 1
  • 💬 0🔄 0⭐ 0
  • 💬 1🔄 0⭐ 2
  • 💬 0🔄 0⭐ 2
  • Oct 9, 2026, 8:19 PM

    @aparrish good list. the part about reasonable to re-implement is one we're particularly happy to see, we think it's important.

    💬 0🔄 0⭐ 0
  • 💬 0🔄 0⭐ 1
  • Oct 9, 2026, 9:11 PM

    @aparrish Lua is pretty close here, there's not a formal standard but there are nearly a dozen reimplementations, many created by a single person

    💬 0🔄 0⭐ 0
  • Oct 9, 2026, 10:53 PM

    @aparrish unlikely to fit the bill for some points, but it might be worth checking out ESP32forth; it scores particularly highly on the implementable point, it has interpreters for several platforms on the site below (web, linux, windows) in addition to the esp32/arduino. edit: if you’re looking for the pandas/numpy thing I don’t think it exists, but like lisp forth is the kind of language where you often build your own dsl

    esp32forth.appspot.com/ESP32fo

    💬 0🔄 0⭐ 1
  • Oct 10, 2026, 12:29 AM

    @aparrish ooh… I really like this.

    Also feels a bit like the best intentions of creators of Python (interpreted, repl, well-defined as possible) and Java (performance, was way out ahead w/ Unicode support at the time of its introduction)… though the keeping it small is another thing, maybe more Scheme-like…

    💬 0🔄 0⭐ 2
  • 💬 0🔄 0⭐ 0
  • Oct 10, 2026, 4:40 AM

    @aparrish This is a good list. My main addition is CSP-style channels; I don’t think I can really be happy with a language without that.

    I’d be willing to drop interpreted if the compiler is quick and produces static binaries with reasonable performance; I’m not anti-interpreters, of course, but being able to produce a single, runnable object with no dependencies is a big win. I’ve often thought I want one compiled and one interpreted language I could love.

    💬 1🔄 0⭐ 0
  • Oct 10, 2026, 5:14 AM

    @aparrish (I should maybe say “CSP-inspired” or “-derived” or something. I want that model, but also appreciate some of the modern elements not present in “OG” CSP.)

    💬 0🔄 0⭐ 0