Well swift and rust as well as java (I think the only three corporate controlled languages 110010001000 used as example) are all open source as well. Still they are under corporate control.
Well the fact that these third party libraries are doing so well is just a proof that the std library sucks badly. Not in a way you wouln't want to use it though -- its working really great in fact, just that it misses so many things. But the libraries are also not as polished as std is, and with them you are under "corporate" control again, something 110010001000 wanted to avoid, no?
The sun won't explode. In 7 million years it will slowly expand until its a red giant (having earth swallowed), and then it will dust off its outer layers.
When did you do your project? Was it before Rust 1.0 came out in May 2015? I've done Rust only after that time, and it worked fine. Yes, Rust may be far from finished, but I only got an ICE only once.
What about commiting a sin from the holy church of apple and buying a Windows Laptop and installing linux on it? You still have an UNIX operating system.
The Rust implementation is buggy. I know, because I've experienced such bugs first hand.
Can you tell me about the bugs you experienced, and the projects you've tried to do with Rust? There is a troll on slashdot who uses this same argument, and that troll is a bit unfounded.
while still being a familiar and friendly language
The examples of swift I saw don't really seem friendly to me. But I can't judge Swift's friendliness as I haven't programmed with swift.
Rust, on the other hand, has so far only shown itself to be a painful language
I haven't coded much in Rust myself, but it didn't feel painful. Yes, there is a high entry barrier due to the many compiler checks, but its generally feeling not painful for me. idk, I'm a person of the type "there can't be enough compiler checks", so I am feeling quite well with the checks the Rust compiler does.
They were also added later on in C++'s development.
Well yeah this is one of the problems of C++. Rust is a very clean language because it was designed with lots of features in mind, while C++ was published, and then those features got added on top, for decades. You end up with a very messy end product. Yes, Rust will most likely meet this fate as well, but when its outdated you can simply switch over to a newer language that promises to be stable.
This is what Rust is about for me: breaking backwards compatibility with C/C++ so that you have a clean base with all the newer concepts already integrated from day one. C was a great language, back when it was designed. Same goes for C++. But now compilers are more powerful and can do things that were unthinkable back when C/C++ was originally designed.
The template system in C++ is really not something the language creators can be proud of. If you write a templated class, why do you have to prepend the template name before each and every method?? And it gets even harder if you don't want to put the entire class implementation into the header, but a separate file.
In Rust making templated structs/functions/traits is really easy, but you are a bit more limited. For example, you can't do a template on things different than scopes and types (like numbers). Maybe numbers in templates will get added once MIR is working.
In a free (as in freedom) or "perfect" market, price is determined by offer and demand. If you *have* to get rid of a good (like solar energy), and you can't store it (like with energy, in connected energy networks the produced energy always has to be exactly the same as the used energy otherwise the frequency goes awry), and nobody wants to pay you for it, you either have to give it for free, or even pay for it.
The claws of the SJWs are sharp and they are drilled deep into the flesh of the software development industry.
But that code of conduct usually only applies to the core project (like the compiler), and many libraries. If you "only" are an user you won't get harassed by any SJW.
Microsoft controls the MSVC compiler which is one of the C++ implementations, and this gives microsoft a seat at the table: https://isocpp.org/std/the-com...
Only because C++ has multiple compiler vendors it does not mean that the vendors do not try to do evil stuff with the control they have over the compilers, and therefore over the users. The usual suspect here is always Microsoft.
You may not be locked in into a particular compiler vendor, but as the std is very small you either use the unofficial extensions (and get locked in).
You know generally I share your attitude that you have to distrust single companies (this attitude is really healty!), but in the case of c++ the development is really impaired thanks to each vendor trying to become market leader, they focus more at fighting each other than trying to improve the actual language.
So you suggest C++ is any better? One of the companies at the table which determines the future of C++ is Microsoft, and they want as much lock-in into their OS as possible. This has caused things like multi-threading not appear until 2011, and only on the pressure of other languages as C++. Coding cross platform programs that exceed the simple hello-world in C++ is entirely impossible except for very simple hello-world programs if you don't use libraries. In other languages this is true of course as well, but their std is much larger, and you are less reliant on libraries there. Microsoft does as much as it can to keep std as small as possible so that people get locked into windows.
Also, as the compiler vendor gives you the std in C++, you are locked in into the std implementation of the vendor. This for example means that if you develop anything for consoles like sony, you essentially can't use std.
Swift 2.2 *is* obsolete. All the libraries will have switched to swift 3 and in order to use the new versions of the libraries (which may have fixed bugs) you need to update your entire codebase to the new language.
Generally though, you *can* do backwards incompatible changes for certain functionalities of your language, just make them in a way that compilation breaks. Nobody wants to debug a problem just because some standard library function changed the order of its arguments.
And that page only contains the corporate users of rust. There is a really big community of free time rust developers as well.
Others have pointed out that C++14 and C++17 actually make much of Rust redundant.
That might be partially right, but C++ has lots and lots of backwards compatibility to very old concepts. C++ relies on the C preprocessor, which is very limited, on doing macros. Thanks to this you don't have scoped macros for example. In rust the macro system is done much later in the process, so that you can declare a macro inside a function, and after the } closing brace the macro scope ends!
There was recent discussion about Google adopting Swift for Android [slashdot.org]. IBM has also taken an interest in Swift [ibm.com].
Using swift for android would make sense as both android and ios are similar platforms, you likely want to write stuff for them in one unified language.
Swift is quickly becoming a universal language.
Swift may have lots of adoption but it is far away from being an universal language. It is limited by its compatibility kludges towards ObjectiveC which makes it particularly interesting for iOS developers who already know ObjectiveC, but outside of this environment it is of low importance.
The large number of developers proficient with Swift could contribute to Mozilla's code bases, rather than just a small handful of niche developers who know Rust.
The number of developers who know swift may be larger than the number of developers who know rust. But how many only are interested in developing their ios app, and that's it?
A modern web browser written in Swift would be much more useful than a web browser written in Rust.
Swift only has reference counting, nothing more. In fact, only thread safe reference counting. This is a major performance problem, while in Rust you have the choice between all memory models C/C++ have.
In fact you never know whether your neighbor works for a three letter agency. In the case of the silk road founder for example, he was in a public library, when two federal agents faked a quarrel so he was distracted and another federal agent then grabbed his laptop while it was unlocked. Its a quite low tech attack and even the best hdd encryption didn't help him after that.
Most likely the Solarin phone wouldn't have protected him in this situation either.
It has worked out for Nokia. They happily sold their business to microsoft, which is now dead in the water, while they themselves build another phone business.
Its becoming webscale: http://www.arewewebyet.org/
Well swift and rust as well as java (I think the only three corporate controlled languages 110010001000 used as example) are all open source as well. Still they are under corporate control.
Well the fact that these third party libraries are doing so well is just a proof that the std library sucks badly. Not in a way you wouln't want to use it though -- its working really great in fact, just that it misses so many things. But the libraries are also not as polished as std is, and with them you are under "corporate" control again, something 110010001000 wanted to avoid, no?
Ah yes sorry you are right, my source was wrong. And yes its billion not million.
The sun won't explode. In 7 million years it will slowly expand until its a red giant (having earth swallowed), and then it will dust off its outer layers.
When did you do your project? Was it before Rust 1.0 came out in May 2015? I've done Rust only after that time, and it worked fine. Yes, Rust may be far from finished, but I only got an ICE only once.
What about commiting a sin from the holy church of apple and buying a Windows Laptop and installing linux on it? You still have an UNIX operating system.
Yeah, I would never travel there, after all it would mean I would never be able to first post on slashdot again.
The Rust implementation is buggy. I know, because I've experienced such bugs first hand.
Can you tell me about the bugs you experienced, and the projects you've tried to do with Rust? There is a troll on slashdot who uses this same argument, and that troll is a bit unfounded.
while still being a familiar and friendly language
The examples of swift I saw don't really seem friendly to me. But I can't judge Swift's friendliness as I haven't programmed with swift.
Rust, on the other hand, has so far only shown itself to be a painful language
I haven't coded much in Rust myself, but it didn't feel painful. Yes, there is a high entry barrier due to the many compiler checks, but its generally feeling not painful for me. idk, I'm a person of the type "there can't be enough compiler checks", so I am feeling quite well with the checks the Rust compiler does.
He can be the president of an ENTIRE planet.
They were also added later on in C++'s development.
Well yeah this is one of the problems of C++. Rust is a very clean language because it was designed with lots of features in mind, while C++ was published, and then those features got added on top, for decades. You end up with a very messy end product. Yes, Rust will most likely meet this fate as well, but when its outdated you can simply switch over to a newer language that promises to be stable.
This is what Rust is about for me: breaking backwards compatibility with C/C++ so that you have a clean base with all the newer concepts already integrated from day one. C was a great language, back when it was designed. Same goes for C++. But now compilers are more powerful and can do things that were unthinkable back when C/C++ was originally designed.
C++ has namespaced templates.
The template system in C++ is really not something the language creators can be proud of. If you write a templated class, why do you have to prepend the template name before each and every method?? And it gets even harder if you don't want to put the entire class implementation into the header, but a separate file.
In Rust making templated structs/functions/traits is really easy, but you are a bit more limited. For example, you can't do a template on things different than scopes and types (like numbers). Maybe numbers in templates will get added once MIR is working.
Even for that you need to build "energy waste plants", and maintaining those plants is a cost for you. And it gives you really bad publicity.
I guess OP refers to Orwellian twisting of word's meanings. "Freedom is slavery" like stuff.
Don't mix it with the popular use of Orwellian, meaning a surveillance state. But his book was about much more than that.
No, it is literally free.
In a free (as in freedom) or "perfect" market, price is determined by offer and demand. If you *have* to get rid of a good (like solar energy), and you can't store it (like with energy, in connected energy networks the produced energy always has to be exactly the same as the used energy otherwise the frequency goes awry), and nobody wants to pay you for it, you either have to give it for free, or even pay for it.
Swift is infected as well: https://swift.org/community/#c...
The claws of the SJWs are sharp and they are drilled deep into the flesh of the software development industry.
But that code of conduct usually only applies to the core project (like the compiler), and many libraries. If you "only" are an user you won't get harassed by any SJW.
Microsoft controls the MSVC compiler which is one of the C++ implementations, and this gives microsoft a seat at the table: https://isocpp.org/std/the-com...
Only because C++ has multiple compiler vendors it does not mean that the vendors do not try to do evil stuff with the control they have over the compilers, and therefore over the users. The usual suspect here is always Microsoft.
You may not be locked in into a particular compiler vendor, but as the std is very small you either use the unofficial extensions (and get locked in).
You know generally I share your attitude that you have to distrust single companies (this attitude is really healty!), but in the case of c++ the development is really impaired thanks to each vendor trying to become market leader, they focus more at fighting each other than trying to improve the actual language.
You might want to use rust instead, it has first class support for windows, linux and mac:
https://github.com/rust-lang-n...
avoid languages owned by corporations
So you suggest C++ is any better? One of the companies at the table which determines the future of C++ is Microsoft, and they want as much lock-in into their OS as possible. This has caused things like multi-threading not appear until 2011, and only on the pressure of other languages as C++. Coding cross platform programs that exceed the simple hello-world in C++ is entirely impossible except for very simple hello-world programs if you don't use libraries. In other languages this is true of course as well, but their std is much larger, and you are less reliant on libraries there. Microsoft does as much as it can to keep std as small as possible so that people get locked into windows.
Also, as the compiler vendor gives you the std in C++, you are locked in into the std implementation of the vendor. This for example means that if you develop anything for consoles like sony, you essentially can't use std.
Swift 2.2 *is* obsolete. All the libraries will have switched to swift 3 and in order to use the new versions of the libraries (which may have fixed bugs) you need to update your entire codebase to the new language.
Generally though, you *can* do backwards incompatible changes for certain functionalities of your language, just make them in a way that compilation breaks. Nobody wants to debug a problem just because some standard library function changed the order of its arguments.
Well that sounds an awful lot like what Swift is!
They both target into the same direction, but rust is a far more "safe" language than Swift is.
While Swift has already seen major adoption and use in the real world, we haven't seen that from Rust.
Quite on the contrary: https://www.rust-lang.org/frie...
And that page only contains the corporate users of rust. There is a really big community of free time rust developers as well.
Others have pointed out that C++14 and C++17 actually make much of Rust redundant.
That might be partially right, but C++ has lots and lots of backwards compatibility to very old concepts. C++ relies on the C preprocessor, which is very limited, on doing macros. Thanks to this you don't have scoped macros for example. In rust the macro system is done much later in the process, so that you can declare a macro inside a function, and after the } closing brace the macro scope ends!
There was recent discussion about Google adopting Swift for Android [slashdot.org]. IBM has also taken an interest in Swift [ibm.com].
Using swift for android would make sense as both android and ios are similar platforms, you likely want to write stuff for them in one unified language.
Swift is quickly becoming a universal language.
Swift may have lots of adoption but it is far away from being an universal language. It is limited by its compatibility kludges towards ObjectiveC which makes it particularly interesting for iOS developers who already know ObjectiveC, but outside of this environment it is of low importance.
The large number of developers proficient with Swift could contribute to Mozilla's code bases, rather than just a small handful of niche developers who know Rust.
The number of developers who know swift may be larger than the number of developers who know rust. But how many only are interested in developing their ios app, and that's it?
A modern web browser written in Swift would be much more useful than a web browser written in Rust.
Swift only has reference counting, nothing more. In fact, only thread safe reference counting. This is a major performance problem, while in Rust you have the choice between all memory models C/C++ have.
In fact you never know whether your neighbor works for a three letter agency. In the case of the silk road founder for example, he was in a public library, when two federal agents faked a quarrel so he was distracted and another federal agent then grabbed his laptop while it was unlocked. Its a quite low tech attack and even the best hdd encryption didn't help him after that.
Most likely the Solarin phone wouldn't have protected him in this situation either.
Yeah. This thing smells of snakeoil like those $50k gold audio cables.
It has worked out for Nokia. They happily sold their business to microsoft, which is now dead in the water, while they themselves build another phone business.
Wow, what makes this apartment building so special that both the landlords AND the tenants are posting on slashdot?
I've always thought slashdotters don't live in apartments but in mom's basement.