2 ms·
The onus on one making broad statements and presenting them as fact is on the one making them. Note, i'm not really asking you to prove your statement. Just tha
by Mithaldu 13y ago
The onus on one making broad statements and presenting them as fact is on the one making them. Note, i'm not really asking you to prove your statement. Just that you refrain from making such statements when you don't already carry the proof and provide it along with the statement.
Also, no, i did not take it as an insult, just as a false statement from someone with little knowledge of the subject matter.
> I do think that providing multiple options where most languages have one option built-in is unnecessary cognitive load. One doesn't "choose" an "object system" for Python--what benefit would one hope to gain?
That question is actually understandable and easily answered. Two benefits:
1. More expressive power for example. Perl has Roles that function in a way unmatched by most other languages (i say most because i don't know all languages, i honestly don't know one that has roles as good as perl). They make it possible to share methods among classes without needing to resort to base classes and diamond inheritance issues, while still retaining full introspection capabilities. Another system implements most of the sugar, but leaves out some really complicated features in order to make it much faster. Yet another provides the most speed by implementing the core in C. This makes it a bit harder to debug, and less portable, but if you need massive speed, there you go.
2. The ability to try out different things and work out in real life situations which features are needed and which ones are dead ends. This ability is amplified by the ability to simply extend your object system by writing more Perl. In comparison, Ruby has an ubiquitous one, but when they desire to change it, they cannot easily test the changes large-scale in real situations, and even if a change is undoubtably positive, they still have to convince Matz first, and then implement it in C.
> indisputably more work for everyone than just having one.
Actually that is disputable. In the past it was the case, yes. But nowadays they have converged on the same syntax and present themselves identically to consumers. That means porting between different systems is trivial, and people using a class don't even notice changes. And that is not just fluff. The perl community has been doing this actively, for example here:
https://github.com/rjbs/Email-Sender/compare/52fcbbb9b6a1c4a0b54a031f9eb211c77c6ba8dc...0708a1582dfea1677741134d5ac9939032d04a06 https://github.com/rjbs/Email-Sender/compare/52fcbbb9b6a1c4a...
I'm not going to comment on your last paragraph because you wrote it while having decided that what you wrote before is actual fact and it is thus very flawed. Please stop doing that and use more question marks.
- fusiongyro 13y agoYou imagine that programming is more objective than it actually is. Time will probably sort that out. I appreciate your examples. I do think they would have been a better place to begin. As for cognitive load, it is a thing. Converging on a single syntax will certainly reduce it, but as long as there is choice there is some. I do wonder to what extent you can have meaningful variation within the same syntax. Clearly it works for Perl and Perl users--I'm not trying to argue from first principles that it is impossible or stupid, only that it has a cost and that costs must have benefits or they are unnecessary. You apparently see some logical fallacy in that, but there isn't one. You just know the benefits and see the costs as reasonable. There's nothing wrong with your position on that, but you should have taken my words as an invitation to share what you know rather than blandly issue orders, a singularly unhelpful kind of discussion. An invitation was my intention, and I am sorry that I failed to convey it adequately.