Originally posted by ssokolow
View Post
Announcement
Collapse
No announcement yet.
Making The Case For Using Rust At Low Levels On Linux Systems
Collapse
X
-
-
Originally posted by Hi-Angel View PostJust C++, really?.
Also, from my little experience in both GTK and Qt, the last is better to code. E.g. I remember, as part of a student thesis, I was trying to fix a problem in GTK GUI of Yi with cursor, which doesn't become «big black box» in «normal mode», like it is in vim. Long story short, it turned out GTK didn't have that capability. In GVIM it is done via custom widget, and someone told a story, that for alike needs they hacked the mode of cursor when you press «Insert» key.
I also met some other problems, which I badly remember, but what I do remember — I googled whether they could be easily done in Qt, and yes, they are! Plus — though it is subjective — to me Qt apps looks much prettier than GTK ones. So I consider Qt to be better than GTK.
The only thing I'm miss in Qt, is that GTK allows creating global keybindings for textboxes via .gtkrc, e.g. for movement like in Emacs.
- 1 like
Leave a comment:
-
Originally posted by totoz View Post
Runtime checks can be disabled at compile time, and Ada does also a lot of static checks and analysis at compile time.
GC is optional for Ada, and the GNAT compiler (probably the most popular compiler, based on GCC) does not provide one, so we can almost consider there is no GC unless you target a specific compiler.
The same is true for segmentation faults and dangling pointers without a GC. You can't compile code with rust if there is a possibility for a dangling pointer or segmentation faults.
Leave a comment:
-
Originally posted by Steffo View PostDon't compare rust with Ada. Ada does runtime checks, rust compile time checks. And rust does not have a GC like Ada.
GC is optional for Ada, and the GNAT compiler (probably the most popular compiler, based on GCC) does not provide one, so we can almost consider there is no GC unless you target a specific compiler.
Leave a comment:
-
Originally posted by cb88 View Post
Because ADA derives from Pascal... VHDL also hails to ADA syntax. The problem is that it is so verbose that it is cumbersome...this could be alleviated somewhat with better tooling but it either doesn't exist or costs an appendage and half your offspring.
Emacs is probably as good as it gets free software wise for VHDL and ADA but I don't grok it.
About tools, there's an IDE (GNAT Programming Studio) and an Eclipse plugin that you can get for free (GPL). And of course, Emacs ;-)
Leave a comment:
-
Originally posted by mmstick View Post
Why should anyone care about Qt support? Qt isn't supported by any language other than C++, and it's not the best graphical toolkit for Linux. Cross-platform UI toolkits tend to use GTK3 as the backend for Linux, and Rust has amazing support for GTK3. ...
Leave a comment:
-
Originally posted by Hi-Angel View PostJust C++, really?.
Also, from my little experience in both GTK and Qt, the last is better to code. E.g. I remember, as part of a student thesis, I was trying to fix a problem in GTK GUI of Yi with cursor, which doesn't become «big black box» in «normal mode», like it is in vim. Long story short, it turned out GTK didn't have that capability. In GVIM it is done via custom widget, and someone told a story, that for alike needs they hacked the mode of cursor when you press «Insert» key.
I also met some other problems, which I badly remember, but what I do remember — I googled whether they could be easily done in Qt, and yes, they are! Plus — though it is subjective — to me Qt apps looks much prettier than GTK ones. So I consider Qt to be better than GTK.
The only thing I'm miss in Qt, is that GTK allows creating global keybindings for textboxes via .gtkrc, e.g. for movement like in Emacs.
Like the LXDE developers, I'm in the process of upgrading from GTK+ 2.x to Qt 5.x and the main thing limiting my adoption of Rust is that, as someone focused on UI/UX design, most of my creations are I/O-bound things which glue together non-QML (QML native widget support is too immature) UI elements in novels ways, so my creations will be 99% PyQt regardless of whether I use Rust and adding another language just complicates the build process.
(I really want to be able to write pure Rust apps because the type system would greatly simplify the task of bringing all of my projects, old and new, up to my new unit testing standards... especially given how defining a state machine within Rust's type system lets you get compile-time validation of proper use of a wire protocol or file format.)
- 3 likes
Leave a comment:
-
Originally posted by mmstick View PostWhy should anyone care about Qt support? Qt isn't supported by any language other than C++, and it's not the best graphical toolkit for Linux. Cross-platform UI toolkits tend to use GTK3 as the backend for Linux, and Rust has amazing support for GTK3.
Also, from my little experience in both GTK and Qt, the last is better to code. E.g. I remember, as part of a student thesis, I was trying to fix a problem in GTK GUI of Yi with cursor, which doesn't become «big black box» in «normal mode», like it is in vim. Long story short, it turned out GTK didn't have that capability. In GVIM it is done via custom widget, and someone told a story, that for alike needs they hacked the mode of cursor when you press «Insert» key.
I also met some other problems, which I badly remember, but what I do remember — I googled whether they could be easily done in Qt, and yes, they are! Plus — though it is subjective — to me Qt apps looks much prettier than GTK ones. So I consider Qt to be better than GTK.
The only thing I'm miss in Qt, is that GTK allows creating global keybindings for textboxes via .gtkrc, e.g. for movement like in Emacs.
- 2 likes
Leave a comment:
-
Btw. rust does only bound checking when neccessary. It doesn't do any bound checking in safe code when you are iterating over an array with for each.
And it has overflow detection in debug mode which gets disabled in realease mode. Unit tests are integrated in the standard lib and compiler.
If you are documenting code examples in your docs, these examples will get checked if they are compilable.
In total, rust gives you an amazing tool chain by default!
Leave a comment:
Leave a comment: