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

Attachment: signature.asc
Description: PGP signature

Reply via email to