this post was submitted on 29 Jan 2025
44 points (87.9% liked)

Programming

17978 readers
416 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 2 years ago
MODERATORS
 

I regularly hear people asking which programming language to learn, and then reeling off a list of very similar languages (“Should I learn Java, C#, C++, Python, or Ruby?”). In response I usually tell them that it doesn’t really matter, as long as they get started. There are fundamentals behind them.

What do I mean when I say fundamentals? If you have an array or list of items and you’re going to loop over it, that is the same in any imperative language. There is straightforward iteration and there is iterating over all unordered combinations and a few other patterns, but those patterns are basically the same in C, Java, Python, or Fortran. Having neural pathways that fluently express intention in these patterns, the same way you express thoughts in sentence structures in English, are fundamentals.

But not all languages have the same set of patterns. The patterns for looping in C or Python are very different from the patterns of recursion in Standard ML or Prolog. The way you organize a program in Lisp, where you name new language constructs, is very different from how you organize it in APL, where fragments of symbol sequences are both the definitions of behavior and become the label for that behavior in your mind.

These distinct collections of fundamentals form various ur-languages. Learning a new language that traces to the same ur-language is an easy shift. Learning one that traces to an unfamiliar ur-language requires significant time and effort and new neural pathways.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 1 day ago* (last edited 1 day ago) (6 children)

Is ur an English word? Known meaning in English languages? I don't think so? I'm surprised they don't mention why they name it ur-languages.

In German, the word prefix ur means origin, stemming from the word Ursprung (origin). Which makes sense as origin-languages. And could have been named origin-languages, honestly.

[–] rayquetzalcoatl 5 points 1 day ago

Oh! I assumed it was something to do with the city of Ur, being some sort of analogy for the root of civilisation or something

load more comments (5 replies)