On Mon, Jun 01, 2020 at 12:26:16PM +0300, Peter Pentchev wrote: > On Mon, Jun 01, 2020 at 12:21:37PM +0300, Peter Pentchev wrote: > > On Mon, Jun 01, 2020 at 01:15:23AM -0700, ToddAndMargo via perl6-users > > wrote: [snip] > > > Hi Peter, > > > > > > I screw up A LOT.
And just in case this part isn't clear: this is fine. We all screw up a lot. After more than thirty years of programming in more than twenty different languages, I screw up a lot, all day, every day. I mess up the syntax, I mess up the order of arguments to library functions that I use all the time, I mess up the operator precedence... hell, just now, when writing this simple program with the multi methods, first I forgot that I had to call Thing.new to get an actual object (I tried with "Thing()"... yeah, yeah, I also write Python, so sue me :)), and then I forgot that I need to put "multi" there to define a, well, a multi method :) And don't get me started on the *real* screw-ups I do now and then, the ones that sometimes cost the company real money :) So, yes. Screwing up is part of the game. I don't know a single programmer who does not screw up every day. I *really*, *really* like the way Raku handles my simple screw-ups. Yes, it is a bit verbose sometimes, but it always helps me. Yes, sometimes I have to think a little bit about what it is trying to tell me, but then the lightbulb comes on and sometimes I learn something new about the language :) And yes, I understand how the verbose, detailed, and technical error messages may seem a bit arcane to newcomers. Unfortunately, this is a compromise that needs to be made when writing a compiler for a new language: do you sit down and try to imagine all the ways that newcomers will screw up, try to detect them, and try to give very, very helpful messages, or do you give generic, but verbose messages with a lot of detail? And, yeah, I know, this is another "trust me when I tell you this" moment: I've dealt with compilers in other languages that have tried to be very, very helpful, and while it does make things easy in the beginning, in time you start to make not-so-simple mistakes and the compiler doesn't *really* understand what you're trying to do... and then it sends you on a *real* wild-goose chase by giving you an error message that has *nothing* to do with the actual problem, because it assumed that you were trying to do something that you were not. So... yes. The Raku developers chose to go the detailed, verbose, technical route. I actually like that. It takes some getting used to, but once you've got some more accumulated knowledge, it *saves time*. G'luck, Peter -- Peter Pentchev r...@ringlet.net r...@debian.org p...@storpool.com PGP key: http://people.FreeBSD.org/~roam/roam.key.asc Key fingerprint 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13
signature.asc
Description: PGP signature