grimalkina,
@grimalkina@mastodon.social avatar

I want to see absolutely no sensible and practical advice here. What programming language should I start vaguely and in a chill way teaching myself if I just want to experience something fun or elegant or interesting in and of itself, assuming I have no goal for using it to do anything really (outside of learning)

cbecker,
@cbecker@hci.social avatar
oguching,
@oguching@mastodon.social avatar

@grimalkina I've gotten interested in Go lately.

flaviusb,
@flaviusb@mastodon.social avatar

@grimalkina Either Ioke: https://github.com/olabini/ioke (though installing it might be troublesome; I wrote Atomish https://github.com/flaviusb/Atomish/ in part so I could with only minor porting keep using the code I had written in Ioke, though it too is probably troublesome to build now and it is way less complete and has way more sharp edges than Ioke) or Ur/Web: https://github.com/urweb/urweb

diazona,
@diazona@techhub.social avatar

@grimalkina Since I see Piet and APL have already made the list, let me throw in a suggestion for jq (https://jqlang.github.io/jq/) - but specifically, doing something complex in jq. Like, I've been writing little jq one-liners for ages, but it was only when I wrote a full 100-ish line program in jq that I started to appreciate its stream processing model as being something distinctly different from the typical paradigms (functional, procedural, OOP, async, all that jazz).

wader,
@wader@fosstodon.org avatar

@diazona @grimalkina would also recommend jq, simple and elegant with some unique features. happy to tell more!

jippi,
@jippi@expressional.social avatar

@wader @diazona @grimalkina jq can be quite fun to play around with - I made this project a while back https://github.com/jippi/go-autoupgrade/blob/main/update.jq

Alan_Au,
@Alan_Au@mastodon.social avatar

@grimalkina LUA is interesting but maybe too practical. I've been meaning to toy around with Godot but haven't really committed to the effort yet.

robryk,
@robryk@qoto.org avatar

@grimalkina

IMO Agda or Forth.

InnerAlien,
@InnerAlien@mastodon.social avatar

@grimalkina Postscript FTW!

StOnSoftware,
@StOnSoftware@mastodon.social avatar

@grimalkina then definitely stay away from Smalltalk, in the Pharo or GToolkit instantiations

dave_andersen,
@dave_andersen@hachyderm.io avatar

@grimalkina It's a little too late to usefully chime in, but my answer is actually questions back to you:

(a) What programming language(s) do you already know and how well?

(b) What do you find fun in programming, or in computers? Would you rather write things that feel like math, or that feel like assembling tinkertoys?

(c) Mainline or weird?

Like, "elegant" + tinkertoys could be @mcc 's lua suggestion. "elegant" + mathy could be Haskell or ML or OCaml.

Hope you land on a fun answer!

mcc,
@mcc@mastodon.social avatar

@dave_andersen @grimalkina Incidentally, I find ML just basically the most elegant language I've ever used*. Also if the goal is to learn, many modern languages (Rust, Swift) are ML descendants, and Haskell is basically ML But It Goes Twice As Far, so learning an ML puts you in a good place.

  • Specifically SML/NJ is my favorite; OCaml has some slightly kludgier elements but also is nearly the same language and OCaml is better supported these days and has "Merlin", so OCaml is better to learn.
mcc,
@mcc@mastodon.social avatar

@dave_andersen @grimalkina (A decade ago I actually made a programming language that was supposed to be a halfway point of ML and Lua… it turned out strange but really interesting. I named it "Emily" cuz get it, it's "ML-y". You can write useful software in it but since it has zero libraries it pretty much exists only as this conference talk, no idea if you'll get anything out of this https://www.youtube.com/watch?v=gMZsc3cvwKs )

ianRobinson,
@ianRobinson@mastodon.social avatar
tedmielczarek,
@tedmielczarek@mastodon.social avatar

@grimalkina I took a class in college where we used Prolog and I loved how it made me think differently about everything.

coderigger,
@coderigger@mastodon.social avatar

@grimalkina intercal obviously

gvwilson,
@gvwilson@mastodon.social avatar

@grimalkina perhaps not quite what you're after, but would learning how to make https://art.djnavarro.net/gallery/ (all of which @djnavarro has created in R) be of interest? I think it is "fun and elegant and interesting in and of itself" (just like its creator).

rimu,
@rimu@mastodon.nzoss.nz avatar

@grimalkina A lot of games embed Lua. I'm sure there are some fun environments mess around in with that.

idan,
@idan@sfba.social avatar

@grimalkina Rust! OMG Rust. I mean, I don't know what language(s) you're into already. But I think Rust is maybe the most interesting language I've come across in years. So many languages are kinda the same. Rust... isn't? But in a really cool and thoughtful way?

And it's fucking fast, and portable, and you can target webassembly with it, and it's fast, and it's fast. Memory management without the overhead of a garbage collector. I'm still a n00b but I love reading about how the high-level features of the language work. Like, there's the borrow checker which enforces ownership, and that works by tracking the lifetime of things. But the crazy part is you can explicitly talk about object lifetimes IN THE CODE as a language feature.

It's mindbendy and awesome. I haven't had this much fun learning something so useful in years

frank,
@frank@frankwiles.social avatar

@idan @grimalkina agree! I’ve been “learning” it for several years now and still feel like a beginner in many ways. Where something like Python I felt productive in a week.

rmillwood,
@rmillwood@mastodon.social avatar

@grimalkina "assuming I have no goal for using it to do anything really (outside of learning)" - I'd say go for art-making pretty patterns is a blast, and focussing on the problem solving is fun, rather than the spelling and grammar - hence Scratch, Snap!, Turtlestitch and TurtleArt all deserve your attention as jigsaw languages https://blog.richardmillwood.net/2014/07/26/jigsaw-programming/.

natpryce,
@natpryce@mastodon.social avatar

@grimalkina https://www.uiua.org

It’s APL crossed with Forth, with some nice UX so you don’t need a dedicated keyboard.

3psboyd,
@3psboyd@mastodon.social avatar

@grimalkina XSLT, a language for transforming XML into other XML, written in XML. (It was my first programming language.)

Paxxi,
@Paxxi@hachyderm.io avatar
glyph,
@glyph@mastodon.social avatar

@grimalkina

  • Squeak Smalltalk. It will give you a window into an alternate reality where the concept of “programming language” has fundamentally different semantic boundaries than it does in our reality.
  • AppleScript. Really I want to say HyperTalk here but unfortunately all the classic mac retrocomputing quality of life problems of HyperCard distract from the aesthetic of a programming language that takes parts of speech seriously.
mdarweesh,
@mdarweesh@mastodon.social avatar

@grimalkina Either python or Logo. For the turtles.

Rycaut,
@Rycaut@mastodon.social avatar

@grimalkina I’d suggest checking out https://glitch.com (you can actually use a few different languages there) which helps avoid all the complexity of setting up your own servers if you want to build and explore stuff. And they have a vibrant community building lots of stuff with a fairly robust free plan (and they are owned by Fastly and are here on the Fediverse - they even have sample fediverse apps)

(Forth is also a cool language - decades ago I helped run a MuCK written in custom 4th)

r0ml,
@r0ml@mastodon.social avatar

@grimalkina Optimizing for elegance, I would suggest either Mathematica ( https://www.wolfram.com/mathematica/ ) or Smalltalk ( https://squeak.org )

evan,
@evan@cosocial.ca avatar

@grimalkina Last thing: The Strange Loop Conference covers all kinds of next-generation, experimental programming languages. It's cool. You could do worse than to look through the previous year's sessions and just find one that tickles your fancy.

https://www.thestrangeloop.com/

bo_brinkman,
@bo_brinkman@mastodon.social avatar

@grimalkina the game TIS-100 ... It's assembly language but instead of RAM you have a weird network of chips.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • rosin
  • magazineikmin
  • GTA5RPClips
  • khanakhh
  • InstantRegret
  • Youngstown
  • mdbf
  • slotface
  • thenastyranch
  • everett
  • osvaldo12
  • kavyap
  • cubers
  • DreamBathrooms
  • megavids
  • Durango
  • modclub
  • ngwrru68w68
  • vwfavf
  • ethstaker
  • tester
  • cisconetworking
  • tacticalgear
  • Leos
  • provamag3
  • normalnudes
  • anitta
  • JUstTest
  • All magazines