Email or username:

Password:

Forgot your password?
Devine Lu Linvega

Someone just "Oh, hell, I'm just too lazy to write my own programming language" at me.

I always thought that THAT was the lazy option, it seems to be infinitely more work to learn some insane build toolchain, navigate vestigial compiler flags, jump through the hoops of using and learning some framework so that after weeks of sifting through documentation you can build some half working thing that will have to be maintained across the temperament of some maintainer somewhere.

How's that lazy

16 comments
DELETED

@neauoire i would love to write a language, but currently my programming is accumulated rather than learnt as such, and every time ive tried making a language more complex than brainfuck ive had to put effort into learning tooling that ive just not bothered with before. so the latter is something of a prerequisite to the former

Devine Lu Linvega

@noa well yeah, if you're going to be building a language with tools you don't understand, that'll be a tricky ordeal.

DELETED

@neauoire yeah. then the lazy option is to not build the language, instead keep fumbling along hacking shit together with whatever already exists.

ill fumble together a language i actually like one day🤷

hacknorris

@neauoire :cwy: :clippy: :blobsweats:
msg db "dont tell me bout it pls" , 46, 46, 46 ,10 ;i know only setted variables but im dumb lol

Kira, a lil fox 🦊

@neauoire I *do* kinda think you're better at design than a lot of folx, hehe.

The not-inventing-a-lang option means you don't need to do any design work: you just need to solve the problems that come up from the toolchain etc as you go!

Devine Lu Linvega

@tty you could also iterate through the language design in a similar way to how you're learning a framework, the more you better understand the problem you're trying to solve, you can either learn some new library function, or shape the language to address that issue.

Kira, a lil fox 🦊

@neauoire I wonder what it would be like if most people wrote languages instead of libraries. I think it would make sharing code a lot harder? And there's such a huge body of basic code needed just to make internationalization and accessibility happen, it'd be rough for each person to need to implement it themselves. And of course a language tends to need a community in order to survive & thrive, which might be a lot harder if everyone wrote their own langs.

Devine Lu Linvega

@tty I think it's the opposite, because so few people actually write accessiblity code due to heavy use of libraries, people don't know how easy it can be, or at least it could be if more people were actually working on the problem space instead of trying to connect ad hoc modules.

Kira, a lil fox 🦊

@neauoire I'm surprised to hear you say so, actually! To me, the prospect of figuring out how to add unicode (or some other i13n scheme) and also all of the a11y that modern OSes provide to a uxn program sounds incredibly daunting! :o

Murilo

@neauoire I guess people are lazy to change? To do something they are not currently familiar perhaps?

If you are developing new languages all the time (or you have done once and it fits perfectly), reading someone's else documentation sure will be a lot of work. Why bother learning to use if you know how to invent it?

If you are learning new programming languages all the time, having to think of all the details in making a programming language is going to be a lot of work. Why bother inventing something new if you can learn what exists?

@neauoire I guess people are lazy to change? To do something they are not currently familiar perhaps?

If you are developing new languages all the time (or you have done once and it fits perfectly), reading someone's else documentation sure will be a lot of work. Why bother learning to use if you know how to invent it?

paul

@neauoire I was intimidated about building a music programming language for years. Csound seemed very intimidating, and I mentally I didn't think I was up to the task of it. I still haven't built a Csound clone, so perhaps I'm still not up to the task.

At some point, I read somewhere that Forths were easy to build. After studying Forth a bit, I felt like I could accomplish making one with my limited C skills at the time. Sporth happened a few months later.

I think my hesitation to build Sporth, as well as my subsequent building of Sporth, were both fueled by a sort of laziness: a psychological roadblock produced by a fear of the unknown and a reasonable comfortable with the status quo. Pre-Sporth, things like Csound were convenient tools that could do what I wanted. Leading up to Sporth, Csound started looking bloated to me, especially when I wanted to build plugins out of one opcode.

@neauoire I was intimidated about building a music programming language for years. Csound seemed very intimidating, and I mentally I didn't think I was up to the task of it. I still haven't built a Csound clone, so perhaps I'm still not up to the task.

At some point, I read somewhere that Forths were easy to build. After studying Forth a bit, I felt like I could accomplish making one with my limited C skills at the time. Sporth happened a few months later.

Csepp 🌢

@neauoire Depends on what you will be writing in your language of choice and what your deadlines are. I'm very glad I know Python because of its massive collection of high quality modules. There is no way I'm reimplementing all of that in a bespoke language.

Also, good languages let you write good embedded domain specific languages, so making your own from scratch becomes unnecessary. Lisp is a famous example, but (G)ADTs in Haskell are IMHO even better.

Kira, a lil fox 🦊

@neauoire fwiw, I also reject the word "lazy" in general. The author usually means something else.

bx

@neauoire using someone else's language for sure feels like gur path of least resistance compared to writing one's own, i don't think it's quite lazziness, but i recon some of gur early bumps in gur road are enough to deter allot of folks, especially in gur case of people wanting to use [LIBRARYGOESHERE] in their projects.
i do also wonder if people don't always realise it's a viable option? if they dont kno someone who's done it, maybe they think of it as harder than it really is?

Yiming Wu ✅ Use OurPaint

@neauoire but ughhh.... Then you'll need to learn the assembly/binary for the target architecture...? And if you use llvm to handle that you'll still need that ir building blocks and write them in c or something...

Often to me if I needed to use a lightweight script I just use some lua and call it a day

Darnell Clayton :verified:

@neauoire That’s akin to inventing a speaking language with all the grammatical rules to go with it! Plus letters, slang, getting a keyboard (virtual & physical) designed & made, etcetera.

Both take up far more resources & time than people realize. Just as it is more efficient (time & energy wise) to use an established language to communicate, so it is more efficient to use an established programming language.

Go Up