this post was submitted on 26 Jan 2024
87 points (92.2% liked)

Programming

17270 readers
39 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

I've been working with a Javascript (+ TypeScript) + Java + SQL stack for the last 10 years.

For 2024 I'd like to learn a new programming language, just for fun. I don't have any particular goals in mind, I just want to learn something new. If I can use it later professionally that'd be cool, but if not that's okay too.

Requirements:

  • Runs on linux
  • Not interested in languages created by Google or Apple
  • No "joke languages", please

Thank you very much!

EDIT: I ended up ordering the paperback version of the Rust book. Maybe one day I'll contribute to the Lemmy code base or something :P Thank you all for the replies!!!

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 9 months ago (9 children)

Factor!

It's incredible and elegant and defies some common categorization.

I've put some of my favorite resources in the sidebar of https://programming.dev/c/concatenative and I'm happy to walk through any particular challenges/examples -- I've done about the first week of Advent of Code with it this year, and the most recent handful of Perl Weekly Challenges, and some basic Euler problems.

[–] [email protected] 2 points 9 months ago (7 children)

Re the sidebar: How are Nim and Roc partially concatenative?

[–] [email protected] 1 points 9 months ago (6 children)

I may be expressing it poorly and inaccurately, but what I mean is that in Nim you can re-order arguments and functions to start with some data followed by a series of transformations. The following two lines are equivalent:

parse_int(read_line(stdin))
stdin.read_line().parse_int()

Roc offers a similar flow with their |> operator. Here's a snippet from one of my Advent of Code 2022 solutions:

partOne =
    "input.txt"
    |> getData
    |> Task.await \data ->
        data
        |> getRangePairs
        |> List.keepIf pairHasStrictSubset
        |> List.len
        |> Num.toStr
        |> Stdout.line
[–] [email protected] 2 points 9 months ago (1 children)
[–] [email protected] 1 points 9 months ago

Exactly. That's the second link under "Wikipedia Topics" in the sidebar.

load more comments (4 replies)
load more comments (4 replies)
load more comments (5 replies)