- cross-posted to:
- programming@lemmy.ml
- cross-posted to:
- programming@lemmy.ml
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.
So, dear OP, what are the Seven deadly ur-languages?
OP just wanted to use “ur-” and got carried away
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.
Yes, although admittedly I only know it from Umberto Eco’s Ur-Fascism
Ah, I looked there on Wiktionary, but only
ur
notur-
😅
Ur is used in German a lot to signify something being ancient or the origin.
Großvater means grandfather. Urgroßvater means great-grandfather.
Ursuppe - Primordial soup
Urknall - Big Bang
Ursprung - Origin
English uses it as a loan word and prefix.
Smells a bit Scandinavian to me. In Norwegian we also use “ur” that way, including “urspråk” (Ursprache, ur-language). We have a different word for origin (opphav), so ur remains a prefix that’s difficult for us to translate.
Going by Wikipedia however, the English translation for Norwegian urspråk and German Ursprache is proto-language.
Yes, but it’s a prefix and can’t be used as a word on its own.
I am a native English speaker and I know it. It’s rare though.
Same meaning as in German and apparently we borrowed it from German.
In college, one of the best courses I took was Programming Languages. It covered a smattering of languages illustrating different approaches and methods. Maybe a week or so on each plus you had to write some code in each.
This article could’ve been: learn the different paradigms, here are my favorite languages that follow the paradigm. Done.
Where is INTERCAL, the ur-esoteric language?
INTERCAL is an ALGOL descendant. A holistic timeline of esoteric languages shows that esoteric languages don’t form a family; however, there are several families not mentioned in the article, notably cellular automata and string/wire diagrams.
tl;dr
When an enthusiastic novice asks what language to learn you should pretentiously tell them it doesn’t matter because the majority in use today are similar and trace their roots to the same source.
For pretentious reasons we’ll define that source as an *ur-*language because that’s a defined prefix that nobody uses in reality so it’s a great way to assert I’m more cleverer than you.
Now, here’s a long rambling lesson on other ur-languages that nobody uses because they’re overly complex but because I’m so much cleverer I clearly know them all.
To conclude I’ve ignored your original question but don’t worry, here’s a link to the programming course I sell.
Once you’ve completed your first you shouldn’t bother putting it into practice but instead every year try a language completely unrelated to the first so it’s extra difficult. Just ignore the fact it’s guaranteed to be a dead language nobody uses in reality. it’s more important to be different than have practical skills.