Live data from Hacker News

The Rune Programming Language

github.com

151–160 of 203 posts

Re: The Rune Programming Language

#151
post #116
post #111

Earlier quoted context omitted.

Here's my hot take: if you're designing a new programming language in the modern era, even a systems language, ignore the precedent of C and don't use &|^~ as bitwise operators. You can still have infix bitwise operators, but spell them out as bitand/bitor/bitxor/bitnot. Then you can just use &| for logical and/or, which are 1000x more common than bitwise and/or, and you can reclaim ^ for exponentiation as well. And…

Hard disagree on single characters for logic and exponentiation. ASCII has too few special characters and you'd want to use those elsewhere, without creating ambiguity. Elixir got it right.

ASCII has tones of unused chars we could grab for coding.

Re: The Rune Programming Language

#152

Earlier quoted context omitted.

The actual issue here is you acting like a name collision is a huge problem. It isn't, it's an everyday occurrence on Github alone. We just add a bit more info, like the account name in the case of Github or the year of release for movies/series/games etc.

If a name really isn’t such a big deal, then it shouldn’t be a big deal to change it to something else that wasn’t already taken. If there’s resistance to that idea, then maybe names are a big deal after all. For a language dev, the name of the language is all you really own about it. These days, developers expect their languages and tools to be free, and of course open source and permissively licensed. The name and…

We are talking about "rune", a common English noun. It's not like Google called it Zig or Jai. And how many github repos are just called "Lisp"?

Google isn't exactly innovative with their naming: Fuchsia, Dart, Pixel, Go, Drive, Ara, ... Aside from rare short-term experiments like Stadia everything outside a basic dictionary should be safe.

I'm not going to defend Google, but this specific case isn't one that I'd lose my mind over.

Re: The Rune Programming Language

#153
post #111

Earlier quoted context omitted.

Here's my hot take: if you're designing a new programming language in the modern era, even a systems language, ignore the precedent of C and don't use &|^~ as bitwise operators. You can still have infix bitwise operators, but spell them out as bitand/bitor/bitxor/bitnot. Then you can just use &| for logical and/or, which are 1000x more common than bitwise and/or, and you can reclaim ^ for exponentiation as well. And…

Interesting. I'd go the other way. Continue using single-character bitwise operators, but spell out "and" and "or" for the logical operators. Rationale: in normal usage, short-circuiting logical operators are, in effect, a special kind of control flow statement, and control flow statements are typically spelled out. Bitwise operators are more unequivocally meant for calculation, and therefore perhaps more deserving o…

This is exactly what Python did and it works out very well for the most part.

Re: The Rune Programming Language

#155
post #146

Earlier quoted context omitted.

As someone who has some difficulty with reading sometimes, I find Python's way of doing things to be a genuine readability challenge. Python's the language I get paid to write, but, if I thought I could get away with it at work, I might try advocating we try out Hy simply so I could return to a world of having visible, non-whitespace delimiters to aid me in reading code. I don't want to make too much hay about my cha…

The braces could be automatically added or removed by any editor, so I don't see the problem, unless someone wants to write code like: if a == b { do this } else { do that }

Arguments about what's easy to do in any editor lose a bit of their shine in the post-GitHub era. Barring the development of a really good language-aware semantic diff algorithm that I'm guessing doesn't exist yet, you really do need to have a consistent coding standard everywhere if you want to avoid injecting unnecessary chaos (and, in this case, accessibility challenges) into exactly the parts of the modern software development lifecycle where code readability is most important.

Re: The Rune Programming Language

#156
post #116

Earlier quoted context omitted.

Hard disagree on single characters for logic and exponentiation. ASCII has too few special characters and you'd want to use those elsewhere, without creating ambiguity. Elixir got it right.

ASCII has tones of unused chars we could grab for coding.

Mm yes but BEL is not a character that can be typed on a keyboard with any amount of ease.

Re: The Rune Programming Language

#157
post #41

What's up with having two different new experimental languages from Google on the front page https://news.ycombinator.com/item?id=33756800 - did Google just happen to release them at the same time? I think when Carbon came out people's reaction was stronger than deserved (like saying that Google don't believe in Rust, or that Go has been a failure because it hasn't replaced C++ etc.) while in reality all of this is v…

It seems like somebody got too easy access to the Google Github repo. Usually only higher quality projects get approved to the central repo.

Wrong. This is in a late state, and very high quality.

And Google is not really known to release high quality projects overall. Only some of them are.

Re: The Rune Programming Language

#158
post #116
post #111

Earlier quoted context omitted.

Here's my hot take: if you're designing a new programming language in the modern era, even a systems language, ignore the precedent of C and don't use &|^~ as bitwise operators. You can still have infix bitwise operators, but spell them out as bitand/bitor/bitxor/bitnot. Then you can just use &| for logical and/or, which are 1000x more common than bitwise and/or, and you can reclaim ^ for exponentiation as well. And…

Hard disagree on single characters for logic and exponentiation. ASCII has too few special characters and you'd want to use those elsewhere, without creating ambiguity. Elixir got it right.

> ASCII has too few special characters

Unicode, OTOH, doesn’t have this problem.

Re: The Rune Programming Language

#159
post #117

Earlier quoted context omitted.

What makes that different from creating a Secret class that's just a container class and defines its own methods? I just don't see what it is that requires a new language to accomplish and couldn't just be implemented as a library in many of the pre-existing languages (including popular ones like C++).

It seems like we're focusing way too much on just the very first example, instead of the feature list as a whole? There are plenty of other interesting features, such as disallowing conditional branching on the contents of secrets, all the way down to enforcing Spectre and Meltdown mitigations around secrets without necessarily globally taking that performance hit on sensitive and non-sensitive data alike.

I think I'm just not creative enough to think of features that need to be implemented by the language and not easily done at a library level. You could prevent the access to secret's contents by creating the appropriate class, but I suppose it would be harder or impossible to allow the user to peak into the contents but disallowing using them for branching specifically. Though, I'm not sure where that can be useful in practice. Also, I'm not sure how that language feature can mitigate meltdown and spectre. How can it do that?

Re: The Rune Programming Language

#160
post #116

Earlier quoted context omitted.

Hard disagree on single characters for logic and exponentiation. ASCII has too few special characters and you'd want to use those elsewhere, without creating ambiguity. Elixir got it right.

> ASCII has too few special characters Unicode, OTOH, doesn’t have this problem.

True, but we don’t have Unicode keyboards.
Post reply on HN