I am planning on learning Scheme (by following SICP) and afterwards doing a project with this language. However, I was wondering what would be a good IDE for this? I've looked around a bit, but could not really find very much, except something called Edwin?
However, multiple-language IDEs, like Eclipse (C, C++, Python, Perl, PHP, Java, Ruby and more), Komodo (Perl, Python, Tcl, PHP, Ruby, Javascript and more) and NetBeans (Java, JavaScript, PHP, Python, Ruby, C, C++ and more) do exist.
Users can build on their choice of five IDEs with full integration, or opt to build within their web browser. Key Features: Single shared JavaScript code base for all mobile platforms. Code changes applied instantly and look native on all devices.
Other answers have given all the good choices, but without much description. Here's some more detail:
Racket's IDE, DrRacket, is a great tool for beginners and has a lot of strengths for more advanced schemers. It has good profiler and debugger support (far better than Emacs), uses "standard" keyboard shortcuts by default, and is very clean and easy to use. However, it sometimes lacks functionality its creators view as confusing; for example, compiling only some expressions from your source code can put the REPL in a confusing state, so it's not provided. DrRacket only works for the Racket dialect of Scheme and its derivatives, however, so if you want to work with another implementation, you should probably look at:
GNU Emacs is another fine option for advanced schemers who are willing to put some time into learning their editor. It is powerfully customizable, has modes for almost any file type, and handles Scheme well, especially with quack installed (quack is an extension for Scheme named in parody of DrRacket --- get it, quack?). It doesn't limit you from doing anything you might choose. However, it has a learning curve like a brick wall --- its model of text is unique, its keyboard shortcuts are different than anything you've used before (unless you use CUA mode, which makes them more normal), and you have to use Emacs Lisp to configure and extend it.
You'll be happy using either one once you're accustomed to it. Emacs is less limiting, but harder to learn; DrRacket is more limiting, but more able out of the box in some areas and much easier to learn.
Racket comes with a good IDE.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With