Domain: digitool.com
Stories and comments across the archive that link to digitool.com.
Comments · 22
-
How little improvement there has been...Noticed.
"Where is the development environment that is as simple to use as lego blocks which anyone over the age of 6 can use to quickly create powerful apps?"
Of course there is.
And for the big boys, there is this.
-
Re:Another statically typed language?
-
Re:Lisps for the Macintosh[hit submit instead of preview. D'oh!]There's also the open source CLISP which is available under Fink for OS X.
Personally, I've used Macintosh Common Lisp (now from Digitool) since it was available from Apple, but I've tried Lispworks (since that's what I use on a Linux box at work), and CLISP of course. Most of the other versions, including Franz's, I've used in the past on other platforms (Sun) since I lost my beloved Symbolics box. MCL was by far the best experience under OS9 and prior, though the user interface elements haven't completely tracked the change to OS X, though I usually use CLIM anyway for code portability so we're really just talking look and feel issues. The Xanalys product is very nice, the demo is pretty unrestricted (just the continuous time to use it, and inability to dump images so you need to load up your system after you start - pretty reasonable for what you get), and the full unrestricted version isn't too expensive.
If you're just starting out and want to poke around, I'd have to recommend Xanalys personal as the best bang for the buck, since you get a pretty nice IDE with it (though Digitool's might be easier to learn if you're used to OS 9). Once you get to the point of needing to dump applications, you can either spend the money to upgrade to professional, or use one of the free lisps to dump images. Your main limitation in these alternatives will be the user interface, as that is generally unique to the implementation unless you use CLIM (and CLIM is not free) or something like Garnet, neither of which will give you something very mac-like.
-
Re:Lisps for the MacintoshThere's also the open source CLISP which is available under Fink for OS X.
Personally, I've used (now from Digitool) since it was available from Apple, but I've tried Lispworks (since that's what I use on a Linux box at work), and CLISP of course. Most of the other versions, including Franz's, I've used in the past on other platforms (Sun) since I lost my beloved box. MCL was by far the best experience under OS9 and prior, though the user interface elements haven't completely tracked the change to OS X, though I usually use CLIM anyway for code portability so we're really just talking look and feel issues. The Xanalys product is very nice, the demo is pretty unrestricted (just the continuous time to use it, and inability to dump images so you need to load up your system after you start - pretty reasonable for what you get), and the full unrestricted version isn't too expensive.
If you're just starting out and want to poke around, I'd have to recommend Xanalys personal as the best bang for the buck, since you get a pretty nice IDE with it (though Digitool's might be easier to learn if you're used to OS 9). Once you get to the point of needing to dump applications, you can either spend the money to upgrade to professional, or use one of the free lisps to dump images. Your main limitation in these alternatives will be the user interface, as that is generally unique to the implementation unless you use CLIM (and CLIM is not free) or something like Garnet, neither of which will give you something very mac-like.
-
Lisps for the Macintosh
There are a few Common Lisp implementations as well
Open Source:
Open MCL
SBCL
Commercial:
Macintosh Common Lisp
Allegro Common Lisp
Xanalys Lispworks
-
Re:The more things change..
We'll give up Obj-C when you show us something better.
too easy -
Re:Functionals
-
Re:Not sure this is what we need
Sure.
Common Lisp
ANSI Common Lisp standard (X3.226-1994)
Popular commercial implementations:
Allegro Common Lisp
Xanalys Lispworks
Macintosh Common Lisp
Corman Common Lisp
Popular free implementations:
CMUCL
CLISP
Open MCL
SBCL
GCL
All of these implement the Standard, some better than others. All have interesting extensions which are not portable. All bring different elements of interest to the table of developers looking to solve different problems.
Perl and Python haven't for whatever reason needed to be forked to provide a better implementation for a specific market segment. While large applications are being written in these languages, they're obiviously not in environments where the demand on the engines is high enough to warrant someone funding a fork and a port. (say, Perl for Palm, or Embedded Python, or Enterprise Ruby, whatever -- there is no complete "Python Compiler", for example, that I'm aware of at least). Though ActivePerl et al should be acknowlegded.
BEA has JRockit which is its own JVM, though it may well ship Suns class library. They felt that they wanted a better JVM to meet their markets needs better than IBM and Sun were.
Put an implementation to work and the market will fork it as necessary. Just ask MS. -
Re:While this may sound... harsh
That's why languages with paradigms that don't translate well onto von Neumann-y notions (eg, LISP or Prolog) are interpreted as a rule.
I don't know much about Prolog, so let's look at current popular Common Lisp implementations:- CMU CL: natively compiled
- SBCL: natively compiled
- MCL: natively compiled
- OpenMCL: natively compiled
- Xanalys LispWorks: natively compiled
- Allegro Common Lisp: natively compiled
- Corman Common Lisp: natively compiled
- Scieneer Common Lisp: natively compiled
- Embeddable Common Lisp: natively compiled, via GCC
- GNU Common Lisp: natively compiled, via GCC
- GNU CLISP: bytecode compiled
- Armed Bear Lisp: Interpreted, only used as an extension language for an unpopular editor
-
Re: Warning: Knucklehead
-
business computing with Lisp
Who do you think keeps Franz and Digitool in business? Hobbyists? I don't think so; they'd be using one of the free implementations. Your "no one in business computing considers using Lisp" comment shows you don't know what you're talking about.
I myself use Scheme in my employment, and it's helped a lot.
-
Re:Lisp...
-
Re:What good are functional languages?
Then you probably want links like Franz success stories, or perhaps this from ALU. Or Digitool. And of course these are just Common Lisp references; you can surely dig up similar things for other languages as well.
-
Re:I don't think that means what you think it mean
Also note that MCL already supports "infinite precision" arithmetic with rational numbers as ratios of integers (each of whose size is limited not by the register size, but by the amount of memory in the machine).
-
Re:Lisp commenting.While not trying to put down lisp, it seems like what is desired here is something analogous to Python's docstrings:
Common Lisp as had this capability for 15 years. The following is from Macintosh Common Lisp:
? (setq *SAVE-DOC-STRINGS* t)
T
? (defun hello-world ()
"Print 'hello world' to the terminal."
(write-line "hello world"))
HELLO-WORLD
? (documentation 'hello-world 'function)
"Print 'hello world' to the terminal."
? (defclass no-slots () ()
(:documentation "This class has no slots."))
#{STANDARD-CLASS NO-SLOTS}
? (documentation (find-class 'no-slots))
"This class has no slots."
T
?
-
Re:Interesting, but flawed?
1) Is lisp less amenable to use by a team? Can't you implement one object while I implement another? I'm asking because I don't know; all my programming has been for my own research.
If anything I think Lisp is more amenable to teamwork, if only because it doesn't dictate file/directory organization. I use Lisp in a small team (4 people) environment every day. On the other hand, it doesn't enforce quite as clearly defined APIs as does Java (with interfaces and public/private modifiers) so your team needs to be a bit more disciplined.Actually, if Lisp has one major flaw it's that it allows too much flexibility. That, combined with the fact that a lot of Lisp hackers (I've worked with a lot) are extremely bright, can make it hard for us mere mortals to grok their code.
5) I really don't know what an IDE is. I gather it is something other than emacs, since emacs supports nearly every language, some wonderfully well (try ESS for R). I really can't comment on this one at all; perhaps someone else could?
Lisp certainly has mature IDEs. The debugging environments in LispWorks, Macintosh Common Lisp, and Dylan are leaps and bounds above anything I've seen for Java or C. However, they do not tend to be so great at stepping through compiled code at the source level. (Dylan does not share this problem. Also I think this is less necessary in Lisp due to other debugger features.) They also tend to lack decent GUI builders though there might be something out there I'm not aware of. -
Re:I'm a professional who uses JavaThe homepages of some Lisp vendors will get you most of the things in the list. Handy link with a lot of information http://ww.telent.net/cliki/
More Lisp vendors:
'Free' (whatever the current definition of that is nowadays) Lisps:
-
Re:CMUCL doesn't make me happyOne distinction needs to be made clear: language definition vs language implementation. Threads, sockets, binary I/O, etc do exists in all major implementations of the CL language, free (CMUCL, CLisp) and commercial (Franz's Allegro, Xanalys' Lispworks, Digitool's MCL) alike. It is true that the ANSI standard for CL doesn't include threads, sockets (it does have binary I/O, well-defined runtime errors; and bit-vector is neither inefficient nor a hack (see for yourself: the standard is online). We'd appreciate it if you'll check your facts first before posting; spreading misinformation is immoral). However, if you insist on using language features only if they're in the standard, then you've even more problems with OCaml: it doesn't even have a standard (ANSI, IEEE, ISO, whatever) yet!
As for type declarations, they're there both for speed and correctness. The optional type declarations in CMUCL can serve both purposes. There is a tradeoff here: on the one hand, the need to keep track of the type information is a burden on the programmer when it is inessential to the logic of the program; OTOH, compiler needs this information to produce compact code and sometimes, catch errors. I like the CL's approach the best: it provides you with the option ONLY when you need it. Also, when programming in CL, I find type errors are rare; most bugs are logical.
Python is a very nice language, especially for beginners. But I doubt anyone who know CL well will prefer Python over CL. The expressiveness, the flexibility, the speed, the maturity of compiler and runtime system technologies; those are enough reasons for me to stick with CL.
As an aside: I like Python, and I've been watching Python's development for a while; however, I've yet to see a PEP (Python Enhancement Proposal) which cannot be implemented *within* the language in CL with a page or two using Macro, MOP, etc. Therefore I concluded that it is much less effort to bring libraries to CL, than it is to bring Python up to the level of CL in terms of language maturity.
In short, I think it is much easier to find happiness in CL! I believe most people will feel the same, too, if they're persistent enough to master the few beautiful concepts underlying the design of CL.
-
Re:Lisp for OSX?
MCL is the most popular Mac environment, it seems.
-
Re:Not what I didThe leggo mindstorms are a great idea. One project which a friend and I tackled in HS was working with Legos. At the time the only legos out there were the technic's, and there was a company (Paradigm Software) that was developing a language called Object Logo, and a controller, called the pearl controller for the Macintosh to control the legos. As a proof-of-concept thing, we actually created a plotter out of legos (like a pen-and-paper thing...). We then wrote some simple drawing programs (one in Object Logo and one in Hypercard) which would control the plotter and try to print things out. The whole thing was based on reading from light sensors how many clicks things had moved, etc.
The whole experiance was really interesting and it actually taught me some skills which helped me when I started working for a company controlling external robots based on inputs from digital data acquisition.
Not only that but it got the two of us a trip to SigGRAPH (92 I think) from the company.
I guess that's another thing that might help kids get into something is to get an external source involved. They may not want to market a product developed by HS kids, but as a proof-of-concept project, or maybe a demo, the kids may get oppurtunities that they otherwise wouldn't...
-
Re:Not what I didThe leggo mindstorms are a great idea. One project which a friend and I tackled in HS was working with Legos. At the time the only legos out there were the technic's, and there was a company (Paradigm Software) that was developing a language called Object Logo, and a controller, called the pearl controller for the Macintosh to control the legos. As a proof-of-concept thing, we actually created a plotter out of legos (like a pen-and-paper thing...). We then wrote some simple drawing programs (one in Object Logo and one in Hypercard) which would control the plotter and try to print things out. The whole thing was based on reading from light sensors how many clicks things had moved, etc.
The whole experiance was really interesting and it actually taught me some skills which helped me when I started working for a company controlling external robots based on inputs from digital data acquisition.
Not only that but it got the two of us a trip to SigGRAPH (92 I think) from the company.
I guess that's another thing that might help kids get into something is to get an external source involved. They may not want to market a product developed by HS kids, but as a proof-of-concept project, or maybe a demo, the kids may get oppurtunities that they otherwise wouldn't...
-
Re:Hmmm, Lisp...Just because you don't know about the commercial applications of Lisp doesn't mean there isn't any. There are three bigger Common Lisp vendors, profitable companies employing dozens of people, and another half a dozen smaller outfits providing niche Lisp systems with some special features.
All the three bigger vendors (Franz, Xanalys and Digitool) provide advanced graphical IDEs. Unfortunately there is no free IDE per se as far as I know, but Xemacs with ILISP makes for a pretty nice environment for the free Common Lisp systems.
If you'll excuse me ranting for a bit, but I find it baffling how many people seem to think that if they haven't heard about something, it doesn't exist. Even rabid users of obscure operating systems turn their brain off when it comes to programming languages, industrial applications of computers, and what not, and loudly proclaim that the most popular choice is the only choice.
The world is a big place. There is an enormous number of multi-billion dollar "niche" markets you have never heard about out there.