- What the devil kind of "Nynorsk" allows "kalkuler" in place of "beregn"? And as the other poster pointed out, 'endre' does not actually take the '-leg' ending to make an adjective; not in the written language at least. Your dialect may allow it but that hardly matters. Try 'foranderlig', although I do like the idea of using articles. However, as we have three articles but variability is binary, I suggest we assign 'en' (masculine, firm, rigid) to constants, 'et' (neuter, indecisive, wibbly-wobbly) to variables, and of course 'ei' (feminine) as referring only to collections, into which things may be inserted. That does leave us with the difficulty of how to declare a collection as constant; I suggest
`ei fylke er alltid ["Vestland", "Rogaland", "Troms", "Finnmark"]`
which on second thought suggests that we can just have `alltid` as a const-modifier on `er`. Simpler.
Another point to note is that Norwegian does not allow the Oxford comma; correct grammar is "Johan, Fredrik og Martin". To follow this rule you should require the last separator of a list to be 'og':
`ei fylke er alltid ["Vestland", "Rogaland", "Troms" og "Finnmark"]`
- This tickles me:
> `ei fylke er alltid ["Vestland", "Rogaland", "Troms" og "Finnmark"]`
Might even consider adding that.
I have renamed the "endreleg" since the article release to "låst" and "open".
The thought process was:
- Variabelen er låst for endringer.
- Variabelen er open for endringer.
But I really like the "alltid" suggestion.
- > I have renamed the "endreleg" since the article release to "låst" and "open".
I like that - much shorter and also the two keywords are the same length, which is always nice when you're making a list. I have to say I would prefer 'åpen', though, just to make extra trouble for people who don't have a keyboard with Correct letters on it. :D
A further thought on `alltid` - you could add the keyword `aldri`, which makes it a runtime error for the variable to take that value. Maybe add ranges as well, for easy bounds checking, e.g.
``` en peker er aldri = null en indeks er aldri > 5 ```
- That is kinda interesting as a concept tbh.
Or alternatively:open peker er 10 peker er aldri < 5 peker er aldri > 10 // Masse kode peker er 30 // Erroropen peker er 10 peker er aldri < 5 eller > 10 // Masse kode peker er 30 // Error
- Funny :) but I think it would work better if the language not only required Nynorsk, but used Nynorsk and not Bokmål for all keywords:
https://ordbokene.no/nob/nn/ellers
I think I also saw "ikke" in there.
And https://ordbokene.no/nob/nn/endreleg isn't a word in any language? The Nynorsk word for it is sadly just "variabel". To make it more interesting, you could require agreement, and instead of "endreleg fart", how about just using the indefinite article for things that are changeable since things that are changeable seem kind of indefinite:
And of courseei fart = 70 eit smell = "bang" eit fag = "naturfag" ein slutt = "."
butforKvar fart forKvar slutt
And if you mess up the agreement you get a red squiggly line, and for every such your grade goes down from 6 and if it's less than 2 your program fails.forKvart smell forKvart fag- Well, I got a 2 in nynorsk, so I expected to have some mistakes going into this. Not sure I can handle also being graded by it.
I have replaced endreleg with "open", and the immutable variable with "open" in later versions (done after the article).
So now the "endreleg" is less of an annoyance, both because it no longer exists and because it has the same number of characters as the immutable keyword.
- One of these years I'm going to make a Finnish programming language that enforces the correct case in arguments. And I don't mean silly arguments like camelCase vs kebab-case, I mean grammar.
Some examples to illustrate:
Job security for DECADES.tiedosto on "foo.txt" avattuna tulostin on PRN1 kirjoita(tiedostoon, "a") kirjoita(tulostimelle, "b")- This is equal parts brilliant and demented. Thank you.
syöte olkoon vakiosyöte yritä tee syötteen kullekin alkiolle: käsittele(alkio) paitsi poikkeustilanteessa liukulukuylivuoto: kirjoita(virhetulosteeseen, "liukulukuylivuoto") muutoin: kirjoita(virhetulosteeseen, "odottamaton poikkeus")- Remember to be careful with looping lest you create an ikikieriö.
- Like a more devious Lingua::Romana::Perligata?
https://metacpan.org/dist/Lingua-Romana-Perligata/view/lib/L...
- Perhaps more inspired by the INTERCAL's PLEASE.
- And call it AivotP*rkele?
- And with all the maths in balanced ternary
- I understand "fast fart er 80" and it makes sense, but I think present tense "er" for mutable variables is super weird, and implies functional semantics in an imperative world. Like eg this:
This is weird! It can change but it is 80? Was it already? Will it forever? Should that maybe be "blir" instead? (pardon my nonexisting Nynorsk, I'm extrapolanorsking from Danish "bliver") Eg:endreleg fart er 80
So that later it can become a different value, egendrelig fart blir 80
And the imperative nature of this bit of code is immediately clear to the reader.fart blir 90- I have actually changes this in a newer version of the language.
Now it is "låst" and "open", as in:
Mostly because the length difference between "endreleg" and "låst" triggered me.låst fart er 80 open fartsgrense er 110- Yeah but my beef is not with “endrelig” but with “er”.
- Ah.
I don't disagree with you per se, but I think we can look at it another way: See assignments as statements of fact. The sky is blue. Himmelen er blå.
aka himmelen er blå. A statement of fact.
Also, "blir" becomes yet another keyword. More keywords, more to remember. Not that this has been a real consideration or worry in Brunost so far. The design so far is very much "What I felt was okay that day".
I do agree with the fact that this reads nicely:
open fart er 80 fart blir 50- > See assignments as statements of fact.
This makes sense in functional languages where variables can't change, but not in imperative languages like Brunost. When a fact changes halfway the story, it wasn't much of a fact. Himmelen er blå, inntil den blir rosa.
I too like your final example.
- > extrapolanorsking
<3
- For those in the USA - if you never tried brunost (brown cheese) - look at specialty cheeses of a larger grocery chain (Whole Foods, Safeway, …) - it’s called “Ski Queen” here, and is sold as a perfect cube in red/brown plastic pack.
It’s very delicious.
I was ecstatic when I found it quite a few years ago in a regular store. A Norwegian friend of mine used to send me a brick of this cheese once a year for Christmas, when I was a student, and I treasured it as one of the most valuable possessions :)
Also, fun fact - the reason this cheese tastes sweet is due to caramelization - the milk gets boiled for a long time (hours) to get the brown color and sweetness. So it’s completely natural, zero added sugar ;)
- If you have not tasted brunost you should definitely try it https://en.wikipedia.org/wiki/Brunost
- Yep, I just had a slice of bread with strawberry jam and brunost on top
10/10
- I have tasted it, once. Downvoted.
- After spending way too much time thinking about how I would program in a language I never heard about I realized that as a native Dutch speaker Nynorsk is fairly readable.
I'm sold.
- As a Norwegian with passable German, written Dutch feels almost like just jumbling some letters around and adding unnecessary consonants... (Spoken Dutch, though, is entirely incomprehensible to me) The language continuum around the North Sea is fairly tight (more so if you consider Low German instead of standard German so you don't need to deal with the effects of the annoying High German consonant shift (think Dag -> Tag, Schip -> Schiff etc.))
- I once had some Norwegian room mates in Ireland, and whenever we collectively couldn't find the proper English word, we usually got lucky with our native tongues. When listening to Scandi TV series, I'm still surprised more than I should be by the occasional match (recently: suddenly -> "plutselig", similar to German "plötzlich").
Now, as for the Danish room mate, he might as well have been speaking Greek.
- In Norway, Danish is sometimes subjected to friendly ridicule as sounding like Norwegian spoken with a potato in your mouth...
Danish is if anything ever so slightly closer to German in vocabulary and grammar, but the pronunciation is another matter.
The effect is bigger in writing. In high school I worked my way through Faust in German by finding an old Danish translation as a parallel text - the old Danish version was a decent halfway point when I struggled too much with the German, and helped me find similarities I wouldn't otherwise.
- > In Norway, Danish is sometimes subjected to friendly ridicule
Case in point:
- Classic. Kamelåså.
Maybe I should throw that into the language somewhere.
- I studied in Trondheim for a semester and learned some Norwegian. Whenever I didn't know a word, I just pronounced the Dutch or English word in a 'Norwegian way'. Most of the time people didn't even blink. So much so that I'd then ask them if the word I just used existed and invariably the answer was that that was the correct word.
- However if you asked your Danish roommate to write down what he said it would make perfect sense.
- As a Swede I am surprisingly drawn to this. At first I read this as a fun joke, an art project if you will. By the end after reading the code and being surprised by how comfortably it reads to me I find myself kind of wanting to use this. In a way it is exactly like brunost, surprisingly good.
- I don't know how far I want to take this language, but if there is a market for an actual nordic/norwegian language then it shouldn't be Brunost.
I would want something that compiles down to something, not interpreted, typesafe, with a proper package manager, etc.
My initial goal was always to take it far enough to do file I/O and sockets, so I could make a Brunost website in Brunost.
If there is interest in the language from the POV of education and so forth I'd be happy to tailor it away from goofs and gafs and into something a little more usable, but I don't want the language to become a full-on production language.
- > One can make similar arguments about Bokmål and Sami, but people speak Sami. And I would argue that a lot more people speak "pure Bokmål" than Nynorsk.
Very, very few. I used to, as a side effect of being quite asocial and reading a lot as a child, and reinforced by my dads very conservative dialect for western Oslo despite where we were living (half an hour drive out the other side of Oslo; dialects in Norway are very local - in that span you pass through at least one other dialect area). The dialect differences were significant enough that an exchange student in high school who was speaking close to perfect Norwegian toward the end of the year still struggled to understand me.
But even then, I adopted more and more of the regional dialect over time. Unless you're a hermit it's hard not to. And there are basically no place in Norway where the local dialect is pure Bokmål.
There might well be more people who can switch to speak pure Bokmål than Nynorsk, though, because it is the primary written language of far more people, and so its the easiest to slip into if you want to speak "formal" Norwegian. This was more pronounced before, when there was a tendency to see the written languages, and especially Bokmål, as more prestigious, and so you might hold a speech in Bokmål instead of your own dialect, TV presenters favoured "pure" Bokmål or Nynorsk instead of their dielcts etc. That's thankfully changed
- What do you know about Bokmål being more prestigious in the past? You don’t respect the other form enough to cognize that it exists.[1] I don’t think that lends itself to a well thought out comparison.
- > What do you know about Bokmål being more prestigious in the past?
Having grown up in Norway and seen first hand how it was treated that way.
> You don’t respect the other form enough to cognize that it exists.[1]
I don't like Nynorsk, sure, but that has zero relevance to the point I made, which was if anything a point of contention for those who do like Nynorsk for decades, and a subject of intense activism.
EDIT: You seem to think that I am suggesting that makes one better than the other, or that it should be that way. Neither is the case - there's a reason I wrote "That's thankfully changed". But it was very much the case up until at least the 1980's that Bokmål was treated more favourably than Nynorsk in all kinds of contexts. E.g. companies expecting communication with customers should be done in Bokmål, for example, was an actual thing.
- > Having grown up in Norway and seen first hand how it was treated that way.
In Oslo.
> I don't like Nynorsk, sure,
That’s not what respect or disrespect is about.
> but that has zero relevance to the point I made,
No. The relevance is what I stated, in the next sentence that you did not quote.
> which was if anything a
What I questioned was its truthfulness. Not what kind of person would say it.
> You seem to think that I am suggesting that makes one better than the other, or that it should be that way.
I did not state or think that you were making a normative statement.
> But it was very much the case up until at least the 1980's that Bokmål was treated more favourably than Nynorsk in all kinds of contexts. ...
Being used more including being dictated from some top-down direction does not necessarily have anything to do with prestige and could be entirely prosaic.
- > What I questioned was its truthfulness
You can question the truthfulness all you want.
It doesn't change the fact that this has been a well established aspect of the language struggle in Norway for well over a century, to the point that when I went to school it was even covered in history lessons.
I'm mystified with how you are ignorant of this. Bokmål has it's origin firmly in being derived from Danish via Riksmål, as based on how the elites spoke.
The spread of Bokmål was a direct consequence of its prestige as a consequence of for a very long time being the favoured written language of the elite, leading to adoption even in areas where the spoken dialect was closer to Nynorsk.
- Prestige = elite strata. That answers my question.
- Yes, coming from the elite strata is and has objectively been considered signifiers of high status and prestige in most societies throughout human history.
I sense that you are trying to imply that I am applying some kind of value judgement in recognising what people have historically found prestigiuous.
If so you are completely missing the point.
- “Fast” means firm or constant. “Fart” means speed.
The examples have nothing to do with quick flatulence.
- But it was an intended joke...
- Now ruined by an intended explanation.
- It's hn. We require all jokes to come with disassembly instructions.
- This brings back good memories from when a friend made C in nynorsk: https://www.pvv.ntnu.no/~andreer/nynorsk/
- "endreleg"? Are you sure that word is in your own nynorsk dictionary?
- I have actually changed this since the post's release.
I got annoyed that "fast" and "endreleg" have different numbers of characters (regardless of whether endreleg is nynorsk. I got a 2 in Nynorsk in school, so........)
Now it is "open" and "låst".
As in:
- Variabelen er open for endringer.
- Variabelen er låst for endringer.
- Bonus points for requiring 'å' to program in Brunost.
- I use an English keyboard myself. I have to switch between layouts every other character.
I've made my own hell with this language.
- The brunost programming language could be very useful for norwegian government agencies. It is common to use norwegian names for variables and functions at the Norwegian Labour and Welfare Administration (NAV in Norwegian). A subset of typescript where the reserved words are written in nynorsk, would help prevent misunderstanding.
- If there is a market for that, then I would build a new language from the ground up that is... better designed.
Brunost is just me throwing syntax at the wall to make a "nynorsk programming language". Less about careful design and more about getting something to work.
If I were to make a language intended for an important production system, it would be a compiled language that (probably) would go the Gleam route and compile to JS and some other language, while also being typesafe, having a package manager and so forth.
- Most of the source code for the Norwegian welfare system is published openly on https://github.com/navikt (4K repos)
- It is a lot of good code there.
- I don’t understand how having 65–100 keywords localized makes any difference. People can use these kinds of mixed registers for specific niches and it seems seamless to everyone.
- As a fellow Norwegian and nerd I have always wanted to be better at Nynorsk. Maybe this is what I need to get better at it!
- Word Basic back in the Word 95 days translated keywords.
The source was saved tokenized, so the program would have different keywords when loaded in different version of Word. I don't know if there was a Nynorsk version, but I presume there must have been.
(I once had a contract where I spent the first week sorting out problems caused by someone managing to move Word Basic from a Danish version of Word to a Norwegian version untokenised; the problem being of course that the Danish and Norwegian keywords had a lot of overlap, read just fine to a Norwegian reader, but there were differences and so everything broken and the original Word Basic files were not available to me so I couldn't just load that into Norwegian Word... Fun times. This was also the first time I had ever seen Word Basic, after confidently telling the recruiter that of course I knew it, as I was desperate to land the contract - in the end I finished ahead of time, so it was all good)
- This was the reason I installed only the English version of windows and office. I do not like Dutch, even though it's my native tongue. I grew up with os and programming languages in English because translation was too expensive and I got used to it
- Yeah, same thing for me. The article is funny, but I'd hate to actually use a language using non-English keywords.
- Excel still translates keywords in 2026.
- Slightly off topic.
"Now, the keyword fast here is saying that the variable fart cannot be changed - it is immutable"
So would this be the same 'fast' as you'd find in 'steadfast' or as in stuck?
- Yes, exactly - same Germanic root. "Fast" in Scandinavian languages means firm/fixed/stuck, which is also the original meaning in English (as in "hold fast", "steadfast", "fasten"). The "quick" meaning in English is actually the newer one, derived from the idea of being "stuck" on a course.
- Yes. And as in fastness (which would be «fastheit» in Nynorsk): https://www.etymonline.com/word/fastness
- Nynorsk destroyed my future
- Spenstig!! Mangler bare "endeleg" i Exception handling :)
- Sant sant, legger det til!
- I was somewhat skeptical, but this got me:
``` fast fartsgrense er 80 fast minFart er 90
```
- Eg saknar kvisleis.