4 ms·
Okay, I'll bite: how much of this is the responsibility of the language designers versus how much of it is the responsibility of the language user? If I had a
by boffinAudio 2y ago
Okay, I'll bite: how much of this is the responsibility of the language designers versus how much of it is the responsibility of the language user?
If I had a junior programmer complain to me about this case, I'd simply tell them "you didn't RTFM", because RTFM'ing before you use a language is not only the professional thing to do, but vital to your accurate and correct use of the language.
Sure, language designers shouldn't build-in these kinds of foot-bullets, but then again, kids shouldn't play with guns.
>First impressions apply to languages too.
The duty of responsibility applies to all languages, and it is the users responsibility to understand the language they are attempting to use, before using it. No?
- otherme123 2y agoIf a language clearly states in the FM that something "criminal", in the words of your parent comment, is known to be criminal but they leave it as it is without any clear reason behind it (even recognizing it as a past error they have to carry for backward compatibility), the junior has all the right to think the language is criminal and is against them. In the extreme case, take something like brainfuck. Everything is in the RTFM, but that doesn't make the language less criminal. I like to remember that we are not here to program for the sake of programming. We are mainly solving problems. I have a problem that I know I need to solve with "a gun", and maybe I'm a novice to gun usage. After having a look at some guns, I choose the one who seems to be less dangerous and have a friendlier and more intuitive usage. When your very powerful but a deathtrap with 1000 page manual of a gun is used by no one, don't complain with "why you don't use my powerful and clearly better gun!?". Because the key here is that this is not the 1970's anymore, when all guns were complicated. Learning by doing is the best way to learn, way better than learning by reading (https://thepeakperformancecenter.com/educational-learning/learning/principles-of-learning/learning-pyramid/ https://thepeakperformancecenter.com/educational-learning/le...). If a language requires me to RTFM is at a big disadvantage with any other language that allows me to easily learn by doing.
- comradesmith 2y agoI don’t think it’s fair to say integer division is an error, it’s more so a lack of an abstraction of “number” over floats and ints.
- boffinAudio 2y ago>Because the key here is that this is not the 1970's anymore, when all guns were complicated. I take issue with this - computers are far, far more complex now than they were in the 70's, which is why denying the language-users responsibility for fully understanding the language-designers intentions is such a farce. >If a language requires me to RTFM is at a big disadvantage with any other language that allows me to easily learn by doing. There are no languages under the sun which do not require some degree of study, and to claim that it should not be so is simply delusional. All language must be learned before it can be properly used - some people learn by making huge mistakes with the language they use, its true, but the productive, professional use of any and all human language requires its study.
- zilti 2y agoHaving a full numeric tower and stuff like having 1/2 evaluate to 1/2 (like in Scheme) definitely is the language designer's responsibility.
- boffinAudio 2y ago"1/2" - are these integers or reals? Shouldn't the correct results be expected for the correct statement "1.0 / 2.0" instead? This is a user flaw, not a language flaw. Nothing in the "1/2" statement implies real numbers .. ?