Why am I having such a hard time learning Rust?
-
Maybe you're rusting.
-
I don't know if it's just Rust, or if it's me, but I just can't seem to pick it up. Their container system is strange to me. I guess it would probably help if it had some kind of IDE to manage them. But more than that I try reading the documentation on the language and my eyes start to glaze over and I go into dumb-ss mode. :~ I used to just absorb new programming languages. I think maybe I'm getting old? I read somewhere that our intelligence and mental flexibility peaks in our late 20s? and levels out for awhile before declining, so that concerns me. Part of being able to program well means taking in new information all the time, but I look at even the web these days, I look at Rust, and it's foreign to me. :(
To err is human. Fortune favors the monsters.
Not enough anti-oxidants?
-
I don't know if it's just Rust, or if it's me, but I just can't seem to pick it up. Their container system is strange to me. I guess it would probably help if it had some kind of IDE to manage them. But more than that I try reading the documentation on the language and my eyes start to glaze over and I go into dumb-ss mode. :~ I used to just absorb new programming languages. I think maybe I'm getting old? I read somewhere that our intelligence and mental flexibility peaks in our late 20s? and levels out for awhile before declining, so that concerns me. Part of being able to program well means taking in new information all the time, but I look at even the web these days, I look at Rust, and it's foreign to me. :(
To err is human. Fortune favors the monsters.
It's not your age, and it's not you in any other way. It's Rust. I read through some of the documentation once and didn't care for it. I decided to give it a second chance. That was enough to convince me that it was bizarre and that I wasn't interested. Another language whose designers either think they're your parents or have PTSD from bad pointer experiences.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
Gerry Schmitz wrote:
...looks like text speak: no caps, pointless abbreviations, and words that don't mean what they mean in conventional terms.
Sounds like *nix. :laugh:
If you think 'goto' is evil, try writing an Assembly program without JMP.
TNCaver wrote:
Sounds like *nix
... or cmd or powershell or ...
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
-
I don't know if it's just Rust, or if it's me, but I just can't seem to pick it up. Their container system is strange to me. I guess it would probably help if it had some kind of IDE to manage them. But more than that I try reading the documentation on the language and my eyes start to glaze over and I go into dumb-ss mode. :~ I used to just absorb new programming languages. I think maybe I'm getting old? I read somewhere that our intelligence and mental flexibility peaks in our late 20s? and levels out for awhile before declining, so that concerns me. Part of being able to program well means taking in new information all the time, but I look at even the web these days, I look at Rust, and it's foreign to me. :(
To err is human. Fortune favors the monsters.
why do you need to pick RUST?
diligent hands rule....
-
why do you need to pick RUST?
diligent hands rule....
None of this is about need. And I'm pretty sure Rust isn't an acronym?
To err is human. Fortune favors the monsters.
-
I don't know if it's just Rust, or if it's me, but I just can't seem to pick it up. Their container system is strange to me. I guess it would probably help if it had some kind of IDE to manage them. But more than that I try reading the documentation on the language and my eyes start to glaze over and I go into dumb-ss mode. :~ I used to just absorb new programming languages. I think maybe I'm getting old? I read somewhere that our intelligence and mental flexibility peaks in our late 20s? and levels out for awhile before declining, so that concerns me. Part of being able to program well means taking in new information all the time, but I look at even the web these days, I look at Rust, and it's foreign to me. :(
To err is human. Fortune favors the monsters.
Seems to me like you're likely already rather intimate with hardware and how things work in computers. From a quick look at the code-samples, it felt like stepping back into about 1993 and Turbo Pascal. Pointers are trivial. Memory safety and leaks aren't exactly the hardest things to keep track of either. Certainly not the view held universally, but reasonably common all the same. It feels like the language introduces unnecessary complexity in pursuit of the mission to dumb-it-down. EXACTLY the same mistake so many HTML/JS frameworks force upon their users. println!("Nah thanks. Keep yer oxidised rubbish Mozilla"); Oh... and here's yer bang back too ( ! ) FFS - it's an exclamation mark ya willies. Rant aside - thanks for the impetus to finally have a look at it. That was 20 minutes of my life I'll sadly never get back. :wtf:
-
Seems to me like you're likely already rather intimate with hardware and how things work in computers. From a quick look at the code-samples, it felt like stepping back into about 1993 and Turbo Pascal. Pointers are trivial. Memory safety and leaks aren't exactly the hardest things to keep track of either. Certainly not the view held universally, but reasonably common all the same. It feels like the language introduces unnecessary complexity in pursuit of the mission to dumb-it-down. EXACTLY the same mistake so many HTML/JS frameworks force upon their users. println!("Nah thanks. Keep yer oxidised rubbish Mozilla"); Oh... and here's yer bang back too ( ! ) FFS - it's an exclamation mark ya willies. Rant aside - thanks for the impetus to finally have a look at it. That was 20 minutes of my life I'll sadly never get back. :wtf:
I'm glad I'm not the only one that feels that way!
To err is human. Fortune favors the monsters.
-
I don't know if it's just Rust, or if it's me, but I just can't seem to pick it up. Their container system is strange to me. I guess it would probably help if it had some kind of IDE to manage them. But more than that I try reading the documentation on the language and my eyes start to glaze over and I go into dumb-ss mode. :~ I used to just absorb new programming languages. I think maybe I'm getting old? I read somewhere that our intelligence and mental flexibility peaks in our late 20s? and levels out for awhile before declining, so that concerns me. Part of being able to program well means taking in new information all the time, but I look at even the web these days, I look at Rust, and it's foreign to me. :(
To err is human. Fortune favors the monsters.
honey the codewitch wrote:
I read somewhere that our intelligence and mental flexibility peaks in our late 20s?
Arthur C. Clarke's First Law::
When a distinguished but elderly scientist states that something is possible, he is almost certainly right. When he states that something is impossible, he is very probably wrong.
Clarke went on to define "elderly": In Mathematics and the physical sciences, anyone over 30. In biology, senile decay is at times postponed to the 40s. Join the club... :-\
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows. -- 6079 Smith W.
-
I don't know if it's just Rust, or if it's me, but I just can't seem to pick it up. Their container system is strange to me. I guess it would probably help if it had some kind of IDE to manage them. But more than that I try reading the documentation on the language and my eyes start to glaze over and I go into dumb-ss mode. :~ I used to just absorb new programming languages. I think maybe I'm getting old? I read somewhere that our intelligence and mental flexibility peaks in our late 20s? and levels out for awhile before declining, so that concerns me. Part of being able to program well means taking in new information all the time, but I look at even the web these days, I look at Rust, and it's foreign to me. :(
To err is human. Fortune favors the monsters.
I thought witches used a lot of greasy chicken in their rituals. It's hard to rust when when greasy. Start using lean chicken, but your casting skill will suffer for it.
Our Forgotten Astronomy | Object Oriented Programming with C++
-
I don't know if it's just Rust, or if it's me, but I just can't seem to pick it up. Their container system is strange to me. I guess it would probably help if it had some kind of IDE to manage them. But more than that I try reading the documentation on the language and my eyes start to glaze over and I go into dumb-ss mode. :~ I used to just absorb new programming languages. I think maybe I'm getting old? I read somewhere that our intelligence and mental flexibility peaks in our late 20s? and levels out for awhile before declining, so that concerns me. Part of being able to program well means taking in new information all the time, but I look at even the web these days, I look at Rust, and it's foreign to me. :(
To err is human. Fortune favors the monsters.
Too many letters in the name? Surely, the shorter the name, the better the language.
-
yacCarsten wrote:
What we like we do with enthusiasm (and it’s easy), when we don’t the eyelids become heavy.
This is very true. As a young professional, I was excited about everything and learned everything very quickly. Fast forward 10 years, and I started picking-n-choosing, as IT saw so much change and churn. At the time I thought I was overburdened with choices, but in hindsight I had lost my enthusiasm for "everything". Fast forward another 20 years and I pick-n-choose very selectively -- the very few things that excite me I still learn quickly, but learning Go or Rust? The manuals are totally fantastic when I have insomnia ... :laugh: Something else to consider -- 30 to 40 years ago, IT was still expanding. We didn't have the plethora of languages we do today, although at the time I thought we had a lot. Now? Everything I see is a retread of earlier stuff in a different package (lipstick on a pig), or it's a monument to ego (see! I made a new language!).
BryanFazekas wrote:
Everything I see is a retread of earlier stuff in a different package (lipstick on a pig), or it's a monument to ego (see! I made a new language!).
Yup, pretty much. We've passed the point where we've saturated the field of programming with novel features and languages, somewhere around 2010. Last language I learned out of curiosity was D, and even then I knew it was just a rehash of C with a neat compiler and no viable ecosystem. When looking at Rust, I quite literally see a C variant with thread safety that's specialized for system-level code. I can pick it up in a day, maybe 2 if the toolchain is finicky, but why bother without a concrete project lined up? I doubt it will teach me any great insight I've missed in the last 27 languages I picked up.
-
I don't know if it's just Rust, or if it's me, but I just can't seem to pick it up. Their container system is strange to me. I guess it would probably help if it had some kind of IDE to manage them. But more than that I try reading the documentation on the language and my eyes start to glaze over and I go into dumb-ss mode. :~ I used to just absorb new programming languages. I think maybe I'm getting old? I read somewhere that our intelligence and mental flexibility peaks in our late 20s? and levels out for awhile before declining, so that concerns me. Part of being able to program well means taking in new information all the time, but I look at even the web these days, I look at Rust, and it's foreign to me. :(
To err is human. Fortune favors the monsters.
-
BryanFazekas wrote:
Everything I see is a retread of earlier stuff in a different package (lipstick on a pig), or it's a monument to ego (see! I made a new language!).
Yup, pretty much. We've passed the point where we've saturated the field of programming with novel features and languages, somewhere around 2010. Last language I learned out of curiosity was D, and even then I knew it was just a rehash of C with a neat compiler and no viable ecosystem. When looking at Rust, I quite literally see a C variant with thread safety that's specialized for system-level code. I can pick it up in a day, maybe 2 if the toolchain is finicky, but why bother without a concrete project lined up? I doubt it will teach me any great insight I've missed in the last 27 languages I picked up.
Kate-X257 wrote:
I doubt it will teach me any great insight I've missed in the last 27 languages I picked up.
I know what you mean. :laugh: During the first 10 years of my career (started late 80's), on average I learned a new language, tool, library, or package every 3 months. This includes version changes where the differences required study and/or effort. A large part of that was being a consultant/contractor, so I learned whatever the new client needed. Now? Companies and organizations pump out new versions in an attempt to stay relevant, and force churn by dropping support for "old" versions, after periods as short as 12 - 18 months.
-
BryanFazekas wrote:
We didn't have the plethora of languages we do today
Yes we did ... but they were different languages, not just minor variations of C! Think of APL, with it workspace concept and free floating matrices and functions. Think of Snobol, with its predicate matching integrated into an algorithmic programming language. Think of Lisp, and its very data structured (list) oriented design. Think of Prolog, the predicate language that was expected to take over the world through the '5th generation project'. Think of purely functional languages such as Erlang. Think of highly parallel languages such as Occam. Think of event oriented languages such as CHILL. Languages where different and exciting. Who cares about yet another minor change to C syntax? Besides: The majority of language developments today certainly are not done to provide you with a better language, but to lure you into some different infrastructure, software ecology, environment, ... Once you have entered it, you are locked into it. The development you do in, say, Python (randomly chosen example!), cannot easily be utilized by other developers unless they as well move into the Python sphere. Which is the exact reason for the Python ecology being designed the way it is: As a way to exert power, to control as much as possible of the software development process, bringing it into the Python ecosystem. That seems to be its basic purpose: There is no real reason why Python should not be just another algorithmic language alongside with all the old ones. Sure, there are modern variants of most 'non-c-derived' languages, but who cares about them today? In language discussions, their only purpose seems to be to make old farts (like me) shut up. In all respects, they are irrelevant. So: New languages of today, yet another variation of c syntax, are plainly boring! Who would care to study them?
trønderen wrote:
Yes we did ... but they were different languages, not just minor variations of C!
You raise a good point, although my POV is a bit different. I learned 2 of the languages you mentioned for individual contracts, and never had a reason to learn any of the others. In the business consulting world I lived in, only a handful of mainstream languages had any market share. As a consultant, I focused on languages that I could use professionally.
trønderen wrote:
As a way to exert power, to control as much as possible of the software development process, bringing it into the Python ecosystem.
That is an excellent point! I worked briefly in Object/1, which IIRC was billed as "Smalltalk with C syntax". I realized it was going no where and shifted roles to a C segment of the project. A few years later the customer had to completely rewrite the application from scratch, as support for that version of Object/1 was dropped.
-
I don't know if it's just Rust, or if it's me, but I just can't seem to pick it up. Their container system is strange to me. I guess it would probably help if it had some kind of IDE to manage them. But more than that I try reading the documentation on the language and my eyes start to glaze over and I go into dumb-ss mode. :~ I used to just absorb new programming languages. I think maybe I'm getting old? I read somewhere that our intelligence and mental flexibility peaks in our late 20s? and levels out for awhile before declining, so that concerns me. Part of being able to program well means taking in new information all the time, but I look at even the web these days, I look at Rust, and it's foreign to me. :(
To err is human. Fortune favors the monsters.
For me, I learn new languages by reading as much source code as I can. This allows my brain to pickup the constructs/flows pretty quickly. This works really well... UNTIL you get to heavily "decorated" languages. .NET web code shocked my system. Then some of it is about the language helping to change programming detail location. I have some old code in my favorite language, where I was practicing some of this. It's really cool. Everything is based on a base class that knows how to "process" something. Then I inherited from that with 2-3 implementations based on filetypes, expectations. One master controller loop that dealt with setting orders. Every process was nice and tight/small. To this day, it's the hardest code for me to modify. I have re-immerse myself in the code. Unfortunately, I don't know RUST but my initial take is that the language contains a paradigm shift. Either in Decorations for some level of control, or conceptually to organize the code. (If that makes sense). Once you wrap your arms around it (like the transition to C++, which was BRUTAL because of all of these Object Rules), things will likely fall in place. But I still think it's easiest to start by reading someone elses code. And modify it! Get dirty. Also, one other commenter mentioned getting older (or more mature), your definition of "knowing" something changes, and gets a lot of depth. When we were kids, writing 2 C++ programs meant we KNEW C++ (ROTFLMAO). Most people came from C, and could write C code in C++... A huge difference, and we "know" that at a deeper level now!
-
For me, I learn new languages by reading as much source code as I can. This allows my brain to pickup the constructs/flows pretty quickly. This works really well... UNTIL you get to heavily "decorated" languages. .NET web code shocked my system. Then some of it is about the language helping to change programming detail location. I have some old code in my favorite language, where I was practicing some of this. It's really cool. Everything is based on a base class that knows how to "process" something. Then I inherited from that with 2-3 implementations based on filetypes, expectations. One master controller loop that dealt with setting orders. Every process was nice and tight/small. To this day, it's the hardest code for me to modify. I have re-immerse myself in the code. Unfortunately, I don't know RUST but my initial take is that the language contains a paradigm shift. Either in Decorations for some level of control, or conceptually to organize the code. (If that makes sense). Once you wrap your arms around it (like the transition to C++, which was BRUTAL because of all of these Object Rules), things will likely fall in place. But I still think it's easiest to start by reading someone elses code. And modify it! Get dirty. Also, one other commenter mentioned getting older (or more mature), your definition of "knowing" something changes, and gets a lot of depth. When we were kids, writing 2 C++ programs meant we KNEW C++ (ROTFLMAO). Most people came from C, and could write C code in C++... A huge difference, and we "know" that at a deeper level now!
Kirk 10389821 wrote:
Also, one other commenter mentioned getting older (or more mature), your definition of "knowing" something changes, and gets a lot of depth. When we were kids, writing 2 C++ programs meant we KNEW C++ (ROTFLMAO). Most people came from C, and could write C code in C++... A huge difference, and we "know" that at a deeper level now!
I think my problem might be a bit of imposter syndrome. Even now I don't think I can code very well in C++, if I'm being honest with myself. I fake my confidence, because I figure maybe I can fake it til I make it. That said, intellectually I know I underestimate myself when I assess my abilities. And most of my C++ code could not be written in C very readily. I use a lot of "advanced" C++ features like metaprogramming.
To err is human. Fortune favors the monsters.
-
Kirk 10389821 wrote:
Also, one other commenter mentioned getting older (or more mature), your definition of "knowing" something changes, and gets a lot of depth. When we were kids, writing 2 C++ programs meant we KNEW C++ (ROTFLMAO). Most people came from C, and could write C code in C++... A huge difference, and we "know" that at a deeper level now!
I think my problem might be a bit of imposter syndrome. Even now I don't think I can code very well in C++, if I'm being honest with myself. I fake my confidence, because I figure maybe I can fake it til I make it. That said, intellectually I know I underestimate myself when I assess my abilities. And most of my C++ code could not be written in C very readily. I use a lot of "advanced" C++ features like metaprogramming.
To err is human. Fortune favors the monsters.
(I think you meant C vs. C++ in that last sentence in the 2nd reference of the 3). Wow, honesty in assessing your abilities. That's awesome! So, push through it. You will pick it up. At the end of the day, you will either make it run correctly, or you will fix it. Support that confidence. For me, having over 40 programming languages (with over 5 variations of BASIC, 3-4 assembly) under my belt. I know the KEY Skill is to solve the right problem first. The choice of language after that is syntactical. Most people fail to properly solve the problem. Or shoehorn it into a construct they understand. Language portion is well after I have solved the bigger problem. (And yes, sometimes the constructs used in the language and framework chosen are part of the problem, LOL) Thanks for sharing... I enjoy the things you bring to the surface!
-
trønderen wrote:
Yes we did ... but they were different languages, not just minor variations of C!
You raise a good point, although my POV is a bit different. I learned 2 of the languages you mentioned for individual contracts, and never had a reason to learn any of the others. In the business consulting world I lived in, only a handful of mainstream languages had any market share. As a consultant, I focused on languages that I could use professionally.
trønderen wrote:
As a way to exert power, to control as much as possible of the software development process, bringing it into the Python ecosystem.
That is an excellent point! I worked briefly in Object/1, which IIRC was billed as "Smalltalk with C syntax". I realized it was going no where and shifted roles to a C segment of the project. A few years later the customer had to completely rewrite the application from scratch, as support for that version of Object/1 was dropped.
I guess I learned most of the off-mainstream languages - such as APL, Snobol, Prolog - as a student; I didn't have to worry about professional use. Actually, I never used any of those three professionally, ever. None of the languages I have been required to learn as a professional has been anywhere close to 'exciting', considered as language designs. 'As a student' does not necessarily mean 'taking a course at the University'. Snobol I picked up for one single reason: On the network (before Internet - a network named MECC) we had access to at high school, I accidentally bumped into a version of Eliza (the therapist) - a rather primitive variant, but it was written in just 200 lines of Snobol source code. I was so impressed that I had to get to know that language! APL I learned in high school, too: I made friends with a guy whose father worked at IBM, having been on the 5100 design team (Wikipedia: IBM 5100[^]). He was so proud of his father's work that he insisted I learned to program that machine! I did, and was fascinated by APL. Prolog was a balloon ready to burst in my study days. It did, but not until I had completed a Prolog course. Nothing ever became of Prolog or the entire 5th generation project. I never programmed in Occam at all, but we studied it in one course at the university. I guess students of today also dive into a lot of stuff that they will never be using professionally. Maybe today they study all sorts of AI methods? I don't know. But I enjoyed being a student in the years when language design was hot and exciting.
-
I guess I learned most of the off-mainstream languages - such as APL, Snobol, Prolog - as a student; I didn't have to worry about professional use. Actually, I never used any of those three professionally, ever. None of the languages I have been required to learn as a professional has been anywhere close to 'exciting', considered as language designs. 'As a student' does not necessarily mean 'taking a course at the University'. Snobol I picked up for one single reason: On the network (before Internet - a network named MECC) we had access to at high school, I accidentally bumped into a version of Eliza (the therapist) - a rather primitive variant, but it was written in just 200 lines of Snobol source code. I was so impressed that I had to get to know that language! APL I learned in high school, too: I made friends with a guy whose father worked at IBM, having been on the 5100 design team (Wikipedia: IBM 5100[^]). He was so proud of his father's work that he insisted I learned to program that machine! I did, and was fascinated by APL. Prolog was a balloon ready to burst in my study days. It did, but not until I had completed a Prolog course. Nothing ever became of Prolog or the entire 5th generation project. I never programmed in Occam at all, but we studied it in one course at the university. I guess students of today also dive into a lot of stuff that they will never be using professionally. Maybe today they study all sorts of AI methods? I don't know. But I enjoyed being a student in the years when language design was hot and exciting.
trønderen wrote:
I guess I learned most of the off-mainstream languages - such as APL, Snobol, Prolog - as a student
Same here. I learned 6 or 7 languages during my studies, ones never looked at again. Personally, I believe CS students should be taught a range of languages they might never touch again, as it provides a breadth of understand that makes future learning easier.