## Little background
I 26 years old full-time software developer in China.
My major programming language is C, C++, C# and python.


## Why I write this
To some extent, you may see how a "average" programmer thinks about the Racket 
programming language.
;D

## Feedback
### Top1: Add Built-in Generic Container
I 100% agreed with this article: 
http://programming-puzzler.blogspot.hk/2010/08/racket-vs-clojure.html

To be an attractive language for general programmer(instead of just for 
programming language researcher), 
it is vital to have a set of handy data structures and a simple, 
easy-to-remember interface to manage them.

For example, given the following facts, how do I persuade people that Racket is 
very promising and advanced:
+ I have to write `(vector-set! a i (+ (vector-ref a i) 3))` instead of 
`a[i]+=3`?
+ for map operation, I have to remember to use `vector-map` for vector, `map` 
for list, ... ?

I am sure that only 1% or less programmer have the patient to take time to 
learn the power of Racket macro,
given the fact that there is no built-in handy data structure in Racket.
Racket is not like C. In C we trade development-time for execution speed.
People just have higher expectation for any new, garbage-collected programming 
languages.

Alexis King's work looks fantastic. 
I think Racket need to build a good generic container into the install package
and introduce the easy-to-use interface from the very beginning of the 
documents. 

### Top2: Macro document
Before learning racket, I asked myself "Why spend time on this language instead 
of some popular language like Go/Scala?"
The answer is "macro".
This is the only thing that is impossible in other languages.

I learnt Racket macro by reading the official document.
To be honest, the current official document is NOT good enough. 
It confuses people, and can't help readers to build a clear mental model about 
what is happening and why things work.
I can't believe a "how to write macro" document consumes me more time than 
understanding and writing my Y-combinator.

<Fear of Macros> by Greg Hendershott is great:
http://www.greghendershott.com/fear-of-macros/
I really hope I learnt Racket macro by <Fear of Macros> instead of Racket Guide.

I suggest replace the macro chapter of Racket Guide with <Fear of Macros>,
or at least add a link to it in the beginning.


## End
I am happy to spend time on helping improve Racket,
but as for the 2 problem above, I think I don't have the privilege.

If there's something I can help, please tell me.

-- 
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