General statistics
List of Youtube channels
Youtube commenter search
Distinguished comments
About
Lepi Doptera
Low Level
comments
Comments by "Lepi Doptera" (@lepidoptera9337) on "C is 50 Years Old. Should You Learn Rust?" video.
That's another one of those delusions that we are trying to fix in first semester computer science. You clearly haven taken those courses, yet. ;-)
2
Rust is the kind of training wheels bike that constantly hurts your knees which keep colliding with the training wheel struts. There is absolutely nothing hard or dangerous about C memory allocation and you only have to blame yourself if you get it wrong (which you won't any more after you made the typical pointer mistakes two or three times in your life).
2
If you learn assembly plus low level concepts (like program linking and loading) you will be a better programmer in any language. ;-)
2
C will still be around in 50 years. Rust won't be. ;-)
1
Python never felt bloated. Most libraries are very specific and can be learned in minutes to days. Python has one major Achilles heel and that's the GIL. If you can live with the restrictions of that and you don't need highly reliable and high performance code Python is fine.
1
The goal is not to become a master of a language. The goal is to write reliable software efficiently. That requires a far wider range of skills than the understanding of language features.
1
I don't know what you mean by programming concepts. Pointers and references? Arrays? Lists? State machines? These are all logically necessary concepts. A person can point you to the mountain, which is useful, even if nobody can move a mountain. An array and a list perform differently on different kinds of operations. Inserting an element into an array is an expensive operation. In a list (even in an ordered list) it can be cheap. Retrieving an element from an array is cheap, retrieving an element from a list can be expensive. General control flow is unpredictable, state machines are completely predictable etc.. No language can get you around these differences. You have to understand them in some level of detail first, if you want to be a good software designer.
1
@NStripleseven Data that isn't mutable isn't very useful to begin with. All of computing is about the question "what shall we do with data". This isn't language dependent, either. One can make C programs that are "safe" with regards to constants, if that is your concern. All you have to do is to use the memory management unit and declare a constants segment that is read only. Any attempt to write to it will lead to an abort. Is that "safe programming"? No. That's just the train of thought of a poorly functioning person with OCD. There are, unfortunately, too many self-anointed programming geniuses who are suffering from that very condition. They are obsessed with not writing to memory areas that "shouldn't be written to". That, of course, was never the problem. The problem was always to write THE CORRECT values into areas that should be written to. ;-)
1
What do you need either for? Inheritance is a bad idea on the best of days and polymorphism is mostly useful as a mathematical tool (it's similar to the ideas of category theory, where you reuse the same proof for multiple, often an infinite number of cases). In practical programming it only leads to very subtle errors that are hard to catch (try using Python for production code... you will see just how many runtime errors you get just by forgetting a dot in a constant, which then turns from a float that you wanted to an integer that is meaningless in the context). And, yes, things like 7*"Hello!" are great... until you run into a really large integer while doing n*"Hello!" and then your language suddenly allocates a petaByte of disk space for a nonsensical string. ;-)
1
At the OS level certainly neither is. At the user application level both are providing alternative ways of "doing things" that can be done in any Turing complete language but they are guaranteeing that those things will be done "correctly". It's another level of abstractions and another level of training wheels. You know what the problem with training wheels is? They get hung on rough terrain. They are great on a perfectly paved road, though. Good luck finding one of those.
1
There are no good xxxx programmers. Either you can deliver in any language or you can't.
1
Yes. CS is not about languages. It's about a deeper understanding of computing. ;-)
1
If you think that a language can make you code better, then you are not ready to code in any language. :-)
1
You can learn as many languages as you like. Will that make you a better programmer? No. The actual success recipes for programming are language agnostic.
1
A garbage collector is not a panacea. It simply allows you to make different mistakes than a language without that facility.
1