2017-02-13 12:06 GMT+01:00 Arne Babenhauserheide <arne_...@web.de>: > Hi Amirouche, > > Thank you for your nice writeup! > > Amirouche writes: > > > I don't know why Racket is successful probably because > > it has a very good documentation and also a documentation > > generator written in scheme. > > > > => This is a long debate and core principle of GNU project > > so I don't want to enter that debate > > But I want to add something: I’m getting the hang of just checking the > info-page to look something up. And I realize that with well-written > info-pages this is faster than googling for stack overflow. >
Once I was strucked by this: http://www.wilfred.me.uk/blog/2016/07/30/example-driven-development/ There's also a similar project by William Byrd that could make the difference https://github.com/webyrd/Barliman I think that Python is popualr because you don't need Emacs to work with it. And that the milestone to the success of Racket, apart from intensive propaganda, is Dr Racket. (also, an important factor is that you can install both Python and Racket on Windows, Linux and OSX, and it Just Works) The problem with Emacs is that it is that, although you probably can do everything imaginable with it, it is difficult to approach. The problem with the problem wth Emacs is that once you get it, you usually have better ideas in mind than making Emacs more approachable. There's also this problem with Scheme that it is a very diverse community with plethora of implementations. And while I use Guile, I don't mind using Chicken or Chez or Gambit for various purposes. Or even Stalin sometimes. Maybe, instead of getting a better compiler, we should focus on integrating existing compilers? > And it's easy to packages. > > > > => Another pain topic. In reality it's very easy to package > > all sort of guile programs for guix. But guix itself needs > > to be more stable. > > I wish I had guildhall ready. Got hit by > time-eaten-by-other-project-because-guildhall-was-priority-three. > > It needs to be easy to not just package some code, but also to share > that package without hitting a bottleneck. > > What happened to initiatives like Scheme NOW, that tried to integrate various groups of developers. Or why can't we just "steal" eggs from Chicken? (I mean it. They already have that problem solved) > > Python is successful because it has a massive number > > of libraries. > > This is a social problem. For a deeper discussion why it is a problem, > see http://winestockwebdesign.com/Essays/Lisp_Curse.html > "Lisp is so powerful that problems which are technical issues in other > programming languages are social issues in Lisp." > > We can counter this with easy tutorials and with writing something like > canonical Scheme. But for this, we need to define a canonical Scheme > which is hits the performance and readability sweet-spot for > Guile. Canonical code must be close to the fastest code. > Practically put: We need Andy Wingo to nitpick the tutorial about things > which will cause overheads the compiler cannot fix easily — including > expensive use of macros. > > I definitely oppose. If Chez has something solved better, why not use Chez? The ultimate goal is not to optimize programs, but programmers. But I agree on the point of the canonical code. I think that the "zen of python" is one of important factors of making it popular. I think it could be the same with Scheme, but here the problem is that people have various ideas with regard to how the "ideal" program should look like. For example, I have a very strong opinion with regard to the use of pattern matching and restructuring -- I try to use destructuring almost everywhere (from what I've seen, Clojure programmers are alike with this regard). However, I am aware that there are people who don't like it that much, like Taylan or Barry Margolin. Also, I think that the astounding success of R provides hints with regard what is needed for a programming language to gain popularity. R has a large repository of packages that fills a certain niche. When I advertised my Pamphlet on Hacker News, someone responded critically: "are there out of the box libraries to estimate a zero inflated negative binomial regression model in guile". Of course, if I knew what a zero-inflated negative binomial regression model, I could deliver an implementation by just explaining the notions used in that phrase. (But then again, I try to write functional programs whenever possible, often consciously sacrificing time complexity of my solutions, and I'm aware that not everybody will like it.) Thanks, Panicz