Engineering? Art? Magic!
2007-06-27 06:27If you are being (or have recently been) taught CS but not in Lisp (or Scheme, or any functional language whatsoever), you should do yourself a lifetime favor by downloading videos and the textbook of the famous Abelson and Sussman's MIT CS 6.001 course. Lisp is one of the easiest languages to learn there on Earth, the functional paradigm is unmatched in its power and expressiveness, the course is delivered by two famous teachers: you've got 20 hours of professionally enlightening self-study and not a single excuse to miss it.
This is how the very first lecture begins (Abelson):

This is how the very first lecture begins (Abelson):
I'd like to welcome you to this course on computer science. Actually, it's a terrible way to start off. Computer science is a terrible name for this business. First of all, it's not a science. It might be engineering, or might be art, or— you'll see that computer so called “science” has a lot of common with magic. You'll see that in this course.And it is not computer either!
(no subject)
2007-12-25 07:04 (UTC)Наверное, тов. Профессор правильно сделал, что зачеркнул оба слова :)
Но ничего однозначно утверждать не могу, может всему виной моя инерция мышления. Я бы скачал посмотреть, да трафик - неподъёмный. Поэтому пока оставим вопрос полуоткрытым. А Вы сами что по этому поводу думаете?
(no subject)
2007-12-30 11:46 (UTC)Преимущество lispа — огромное преимущество! — в том, что он не навязывает никакого типа мышления сам по себе. Одинаково просто (или, если хотите, одинаково сложно) пишутся программы и в процедурном, и в функциональном стиле, и continuations, и coroutines. Конструкция (loop ...) в cl выглядит, на первый взгляд, убожеством, по сравнению с for в C++, хотя, внимательно приглядевшись, можно заметить, что она несколько мощнее.
Например, можно реализовать что-то подобное continuations, используя throw в C++, но это будет, в определенном смысле, хак. В lispе же здесь используется совершенно естественная конструкция языка. Думаю, что в C++ не получится полноценно смоделировать функциональный стиль вообще. Множество других примеров.
Почитайте еще болтовню Джоиля по этому поводу (ссылка в самом посте) — я с ним полностью согласен.