Hi Leandro,

The article is well written in the sense that I had no trouble
following along and the concepts all made sense, but I think it needs
some clarification on the meta level.

Although I understood the text of the article I found myself confused
about its ultimate point.  It started off by talking about the
"essential features" of a programming language, but did not explain
why I should care or what I would learn from the paper.  That's fine
if you're aiming at an academic audience who are focused on
theoretical concepts, but it doesn't work if your target demographic
is "all programmers" who are doing "everyday programming".

After the introduction there followed a long section about replacing
numbers with other representations.  Although I understood *what* was
being done, I didn't understand *why* it was being done, or what I was
expected to learn from it.  I found myself skimming, looking for a
point, and eventually stopped reading partway through in frustration.

There was a paragraph at the beginning that tried to cover this:

"Besides satisfying a curiosity, this article introduces programming
techniques that are generally applicable in everyday programming. And,
for people starting in programming-language design and analysis, this
article introduces a minimal programming language core from which to
build."

This seemed to mesh poorly with the content of the article; the
techniques are claimed to be "applicable in everyday programming", but
there's no way that I'm actually going to use Peano numbers, ever,
except in an artificial environment such as a theoretical paper or a
homework assignment.

As a closing thought, I found the example of bicycle-trip-tracking to
be excellent -- it clearly delineated the difference between an
essential feature and a convenience.

Dave


PS:
Also, if you'll pardon some really nitpicky stuff, here's a couple
minor copyedits because I cannot turn off my English major brain:

"satisfy curiosity", not 'satisfying a'

"they use fewer features", not 'less features'. Fewer is for countable
nouns, less is for mass nouns.  "Fewer features", "less salt".

On Mon, Apr 3, 2017 at 1:03 PM, Leandro Facchinetti <lfacc...@jhu.edu> wrote:
> Hi all,
>
> - 
> https://www.leafac.com/prose/programming-language-theory-explained-for-the-working-programmer--principles-of-programming-languages/
>
>   My most recent article, published just now. It is a journey towards
>   the essence of programming languages, driven by working code.
>
> - https://www.leafac.com/prose/playing-the-game-with-plt-redex/
>
>   Last month’s article, about using PLT Redex for an unintended task:
>   play a game of Peg Solitaire.
>
> * * *
>
> I write from the perspective of a Ph.D. student in programming
> languages, communicating to working programmers the interesting ideas in
> research. Thus, I avoid the funny symbols and the jargon. Also, the
> techniques I cover are relevant to everyday programming.
>
> Please send me feedback. In particular, if you get lost, I’d love to
> know where.
>
> Thank you.
> --
> Leandro Facchinetti <lfacc...@jhu.edu>
> https://www.leafac.com
> GPG: 0x5925D0683DF3D583
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to