nemaar
nemaar on Hacker News
> If you design a language that doesn't allow pointers to be shared across threads at all, then you wouldn't need a borrow checker.
Is that actually true? I'm pretty sure you need the borrow checker even for single threaded Rust to prevent use after frees.
> something as powerful as what I created
Could you give us more detail? It sounds intriguing.
I don't follow influencers but my guess is that they already do this, at least they use filters. If someone can use all these tools to gain considerable amount of fame and fortune, is (s)he really not intelligent? Of course, all these online personas will be lies, even bigger lies than today but I don't think it really matters. I'd argue that most people following these contents are not looking for reality.
Most functional languages parse a b c d e f as a(b, c, d, e, f), it does not matter what b, c, d, e, f are. Do you know any language where this is different?
I really believe this is the only way you can write good software. It's mind blowing to me that most people try to "figure out" the problems before seeing what it actually is. I always feel strange when someone is writing a "study" by reading the documentation of some API or even worse, by reading someone's feature request. The writer of a feature request usually knows even less about the whole thing and really did not think things through. We need tools and programming languages where you can create really dirty but working solutions and make it iteratively better. You need to find all the edge cases and pitfalls and for that you need to fail. Of course you need to fail fast, this method does not work if the iteration is slow and the thing is in production when you find out that it barely works.
if you don't have memory issues in your code then either it's so small that everyone participating in its development can actually keep it in a perfect state or no one searched hard enough yet. After a certain complexity bugs just appear, you don't have to do anything, they are just there.
Can you tell anything about that simulator? it sounds wild:)
I'm interested in your language ideas. Could you please share them with as much detail as you can/want?
I think the idea that the program can load files as code is insane in itself. There shouldn't be such a mechanism in an ideal world. The operating system would decide what you can actually load and load it for you.
I am not sure what kind of argument you would like, you are trying to redefine the word 'deterministic'. My argument is that it does not work like that. Just because we cannot predict something does NOT mean that it is not deterministic. Even if it is physically impossible to predict it for anyone it still can be deterministic. That's just how this concept works. In practice this means nothing, so I think we can end this debate because you are surely not convincing me and I doubt I can convince you:)
I believe you are mixing things up. A chaotic system IS deterministic, it is just really hard to predict what it will do. The fact that we (or anyone) cannot predict what will happen in our world says nothing about it being deterministic. If you are talking about practical determinism only then yes, you are most likely correct and we'll never be able to predict the future. But it is misleading and incorrect to say that the world is not deterministic just because we cannot predict its behavior.
>Rust is barely influenced by functional languages.
That is arguable. Rust supports and in a lot of ways prefers functional solutions for problems, for example the iterator trait in std and a gazillion similar library APIs. Functional programming works very well with Rust's type system.
I very much agree with you. Having some strange words in the middle of a large code that is mostly english is just, well, weird. I think inconsistency is a serious issue.
Technically, you are right, but if multiple processes use the same shared memory is there a real, meaningful difference? You can do efficient, parallel computation in a browser, does it really matter how it is executed under the hood?
Hi, I am working on something similar, it's nowhere near usable but I hope that a proof of concept version could be ready this year.
My variant is focused on visual programming with various representations.
I will definitely read your docs. I am very interested in the models you have come up with.
I believe you can use this without touching Rust. If I remember correctly they even ran Dota2 with this. That certainly does not have Rust inside.
>It's been a great strategy for 30 years and I hope they keep at it.
I wouldn't say that it's been great. The evolution of C++ is insanely slow.
In a sense we already do this. For example, every time you create a website in HTML/CSS and javascript, you use high level instructions and a lot of declarative stuff. It is already very far away from the actual hardware. If you use some framework with builtin templates, all you need is the actual content and some plumbing. Everything else is handled by the lower layers and it is much more declarative than you realize. It also means that you do not specify thousands of things/little details and you trust the lower layers to do the right thing. It is already happening and it will only get better.
People freak out every time when this idea appears and the recurring argument is that "the AI will not do the right thing, it is too stupid". They forget that our frameworks/libraries and complicated software stacks already work as dumb AIs. They follow hardcoded rules and try to please us and most of the time it actually works otherwise we would not use libraries. Using a neural network may not be the right choice for this problem but the general idea is correct. A good library should hide the "how" as much as it can and only require the user to specify the "end goal".
I really hope when the time comes and someone reinvents the wheel and comes up with a new great OS, the new OS will NOT have signals. Those are one of the worst things ever invented. The idea that your code is randomly interrupted and it starts to execute something else is just mind-blowingly bad. The real fun comes when you want to use different libraries with different signal handling ideas in the same process. It all goes to very quickly. The worst thing is that no one had the courage to say "okay guys, this is bad, let's just forget it ever existed and create a better alternative".
/rant
> Is there any chance this tool can produce anything close to clean, safe, idiomatic, rust code?
That is generally not possible, unless the C code only uses specific patterns known by the converter tool. That's very unlikely, considering that people write C code to be 'quick' and usually use all kinds of tricks.
On some architecture int is 32bit while isize is actually 64bit so no, that translation is definitely not the ideal one.
> VR? Probably not. VR looks to be the next 3D TV. It's just too much of a hassle to go mainstream.
I disagree, I think VR is going to be the next big thing but it will take a few generations of HW and SW to get there. VR mixed with real time video of your surrounding (augmented reality) is a new environment for brand new applications but it needs to reach the state where it is hidden in your average looking glasses to be really mainstream.
The length of the string is included, so you know where it ends.
The instance can fetch the upgrade from the NFS mount and also work using the previous version when NFS is down. I see no problem here.
If you work for a company that does not let you choose your compiler then I guess they probably will be stuck with a language more mainstream anyway. I doubt that the nightly compiler will be the dealbreaker.
Did not read the article but the name itself is bad. You cannot name a product using an number. How the hell did they come up with this?
It's an empty tuple stuffed into an enum variant called Ok. The empty tuple plays the role of the traditional void.
It has a runtime comparable to C. Back in those days, it had a much larger one.
With this speed of development, I'm pretty sure it is coming.
How quick is this? I'll give it a go with our company's dataset. Unfortunately none of the javascript charting libraries could handle it so far. I am not even sure it is possible to do what I want using JS and current technology.