fosstodon.org is one of the many independent Mastodon servers you can use to participate in the fediverse.
Fosstodon is an invite only Mastodon instance that is open to those who are interested in technology; particularly free & open source software. If you wish to join, contact us for an invite.

Administered by:

Server stats:

10K
active users

#Oberon

0 posts0 participants0 posts today

Why people design a new #ProgrammingLanguage?

There are tons of good reasons of course. Some does that for fun or for curiosity, some for political or educational reasons, some to address shortcomings faced with existing one, either in specific use case or in general.

To me, at least at the conscious level, it's completely a political issue.

I see how programming is a new political force (so much that I actively used it to fight #BigTech in Italy) and I see how people who cannot read (aka #debug) or write (aka #programing), are doomed to becomes second class citizens in a #cybernetic society.

I don't want this to happen to my daughters, so I want to teach them how to program and debug.

BUT mainstream programming languages are weird, full of accidental complexity and with over-complicated semantics.

As a nerd who can programs in most of them, I tend to get fun in the abstractions and details of, say, a #Haskell or an homoiconic macro in a #Lisp.

But while they are fun to a person grown (and selected to fit) within such a primitive computing environment, they are inheritely excluding people who cannot spend decades to grasp their subtle intricacies.

And how you can teach such languages to kids?

Sure they can learn and understand any programming language construct way better of an average adult, but at a first glance all they will only see is glibberish!

And while some will be fascinated by such esoteric language that can be used to create games, worlds and agents that serve their will (just like I was when I was a kid), most will find that complicated and thus boring.

On the other hand a language that is explicit and with simple semantics (such as say #Oberon) will seem verbose and boring to a professional programmer.

I love the simple clarity of a #snake implementation like this https://github.com/tmartiro/voc-snake/blob/main/Snake.Mod whose complexity is almost just the complexity of the task at hand.

And while I see little improvements I could add to such language to further simplify it's syntax and semantics, when I try to do so, I end with something that is less readable than the original, despite syntax and semantics being simpler (as in less rules and no exceptions or incoherence).

It was pointed out by @anzu@items.minimals.org: while I want to make the language easy to read and simple to understand, I subconsciously try to address the issues I faced in my ~25 years as a polyglot programmer.
And apparently I can't resist such impulse, like if I cannot escape my experience.

It's sad.

It makes me think of how the phonetic alphabet was invented by people who cannot read or write but were exposed to hierogliphs, and think that creating a democratic programming language is beyond my ability because of how my mind has been blent from the existing one.

@informatica@feddit.it @programmazione@feddit.it
@technology@lemmy.world
@programming_languages@programming.dev
Snake written in VOC using Raylib. Contribute to tmartiro/voc-snake development by creating an account on GitHub.
GitHubvoc-snake/Snake.Mod at main · tmartiro/voc-snakeSnake written in VOC using Raylib. Contribute to tmartiro/voc-snake development by creating an account on GitHub.

FreeBSD-Update and ~200 Jails

Initially, when I heard about freebsd-rustdate I was very skeptical. I have a fear of “Written in <new hip language>”. I thought, however, I’ll wait, and when the time comes, I will try and see how it works.

For the last couple of days I’ve been updating hosts and jails for my customers and my company, and one of the best resources I found was the FreeBSD Update page on FreeBSD’s Wiki, specially the “freebsd-update Reverse Proxy Cache” section. It has saved me hours when updating the hosts. For some hosts we even did an NFS mount of /var/db/freebsd-update/files directory.

But when it came to upgrading the jails, I realized that this is going to take a very long time. Each host has at least 15 jails, up to 50. There’s a host which has 100+ jails.

Upgrading all of them was going to take a very, very long time. So I ended up doing some research. Here were my options.

  • Build FreeBSD once and run make install everywhere else using NFS and DESTDIR (I used to do this years ago)
  • Migrate to PkgBase (we’ve started doing this, but we’re not done yet, and it will take a while)
  • Nuke the Jails, start fresh, and just move the data (this could work, and I will do that in the future, but now I need to update ~200 jails in the coming 3 days)
  • Somehow, make freebsd-update run faster.

As you have guessed, I went for the last option. Uncle Dave reminded me of freebsd-rustdate again, and I decided to give it a try. Even before starting, my good friend Daniel wrote in our group chat:

@dch my guy. You just saved me several hours per year of flipping back and forth between terminals waiting for the next part of a freebsd-update upgrades to finish running on a million systems.

I arrived to my parent’s house, installed freebsd-rustdate on a host, and tested it on a single jail. Here is my initial reaction

holy fuck freebsd-rustdate is fucking fast

Like I said, I hate “rewrite in <new hip language>”, but clearly, this time it’s a winner.

And frankly speaking, my Jail manager, jailer, does have the same problems that freebsd-update has. It’s much, much slower when you have to manage 100+ jails. I will, however, not rewrite it in another language (for now, and if I do, it will be in Oberon). Although I might end up spending some good amount of time optimizing it 🙂

Kudos to Matthew Fuller, amazing work. And I have to mention, when I was thinking about moving to FreeBSD more than a decade ago, his rant BSD for Linux Users was the deciding factor for me, and I’ve been using FreeBSD ever since.

That’s all folks…

Reply via email.

rustdate.over-yonder.netfreebsd-rustdate

#MPS:
"
Uranus: Magnetosphäre im Ausnahmezustand

Das Uranus-Magnetfeld ist raumgreifender als bisher gedacht, zeigen neu ausgewertete Daten der Sonde Voyager 2. Die Suche nach Monden mit Ozeanen wird dadurch leichter.
"
mps.mpg.de/uranus-magnetosphae

2.12.2024

www.mps.mpg.deUranus: Magnetosphäre im AusnahmezustandBei ihrem Vorbeiflug am Uranus vor 38 Jahren erlebte die NASA-Raumsonde Voyager 2 die Magnetosphäre des Eisriesen in einem Ausnahmezustand: Ein ungewöhnlich kräftiger Sonnenwind dürfte den magnetischen Schutzschild des Planeten damals dramatisch gestaucht haben. Das legen Messdaten der Raumsonde aus den Tagen vor der kosmischen Begegnung nahe, die ein amerikanisch-deutsches Forscherteam unter Beteiligung des Max-Planck-Instituts für Sonnensystemforschung (MPS) nun neu ausgewertet hat. Die Magnetosphäre des Uranus galt seit Jahrzehnten als sonderbar – eine Vorstellung, die offenbar zumindest zum Teil auf einer untypischen Momentaufnahme beruht, wie die Wissenschaftler*innen in der Fachzeitschrift Nature Astronomy argumentieren. Die Ergebnisse machen Hoffnung für zukünftige Weltraummissionen, die nach unterirdischen Ozeanen auf den Uranus-Monden Titania und Oberon suchen. Deren Umlaufbahnen dürften wohl doch innerhalb der Uranus-Magnetosphäre verlaufen; ihre Ozeane müssten sich deshalb durch induzierte Ströme und Magnetfelder verraten.

Last week we brought to our home a new #cat!
Please welcome #neve!
Name (meaning Snow) was chosen by my daughter of course.
We picked him from a shelter...he should be around 5 months old or so, and has different colour eyes 😀

(the close contact photo was from the adoption message but it's a bit old because now the colour difference is more, zoom the other picture...).

The other cats #oberon and #robin are accepting him now...except the first day 😅

Replied in thread

@codeDude N. Wirth removed the ability to do multiple returns from #OBERON in 2007: “… the unpleasant property that the return statement is syntactically disconnected from the function procedure declaration, similar to the exit from the loop statements. It is therefore difficult to check, whether or not a function procedure declaration specifies a result, or perhaps even several of them.

Replied in thread

@amszmidt @theruran But I agree that I'm not a big fan of programming language over-verbosity like in #Pascal / #Oberon .... typing BEGIN/END all the time gets very tiring very fast. Even C's {} are annoying due to shift-usage. Python replacing that with indentation is on the right track, but there is still too many of shift-requiring parenthesis, quotes and colons contributing to #RSI health issues. I think I'll choose next language exclusively based on if it can be used without shift keys 😄