Good to know that every time I feel the need to use ALGOL 68, I must remember to disable ligatures. Still not sure this is going to be a huge problem 😂
Well, that was something… I have used ligatures in my code editor for quite a few years now, and I have NEVER been confused about the ambiguity this person is so upset about. Why? I have never ever seen the Unicode character for not equals in a code block, simply since it is not a valid character in any known language. In fact, I have never even seen it in a String where it actually would be legal, probably since nobody knows how to type that using a standard keyboard. This whole article felt like someone with a severe diagnose have locked in on some hypothetical correctness issue, that simply isn’t a problem in the real world.
But, if you for some reason find ligatures confusing, then you shouldn’t use them. But, just to be clear, there is not a right of wrong like this blog post tries to argue, it is a matter of personal taste.
Splits, ligatures tabs and more
Cosmic term is nice. Still just alpha, so there are rough edges though.
fs::exists() was a nice little improvement that I didn’t know about until I read this announcement.
The problem is that C is a prehistoric language and don’t have any of the complex types for example. So, in a modern language you create a String. That string will have a length, and some well defined properties (like encoding and such). With C you have a char * , which is just a pointer to the memory that contains bytes, and hopefully is null terminated. The null termination is defined, but not enforced. Any encoding is whatever the developer had in mind. So the compiler just don’t have the information to make any decisions. In rust you know exactly how long something lives, if something try to use it after that, the compiler can tell you. With C, all lifetimes lives in the developers head, and the compiler have no way of knowing. So, all these typing and properties of modern languages, are basically the implementation of your suggestion.
https://doc.rust-lang.org/book/ this is a great starting point. Then when you got the basics, and fiddled around a bit, then you can start looking for more specialized books (like Rust Atomics and Locks https://marabos.nl/atomics/ )
I agree. I have written server software my entire career, and the need for performance is a corner case in my experience. The never crash in runtime aspect of rust should get much more attention (I know it can panic, but that really never happens in practice unless you use unwrap or smilar).
It is always nice to see things progress in the IDE space, even though I must say that since rust analyzer have progressed a lot and JetBrains switched to Rust Rover, I use Rust Rover less now and NeoVim / VSCode more.
Yes, they are not very upfront with this requirement, almost like they have understood that people doesn’t like it, but instead of fixing it they just try to hide it from their marketing material. And that doesn’t feel shady at all…
From their documentation
Unlike classic terminals, Warp requires you to sign up and log in to get started with the app.
So, yeah, it might be that people are not very impressed by a terminal that requires a cloud account.
But, if you don’t type anything sensitive on to your terminal, like passwords and such, then you should be fine…
Well, if the only thing you need from reflection is the name of a type, so then yes. But I wouldn’t really call this reflection since it is very limited.
Librsvg did the rewrite incrementally, so you can choose to only use rust for new code in an existing codebase.
I say that you should find some interesting project, possibly something related to some desktop environment like Gnome, KDE, sway, cosmic and so on. There are multiple fun/interesting projects around them. Then pick a small and manageable task, use that to learn the language that project uses.
I find Cosmic to be a very interesting desktop project, and they use Rust if that would be of interest.
This was in 1985, on a ABC80, a Swedish computer with a 3 MHz CPU. So, in theory it would be much faster, but I assume there were many performance losses (slow basic interpretor and thing like that) so that for loop got close enough to a second for us to use.
On my first programming lesson, we were taught that 1 second sleep was for i = 1 to 1000
😀, computers was not that fast back then…
If you avoid Nvidia, it have been ready for many years. And to be honset, not sure X11 was really stable with Nvidia either. My main issue with Wayland, is that X doesn’t have multi dpi support… and for that I really cannot blame Wayland. Also, Skype doesn’t have screensharing, well, they actually had for a while, but then removed it… still, hard to blame on Wayland.
But as a general rule, if you have Nvidia, then you are not allowed to complain about anything… that was your choice, and with Nvidia under Linux, all bets are off. I thought that was clear a long time a go, especially after Linus not so subtle outburst.
Also, it was easier to support X11, since there is no security. You wanted to read other applications key events, no problem. Want to read the screen, without without anyone knowing? No, problem, just read it. With Wayland you must use APIs for stuff, and you are not allowed to do everything.
Well, I have avoided Nvidia for 20 years due to driver issues on Linux, so I would be surprised if you had fixed them all :) But, it sound really promising, looking forward to try it out!
Are you saying that it is common that people use utf8 characters that you cannot easily type on a standard keyboard? I’m very skeptical of this claim.