Learning Lisp will teach you how to use modern dynamic languages (Perl, Python, JavaScript, Ruby etc.) in much more powerful ways. The two general-purpose Lisps people use today are Scheme and Common Lisp. Scheme is a spectacularly small language, easy to learn and extend. Common Lisp is a monstrosity, similar to how a car might look if executives from General Motors, Ford, Toyota, Peugeot, Yugo and Land Rover designed it together over the course of a decade. For a learning language, Scheme has the edge over CL. In any case, Lisp will stretch your head further than perhaps any other single computer language.
Learning C will teach you how computers work, how awesome dynamic languages are, and why Lisp compilers are usually written in Lisp. C is the best assembly language ever. It's a total pain in the ass for anything sizable, but once you grok C, you have a good sense about where every bit and byte is going in all languages. C++ adds some higher-level features to C, but still requires a lot of hand-holding to get from point A to point B. If you're not planning to use either language extensively and just want to see where it takes you, I'd recommend C. The language features in C++ which are absent from C (object orientation, template programming, generic functions, overloading, etc) are learned more easily from a language with more forgiving syntax.
Lisp and C have both aged very well, respectively 50 and 35 years old. I'd say there's more to learn at these opposite ends of the spectrum than in between, if you're a code tourist. Most people who write actual software for actual purposes aim for a language somewhere in the middle.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.