Rust Implements An IDE Protocol From Red Hat's Collaboration With Microsoft and Codenvy (infoworld.com) 49
An anonymous reader quotes InfoWorld:
Developers of Mozilla's Rust language, devised for fast and safe system-level programming, have unveiled the first release of the Rust Language Service, a project that provides IDEs and editors with live, contextual information about Rust code. RLS is one of the first implementations of the Language Server Protocol, co-developed by Microsoft, Codenvy, and Red Hat to standardize communications between IDEs and language runtimes.
It's another sign of Rust's effort to be an A-list language across the board -- not only by providing better solutions to common programming problems, but also cultivating first-class, cutting-edge tooling support from beyond its ecosystem...
The Rust Language Service is "pre-alpha", and the whole Language Service Protocol is only currently supported by two IDEs -- Eclipse and Microsoft's Visual Studio Code. Earlier InfoWorld described it as "a JSON-based data exchange protocol for providing language services consistently across different code editors and IDEs," and one of the Rust developers has already developed a sample RLS client for Visual Studio Code.
It's another sign of Rust's effort to be an A-list language across the board -- not only by providing better solutions to common programming problems, but also cultivating first-class, cutting-edge tooling support from beyond its ecosystem...
The Rust Language Service is "pre-alpha", and the whole Language Service Protocol is only currently supported by two IDEs -- Eclipse and Microsoft's Visual Studio Code. Earlier InfoWorld described it as "a JSON-based data exchange protocol for providing language services consistently across different code editors and IDEs," and one of the Rust developers has already developed a sample RLS client for Visual Studio Code.
Legit Question (Score:3)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Also, the paradigm might discourages people used to classes and such
I believe you're referring specifically to the (non-)support of class inheritance. Rust support for classes in general should be fine.
Re: (Score:3, Interesting)
Nothing. It's yet another programming language in an already crowded field.
Re:Legit Question (Score:5, Insightful)
It's a pretty accurate statement. We don't need more languages we need better programmers. Bad programming is more to blame for both security and performance problems and not the languages themselves. And some of the bad programming practices we see today is the result of developers jumping from one trendy language to the next while never taking the time to become proficient in any of them.
Re: (Score:1)
Spoken like a true person who has no idea what they're talking about. Seriously, not every language is equal, and some really do try to push the state of the art. But I wouldn't expect Slashdot's peanut gallery to have a clue about any of this. They still seem to think that it's fine as long as their mainstray languages accumulates cruft, because all we need is to grow hypothetical ubermensch who will never shoot a footgun or accidentally abuse language cruft. Far better to keep our buffer overflows and oth
Re: (Score:3)
And some of the bad programming practices we see today is the result of developers jumping from one trendy language to the next while never taking the time to become proficient in any of them.
This is utter nonsense. Either you can program or you can't.
And jumping form language to language usually makes you a better programmer as you tend to learn to look at problems from different points of views.
We don't need more languages Of course we do. I rather write 4 lines of code in a new language than 40 line sin
Re: (Score:2)
This is utter nonsense. Either you can program or you can't.
Now THAT is utter nonsense.
What is your metric for determining whether someone can program or not? There are tons of people who are basically code monkeys. They can program, but the code they produce is absolute crap. They just vomit out code without having the slightest understanding as to what that code is doing underneath.
A great example is, once I saw code from a supposedly 'senior' developer that iterated through a hashmap to find the value he needed.
No language reduces code from, say, 40 lines to 4
Re: (Score:2)
No language reduces code from, say, 40 lines to 4 lines, just like that.
Not even APL? ;)
Re: (Score:2)
I had to look that one up. Sweet pickled monkey feet. I *suppose* APL counts, since it doesn't seem to have so much 'lines of code' as 'peterbations of the 4th dimension being exposed in 3 dimensional space' :P
Re: (Score:2)
They can program, but the code they produce is absolute crap.
Then they can't program. (*facepalm*)
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
Well, that's an eloquent argument. You don't care about memory management and data synchronization? Fine, go ahead, you can build your console based tic-tac-toe game app without it. No problem.
Re: (Score:1)
That depends on whether you think "fewer bugs" is part of a "better solution".
You can't deliver any features in Rust that you can't deliver in any other language, and because it's a young language with limited library support, you will usually have to write more of the code yourself. The compiled code will be fast, but that's true for most compiled languages. Things like polymorphic functions do make it easy to write generalized code, so one might expect good, reusable libraries in the future.
Rust's emphasi
Re:Legit Question (Score:5, Informative)
What can you do in Rust better (providing better solutions to common programming problems) than any other language out there?
I believe the only thing that is truly novel about Rust is the facility to compile code with "C-like" performance that cannot have memory violations, and I'm not allowing for research languages that have also achieved this. By "C-like" I mean Rust delivers very fast, compact and memory thrifty programs that start instantly, having no run-time beyond the compiled object and the system itself. By memory violations I mean no use after frees, buffer overflows, double frees, smashed stacks, uninitialized data, data races, etc.; these are all compile time errors in Rust. This is achieved through "ownership," a concept that has previously appeared in research languages, but not in languages with mainstream pretensions.
Beyond that one could argue that Rust pulls a lot of high level abstractions into systems programming; optional types, traits, hygienic macros, well designed iterators, pattern matching, closures, lambda expressions, derivation and more. There is a lot of this in Rust and so programming in Rust does not feel like using a "portable assembler," which is how C/C++ is sometimes characterized. But none of these abstractions are truly novel in an of themselves, they just haven't appeared together as native features of a systems language.
More generally and less tangibly, Rust is the first language with perhaps enough "mind share" to succeed and displace some traditional C-ish systems programming activity. Time will tell, and a lot of time at that. The language is appearing in the real world; Mozilla, Dropbox, Facebook, and others have delivered real work in Rust or will soon. Should this continue and grow Rust will become important, and that would make it the first new "important" systems programming language since the early 70's that isn't some derivative of C.
Re: (Score:3)
Don't forget data races.
Re: (Score:1)
It achieves that in a way that doesn't make your program slow or a memory hog, by using
In return, it demands a lot of programmin
Re: (Score:1)
Re: (Score:2)
Re: The I in IDE makes them all suck (Score:3)
Re: (Score:2)
So basically it is a network connection required version of what javadoc does in various editors...
So. What does a network based API do that a local copy doesn't do? Especially if that local copy can be updated and include the docs for your own stuff?
Of course, the fact that Microsoft and Redhat are working together on this is cool too....
Yeah! (Score:2)
Rust is showing itself to be a high-quality, cross platform, high performance language, just like VisualBasic! And its integration via a barely used JSON protocol means that its integration into VisualStudio is not that much worse, really!
IDE protocol? (Score:3)
And here I thought even SATA was on its way out.
There was a time, (Score:1)
back in the day, when a story like this would come up, someone with actual knowledge would say something interesting about it. They would hypothetically have commented on the design of the Rust Language Service, or perhaps the Language Server Protocol. Will it save re-implmenting the wheel for IDEs? Will it help Rust's adoption?
Nope. "duh, c is betr than rusts! u dont need the ideez"
Where did the smart people with a passion for informative discussion of interesting topics go?