Earlier quoted context omitted.
>What are going to be your first "written-using-Rust" apps ? Rust compiler is written in rust, so that would be the first "written-using-Rust" app. Additionally afaik the work on rust-based web-browser (engine) has began, so that would be second (major) project for rust.
I have been working on a web framework stack: http://github.com/erickt/mre
Rust 0.3 released
51–57 of 57 posts
Re: Rust 0.3 released
#52Earlier quoted context omitted.
Why not D?
Because, faced with the fact that C++ makes an octopus by nailing extra legs onto a dog, D decided the right thing to do was to staple-gun them onto a cheetah instead. D, at the end of the day, is C++ with cleaner syntax . Yes, you've gotten rid of headers and some of the syntactic ambiguities, but things that were mutable are still mutable, templates are still templates, hard-to-solve threading problems are just as…
Re: Rust 0.3 released
#53Earlier quoted context omitted.
Why not D?
Because, faced with the fact that C++ makes an octopus by nailing extra legs onto a dog, D decided the right thing to do was to staple-gun them onto a cheetah instead. D, at the end of the day, is C++ with cleaner syntax . Yes, you've gotten rid of headers and some of the syntactic ambiguities, but things that were mutable are still mutable, templates are still templates, hard-to-solve threading problems are just as…
Re: Rust 0.3 released
#54Earlier quoted context omitted.
It's precisely not the need to explore a lot of new ideas. Rust is taking tried and true paths to something new :-)
Ah, but I think it's important to distinguish between ideas that are new in research and ideas that are new in industry. God knows that pattern matching isn't a particularly new concept, but I sure hadn't heard of it before Rust; see also the popularization of list comprehensions due to Python via Haskell. So I think what the grandparent is implying is that even if Rust doesn't end up as a world-shattering language,…
Or make use of F# for Windows scripting, using as excuse to the boss that it is part of Visual Studio.
Re: Rust 0.3 released
#55Earlier quoted context omitted.
What in particular do you not like? To me the proposed stuff on the roadmap fixes the problems I see (changing "::" to ".", camel case for type names, "alt" -> "match", => after pattern matches, #debug to debug!, removing argument modes -- no guarantees that we implement these of course, they need consensus), but I'm curious as to what your thoughts are.
I hadn't seen the roadmap changes. They address a lot issues I had, especially the argument modes. I'm sure camel casing will be controversial, but it makes sense given that Rust's primary audience is Mozilla, where camel case is the enshrined naming convention for its C++, Java, and JavaScript code. Python's standard library is an ugly example of what happens when the language community can't settle on one conventio…
Re: Rust 0.3 released
#56Earlier quoted context omitted.
Why not D?
Because, faced with the fact that C++ makes an octopus by nailing extra legs onto a dog, D decided the right thing to do was to staple-gun them onto a cheetah instead. D, at the end of the day, is C++ with cleaner syntax . Yes, you've gotten rid of headers and some of the syntactic ambiguities, but things that were mutable are still mutable, templates are still templates, hard-to-solve threading problems are just as…
`string` is immutable. You can use immutable everywhere if you like. C++ doesn't even have transitive const.
> templates are still templates
With constraints, unlike C++.
> hard-to-solve threading problems are just as hard to solve
Have you looked at D 2.0? Globals are thread-local by default, unlike C++. Implicit sharing is disallowed, unless immutable.
> region pointers
It's early days (perhaps I don't fully get region/borrowed pointers yet) but D's `scope` parameter keyword seems very similar. It prevents an argument escaping the function call.
> lack of nulls
This is the big one. Unfortunately D doesn't seem to have an answer on this. I understand Rust uses option/sum types for this, which seems like a great idea.
Re: Rust 0.3 released
#57Earlier quoted context omitted.
Why not D?
D's garbage collection is global, and either off or on (and a lot of D libraries leak memory like crazy if it is off, so in practice it has to be on most of the time) Rust's per task GC seems like it should allow more flexibility, and I'm hoping it would be usable in the High Frequency Trading arena, for example.
That makes it sound like you can't use GC and manual memory management together; you can - std.container uses manual memory management internally for max efficiency.