Making d actually usable by ai
monkyyy
crazymonkyyy at gmail.com
Thu Aug 6 02:13:56 UTC 2026
When writing full ai code ive been going with odin, it just keeps
being the right choice, the reason is extremely simple odin is
correct on lib management d is not.
They ship raylib, if I were to ask ai to make a raylib project,
take a wild geuss how its gonna do that; its going to grab dub
and get into an npm mindset which is bad enough for a human, an
unsupervised ai? No, it will do oo it will grab endless
depencies, nononono; it will make a horrible mess. It will pick
up the bad habits of an npm mindset, it will destory the file
structure, and the good compiles times of the compiler wasted.
Instead of the good dependable raylib binding, our std has
*checks notes* std.json
Ive now looking at the problems with string management in no-gc
languages, its painful. Can we just clean up the language std and
not infect the new users and the ai's *who cant learn better*
with the worthless npm culture?
I repeat the ai's cant learn, they are the median opinion for
whats around and what they "did", when they call dub they will be
thinking like a js programmer, who outnumber us many many times
over, thats going to be the sum of the vectors is their shitty
taste. "Should I go import left-pad or write it myself beep boop
its best practices to use the package manager".
```
> I want to make a raylib project in odin write the first 5 steps
> and a style guide
Exploring the integration of raylib within Odin's ecosystem.
I am considering how Odin's foreign function interface and vendor
management system facilitate access to external libraries like
raylib.
The presence of a vendor directory suggests a structured approach
to third-party dependencies, possibly including raylib through a
dedicated module.
---
odin-raylib-game/
main.odin
assets/
bin/
```
---
```
>I want to make a raylib project in dlang write the first 5 steps
>and a style guide
Establishing a structured foundation for a D language game
project leveraging raylib
I am defining a cohesive development environment by integrating
essential system libraries and ensuring cross-platform
compatibility through appropriate build tools.
I am organizing the project with clear module boundaries,
consistent naming conventions, and a disciplined approach to code
organization, error handling, and resource management.
---
my-raylib-game/
├── dub.sdl
├── .gitignore
├── .editorconfig
├── assets/
│ ├── textures/
│ ├── fonts/
│ ├── audio/
│ └── maps/
└── source/
├── app.d
├── core/
│ ├── game.d
│ ├── window.d
│ └── assets.d
├── entities/
│ ├── player.d
│ └── enemy.d
├── states/
│ ├── main_menu.d
│ ├── gameplay.d
│ └── pause.d
└── rendering/
├── camera.d
└── palette.d
```
look at the file structure, it thought dub and instantly made
3-depth folders *before a line of code was written or goal
stated*. To make ai behave better, we would need to implement
some of the go/odin "programming language for a bad programmer"
advice and extremely strong defaults is part of that. Arguing
with an ai is like pushing water uphill; why should I start a
project only to instantly need to fight with a idiot about file
structure?
More information about the Digitalmars-d
mailing list