[racket] On settings up DrRacket... Re: [SPAM] Re: DrRacket for the Truly Impatient V02, need help, beta testers

From: Grant Rettke (grettke at acm.org)
Date: Wed Nov 21 22:26:42 EST 2012


FWIW I just wanted to over-communicate something...

I really love Racket and DrRacket. It doesn't matter how I feel
though, what matter is that Racket and the team and their approaches
have delivered, you have evidence, it doesn't matter what any of us
"think" or "feel".

That said, I and most of my friends/colleagues/acquaintances are
coming not from academia as a career, and we are not college students
either, most professional software developers looking at Racket are
coming from the industry, so how we react to DrRacket is likely not to
be as intended... and what I hear everyone keep saying is that we
should use Emacs because DrRacket is aimed at students. I disagree.

I feel like DrRacket is a perfect sweet spot in between VI and Emacs.
You can set it up in 5m. It has debugger and editor and all the things
people want. You can extend it using the build in extensibility
framework if you like. To me it seems all very thoughtful and nice.
That said, as a brand new user all the "power" as I phrased it didn't
jump out at me. That is just me and how my brain works, totally
subjective. That said, my peers also have the same reaction. Even
other Schemers look at it and don't "get it". The default behavior
even of opening files in a new windows... people find it baffling in
the light of having a tabbed editor in DrRacket and it makes people
upset and confused... exactly what they don't need during
"Introduction to Racket".

So, what I published was an attempt to get people to take 10 minutes
and see 80% of the commands they would use all the time because for
all the greatness of the language when people new do it end up with
tons of unbalanced parens they end up hating it. Yes I know that you
can enter balanced parens and even wrap s-exprs... but new users do
not know that. That is all I was trying to do was to share what I
learned from everyone here helping me and showing me what was
valuable. Everybody, and in particular Robby and Eli answered my
stupid questions over the years and I just made a web page with a
little cheat sheet.

I'm not trying to push people one way or another, other than to have a
pleasant experience editing with DrRacket. There are no "how to
actually use this" tutorials out there for folks who have never seen
any Lisp before, nothing else like that out there right now, there is
nothing that tells you specifically what combination of things in what
example and what usage to do something useful in 15m. Yes there is
HtDP and SICP and the list goes on... but what most people want is how
to deal with the details of when the tires hit the pavement and you
really skin your knuckles on the toolchain. This is what non-students
want, at least that is what I wanted, and it never existed, so I
created it in a tiny way. That is the big mystery question "Why don't
people love Racket?" isn't it? I don't know but what I saw was people
getting frustrated and this was my attempt at offering a solution. I
think that is called participating in the community, but it all
depends, and there are no silver bullets.

Long live Racket, happy Thanksgiving, thanks for Racket! ;)

On Wed, Nov 21, 2012 at 8:17 PM, Robby Findler
<robby at eecs.northwestern.edu> wrote:
> The contract information doesn't change based on the mouse, fwiw.
> Robby
> On Wed, Nov 21, 2012 at 8:01 PM, Jordan Johnson <jmj at fellowhuman.com> wrote:
>> I'm curious what the objectionable distraction is: the mere presence of the
>> arrow, or the action of the arrow's window with contract info popping in and
>> out as you mouse over identifiers?
>> If it's the latter, than perhaps it would help to just put more of a delay
>> (as tooltips have) in before exposing the contract info. (I'm trying to
>> figure out why *I* haven't found it a distraction, and maybe it's just
>> because I don't use the mouse very much.)
>> Best,
>> jmj
>> --
>> Sent from my Android phone with K-9 Mail.
>> Grant Rettke <grettke at acm.org> wrote:
>>> On Wed, Nov 21, 2012 at 6:29 PM, Nadeem Abdul Hamid <nadeem at acm.org>
>>> wrote:
>>>> On Wed, Nov 21, 2012 at 7:21 PM, Grant Rettke <grettke at acm.org> wrote:
>>>>> You are an accomplished programmer that got this far without online
>>>>> compilation that was added this year?
>>>> Well, I don't know about others, but prior to that becoming available, I
>>>> would often have to keep hitting the "Check syntax" button or key command
>>>> manually. Online compilation is just DrRacket continuously running "Check
>>>> Syntax" for you so you don't have to manually do that - and it *is* very
>>>> convenient and smoothes out the development
>>>> process, reducing a distraction
>>>> that is otherwise present.
>>> Maybe this would help, I have only used Check Syntax two or three
>>> times ever when I wanted to rename a variable because it was used in
>>> more than 5 places. What other problems does it solve?
>>>> Other industrial-strength IDEs (e.g. Eclipse, MS
>>>> VS, IBM's Java Visual-something- I forget the name) all provide this
>>>> feature
>>>> of continuous background syntax analysis to enable various types of
>>>> refactorings and code navigation.
>>> Yea that is nice. My original question was about how to remove the
>>> arrows and the thing in the upper right hand corner, and the solution
>>> was to disable online compilation. Is there way just to remove that
>>> stuff but keep the online compilation stuff?
>>>> Another nice thing about online
>>>> compilation is the additional feature of being able to view snippets of
>>>> function signatures (i.e. help) right in the corner of the editor.
>>> That arrow is so distracting. Can we move it into the status line on the
>>> bottom?
>>> Thanks for explaining why you value it.
>>> ____________________
>>> Racket Users list:
>>> http://lists.racket-lang.org/users

Grant Rettke | ACM, AMA, COG, IEEE
grettke at acm.org | http://www.wisdomandwonder.com/
Wisdom begins in wonder.
((λ (x) (x x)) (λ (x) (x x)))

Posted on the users mailing list.