7 ms·
The Rust programming language
- adamilardi 16y agoPlease no more languages world!
- adamilardi 16y agoThank you for the downmods.
- alnayyir 16y agoUneducated and unconstructive opinions expressed here get downmodded, and so do meta comments complaining about being downmodded. In future prepare more thorough and informed commentary if you don't want to take a hit on your karma. If you're unwilling or unable to read the documentation and peruse through the implementation source of your own accord, then I don't think this is the community for you. Either way, good day and have yourself a nice meal whenever the next one is. :)
- gnuvince 16y agoThe reason you were downmodded is because there is a lot of research that's been available for years and hasn't been tried in practice. New languages that try new features and new avenues may or may not end up being used, but sometimes they influence later (or existing) languages. New languages are a good thing, embrace them.
- adamilardi 16y agoHow did my karma go from 70+ to 27. When I only got -4 downmods. Are there some unwritten karma rules at work here?
- mbrubeck 16y agoComments at -4 can still be voted down, but the displayed score will not go any lower. (I'm not certain of the rationale, but I think it's to somewhat discourage excessive downvotes just to make a public show of disapproval/disagreement.)
- adamilardi 16y agoWhy can't I vote comments down? I think it's bad form to kick a comment while it's down :)
- mbrubeck 16y agoUsers with (I think) at least 200 points can downvote.
- __bjoernd 16y agoGoogle came out with Go some months ago, now Mozilla presents Rust. Both languages seem to be targetted at the same audience, I fear it's mere corporate politics that prevent both from using the same language, isn't it? Addon-question, don't know if it fits: Has Google's Go gained publicity apart from having a vibrant community on Google's mailing list?
- __bjoernd 16y agoNote to self: Rust's FAQ actually mentions differences to Go.
- alnayyir 16y ago>I fear it's mere corporate politics that prevent both from using the same language, isn't it? If anyone is guilty of NIH, it's Google. Google didn't use LLVM, didn't follow the example of some more thorough and less facile concurrency models, didn't exercise the necessary discipline re: mutable data structures, and didn't appear to have been keeping up with any lang research that has gone on since the 90s. Whereas Rust is made by a known language implementor, the impetus of the project was not in fact Mozilla's motives (they're merely supporting it after the fact), and it targets LLVM with the bootstrapping OCaml->RS implementation. So by all means, explain to me why the non-gcc implementation (6g, 8g) for Google Go not being LLVM somehow isn't classic NIH. With Go, Google based the language design upon what they'd like (Python with coroutines for systems programming), rather than actual research, restraint, or even using the existing best of class tools for implementation. Edit: >Has Google's Go gained publicity apart from having a vibrant community on Google's mailing list? It got some mentioned on various tech news streams, nothing mainstream or substantial. I've seen (very) occasional posts on YC News of little toy projects in Go, but again, nothing I'd really notice or care about. I'd say Node.js has gotten a much faster start than Go, and don't give me any guff about JavaScript being older, it doesn't matter, server-side js hadn't been done properly before Ryan Dahl.
- wmf 16y agoexplain to me why the non-gcc implementation (6g, 8g) for Google Go not being LLVM somehow isn't classic NIH. The Go compilers are based on the Plan 9 compilers which predate LLVM. I don't think it's a good reason, but that's the reason.
- StrawberryFrog 16y agoWhy rust? does it never Sleep();
- chipsy 16y agoRust sounds very promising in a lot of ways. It has a whole host of useful compiler technologies that we've known about for a long time, yet have not applied to industry languages.
- Xavi 16y agoI agree, TypeState seems especially interesting. This paper from one of the comments does a good job describing it: http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestate.pdf http://www.cs.cmu.edu/~aldrich/papers/classic/tse12-typestat...
- kunjaan 16y agoWhy is Dave Herman called one of the "heroes-to-the-Internet"?
- mbrubeck 16y agoThe LtU crowd knows Dave Herman from his academic PLT work and his standardization work on EcmaScript. I believe he also is or was a contributing editor on LtU. http://www.ccs.neu.edu/home/dherman/ http://www.ccs.neu.edu/home/dherman/
- stevejohnson 16y agoAll the pages about it at this link and at its project page give me zero help in figuring out if it's something I want to use, because none of the pages show any syntax whatsoever. This is like the flat feature lists of the smartphone wars that matter exactly not-at-all.
- alextgordon 16y agoHere you go: http://github.com/graydon/rust/tree/master/src/test/run-pass http://github.com/graydon/rust/tree/master/src/test/run-pass
- pbiggar 16y agoIts something you want if you need a systems programming language that does safety and concurrency well. At the unveiling yesterday, Graydon (the author) said he deliberately has spent no time making syntax nice, and refused to discuss syntax until a much later date to avoid bikeshedding. As a result, its not very pretty code but you can't judge it on that.
- alnayyir 16y agoActually the fact that they've shown a great deal of restraint with respect to features, but without that necessarily being a symptom of paradigm-fascism is rather promising to my mind. If you really think this language is representative of feature dumping, boy do I have a few languages to show you. The emphasis on multi-paradigm in the docs has less to do with ZOMG FEATURES and more with the restraint lack of force applied to the programmer in terms of style. I think it would behoove you to look through the source before accusing them of featureitis.
- neilk 16y agoBe careful not to ascribe your own narrative onto this. They're not calling you to the site because they want you to use it or buy into it. It's a progress report / unveiling of an experimental project. The primary author (Graydon Hoare) is IMO a frickin' genius, but even so he is at pains to reduce expectations for Rust at this time. So, go easy on Rust for now.
- rnicholson 16y agoFrom the PDF: Rust is a curly-brace, block-structured statement language. It visually resembles the C language family, but differs significantly in syntactic and semantic details. I'm not a programming language buff, but why curly-braces and C-style still in 2010?
- alnayyir 16y agoMost familiar to the largest number of people, easy to parse, only people who want to complain about the color the bikeshed instead of the semantics of the language will care. --- professional Python coder (P.S. I like significant whitespace, but I also really don't care.)
- makmanalp 16y agoWhat exactly is about curly braces that implies outdatedness? Because some other old languages use it?
- jamesbritt 16y agoOr the reverse: RPG and FORTRAN had it, so in what way is significant white space a marker of modernity?
- riffraff 16y agoditto for begin/end
- keefe 16y agoseriously. + is sooooooooooo 1600s, we should restandardize with ʮ for addition so that + strictly applies to string concatenation...
- rnicholson 16y agoWell, I initially just saw it as 'just more of the same' -- and questioned why is that good? Don't know. Trying to find out. Amongst all these other improvements over other C family languages that I read, why not syntax too? Perhaps as alnayyir said above, I'm bikeshedding and shouldn't care so much... Again, I'm not well versed in programming language design, etc so my original comment (and probably this one) certainly has an amount of naïveté.
- TheSmoke 16y agoWhat Rust has that the D programming language doesn't have?
- grogers 16y agoIn rust there is no global mutable state. All mutable state is local to a process. This means that GC happens per task (similar to erlang) instead of per process. This emphasizes safety over performance. You can still drop into C to get back to your shared mutable state if you want. That being said, looking over some of the core features, D seemed very similar in spirit.