I have to start this specifying and expanding on what I refer when I say that I'm dyscalculic:

  1. I have both types of developmental dyscalculia.
  2. The functional type of dyscalculia I have is the intermediate dyscalculia; citing the dyscalculia definition page in Edubloxtutor, it's the «inability to work with symbols and numbers, especially when abstract signs (like √, ×, <, >) or large figures are involved. This type often overlaps with conditions like dyspraxia or dyslexia.» I don't have dyslexia though, but idk about the dyspraxia.
  3. I have the lexical and operational forms of dyscalculia. As per Edubloxtutor:
    • Lexical dyscalculia: This subtype refers to difficulties in reading and recognizing mathematical symbols, such as digits or operation signs. Students with this subtype may misread symbols (e.g., confusing a “6” with an “8” or “+” with “×”), which interferes with both understanding and solving problems.
      • I don't have so many difficulties with digits, only when they're either too big or too small, or if they have too many decimals.
    • Operational dyscalculia: Even when students understand the symbols and concepts involved, they may still struggle to carry out the steps of arithmetic operations (like borrowing or carrying in subtraction and addition). Operational dyscalculia reflects a breakdown in the ability to perform calculations in a logical and sequential manner.
  1. My cognitive subtype is the Memory Dyscalculia: «Weaknesses in both working memory and long-term memory, particularly in recalling arithmetic facts, procedures, or sequences.»
  2. I also struggle with ADHD and autism, as well as bipolar disorder, so these four things interact.
  3. I'm confident in that I'm actually really strong in formal logic, although only in natural language, because in symbolic formal logic I'm horrible (and that is to be expected, tho, because I struggle with abstract symbols in general); curiously, or perhaps predictably, and maybe I'm that good in logic because I'm that bad in maths.

So, what I would like to know is, are there any programming languages (or maybe some libraries) that, despite being (or making these not-so-dyscalculic-friendly languages) accesible and not too math-centered (I want to avoid them as much as possible) and with a friendly learning curve, don't sacrifice that much performance, efficiency, lightweightness, security and all that?

I'm particularly obsessed with performance, lightweightness and efficiency because I have a PC that, despite being actually decent (screenshot below), I constantly do hardware-intensive things and I love ricing, customizing and having powerful and featureful tools, but most of them are just so bloated (i.e. most Zettelstaken-style outliners are or written with Electron [or even Tauri], or too bare-bones, and I want both featurefulness AND efficiency, functionality AND lightweightness [I hate Suckless btw]).


Also, I need to know, what are the best tutorials (if they're in Spanish, better, because I only understand well the written English, I struggle with spoken English), courses (same here) and resources in general to learn programming that are dyscalculia-friendly (better if they're explicitly tagged or categorized as such)?

I feel really alienated because most of them do assume that you're idk, Ramanujan, or something like him, at least from my perspective and lived experience, and I'd really love to be able to program my own tools and to be able to contribute to projects I like with features I'd love to see there, and to fork some tainted projects and make an untainted version, etc.


TL;DR:

