I have to start this specifying and expanding on what I refer when I say that I’m dyscalculic:
- I have both types of developmental dyscalculia.
- 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.
- 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.
- My cognitive subtype is the Memory Dyscalculia: «Weaknesses in both working memory and long-term memory, particularly in recalling arithmetic facts, procedures, or sequences.»
- I also struggle with ADHD and autism, as well as bipolar disorder, so these four things interact.
- 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:
- 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.
- 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
I can tell you the two languages I would learn right now if I had the spare cycles.
- 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…
- 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.
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.
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.
As someone from a tropical climate area, every time I read this I chuckle. Mints will die if you look at them wrong for a split second here.
I wouldn’t call the desert tropical and they spread like weeds here.
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
Python is a no for me.
It’s totally tainted.

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
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.
Also, Python is what I want to avoid by design, it’s TOO damn slow and it’s inefficient and badly optimized asf.
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.
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.
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.
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.
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.
No problem! My most sincere hug, too 🫂
That sounds reasonable, I’ll try to test that strategy out.
I was thinking to enter to a dyscalculia-specific math course and/or get some psychological and psychopedagogical help with that, too, but that’s not in my near future plans, although I want to do it as sooner as possible.
If you’re wanting to avoid symbols as much as possible then that rules out the entire C family.
Visual Basic?
I know it gets a lot of flac, but I love VB. Too bad I think MS is trying to kill it.
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.
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.
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.
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.You can, at least in some cases.
There are some generic AI patterns and behaviours that can be traced whether it’s inside a code commit (or its description), a PR or MR (or a response to a PR or MR), an Issue (or a response to one), a Discussion (or a response to one), etc.
Also, there’s the “Co-authored by:” tag, that at least a great part of sloperators do use because they really think is something to be proud of; or even comments left by the AI that state explicity its involvement, or that at least have these implicit patterns and behavours previously said.
And other things like the presence of an unpoisoned and/or AI-helping AGENTS.md (or model-specific analogs), or .mcp.json, or agent/tool specific dirs, or .agent dirs, or “skills” dirs and files, or .gitignore with AI tooling inside it.
It’s not impossible.
And not, an AI will never make something that’s useful, and if something made by an AI looks like it’s useful, it surely will cause a lot more of bigger and worse problems sooner or later.
You should read this to understand my stance: Why not LLMs?
I do know all this, what you are talking about is just technical implementation shenanigans that are not inherent to LLMs and can be flushed out or worked around. If we assume malicious intent, there is absolutely nothing preventing people from making it extremely hard to notice. Initial premise of LLMs is automatically producing text that is not distinguishable from the one a human would make, it’s a machine designed to deceive. Making open source maintainers battle against that machine while also working on whatever project while not paying them a dime most of the time is just cruel in my opinion.
Also, my biggest bone to pick with LLMs is not the technical stuff, all of that will be flushed out with more development resources spent, what’s more important is the moral side of the question. From training data licensing to LLMs literally talking psychologically unstable people into killing themselves, all of it is impossible to fix, it’s a byproduct of the very foundation of the technology. I don’t want people to stop using LLMs because they are simply not allowed to, I want them to realise what horrors are hidden behind all of it and be disgusted enough to not use any of it out of their own volition.
ai.dr;
Now one can’t write a long post because it’s AI? Seems like Gorgias resurrected
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
Ohhh, that’s cool!
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!
Noice! I’ll definitely look at these.
I love the concept and all the theory behind S-Expressions and actually they look easier than normal imperative code, and homoiconicity is something just to cool.
I’ll add these to the list!
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.
That’s not what I mean, actually.
Read this:
https://codeberg.org/ethical-foss/open-slopware#definitions
And this:
https://codeberg.org/ethical-foss/open-slopware#programming-languages
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.
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.
How do they enforce that ban? Do they thoroughly interrogate any and all contributors for the details of their working process to hunt for any trace of AI involvement? If so, I imagine they can’t have much time to actually develop the language, nor will they have many contributors to help them out. Or do they simply check the code quality, at the risk of letting a one-line* memory allocation fix slip through even though the author used AI to assist with a “debug session from hell”?
Any sane AI policy, whether permissive or restrictive, is effectively an anti-lazy-asshole policy that bans people from polluting others’ projects with unmaintainable slop. That is the standard projects should hold contributions to, and the standard you should hold projects to.
*Technically, the example I’m referring to is four lines of code (one being the actual fix and the rest being a debugging assertion spread over three lines) as well as nine lines of comments and five lines of whitespace, but it kicked off a highly divisive shitstorm due to Linus using AI to help debug and write the explanation of the bug, even though the result is sound and humanly understandable.
They do enforce it, even if not perfectly, through manual and semi-automated (using traditional algorithms, rule-based and/or pattern-based detection tools, even some do use things as Symbolic Reasoning Programs [like, the same kind of the SMT Solvers and so on]), and looking if there are obvious signs of AI in a commit (an AI comment [like “Generated by Claude” or “Author: Programming Agent”, something like that that these LLMs do), or otherwise looking if the PR/MR has an LLM Co-author, and if so, they’ll outright ban that contrib. Also things like
AGENTS.md,SKILLS.md,.agents/,.skills/,.mcp.json(and their agent-specific variants), and.gitignorerules for AI tooling.Obviously, they’ll have both false positives and false negatives, as they are subject to explicit indicators and some rather obscure implicit behaviours and patterns of generic AI slop, but it’s a tradeoff that has to be taken because the opposite stance, not having an anti-AI policy at all, or having a weak, flexible and/or permissive policy, is going to make AI boosters and sloperators to put even less effort to their “contribs” and make a higher volume of these, thus leading to maintainer and contributor burden; a strict, strong and inflexible anti-AI policy at least can disuade and make her stomach hurt in a way that they won’t feel so comfortable doing their AI-shit in there, and therefore is the only ethical and reasonable stance; also look at Why Not LLMs?, as well as the OpenSlopware’s FAQ, and their README.
To preface this: Our main difference here is where we think ethical concerns should be addressed. I consider my approach a pragmatic concession to the reality we’re dealing with, but I understand and respect your idealistic stance as well.
I’m familiar with OpenSlopware, agree with all their criticism of the evils of LLMs and consult their list myself. I disagree with them only in the expectation that project maintainers become moral guardians against unethical contributions, rather than just against low quality ones. To reject obvious slop (such as the AI-generated commit messages you mention) or entirely vibe-coded word salad, absolutely, but that goes for all low-quality code. “Generated by Claude” or naming the code generator as author happen to be very convenient indicators that the author didn’t actually do any due diligence, nor is willing to accept responsibility. “Copied from StackOverflow” is likewise indicative of the user not actually understanding the code.
But to track down finer evidence of AI Assistance feels like a big ask to me, and not strictly necessary for the mission of delivering high-quality results. If they wanna do so, power to them, and I understand and approve that OpenSlopware will want to document that so people can take a closer look.
My argument is that AI use alone doesn’t necessarily produce bad code (bad coders do, including LLMs), and that the fight against the social and ecological evils is a political measure that shouldn’t be universally demanded of individuals. Power and water distribution should prioritise residential consumption and critical services (hospitals etc.), for instance, and impose measured to ensure fair allotment, such as caps and bracketed pricing to make excessive use or operation of data centres economically unfeasible. I’m not going to address each individual point and hope you get the general idea.
For your specific arguments:
not having an anti-AI policy at all
Absolutely in agreement: that is reckless and irresponsible.
a weak, flexible and/or permissive policy, is going to make AI boosters and sloperators to put even less effort to their “contribs” and make a higher volume of these, thus leading to maintainer and contributor burden
This is where I see more nuance in the exact form “permissive” takes, for the reasons mentioned above. I think a high bar for quality and the contributor’s understanding of the code, while technically still permissive, will dissuade the lazy and ward off the cognitive decline concern: if you lean on AI tools so hard you can’t explain the code you submitted, regardless of authorship, you’re no longer fit to submit code until you (re-)build coding skills.
As for maintainer fatigue, like I said above, I agree that collectively rejecting PRs with “Generated by Claude” and equivalent commit messages or comments will help shut down the laziest attempts. Likewise, huge PRs should be broken up, to make checking them more feasible, reduce the risk (and amount) of merge conflicts and filter out the “thousand lines to move a button” type of changes.
Together, these should prevent low-effort contributions. Again, I already consider them necessary policies for contributions in general, with the anti-AI parts serving to explicitly shut down those boosters who assert that unrefined “crude” slop would be good enough.
a strict, strong and inflexible anti-AI policy at least can disuade and make her stomach hurt in a way that they won’t feel so comfortable doing their AI-shit in there
I doubt it will make them uncomfortable. Those unwilling to acknowledge the issues tend to be the blind worshipper type that will insist it’s the maintainers who are wrong.
It might dissuade them, true. It might also just prompt them to hide the tracks in the attempt to prove a point. I’d rather have them admit it as an indicator that thorough review is necessary (and if it’s too long or convoluted for that review to be feasible, it ought to be rejected).
In conclusion, I think code review should address the practical points as far as project maintenance is concerned, while the ideological ones should be dealt with on a cultural and political arena: shun the boosters and uncritical sloppers, fight the damage they do, charge the executives selling our future for their own gain.
That is my opinion and recommendation, and you’re entitled to have your own opinion and disregard mine. I just want to make sure we understand each other.
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.

Just took a screenshot to make it faster.
Also, Python is what I want to avoid by design, it’s TOO damn slow and it’s inefficient and badly optimized asf.
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.
Python, it’s literally the language that has brought up all this AI shit
That’s false and it’s literally the language anyone should begin with. But if you insist, start with C++.
That sounds reasonable tbh, I’ll add C++ to my list then, thanks!
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.
That’s fair, thanks for the advice!
“I used AI to make an overly long and oddly formatted post asking for a programming language that isn’t tainted by AI.”
Lmao, I written it by hand.
I formatted it oddly because I’m bad at it, simply.
If you’re not going to help, then stfu and fuck off here.









