My Racket Learning Feedback ## Little backgroud 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 ### Top 1: 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 Racket Guide. ### Top 2: 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.