HN user

moss2

540 karma
Posts2
Comments130
View on HN

It is too bad it is up to the founders themselves to offer liquidity to employees. Founders are financially incentivized to not offer anything, so you're counting on their sense of justice and morals to overcome their sense of personal gain. This should be regulated.

(Yes, this is a political opinion. No, I am not American.)

I looked for any mention of hosting your own server on the repo's readme and could not find it. This is not readily available information so stop shaming people for not finding it.

But thank you for sharing the link that was helpful

I might not be against that...

Assigning variables or calling methods (when you discard the return value) would look the same as is typical in many languages:

    int x = foo(); // foo() returns int but we can see that in what type x is
    foo(); // we don't care what foo() returns
Named variables in method calls would have to have the type so as to not hide what type a method-as-parameter returns:
    CoolObject cool_obj = bar(int arg1: foo())

I can't remember which language, but there is one where every number is a double and there is no int type.

Is Onyx like that? I don't know. It would take me maybe two minutes to look up. The point is I have to look it up to be certain when that certainty could be part of the language.

Would you be willing to use a language that looked verbose in the text files, but you had an IDE that hid the verbose parts from you?

Take your Java example. If the code in the .java file looked like

    HashMap<String, List<int>> hashmap = new HashMap<String, List<int>>();
but IntelliJ showed it to you like
    hashmap = new HashMap();

Onyx is strictly type-checked. However, the type-inference systems in Onyx usually allow you to omit types.

x := 10

I...

Why is this a feature in every new language? Can't we have a language that is more verbose and explicit, not less? I'd love it if named parameters were mandatory, not optional.

(Named parameters is when you name parameters/arguments you pass on to functions, like you can do in python and groovy: `foobar(arg1: 123, arg2: 'hello')`)

Most of my problems I run into is due to implicit behaviour that no one bothers to explain. In Onyx here, having type-inference means I now how to remember that x := 10 means x will be a signed 32-bit integer instead of, you know, the code that I'm writing remembering it for me.

And I'm just guessing here. Maybe x is a double. Or unsigned since its initial value isn't negative. Or maybe it was signed 32-bit integer but the Onyx developers changed it to 128-bit long long for version 666.0.0. The point is I have to look this stuff up or remember it instead of, you know, it being right there.

I don't even know what you gain by doing this. Less code is less messy but also hides a lot of information from you. Hiding information should be something an IDE does, not the language itself.

Thank you for reading my rant.

Differently Morphous by Yahtzee Croshaw. It's cute detective novel set in a fantasy version of modern-day London. It includes a ministry of magic (legally distinct from Harry Potter), Lovecraftian cosmic horror, a hive mind of slime monsters seeking asylum in England, and an outstanding cast of wacky characters. A very light and cosy read, highly recommended.

Why? Safety Critical Software engineers are expensive. If you write a webstack with Node.js and React to run the insulin pump you can hire web developers. They are much cheaper. And who would be able to tell the difference? Boomer lawyers and judges working on the lawsuit targeted against us won't understand.

You don't need Windows for gaming any more. Ubuntu 22.04 comes with graphics drivers. Steam has Steam Play and Lutris has a huge library of install scripts, so everything is handled for you.

The one thing you will need to do occasionally is experiment with different Wine distributions. This means you will need to right click on your game and select the distribution from a drop-down box. Exhausting, I know.