5 ms·
I've been leaning Spanish for about the last six years. I'm reasonably effective at it. Not fluent, but I can speak and understand it well enough that I often d
by thenewwazoo 3y ago
I've been leaning Spanish for about the last six years. I'm reasonably effective at it. Not fluent, but I can speak and understand it well enough that I often don't notice how easy it's gotten for me. A while back, I tried reading something written in German and was actually surprised at how little I understood. Clearly I can understand not-English, why was German so hard? I spent a little while trying to parse out each word, guess common roots, vaguely remember the little bits of German grammar I've absorbed over the years, and so on. It was illuminating. I could not just force myself to understand German by relying on my success learning Spanish. (This is a real story, btw. I really did this.)
This comment reminds me very strongly of myself, trying to read German. You know C, why shouldn't you be able to understand Rust? But they're not the same thing, and they communicate different things in different ways. There are concepts that simply do not map directly. Someone could very easily write the exact same post from the perspective of a Rust programmer starting with C. Where is the equivalent to Cargo.toml? What is this Makefile thing, and why doesn't it look like a configuration file? Etc. No amount of just forcing yourself to try is going to provide clarity unless you already understand the idioms and structure at play.
With that said, I have written embedded Rust and it is an amazingly freeing experience. Writing C right now feels like trying to balance a knife on my finger. With Rust I can just get work done. I strongly recommend you spend the time to learn it. Even if it doesn't convince you that C's days are numbered, it will make you a better programmer by training you to think about safety and correctness up front.
- PennRobotics 3y agoMy mom was a Spanish teacher in a reasonably hispanic part of Florida. I'm now a permanent resident of Germany. Your example resonates. ----- I tried Embedded Rust about 4 to 6 years ago and found the experience underwhelming, as I was installing a TON of packages just to get Blinky and seeming to bypass a lot of standard Rust (no_std, no_main, use panic_halt as _, everything GPIO is unsafe, etc). The last straw was that imported Cargo packages had their absolute path somehow hardcoded in the symbol table, so my debugger would try to load, like... C:\Users\jacob\stm32-rust-thingy\app\solve.rs (and fail, because I'm not jacob and don't have his source code) I'll give it another shot. I'm sure the "many eyes" principle (and better/more tutorials in the past few years) make the process easier now than then.
- cesarb 3y ago> I spent a little while trying to parse out each word, guess common roots, vaguely remember the little bits of German grammar I've absorbed over the years, and so on. And German has a particularly special trap for "trying to parse out each word": trennbare Verben (separable verbs). Unless you know enough of the grammar to know when a piece of the verb has been unceremoniously punted to the end of the sentence, trying to use a dictionary to find the meaning of the verb of a sentence can be an exercise in futility.
- Gibbon1 3y ago> Clearly I can understand not-English, why was German so hard? I'm reminded of a Mexican friends mother, she and her aunts went to Europe. They loved loved Italy. Partly because if an Italian spoke slow and clearly they could understand what the person was saying. My experience with C# for instance was it was really easy to pickup. Because snippets of code are generally C like and procedural. Heard the above about said about go. If you know Java and JavaScript you probably know go already. I found python not too hard because I knew perl sort of. Mostly enough experience with it to avoid it. I suspect if you know C++ and a ML language Rust is a breath of fresh air. But if you don't it's not. It's gross. And very very slow iteration times.
- PennRobotics 3y agoA ML language is where I'm lacking. That probably explains why most of my CS major peers are more enamored with Rust. As long as I stick to Embedded Rust, I can use work time to learn more. I'll probably plan that between my current projects these next few months.
- Gibbon1 3y agoThis self taught Mexican genius had an amusing description of ML languages. You look at the code and go what? Then you cock your head and it's still what. And then you turn your head sideways and suddenly it makes sense. Then you look at code in another language and go what?