User: Password:
|
|
Subscribe / Log in / New account

Rust-lang

Rust-lang

Posted Apr 4, 2013 0:23 UTC (Thu) by Cyberax (✭ supporter ✭, #52523)
In reply to: Rust-lang by man_ls
Parent article: Mozilla and Samsung building a new browser engine

Well, you have to choose modifiers at the end of the day. Rust is actually pretty sane in this regard - just look at Scala for a comparison.

I've recently tried to use Rust instead of Go for simple "scripts" and I really loved it. Rust has a good type system (real reified generics!), unique memory management system (with explicit inter-thread sharing), normal exceptions support, etc.

In comparison, Go really looks like a kludged second-system effect language.


(Log in to post comments)

Rust-lang

Posted Apr 4, 2013 3:11 UTC (Thu) by imgx64 (guest, #78590) [Link]

I think the competition between Rust and Go is going to be really interesting. Go is a really simple language that tries to be practical instead of feature-complete (i.e. a better C). Rust on the other hand tries to include a lot of features and wants to be the end to all your programming needs (i.e. a better C++).

Rust-lang

Posted Apr 4, 2013 3:31 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

Go doesn't really tries to be 'better C'. It's more like "Java but from Google" - they are even repeating the same "mistakes" like having mutable variables by default and the common heap.

And then the philosophy of Go is completely nuts. They are trying to be 'simpler' but it instead results in lots and lots of cruft.

Rust-lang

Posted Apr 4, 2013 4:08 UTC (Thu) by imgx64 (guest, #78590) [Link]

> Go doesn't really tries to be 'better C'. It's more like "Java but from Google"

Java? What does Go have in common with Java?

Go didn't even start its life as "something from Google" (unlike Dart for example). It started as a 20% project by Rob Pike, Ken Thompson, et al. then other developers at Google started using it because they found it a good fit for their problems.

> having mutable variables by default and the common heap.

Like I said, "practical"--that's how computers work.

> And then the philosophy of Go is completely nuts. They are trying to be 'simpler' but it instead results in lots and lots of cruft.

What kind of cruft are you objecting to? make()? append() and friends?

I agree they're not orthogonal, and to an outsider, they feel like a kludge for the lack of generics. But after using them for a while, they don't bother me much. And the simplicity of the rest of Go more than makes up for any conceived "cruft".

Rust-lang

Posted Apr 4, 2013 4:13 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

>Java? What does Go have in common with Java?
"Style" of it.

>Like I said, "practical"--that's how computers work.
No it isn't. CPUs now quite often have their own local memory so having explicit support for local arenas is becoming essential.

> What kind of cruft are you objecting to? make()? append() and friends?
The idiotic error handling with tuples. For example. Then the whole generics fiasco.

From what I'm seeing, a lot of Go code out there simply has no error handling - it either works or fails mysteriously.

Rust-lang

Posted Apr 8, 2013 7:53 UTC (Mon) by nix (subscriber, #2304) [Link]

>>Java? What does Go have in common with Java?
>"Style" of it.

That's C's style you're seeing, not Java, which is not surprising given who its authors are.

I'm afraid most of your criticisms are heavy on vituperation and light on facts, or anything that would suggest what you find wrong (naming features and calling them 'fiascos' does not satisfy).

Rust-lang

Posted Apr 8, 2013 10:21 UTC (Mon) by Cyberax (✭ supporter ✭, #52523) [Link]

No, I'm definitely see Java's style: half-baked solutions made in the order to be 'simple'. Which lead to the kind of complexity caused by necessity to combine _a lot_ of 'simple' components to get anything meaningful.

My favorite language which tries to avoid it is Python.

Rust-lang

Posted Apr 4, 2013 6:57 UTC (Thu) by heijo (guest, #88363) [Link]

It seems to me that Rust is going to be completely superior to Go, and is likely to kill it.

More interesting is whether it will manage to be a complete replacement for C++, with the same performance but adding safety, which would be a VERY much needed development, since using unsafe languages needs to stop.

And also what's going to happen to the high-level space (currently led by Java/Scala and C#), and specifically whether Rust's lack of a global garbage collected heap and multiple pointer types will prove good or bad.

It's definitely one of the most promising languages in existence, along with Scala.

Rust-lang

Posted Apr 4, 2013 8:43 UTC (Thu) by imgx64 (guest, #78590) [Link]

> It seems to me that Rust is going to be completely superior to Go, and is likely to kill it.

This is why I think the competition will be interesting; a classic C vs. C++ / Simplicity vs. Features sort of competition.

As far as Rust killing Go, Go has already released v1.0 (with v1.1 coming in the next few weeks), and is actually used in mission-critical applications. Rust? Still not much.

Rust-lang

Posted Apr 4, 2013 8:02 UTC (Thu) by renox (subscriber, #23785) [Link]

> Well, you have to choose modifiers at the end of the day. Rust is actually pretty sane in this regard - just look at Scala for a comparison.

Uh? Could you give an example of what you're talking about?
I'm not using Scala but last time I looked its syntax was much,much better than Rust "syntax".

Rust-lang

Posted Apr 4, 2013 16:39 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

"qsort(rest).::(pivot).:::(qsort(smaller))"

Rust-lang

Posted Apr 4, 2013 22:55 UTC (Thu) by HelloWorld (guest, #56129) [Link]

Nobody writes it that way, there's a reason why one is allowed to omit the . and the (). Also, you've confused ::: and ::. qsort(rest) ::: pivot :: qsort(smaller) I don't think this looks too bad.

Rust-lang

Posted Apr 6, 2013 13:24 UTC (Sat) by gevaerts (subscriber, #21521) [Link]

> you've confused ::: and ::
Are you sure you're making the point you're trying to make?

Rust-lang

Posted Apr 6, 2013 16:38 UTC (Sat) by HelloWorld (guest, #56129) [Link]

Yeah, I know, people confuse + and ++ in C all the time. Oh wait: they don't!

Rust-lang

Posted Apr 8, 2013 11:19 UTC (Mon) by dgm (subscriber, #49227) [Link]

Indeed, the difference is crystal-clear. But, for some odd reason, it reminds me of Brainfuck and Whitespace.

Rust-lang

Posted Apr 8, 2013 11:45 UTC (Mon) by HelloWorld (guest, #56129) [Link]

> But, for some odd reason, it reminds me of Brainfuck and Whitespace.
Yawn. Those stopped being funny like 10 years ago.

Rust-lang

Posted Apr 4, 2013 15:43 UTC (Thu) by tjc (guest, #137) [Link]

> I've recently tried to use Rust instead of Go for simple "scripts" and I really loved it.

What OS/distro are you using? I tried to build Rust on both OS X and Linux Mint 12.04, but both failed, for different reasons.

Rust-lang

Posted Apr 4, 2013 17:59 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link]

Mac OS X with recent enough MacPorts. No problems at all during the build.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds