программирование за десять лет (англ.)
Feb. 25th, 2004 10:38 amИнересная статья Питера Норвига: "Teach Yourself Programming in Ten Years".
Хорошие советы программистам даёт:
Researchers have shown it takes about ten years to develop expertise in any of a wide variety of areas, including chess playing, music composition, painting, piano playing, swimming, tennis, and research in neuropsychology and topology. There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4, took 13 more years before he began to produce world-class music. In another genre, the Beatles seemed to burst onto the scene, appearing on the Ed Sullivan show in 1964. But they had been playing since 1957, and while they had mass appeal early on, their first great critical success, Sgt. Peppers, was released in 1967. Samuel Johnson thought it took longer than ten years: "Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price." And Chaucer complained "the lyf so short, the craft so long to lerne."
Хорошие советы программистам даёт:
- Learn at least a half dozen programming languages. Include one language that supports class abstractions (like Java or C++), one that supports functional abstraction (like Lisp or ML), one that supports syntactic abstraction (like Lisp), one that supports declarative specifications (like Prolog or C++ templates), one that supports coroutines (like Icon or Scheme), and one that supports parallelism (like Sisal).
- Remember that there is a "computer" in "computer science". Know how long it takes your computer to execute an instruction, fetch a word from memory (with and without a cache miss), read consecutive words from disk, and seek to a new location on disk. (Answers here.)
- Get involved in a language standardization effort. It could be the ANSI C++ committee, or it could be deciding if your local coding style will have 2 or 4 space indentation levels. Either way, you learn about what other people like in a language, how deeply they feel so, and perhaps even a little about why they feel so.
- Have the good sense to get off the language standardization effort as quickly as possible.
no subject
Date: 2004-02-25 01:01 am (UTC)no subject
Date: 2004-02-25 01:03 am (UTC)Хорошо сказано, да.
no subject
Date: 2004-02-25 01:41 am (UTC)no subject
Date: 2004-02-25 01:57 am (UTC)no subject
Date: 2004-02-25 03:54 am (UTC)Есть такое слово — «парадигма». Их даже бывает много.
Так вот, человек, не понимающий идеологии Haskell — никогда не напишет в объектно-ориентированной среде — чего-нибудь стоящего. Утрирую, конечно.
no subject
Date: 2004-02-25 04:33 am (UTC)Зачем нужно изучать целый язык чтобы узнать одну концепцию?
no subject
Date: 2004-02-25 04:55 am (UTC)И название статьи, и её содержимое - о весьма распространенном мифе, что программиста, владеющего тем или иным языком или технологией, можно подготовить за несколько часов или дней.
Советы, данные в статье, относятся к более-менее воспроизводимой процедуре, примененной, разумеется, не к имбецилу, а человеку с некоторой склонностью к такого рода умственной деятельности, и содержат, на мой взгляд, довольно реалистичные оценки сроков, за которые интересующийся бысттрообучающийся вьюнош становится крепким профессионалом.
no subject
Date: 2004-02-25 05:25 am (UTC)no subject
Date: 2004-02-25 05:28 am (UTC)демонстрируют очень разные подходы к программированию и новые способы
посмотреть на проблему. Ими очень даже надо заморачиваться.
no subject
Date: 2004-02-25 05:36 am (UTC)А сэкономленное на изучении хаскелей время потратить на, например, изучение тестирования больших проектов.
no subject
Date: 2004-02-25 05:49 am (UTC)Проблема в том, что "которые только могут понадобиться среднему
коммерческому программисту" - не очень хорошая мерка. Во-первых, это
нестабильное множество, т.е. если этот программист не будет знаком с
какими-то подходами, то ему, возможно, и в голову никогда не придёт ими
воспользоваться, и он решит какую-то задачу более привычным, но худшим
путём. Во-вторых, как раз, чтобы быть лучше, чем средним, ему это и
нужно учить.
no subject
Date: 2004-02-25 06:09 am (UTC)no subject
Date: 2004-02-25 06:22 am (UTC)анализ, синтез и запись на тарабарском языке. Если не владеть
первыми двуми, то последняя до лампочки.
"Сокращайте программы до размера мысли"
no subject
Date: 2004-02-25 06:31 am (UTC)no subject
Date: 2004-02-25 06:56 am (UTC)no subject
Date: 2004-02-25 02:27 am (UTC)no subject
Date: 2004-02-25 04:27 am (UTC)А мне
Date: 2004-02-25 09:31 am (UTC)Before my first child was born, I read all the How To books, and still felt like a clueless novice. 30 Months later, when my second child was due, did I go back to the books for a refresher? No. Instead, I relied on my personal experience, which turned out to be far more useful and reassuring to me than the thousands of pages written by experts.
no subject
Date: 2004-02-27 03:09 am (UTC)http://www.artima.com/intv/craft.html