seven languages

C

ccc31807

Got 'Seven Languages in Seven Weeks' by Bruce Tate for Christmas and
have just finished my first quick read through. It's a pretty easy
read if you don't pay attention to understanding the code, and well
worth reading through.

My initial impression is that big, general languages for solving
general programs (like C++ and Java) will probably become less
important, while small, specialized languages for solving particular
problems will become more important. I can see developers knowing a
dozen languages, which they would use in their work, much as a
carpenter would use a saw, hammer, wrench, etc. In fact, we already do
(HTML, SQL, CSS, JavaScript, LaTeX, XML, etc.) The chapter on Prolog
really showed me how a hard problem is easy with the right tool.

I use Perl mostly for database stuff, munging data, producing reports,
etc. I am not a developer or programmer -- just someone who uses Perl
as a tool to accomplish everyday tasks. As I read through 'Seven
Languages' I thought about how I could use each language in my work.
Each language has its strengths, but for particular jobs, Perl can't
be beat. Obviously, each language can best solve the class of problems
it was designed for ... but this includes Perl as well.

The other thing that struck me was the problem of deploying programs
to users. If you can't compile a program to an executable (using C,
perhaps), or bytecode for the JVM or CLR, you are pretty much out of
luck. I think that languages like Scala and Clojure, which target the
JVM, will continue to attract new users. Unfortunately, you can't
write a program in Perl, have a lay user install it on the machine,
and have it run with nothing more (as you can an exe, or a program
compiled to run on the JVM or CLR.) This is a big obstacle for Perl.

Anyway, I enjoyed my first reading of 'Seven Languages.' I can't say
that I'll study all seven, but several have piqued my interest enough
to put them on my private calender for a closer look (Erlang, Clojure,
Ruby, and Prolog).

All the best for the coming New Year, CC.
 
C

Chris Nehren

Unfortunately, you can't write a program in Perl, have a lay user
install it on the machine, and have it run with nothing more (as you
can an exe, or a program compiled to run on the JVM or CLR.) This is a
big obstacle for Perl.

Incorrect. There are packaging solutions like cava
(http://www.cava.co.uk/) and CPAN tools like PAR::packer. Beyond this,
certain firms are working to make this even easier. And who said you
can't ship your program using the nullsoft installer or the like, and
just bundle a copy of Strawberry and your app code installed in a
local::lib? If your user can install winamp (whence the world got the
nullsoft installer), they can run a bundled installer of this sort.

Your statement may have been more accurate 10-15 years ago, but these
days it's simply not the case.
 
C

ccc31807

Incorrect. There are packaging solutions like cava
(http://www.cava.co.uk/) and CPAN tools like PAR::packer. Beyond this,
certain firms are working to make this even easier. And who said you
can't ship your program using the nullsoft installer or the like, and
just bundle a copy of Strawberry and your app code installed in a
local::lib? If your user can install winamp (whence the world got the
nullsoft installer), they can run a bundled installer of this sort.

I stand corrected, and I should have known better. Several months ago,
I posted to c.l.lisp about this issue, specifically mentioning NSIS,
which I have used on a couple of occasions.

Firstly, using NSIS is certainly an acceptable solution. Not as clean
as using an environment already on the client's computer, and subject
to the criticism that you are demanding the user install other
software, but it's easy and it work.

Secondly, Lisps tend to have a way to do this built in to the
implementation. For example, clisp has ext:saveinitmem that will save
an image that a user without a lisp can install and run.
Unfortunately, every Lisp is different, but if it's important, you can
$$$ a commercial implementation that produces an exe.

CC.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,898
Latest member
BlairH7607

Latest Threads

Top