I have developmental dyscalculia (both functional and cognitive subtypes): intermediate functional (struggles with abstract symbols and large numbers), lexical (misreads math symbols, especially with many decimals or extreme sizes), operational (can't execute sequential arithmetic steps), and memory-based (poor working/long-term recall of arithmetic facts and procedures). I also have ADHD, autism, and bipolar disorder, which all interact. I'm strong in natural-language logic but weak in symbolic logic (expected, given my symbol difficulties).

What I'm asking:

  1. Languages/libraries: Which programming languages or libraries are not math-heavy, have a gentle learning curve, and still deliver good performance, efficiency, and lightweightness? I want to avoid Electron/Tauri bloat and Suckless bare-bones; I want both featureful and efficient.
  2. Learning resources: What tutorials, courses, or resources exist that are explicitly dyscalculia-friendly (or at least don't assume strong number sense)? Spanish is strongly preferred; written English is fine, spoken English is not.

Goal: Build my own tools, contribute features to projects I like, and fork/fix projects that are tainted by AI.


PS: I mean tainted as per OpenSlopware definitions

all 41 comments

sorted by: hot top controversial new old
[–] 7 points 1 day ago* (last edited 1 day ago) (1 child)

I can tell you the two languages I would learn right now if I had the spare cycles.

  1. Zig is a C-replacement language that took a no-AI stance early on. It doesn't have compiler-assured memory safety like Rust, but it does try to revamp structures (like alloc or error handling) in a way that makes it more obvious to the programmer what is happening. I'd love to learn more, but cycles...
  2. Gleam is a language that is part of the Erlang/BEAM ecosystem. It's a functional language, so it's a bit of a mindfuck if you come from a Python-/C-esque perspective, but if you like formal logic it might well be up your alley. It has a good web tutorial if you're interested. Neither Gleam nor its runtime Erlang-OTP have taken a stance on AI as far as I know (Elixir has a permissive stance), but at least I've seen no red flags as of yet. The people at Gleam just generally give me a vibe of being deliberate and careful with their code.
  • source
  • hideshow 1 child comment
  • [–] [S] 2 points 17 hours ago

    I looked up at Zig and it's fine! I also remember that I found a comptime for it that made it more secure, and there are extensions for its compiler to give you tool to refrain it to compile if there are memory problems and point you where they are, but I always had the preconceived idea that Zig was too hard, but it seems like I was wrong on that lol.

    About Gleam and Erlang, they actually look sweet!! I like their actor model, their memory strategies and their syntax and grammar.

    Tysm! I'll start with these two.

  • source
  • parent
  • [–] 2 points 1 day ago* (4 children)

    Since you want a compiled, low level language, and seem to already know quite a lot about the languages themselves already; My suggestion is to use a dyslexic font face for programming, and to just power through it.

    Cognitive impairments can be overcome with enough willpower. You will struggle more than the average person, but that's just the price you pay.

  • source
  • hideshow 4 child comments
  • [–] [S] 2 points 17 hours ago (3 children)

    No, no, I'm not dyslexic, I'm dyscalculic. I don't struggle with written language, but with maths (I can barely make sums, subtractions and multiplications, but I can do absolutely nothing more, including divisions. Go, a thing yes, you clear, but it's because its shape is more similar to that of a syllogism.

    And most programming languages and resources for learning them assume a level of math domain that I don't have, I'm far from it.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 17 hours ago (2 children)

    So you're perfectly capable of distinguishing between different symbols? Thats where a dyslexic font would help.

    And a computer is a calculator. Programming is the act of combining mathematical operations, if you really can't do this in any capacity you'll never be able to program at all.

    I'm just trying to help you, but if you're going to downvote people trying to help, then you already know the answer to your own question.

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 2 points 17 hours ago* (1 child)

    What, I didn't downvoted you, it was someone else. Proof is below:

    I'm capable of distinguishing symbols, although I can only undertand basic ones that I can understand through concrete and clear analogies (these: <, >, -, +, _, (, ), {, }, [, ], =, $, #, @, &, *, ", ', :, ;, !, ?, /, ~), but more abstract ones are where I get confused.

    And also, I can't understand operations, with the exception of sums, substractions and multiplications.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 15 hours ago

    My sincerest apologies.

    You will probably find more use in keeping a detailed journal more than picking a specific language. It's okay if you don't fully understand certain operations, you can abstract it away, and have a giant cheat sheet.

  • source
  • parent
  • [–] 7 points 1 day ago (2 children)

    I know this is fuck AI, but you're kind of fucked. You ever plant any mint? AI is the mint in our tech garden.

  • source
  • hideshow 2 child comments
  • [–] 2 points 1 day ago (1 child)
  • [–] 5 points 1 day ago (4 children)

    Gotta give a shout out for Python, you can camp on 3.11 forever, and there’s plenty of useful documentation from before the advent of slop

  • source
  • hideshow 4 child comments
  • [–] [S] 3 points 1 day ago (3 children)

    Python is a no for me.

    It's totally tainted.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 3 points 23 hours ago (1 child)

    Oh damn, not a badly cropped table,

    You’re right, that completely invalidates an entire language

    Anyway, I wish you luck finding your hyper fast learning language with no math, That everyone on the internet likes

  • source
  • parent
  • hideshow 1 child comment
  • [–] [S] 1 point 17 hours ago

    I sent the full list too, just in another comment, but in the post is the full link.

    I just want a compiled (or JIT, not interpreted) language that's not itself vibecoded slopware, nor permissive or friendly towards AI coding or "assistance".

    I'm not looking for a language that everyone on the internet likes, as that's too subjective and impossible to find, you're literally putting words in my mouth there, a straw man; my requirements are objective, something both verifiable and falsable.

  • source
  • parent
  • [–] 2 points 1 day ago (1 child)

    You could look at Clojure, Scheme, and Common Lisp. I do not know whether they fit your cognitive preferences, but they stress logic.

    Resources online are The Lisp Cookbook, Clojure for the Brave And True, and the Racket Tutorials. Some Lisp programmers are excellent writers and teachers!

  • source
  • hideshow 1 child comment
  • [–] 4 points 1 day ago (2 children)

    If you're wanting to avoid symbols as much as possible then that rules out the entire C family.

    Visual Basic?

  • source
  • hideshow 2 child comments
  • [–] [S] 1 point 17 hours ago

    It's not all symbols though. Like, basic symbols as <, >, [, ], {, }, :, ;, , /, =, +, -, &, $, #, @, %, |, =, (, ), !, ?, ", ', *, ~, _, I can manage all of these, because I can understand them through concrete and clear analogies and relationships, but when it comes to more abstract symbols, is where I can't follow up.

  • source
  • parent
  • [–] 3 points 1 day ago (2 children)

    From the description you want languages like C, Rust or Zig but I'm not sure if you can use those without the ability to parse math symbols. I suppose the language that relies the least on those would be Assembly. It also relies the least on abstractions, which might help you? Not sure. Hardly anything is written directly in Assembly, while using snippets of it is not unheard of, an entire project written entirely in Assembly for desktop use is most likely a thing that does not exist.

  • source
  • hideshow 2 child comments
  • [–] [S] 2 points 17 hours ago* (1 child)

    I looked at Zig and it actually works for me, I can understand basic symbols such as <, >, and any symbol that I can associate with something more concrete. What makes my brain melt down are these more abstract symbols that I can't easily find an analogy to understand them.

    About Rust, I have encountered feelings, because they're a bit permissive towards AI but also they look like one of the less-bad options. I'll have to decide if that's an acceptable risk for me and look at some safety measures if anything.

    As for Assembly, it looks like something fun to try, I loved these operating systems entirely written in Assembly and I myself plan using it in the context of a higher level language such as Zig, Erlang or Lisp and some derivatives. Also I love WASM, I think that's the future of high performance modularity, extensibility and portability, and AssemblyScript looks good at first glance.

  • source
  • parent
  • hideshow 1 child comment
  • I saw a lot of projects taking similar stance on LLM usage as Rust Foundation did. You can't properly verify whether or not something was written with an LLM, so the only thing required is the understanding of whatever you are submitting.
    Once in a blue moon LLMs do produce useful things, if you are an absolute garbage of a human being and don't care about the moral implications of using LLMs, so be it. I don't think you can expect all the maintainers to constantly play moral police for their projects, handling the technical side of it is already hard enough.

  • source
  • parent
  • [–] 3 points 1 day ago (1 child)

    Assembly is about as dyscalculic friendly as you can get. Writing retro games/applications for the z80 or 6502 are a solid way to earn a living

  • source
  • hideshow 1 child comment
  • [–] 1 point 1 day ago* (last edited 1 day ago) (6 children)

    No idea about dyscalculia but most programming languages per se aren't really affected by AI so far. Of course people are using AI to vibe code in every programming language, but that's different.

    Python is traditionally considered a good beginning language, and it has Spanish documentation: https://docs.python.org/es/3/

    As far as math goes, mathematical logic is an important topic in math, and the type of thinking you need for it is more like language than like geometry. You might like it, who knows.

    A lot of programming is about remembering stuff, whether we like that or not. It's possible that if you're good at logic, you might find that Haskell requires you to learn more but remember less, since the Haskell's type system can track stuff for you that Python's can't, so you get reminded right away (at compile time) if you make a mistake. Despite what the partisans say though, it's probably not good for beginners.

    The whole Javascript and front end world is a nightmare of crap to remember. I avoid it myself even as a veteran full-time programmer with a good memory. Mobile development is kind of similar.

  • source
  • hideshow 6 child comments
  • [–] [S] 1 point 1 day ago (5 children)
  • [–] 5 points 1 day ago (2 children)

    It's unclear what you are hoping for. There is no language that nobody vibe codes in. There is no codebase of any sort that is guaranteed to be forever free of AI code, even if there are policies against it today. The link you posted is about the implementation maintainers' policies, but that shouldn't matter to you if you're just getting started, since you won't be working inside the implementation. If you just want a language that you can start using and that has a wide userbase and Spanish documentation, Python is an obvious choice. Once you're experienced enough to work on an actual implementation, you can always write one that's free of AI.

    For that matter, you could just install an older version of Python from before AI became widespread. There, no AI. You might have to occasionally backport a security fix or something, but since 2023 Python hasn't really changed much. Python 3.10 was released in 2021 and it's still fine. I'm actually using 3.9 on my main workstation right now, due to laziness about upgrades.

  • source
  • parent
  • hideshow 2 child comments
  • [–] [S] 1 point 17 hours ago (1 child)

    What I mean is that the language is itself not vibecoded and/or has a clear anti-AI stance. Look at Zig for example: they ban any and all kind of AI tooling, assistance and all that.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 16 hours ago

    You can't assume Zig's no-AI policy will stay in place forever. But if you want to use Zig, that's great, I've never used it myself but it sounds cool.

    AI coding is still pretty new, and I'd expect even language codebases that permit it aren't terribly contaminated, for now.

  • source
  • parent
  • [–] [S] 0 points 1 day ago (4 children)

    Please, I won't EVER consider using Python, it's literally the language that has brought up all this AI shit, and I don't want to touch it even with a stick; also, that programming language is fucking inefficient, bloated, slow, big and poorly optimized. I'd like to start directly learning compiled languages, or JIT-based languages.

  • source
  • hideshow 4 child comments
  • [–] 4 points 1 day ago (1 child)

    I think there's a big philosophical difference between something like Rust and Python in their intended usage. Python has always been great for making something quickly. It's used because it is faster than doing something by hand and also faster than to write the C equivalent.

    Do you have a tool you'd like to start building? Might be helpful to pick something you want to contribute to and start there. In terms of tutorials, its hard to just suggest a programming language without knowing you and what you might find difficult.

    For example, C et al, Zig, Go and Rust make heavy use of {} and <>. This could be a problem, but I personally dont know your experience. You're going to struggle not to use maths in the form of algorithms, data structures and expressions, but it will be closer to written language if you use full variable names instead of single letters (I'm assuming you're not dyslexic).

    TO; DR pick a tool and work out what you want to build. Start with one that exists, is small and in a low level language. You can write code in a style that makes it feel less like maths but you're never going to get away from maths. Use the language for very different projects: internet, file access, fast actions.

    Tutorials can teach you the how but self directed learning is a bitch without a project you feel passionate about.

  • source
  • parent
  • hideshow 1 child comment
  • [–] -5 points 1 day ago (1 child)

    "I used AI to make an overly long and oddly formatted post asking for a programming language that isn't tainted by AI."

  • source
  • hideshow 1 child comment