- Results of the CHICKEN Survey 2011
- Nationality, education, professional background
- Use of CHICKEN Scheme
- How did you discover CHICKEN Scheme?
- How long have you been using CHICKEN Scheme?
- How would you characterise your use of CHICKEN Scheme?
- What is the status of CHICKEN Scheme at your workplace?
- In which domain(s) are you using CHICKEN?
- In which domain(s) are you using CHICKEN if other?
- Which other Scheme implementations are you using?
- The future of CHICKEN Scheme
- If CHICKEN disappeared, what languages will you consider as replacement?
- What have been the most important advantages for you in using CHICKEN?
- What have been some other advantages for you in using CHICKEN?
- What have been the most important disadvantages for you in using CHICKEN?
- What have been some other disadvantages for you in using CHICKEN?
Results of the CHICKEN Survey 2011
The total number of respondents is 47.
Nationality, education, professional background
Highest educational degree obtained
Programming experience with one or more of Lisp, Scheme, ML, Haskell, Clojure, Scala
Use of CHICKEN Scheme
How did you discover CHICKEN Scheme?
How long have you been using CHICKEN Scheme?
How would you characterise your use of CHICKEN Scheme?
What is the status of CHICKEN Scheme at your workplace?
In which domain(s) are you using CHICKEN?
In which domain(s) are you using CHICKEN if other?
- Scripting (I suppose that falls under "System administration" though); research
- Working with text files
- Teaching myself lisp. My work is in computational linguistics so I try things out related to that.
- Use the hyde egg for blogging engine
- Image processing, machine learning, data analysis.
- Electronics Design Automation
- I use CHICKEN for teaching about programming paradigms and language features and also for teaching concurrent programming. I also often use CHICKEN for scripting.
- natural language processing, search engines
- Multi-language programming
- custom build system
- Computational linguistics
Which other Scheme implementations are you using?
The future of CHICKEN Scheme
If CHICKEN disappeared, what languages will you consider as replacement?
What have been the most important advantages for you in using CHICKEN?
What have been some other advantages for you in using CHICKEN?
- Although CHICKEN has changed over the years, the C source has always been stable in the sense that it compiled out of the box (at least for me), on a variety of machines and operating systems (incl. old PowerPCs)
- Closely tied to C.
- Interaction with C and its relative speed (over say Racket) are major advantages for myself. Also, ease of compiling into a distributable executable.
- Good documentation [submitted by two different respondents]
- Simplicity; portability of C code (generated and compiler).
- Efficiency! CHICKEN is quite fast.
- It is relatively simple compared to the other schemes I've tried.
- Portability, very few dependencies
- I can't say enough good things about the community. The culture of the mailing-list and IRC channel are positive, helpful and inviting. While I find CHICKEN to be technologically superior to other Schemes, I'd be happy to turn my back on it if the community wasn't just so great. Truly, the community is where the greatest portion of CHICKEN's value lies. The CHICKEN community is a shining example of Open Source Software at its finest.
- It's super cool!
- Small Package, AOT compilation to native code
- The CHICKEN C-FFI is by far the most complete, effective, and easiest to use of any Scheme implementation out there. Combined with CHICKEN's superior "lolevel" functionality, nothing else even comes close.
- It's a system for real world projects. The developers understand the user's needs (instead of trying to to tell them what is good for them - a common issue in the scheme community)
- Exceptionally stable and reliable
- The egg system is wonderful and practical
- It tightly integrates with Unix environments. I appreciate that, rather than being separate and monolithic, that chicken is build from existing Unix tools/techniques and works within a Unix philosophy.
What have been the most important disadvantages for you in using CHICKEN?
What have been some other disadvantages for you in using CHICKEN?
- There's usually no Windows version available. :(
- No stable branch
- What prevents me from using it more extensively at work is not "prejudice", but the simple fact that lisp syntax and functional programming are too alien concepts to most "programmers." I would say that it takes a good programmer, one who has "cracked" the gist of computer science, to successfully use Scheme. Unfortunately we are too few. In my workplace I found Python to be a good substitute, with a more "natural" (pre-specialized, free-flowing) syntax and less functionally oriented.
- This form refused to submit if I didn't check any boxes. The only thing really limiting me in using CHICKEN is the time I spend to acquaint myself to it.
- Needs more syntactic sugar for data structures. Like Clojure: http://clojure.org/data_structures
- None really (submitted by two respondents)
- Lack of native GUI system, module system is weak (or I'm missing something). For those two reasons I'm using Racket for production work. And it's not something I'm happy about. I'd actually prefer to use CHICKEN because the community around it is very nice and I'd like to be part of it but I've just started to build a business writing scheme code and I have no time nor experience to implement these things myself (yet).
- No Webkit binding. That would be the killer feature for me. Especially it were "lispy" :)
- general (perceived) lack of community interest in desktop apps
- Sometimes the error messages are not very helpful.
- CHICKEN is not as popular as mainstream languages, so getting CHICKEN used on professional projects is quite difficult. That's more a social problem than a CHICKEN problem, in fact.
- SRFI 18 in CHICKEN will not use multiple cores (at least it didn't last time I checked)
- need more libraries
- Memory management results in huge amount of copying.
- I like to do my programming in Plan 9, which is unsupported by CHICKEN. In fact, by design, I don't even know if it can be supported.
- The lack of a robust interactive debugger is the biggest disadvantage to me. I'd like to see either a) an interactive, stepping debugger a-la clisp or Franz Lisp b) a tutorial that describes how to achieve the above using existing eggs and csi. Maybe the tools are there, and I'm just under-educated on them.
- The lack of reliable static compilation (e.g. with extensions) is my only complaint.
- Smaller library system than other languages :-( But it's still pretty darn good!
- I miss SLIME and I miss its debugging environment (i.e., I miss CL's condition handling and restart system). But other than that, I'm happy.
- I really miss lightweight but useful record types with inheritance and metadata, like in Racket. While there are coops and SRFI-9 for CHICKEN, I tend to consider coops overkill and SRFI-9 clumsy (and it lacks inheritance support).
- Documentation is getting better, but still vague sometimes. (As I've gained familiarity with CHICKEN, documentation is less of an issue. Still, with new features, descriptions could be more helpful. The next Big Thing looks like type specialization: a really good idea, but a lot of info to digest--clear examples of how to use it will help.) Otherwise, the biggest issue is lack of adequate debugging facilities, and especially in compiled code, error messages are often uninformative (where did that happen? What location? What file, procedure, line number?). Fix those, and what Scheme, Lisp, or gen-purpose, HL language could be more compelling than CHICKEN?
- The main issue is the scheme community in general. The lack of cooperation and cohesiveness in the scheme world is a serious turn off when you want to use scheme for a serious long-term project. The childish attitude of most implentors puts the whole language's future in jeopardy (Note that the chicken community is exceptional, but we have to take the whole community into account).
- Difficulty in shipping a product that doesn't depend on CHICKEN at runtime, or includes CHICKEN within the product release.