I agree, Journalists should pick fights, but I would prefer if they built up their arguments a bit better than this.
I am one who is not familiar with the author previously, and from what he brings up I am highly inclined to agree with him, but I have to agree I became more sceptical to his arguments when all he brings up to support it is one very sparing data point (that graph feels very misleading). Give me data on how the kernel support has changed over time. Give me data on how the foundations income has changed over time. Not showing me any of this makes me very sceptical. Would showing this data not support the authors point?
Oh wow that is a really interesting test solution. That would be an interesting thing to add to all zig tests (I know they already have the testing allocator and good valgrind support but I don't think that tests/simulates oom).
I love things like these that use existing tests and expand the to just test further thing in already covered flows. We have done similar things at my work where we test expansion of data models against old models to check that we cover upgrade scenarios.
This is a clear sign of a badly designed language. You should never see a fixed-size (less than page size) allocation fail, simply because there's nothing you can reasonably do if it does fail. Either you should crash or it should block until it is possible again.
(Where crash means a worker process or something limited to something less than the entire system. See Erlang for the logical extension of this.)
I realize this implies Windows and Java are badly designed and my answer to that is "yes".
So if my browser tries to allocate memory for a tab and the allocation fails it should just crash or block instead of handling the failure gracefully by not creating a new tab and telling me the system is running low on memory?
As long as the syscalls don't themselves fail, it's no problem until you run out of address space. At which point you should crash because you probably need to allocate to handle any reasonable errors.
I've been using this helper: https://github.com/judofyr/zini/blob/ea91f645b7dc061adcedc91.... It starts by making the first allocation fail, then the second, then the third, and so on. As long as it returns OutOfMemory (without leaking memory) then everything is fine.
Yeah I agree with you on this. This might have been the CEO too proud to not go back on his strong words against revenue share. That said the alternative they presented is a really stupid alternative. I don't think anyone has argued that Unity shouldn't be able to make money or increase their fees if necessary, but they should have followed their word on "stay on the terms you signed up to" and not do such a crazy version of fee increase as they did (install fee is a really stupid metric and that the install fee didn't have a roof was really bad).
I agree with the article that it might be misleading to measure the rubble against US Dollar or Euro as not as much trade is done in those currencies in Russia currently. That said, if you measure the rubble against the ruppie or yuan instead, for example, the rubble has also weakened quite a bit. Weird that the article doesn't do that comparison... Strange...
Oh, now you got me started aswell. There are so many good ones.
k.ong - cool word, don't know what it would be for. Maybe the home of the mascot of the K language (I don't think K has a mascot from what I know but they should have one).
Was about to ask the same question (though didn't know when he died).
Ok then, I'll get back to these when we finally have been able to convince the government that the current copyright length is obscene or when they have entered public commons - whichever is earlier (don't make me bring the mood down by suggesting which one I think will come first).
Last time I looked at it they had experimental support for binary diffs (not just lines). That was quite a while ago though, they have probably gotten further now.
People might feel like it is too verbose, but I think it is good to have the clarity. I write C at my day job and I have no problem with the 'verbosity' if it provides clarity of what happens. What I want is the compiler to help if I ever forget who owns a particular data value and miss to clean it up. For that linear types are perfect. I also prefer their simpleness over Rust's affine types which easily gets very complicated (see the difference between theirs and your borrow checker). Linear types gives me an easy way to define basic "state machines" for how to handle the data using types and then verifies that I implemented them correctly. That is kinda all I need. Feels like a good "get shit done" language.
I disagree with you about 'no type inference'. I understand why some swear by type inference, but personally I prefer the complete clarity it provides to avoid it. If writing those characters annoys you, have tooling help you with avoiding that.
Yep, I agree with you that it's better to be explicit than implicit here. Initialization/destruction order is often tricky, and source of obscure bugs.
I am one who is not familiar with the author previously, and from what he brings up I am highly inclined to agree with him, but I have to agree I became more sceptical to his arguments when all he brings up to support it is one very sparing data point (that graph feels very misleading). Give me data on how the kernel support has changed over time. Give me data on how the foundations income has changed over time. Not showing me any of this makes me very sceptical. Would showing this data not support the authors point?