[racket] article about Racket

From: Eli Barzilay (eli at barzilay.org)
Date: Sat Nov 12 22:46:39 EST 2011

20 minutes ago, Raoul Duke wrote:
> (a) oh based on previous experience, i expect you of all people to
> be blunt! so i don't mind at all! :-)

I'll do that.

> where i'm coming from: [...]

No relevance, except:

> i'm using [...] mac os x. (at home i use that or linux since
> my xp box is dead.


>     * it doesn’t look like a native app, so it is very off-putting
> and has unsettled me from the get-go.

This used to be the case for linux only, before the gui rewrite, and
since then it looks native on all plaforms including linux.  (And that
includes the gtk file dialog that I detest.)  But to make it useful,
you'll need to get *specific* points across.  This:

> even just the basic app menus aren’t remotely native-app looking.
> this looks like something that was hacked up in tk circa 1987 or
> some other "i purport to be cross-platform but really i'm just stab
> in the eye on all platforms rather than something that feels cozy at
> home on each platform."  yes, i know cross-platform is really,
> really hard.

has zero useful content.  I'm not the DrRacket developer, but had I
been, there is nothing in the above that I see as useful in fixing
whatever it is that bothers you.

[On the meta side of inflammatory posts: like Shriram, I find this
borderline trolling.  Unlike your text, I can specify exactly why: you
use strong language like "stab in the eye" and "bad taste in my
mouth".  Yet you have not justified this in any concrete way, so I
find it surprising that something would be equivalent to a stabbed
eye, yet it's vague enough to not come with an explicit explanation.
For all I know, that's all because some box on the screen didn't have
round corners at the same radius or something similar.]

>     * it seems to be serving too many different audiences out of the
> box. having to choose a language is pretty confusing.

Yes, that's a good -- and known -- point.  The default language should
be the "detect language in source", but that can confuse newbies who
use the student languages so it's not the default, yet, mostly because
there isn't a clear way to improve it.

> is dr. racket aimed first at top-level PLT folks who grok
> multi-lingual stuff? i think that should be more ‘advanced’ and thus
> hidden. [...]

It is.  At the stage of not being aware of the "multi-lingual stuff",
you just need to write "#lang racket" and be done with it.  The
default behavior of the "detect language in source" does just that.

>     * killer bad: when i evaluate code from the top pane, my cursor
> gets moved to the bottom pane and i have to manually get it back up
> top to edit my program.

I'd say two things about this: (a) you're admittedly using lispish
languages very little -- and what drracket does is something that most
of the people who do use it expect as the default.  I wrote my code
and now I want to try things out.  (b) There are cases where I want to
just run the code to see that there were no errors etc -- but that
boils down to a feature request to get a second key (maybe C-S-r?)
that will leave the focus in whatever window you were at.  Such a key
makes sense, but if that'll make you happy than I'd argue that "killer
bad" is a huge exaggeration.

>     * killer bad: clicking on Check Syntax
>         * changes the ui drastically and i have no idea how to get
> back to how it was before i clicked it.

How does it change the UI?  FWIW, I see two things: an error popping
up if there is one, and colors changing.  Both are part of what I
expect it to do.  The only thing that I'd complain about here is the
"check syntax" name, which makes it seem like some trivial tool in one
of the mainstream language where "check the syntax" is a trivial
functionality.  But I don't have a good idea for a better name, and
"check syntax" has been around for a really long time so it became
it's own kind of term in the racket world.

>         * also there were no visible results of clicking it, no
> report card, no “ok” even. i had (+ 3 2) as the program.

I suspect that this is the same as above.  (Confusing it for something
it is not.)  I know that if DrRacket changes to pop up some "Your
syntax checks fine!" it would be much less useful for me.

>         * doing (+ 3 z) at least hilighted the z, but that was a
> really small thing and hard to see and hard to know what it means
> and what to do with it and where to go from there. the ui is not
> showing me what to do.

Sounds like you're seeing something different than what I see.  I get
the "z" with a red background, which in the year that I live at (2011)
is a universal sign of "something bad happened".  In case the red bg
is unclear, I also get an error message at the top of the screen, with
the error that happened.  It even says "Check Syntax Error Message" on
the left so I know where it came from.  Finally, the cursor is right
next to the offending "z", so my UI is really trying to show me that I
need to do something there to fix the error.

>         * hovering over the hilighted z does nothing.

I guess that it could show something, but since there is the error
window at the top I don't know what else could be shown there.

>     * at this point, basically literally 5 or 7 minutes into using
> it, i’m ready to throw it out. the system is apparently utterly
> unhelpful, and seems to really try to lead me down various crazy
> garden paths of doom.

This goes on with the strong language: "utterly unhelpful" seems
awfully strong for having one and a half very minor complaints that I
can extrapolate from the above.

>     * like, i guess i have to quit the entire app and start it again
> to get the 2 pane format back? [oh i guess i can "run" it again to
> get it back at least.]

Um, I have to admit that I run into similar problems with applications
that I don't know.  In such cases I a menu named "View" is something
that looks very promising in rectifying whatever it is that I want to
view.  Did you try that?

          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the users mailing list.