Rust 1.0 Enters Beta
An anonymous reader writes: Rust is a systems programming language focused on safety and speed and aims, among other things, to offer memory safety without garbage collection and threads without data races. Over on the Rust blog, the Rust Core Team has announced the release of Rust 1.0 beta. They write, 'The beta release marks a very significant "state transition" in the move towards 1.0. In particular, with the beta release, all libraries and language features that are planned to be stable for 1.0 have been marked as stable. As such, the beta release represents an accurate preview of what Rust 1.0 will include.' The final Rust 1.0 release is scheduled for May 15th, 2015. A warning from the developers: "Rust is a work-in-progress and may do anything it likes up to and including eating your laundry." The FAQ is worth reading.
When Rust becomes a little more polished it will likely become very interesting.
soylentnews.org
Now is a good time to play around with Rust and explore the language features! If you build against the beta release and don't add external package dependencies, your code will most likely continue to function for the duration of the 1.0 release cycle. However, now is probably a particularly ~bad time for new rust users to start a project and add a bunch of dependencies from Cargo/crates.io. Beta changed code dependencies on unstable features from warnings to errors, so a lot of common libraries in the ecosystem are broken at the moment, and will take a little while to get updated. Happy hacking!
Is there any reason why anyone would want to use Rust when they're already proficient in both C++ and Ada?
You'd think that Ada is already covering most if not everything what Rust is trying to cover here, especially the memory safety and concurrency aspects.
Site & blog: http://www.mayaposch.com
Is this Rust thing another web framework? Should I assert 5 years experience with Rust on my CV?
This is a good feature now? Fragmented memory is desirable?
Everything is written in JavaScript or soon will be. New language development is a waste of time that should be better spent making mobile apps for 3D printers.
C and c++ are very good core language for software companies. Specially those who did engineering in the field of electronics subject, they might be interested in Embedded programming. C is used in embedded programming. C and c++ are native language which performance are much faster than other language. If you are interested to see all jobs and career opportunities, You can analyse by seeing the page http://www.alljobopening.com/jobs/all-job-opening-in-india/. So start leaning C++ if you are doing performance related work.
The pace of development of new ideas in commercial software engineering over the last twenty years is essentially null - just a cycle of NIH and wheel reinvention over and fucking over by egos and profiteers wanting to lock you in to their thing. I really don't know whether anyone involving themselves in this bullshit is deluded or just wants a share of the circle-jerk funding.
Have you actually tried using Rust? I have, and I can tell you that it isn't "polished".
Maybe it won't change as goddamn much as it typically has each day, but it's not a clean language like say Python or C# are.
Its library API is something awful. You have to write stuff like:
The memory management approach is also, to put it nicely, a royal pain in the ass to use. Maybe it can guarantee a higher level of safety, but it slows down development to a crawl, even once you understand how it all works and can work with the compiler instead of against it.
Its string handling is fucked up beyond belief. Go read about about String and &str if you don't believe me.
Rust is a very tedious and anal language to use, to the point of any safety gains being eliminated by much slower development time.
I feel that I can get almost the same level of safety by using modern C++ techniques like RAII and smart pointers, along with strict compiler options, without the speed of development slowing to a crawl.
Rust will be "polished" the day that we can use it swiftly and effectively, rather than being burdened by its awkward memory management, or its shit-for-brains library API, or it's convoluted string handling. I mean, these are some pretty basic things that it's screwing up. If it can't get those even remotely right, it's not "polished".
Is there any reason why anyone would want to use Rust when they're already proficient in both C++ and Ada?
You'd think that Ada is already covering most if not everything what Rust is trying to cover here, especially the memory safety and concurrency aspects.
As I was looking at this, I was just wondering that if there are all these educated computers scientists doing these projects, how about having a new programming paradigm or even revisit something tried before that didn't work out well; like graphical programming?
These new languages that are coming out really aren't new. It's just a change in syntax and some compile or runtime features. Computer languages have been pretty stagnant for 30 years now and I haven't seen anything new in languages since OOP came to be.
Vala, Scala, Go, Python, Wolfgram they all purport to do something better, why all the god dam languages for fuck sake. Take a chill pill and stop making langugaes because you want them made here. Use the existing like 50 million languages already made and ready for production work. This language overload is fucking stupid, and you could contribute to an existing language and make it better rather than waste time on you fucking pet fucking shit language of the month project. You are all cunts.
I couldn't find it in the online doc, then someone on stackoverflow informed me that "Rust Never Sleeps".
rust finally going into beta but then some naked smashed my head in with a rock and stole my bow.
I don't give. a. fuck.
The end result is not going to "fragment" memory, it is about when and how memory management is done. Unfortunately for the sake of allowing programmers not to know what they are doing or what is going on they implemented garbage collection in object oriented languages like Java, which is generally fine in server applications that run in a VM.... but it has a cost to doing that. A better compromise (IMHO) is "Automatic Reference Counting" which is done at compile time and does not have to be programmed cluttering up your application..... BUT you have to be aware of memory management (which is a good thing for programmers to have to know) and not program cylindrical references where both references are strong. Best of both worlds (for the most part) without the unpredictable and resource "hungry" garbage collection running in the background. The side benefit is that you have C/C++ efficient code that can be compiled down to the machine level and not run in a vm
There are generally three options available:
Manual Memory Management:
- Cons:
1. Pain to code having to write code that does memory management and just adds extra bulk to a program
2. Easy to make simple mistakes that cause the system to crash or become unstable
- Benefits:
1. Instantly freed objects
2. Predictable behavour
3. Smooth Performance
Garbage Collection:
- Cons:
1. Garbage builds up
2. Nondeterministic
3. Performance stutters
4. Extra CPU cycles taken to have a process run in the background kicking in (drains battery on portable devices).
Benefits:
1. Development Ease
2. Don't have to understand Memory Management
3. Reduces Crashes
Automatic Reference Counting:
Cons:
1. Have to be aware of memory management and not program cylindrical references where both are strong references (actually have to understand what you are doing).
Benefits:
2. All of the Benefits AND Cons from the other two memory management schemes
3. "garbage" collection / memory management is inserted at compile time and is not a background thread running on your device.
quote from the programming page
Rust's pointers are one of its more unique and compelling features.
I spent the last 45 minutes watching an introductory video on Rust and I believe it is a new exciting language that is badly needed. Yes there is a lot of language competitors out there, but most of those languages are higher level than C / C++. C / C++ have had very little competition in their end of the language spectrum. They are old, not very safe. Rust on the other hand is type/memory safe by default -- although you can run "unsafe" code within there by explicitly stating so and then the compiler relaxes the checking a bit (a reasonable compromise). Most people will not need much if any "unsafe" code to be performant.
The fact that there is another LLVM, cross platform compiler is also a plus for me.
That said, I don't write much C / C++ code because nothing I am writing needs it -- but those languages are still necessary (and very popular) so coming up with a newer competitor (not 40+ year old language)..... is great.... and exciting.
It just goes to show ... Rust never sleeps.
Respectfully, you really need to research this if you believe that is the cause. Java is the enterprise systems language to beat today. And its Garbage collector does a fine job if you understand how it operates, just as with most other mature garbage collected runtimes.