Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Comment Re:Probability for intelligent life (Score 1) 71

There are most probably tons of slime-like life forms out there. Probably much, much less of the complex multicellular ones. Something as complex as human? I think we are alone. Winning the lottery hundred times in a row is possible given an infinite amount of time, however it took 1/3 of the life of the entire universe to produce humans via an exceptional chain of improbable events.

Either we are alone or we are a part of some grand master plan which does not imply randomness at all.

Comment Re:Probability for intelligent life (Score 3, Interesting) 71

That does rather assume that no intelligent life would ever have arisen from the dinosaurs.

Exactly, life is very old, it had billions of years to evolve an intelligent life and it didn't, instead an unlikely chain of periodical planet reformatting was required.

If the asteroid hadn't hit dinosaurs might have gone to the moon only a few million years later

None of the life forms which existed for hundreds of millions (or even billions) of years wasn't even remotely close to the early hominids, but humans did it in merely a few hundred thousand years.

Comment Re:Specification? Language stability? (Score 1) 95

> and at rare occasions (it's never clear which version) a breaking change occurs

Not exactly, breaking changes happen only with a new language "edition" which must be explicitly enabled in the project. So far there has been only two editions: 2015 (version 1.0) and 2018. Edition 2021 is coming this fall.

Comment Re:ah the Rust safety myth (Score 4, Informative) 103

Unsafe Rust is limited to the code sections marked as "unsafe" whereas the whole C or C++ application is unsafe. Those blocks are usually small and well-defined so it makes it much easier to find and fix the bugs if there are any. Also "unsafe" does not break the rules like ownership and borrowing, it only allows to dereference a raw pointer or call another unsafe or external FFI function.

Comment Gnome is still unusable out of the box (Score 5, Insightful) 125

The default Gnome configuration on the desktop is very much impossible to use even for experienced Linux users. In 99,9% cases the user wants to install Gnome Tweak tool and change the default settings: bring back the minimize and maximize buttons, switch the default batshit ugly Adwaita theme and icons, turn off the dynamic workspaces, install several extensions which with a high probability are broken anyway across versions.

Ubuntu and alike are minimizing the pain with their own customizations, however I still very much prefer KDE Plasma desktop especially now that it became quite polished in the recent years. Also highly recommending openSUSE Tumbleweed for the desktop, which is a rolling distro. Stable, beautiful, always up to date.

Comment Re:Can't go back to C or C++ anymore (Score 1) 270

I think it is much easier, yes, than 4 years ago. Although my thoughts are similar, having a prior experience makes it opinionated. The IDE support is much more polished (I work mostly with IntelliJ plugin and CLion but occasionally also with VS Code). 2018 edition of the language polished it quite a bit, e.g. ? vs try macro, better modules. lifetime elision, non-lexical lifetimes. The old async coding with 10 levels of map, and_then, or_else was a pain, especially for newcomers. Now with async/await it's way more elegant. So yes, it is much easier to learn. Also there are so many books and tutorials now, and github is full of active projects.

Comment Can't go back to C or C++ anymore (Score 5, Informative) 270

I've been coding in C and C++ since 90s in a broad range of domains, including hard real time industrial systems, trading software, UIs (yes, MFC as in MotherF*ingC, Qt, etc). I remember the raise and fall of dos extenders, borland and the abortion called managed C++. Since around 2017 I've convinced my current employer to go ahead and adopt Rust for some of the smaller projects.

We are using it since then and honestly, that was the best technical decision ever. It has a *very* steep learning curve, especially for people not initially familiar with C or C++. However, it pays back big time. At that time it had somewhat lacking 3rd-party library support and tooling, this has been tremendously improved in the last few years. Also plugging in an external C module via FFI is a joy, and C++ is not too difficult either with a little bridge coding.

Writing software in Rust is really a pleasure. Cargo is excellent, cross-compilation is a joy, standard library provides a lot that C or C++ doesn't, async I/O is great via Tokio (or few other async runtimes), built-in testing support is a huge huge win, I can't stress it out enough how much pain and suffering we had writing unit tests in C++. And of course, memory and thread safety. It really works. Anyway, I don't see a compelling reason to start a new project using some older crap, unless you target some architecture which is not supported by LLVM (or, depending on the requirements, not in Tier 1 of the official Rust list). I worked with Tier 2 platforms without issues (e.g. Android and iOS) but I guess in many cases stronger guarantees are needed.

Slashdot Top Deals

Always draw your curves, then plot your reading.

Working...