Comments by "Anony Mousse" (@anon_y_mousse) on "Travis Media"
channel.
-
3
-
I actually disagree with most of these, but especially number 3. If we're talking about a C-based language, or even Pascal or BASIC, then they'll be largely the same and easy to pick up. However, there are many languages that have weird eccentricities and you can't merely pick them up at a glance. Take for instance bash scripting, where if you've only ever learned one of the most common languages you still won't have a clue what the majority of constructs are doing in certain bash scripts. I would go so far as to say that to really be a well rounded developer, there are certain classes of languages that you should pick up: any assembly, though one that's either useful or fun would be the best choice, such as 6502 for fun; any C-like, but preferably C itself with a continuation into C++; any LISP; a shell scripting language, but preferably bash; JavaScript; any functional language, and most would suggest Haskell, though I've always kind of preferred OCaml.
2
-
I really wish I could get someone to acknowledge the truth, but the issue is not memory safety. The issue is failure to check user input. The memory errors are the end result, as in a symptom but not the cause. Microsoft can be stupid, and all the others that tout that 70% number, but it's all misinterpretation of what they're seeing. It's like they're looking at a murder scene where a person was stabbed to death and they conclude that blood loss is why the victim is dead. It's both technically true and false at the same time. Technically they lost enough blood for it to kill them, but if it wasn't for the knife they wouldn't have lost it.
Also, when a new language deletes features from their predecessors, it's a huge code smell. It speaks to a fundamental misunderstanding of the whole picture and much like the aforementioned memory errors speaks to a person who's a poor diagnostician. It's like when I first heard about Java and they said they wouldn't have the goto keyword, which had a number of legitimate uses, and then found years later they finally realized what some of those legitimate uses were that they hadn't previously accounted for and added named breaks. Unfortunately, unions are an incredibly useful feature of C, and deleting that is shortsighted.
1