T
T
tuccar2014-10-25 01:16:27
Lisp
tuccar, 2014-10-25 01:16:27

COMMON LISP as the first programming language. Advantages and disadvantages?

Hello. I choose the first programming language. Where to start your journey? (Please, at least with a brief argument.)
MY GOALS (in descending order of priorities):
1. Become a quality programmer.
2. Program for the soul (like a pianist who plays in his free time for the soul on the seashore) things related to science, analytics, big data arrays, process modeling (economic, for example).
3. Make money.

Answer the question

In order to leave comments, you need to log in

6 answer(s)
T
thenno, 2014-10-27
@thenno

COMMON LISP as a first language is hardcore. It must be understood that Lisp is not an ordinary programming language - it is extremely powerful and expressive, but a beginner is unlikely to be able to appreciate and understand this. In addition, it is the CL standard that is not easy to learn, and I would not say that starting to write in CL you can immediately find good libraries for all occasions.
The best place to start is with Python - a pretty simple language, huge community, lots of ready-made libraries and frameworks. Don't underestimate these three factors when choosing your first language - it's very frustrating to drop everything because you don't understand some of the ideas that the language is based on, and there is no community to help and answer questions, but write your first projects. it’s much more pleasant when you don’t need to develop things from scratch that are necessary, but non-trivial in implementation (processing http requests, creating GUI and ORM for the database).
Along the way, it's best to read books on algorithms and data structures (Cormen, and, oh my, Knuth), networking, operating systems, and other things that modern programming cannot be without (but this is an even broader topic than this question touches on).
Then, if you really want to work with lisp, it's best to start with SICP and Sheme, and then look towards the modern lisp dialect - Clojure itself is a rather complex and extensive topic).

B
bromzh, 2014-10-25
@bromzh

Bad idea. Yes, common lisp is a good language, and this implementation is, IMHO, the most suitable for real-world use. The language standard already 20 years ago included such features that not all modern languages ​​​​can. But the trouble is that these real projects are just a few. There are few areas where it is appropriate to apply it. And all because the tools and technologies that work normally and stably are not enough for him. And there are quite a few areas where it is applicable, and, most importantly, where it is more convenient than other languages.
In general, as a secondary language, it is not bad. But choosing it as the first and main one is bad.
In general, they correctly said that the general principles of development are important. You can start learning from SICP, where development is going on in the Lisp dialect.

A
Alexander Wolf, 2014-10-25
@mannaro

1. Programming in any language is possible with high quality.
2. Again, the taste and color
3. There are offices that will pay you regardless of what you write on
:)

K
Konstantin Kitmanov, 2014-10-25
@k12th

You have some kind of romantic idea about the work of a programmer - something like in films about hackers (but still closer to reality than there :)) Lisps are a cool thing, it makes the brain creak, yes; there is an aphorism that it makes you a better programmer, yes; but there is no silver bullet .
It is not the language that makes you a programmer, but the ability to think algorithmically, knowledge of the standard library, classical structures and algorithms, knowledge of the APIs that you will have to interact with (no program works in a vacuum), and finally, just broad erudition in the field of what is called in the West CS.

M
Mikhail Potanin, 2014-12-05
@potan

CL is overcomplicated. If you do not feel like a monster in mathematics, logic and philosophy, then as a first language it is better to take something simpler (Scheme from SICP is a good option, you can take statically typed Haskell).

D
Dmitry Skrylnikov, 2014-10-25
@worlxxaker

learn the pros

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question