Re: What would you do with 10 Man Years?
From: Dave Roberts (ldave-re-move_at_re-move.droberts.com)
Date: 03/28/04
- Next message: Rahul Jain: "Re: What would you do with 10 Man Years?"
- Previous message: Kenny Tilton: "Re: Method specialization style question"
- In reply to: Will Hartung: "What would you do with 10 Man Years?"
- Next in thread: Cesar Rabak: "Re: What would you do with 10 Man Years?"
- Reply: Cesar Rabak: "Re: What would you do with 10 Man Years?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Sun, 28 Mar 2004 08:28:21 GMT
Will Hartung wrote:
> Here's more of a strategic platform question.
>
> Simply put if you had 10 man years at your disposal, how would you
> allocate it to advance Common Lisp?
I would spend the time bringing some critically needed system-level features
the the current crop of free compilers and packaging a kick-ass
open-source/freeware programming environment centered around CL.
Specifically, I would
0. Start with CMUCL or SBCL. Rationale: they are free and produce good
quality, high-speed code. Yes, there are other free systems out there
(CLISP), but you want programmers to appreciate your platform and anything
that says "interpreted bytecode" just turns people off immediately, no
matter whether CLISP is actually fast or not. Note that I'm not slamming
CLISP here, just talking about newbie impressions. "Interpreted bytecode" =
slow in the minds of many, particularly after the industry has watched what
Java went through.
1. Take either CMUCL or SBCL and enhance them with great threading support.
Rationale: threads are just a must nowdays. Gotta have them.
2. Port this beyond the Unix-like platforms (Windows, specifically).
Rationale: Windows still rules most developer desktops out there. While I
love Linux, you can't expect a programmer to install a complete OS just to
test out a programming language.
3. Bundle this together with a set of defacto-standard libraries supporting
network development (good, complete(!) sockets support), web development (a
high-performance web server, app server, etc.), markup langauges (XML,
HTML, etc.), OS support (beyond basic filesystem), and GUI development
(GTK+ bindings, Win32 bindings, etc.). Rationale: get some high-quality
libraries that make a programmer productive immediately for non-trivial
programs.
4. Create a basic IDE that isn't centered on Emacs but may in fact work much
the same way. Rationale: emacs is great, but comes with its own set of
infrastructure. On Linux this is manageable, but on Windows it's a killer.
5. Make the installation of this bundle as simple as possible (one binary
RPM on Linux, an InstallShield wizard on Windows, etc.). Rationale:
anything that makes me install 5+ separate packages reduces my chances of
actually getting it right and getting to the end.
6. Write a whole lot of documentation for the system, from basic
system-level stuff like how the debugger works, to API documentation for
the libraries. Rationale: we can't expect users to read the source code all
the time to figure out how something works. The Hyperspec is not a good
document for most people to learn anything from. I'm consistently baffled
by it.
The main goal here is to make Lisp accessible, give newbies a
low-barrier-to-entry system, and make them productive as soon as possible.
Right now, Lisp is a great language, but you gotta *want it bad* to really
make use of it. You either have to assemble everything yourself (download
SBCL, download SLIME, figure out ASDF, install some packages via ASDF,
install some other packages by hand, figure out the package APIs by reading
the code since nothing is documented; or you pay big bucks to the
commercial guys (or you get one of the crippled commercial versions, which
doesn't really work for writing real programs). If you're somebody wanting
to try out this great language, the barrier is steep, either in time/skill
or cash.
Note that I don't begrudge the commercial guys their profit; they have a
business to run. The problem is that newbies are confronted with no good,
low-investment (time or cash) options that allow them to try out the
language and see what it can do.
Yes, it's fairly easy to download CLISP and write FACTORIAL at the repl, but
that's a far cry from writing anything "interesting" in a modern commercial
sense. To go beyond that requires a lot more infrastructure which today is
difficult to acquire.
-- Dave
-- Dave Roberts ldave-re-move@re-move.droberts.com
- Next message: Rahul Jain: "Re: What would you do with 10 Man Years?"
- Previous message: Kenny Tilton: "Re: Method specialization style question"
- In reply to: Will Hartung: "What would you do with 10 Man Years?"
- Next in thread: Cesar Rabak: "Re: What would you do with 10 Man Years?"
- Reply: Cesar Rabak: "Re: What would you do with 10 Man Years?"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|