Follow

languages i really wanna learn :
racket
rust
C

languages i kinda wanna learn :
lua
nix

languages i dont really wanna learn, but probs should :
go
{java/ type} script
kotlin?

bonus round (shells) pick one:
elvish
oil shell
xonsh

setting intentions with this post

@aynish thins i was saying do C and work up from there.

@aynish i think if you learn c then you can learn lua in something like 15 minutes and then you can also have a great time binding it to your own c code

@nonmateria
@aynish yeah +1 for the lua/c combo. Lua is good at things that are hard/tedious to do in C, and vice versa.

@paul @aynish
yeah *cough cough* strings *cough cough*

and if you like LISP you can also use fennel, and luajit is FAST

@neauoire @nonmateria @aynish it's very easy to mess up dynamically allocated null-terminated strings in C. Lua has a decent set of string utilities their standard library, as well as a very convenient concatenation operator.

@paul @nonmateria @aynish ah okay, I misread nic's toot thinking the issue was with Lua's strings.

Yeah, if you're not used to it, strings in C can be a bit tough when you're coming from like Javascript or ruby.

@neauoire @paul @nonmateria @aynish the problems with C strings go deeper than just being hard to use. See "Accidentally Quadratic"

@neauoire @paul @nonmateria @aynish also like, 90% of every major world breaking security bug is thanks to C strings.

@zens @paul @nonmateria @aynish I haven't really used sscanf and that sort of magic yet. I'm not familiar with that stuff. I do a lot of string parsing in C, but I try to stay away from the stuff in string.h

@neauoire @paul @nonmateria @aynish as long as you don’t need to prove your software correct it’s probably fine. i kinda wish pascal had won the popularity contest though. (it’s got better strings)

@zens @neauoire @paul @aynish

"A c implementation of tic-tac-toe in a single call to printf. Written for IOCCC 2020."

github.com/carlini/printf-tac-

@neauoire @paul @nonmateria @aynish back on topic, my vote goes for lua: it’s like javascript if you fixed all its mistakes

@zens @neauoire @paul @nonmateria ngl, pico8, love2d and neovim config are big reasons for lua

@aynish let me know if you need directions. I have been playing with it for a while.

@aynish if you are not totally 200% sold on Rust, just know that :

amazing documentation
pretty good community
easy peasy embedded development !!
also you want web ? you got web. Wasmwasm.
did I mention the community is awesome ?
so. many. crates.
subjective but this language is the sole reason I love programming. error handling and safety the way it should be everywhere
just learn rust

:blob_fingerguns:

@aynish that's what I used to think, especially considering I have no previous programming education, but frankly The Book as they call it makes it a breeze I believe. Some concepts take longer to understand but once you get their application through a project I found the language in general very beginner friendly.

@aynish I haven't done more with nim than building the examples. Zig is tiny, it's good for making little scripts. It's my lua.

@aynish nim is so fun! it's like super fast static typed python with UFCS and super easy C interop. also if you haven't checked out zig, this video was a pretty interesting introduction imo m.youtube.com/watch?v=Gv2I7qTu

@metasyn oooh, you love nim! 😋 maybe i should just use nim instead of C?? i'll check out zig too :)

@aynish
my current list:
english (ok)
german (in progress)
sanskrit
spanish

setting a soft intention/invitation with this post by the time I'm 70, will see how the next 40 years goes

@aynish although right now for me for learning spoken languages at least I'm trying to reconceptualize it more as things I get the opportunity to learn about, instead of a todo list ... imagining reframing "life as to do list" to "parts of the video game map I would like to joyfully visit if I get time" ... in part rambling this because I imagine I will read this post later again at some point

@notplants i love this, its a great analogy :D
ive often struggled when i cant escape the mindset of "life as a todo list", especially because there are so many parts of the map i want to see

learning to move gracefully is its own enjoyment

@aynish

C so you can learn the lingua franca of programming languages.

Go because it's like C but for Internet work.

@aynish ambrevar has this setup: ambrevar.xyz/lisp-repl-shell/i
but there is also something written in Racket (Rash?) and the venerable SCSH.

@aynish lua is really nice and elegant in a super pragmatic way, but missing some core convenience stuff - to the point where I have built a library called batteries that I cart from project to project

Highly recommended though. The gotchas are still there but a lot more sparse than other comparable languages and it's great for making little interactive things

Sign in to participate in the conversation
Merveilles

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.