ключевые концепции и термины программирования на разных языках - PullRequest
5 голосов
/ 12 апреля 2010

Я некоторое время программировал, но никогда не имел формального компьютерного образования. Я хотел бы знать, есть ли ресурс, который охватывает ключевые концепции программирования, такие как конструкция, полиморфизм и т. д., который применим к различным языкам. также было бы очень полезно, если бы ресурс приводил примеры.

Ответы [ 3 ]

4 голосов
/ 12 апреля 2010

Концепции, методы и модели компьютерного программирования (Питер Ван Рой и Сейф Хариди) : название говорит само за себя. (От того же автора и на основе этой книги этот крутой плакат содержит ~ 30 наиболее важных парадигм программирования .) [Примечание: эта книга в разговорной речи называется CTM, вы можете наткнуться на эту аббревиатуру со временем ко времени.]

Структура и интерпретация компьютерных программ (Гарольд Абельсон и Джеральд Джей Суссман) . SICP, как известно в разговорной речи, вероятно, книга о программировании. Период. Не забудьте видео лекции 1986 года самих авторов или один из других курсов на основе книги.

Основным отличием между SICP и CTM является подход: CTM обучает концепциям программирования, приводя примеры на очень мощном языке программирования (Distributed Oz), который уже их реализует, в то время как SICP обучает концепции программирования, реализуя их на языке (схема или, вернее, небольшая его часть), у которой их еще нет. IOW: CTM научит ОО показывать программы, написанные на языке ОО, SICP, путем внедрения системы ОО в Схеме.

Концепции проектирования на языках программирования (Франклин А. Турбак и Дэвид К. Гиффорд с Марком А. Шелдоном) больше о теории языков программирования, чем о программировании. Это все еще довольно интересно, хотя и не затрагивает непосредственно ваш вопрос о концепциях программирования. Но в конце концов: как бы вы программировали без языка программирования?

Концепции языков программирования (Роберт В. Себеста) хорошо объясняет, Концепции языков программирования, начиная с Plankalkül Конрада Цузе, продолжая с первых реальных языков программирования, таких как Fortran , Lisp, Cobol, Algol, BASIC и C, C ++, Java и Ada. [Опять же, больше книги по языку программирования, чем по программированию.]

3 голосов
/ 12 апреля 2010

Мне очень понравилось читать Концепции в языках программирования Джона Митчелла.

Книга охватывает всего понемногу. Он включает в себя введение в математические основы, такие как теория вычислимости и лямбда-исчисление, но я нашел его вполне читабельным (в то время, когда я читал его, что было в начале обучения в университете). Это также включает немного семантики языков программирования (то есть, как описать смысл формально).

Затем речь пойдет о многих языках программирования и концепциях, которые они исходят и которые интересны, включая LISP (который является основой для Clojure), ML (основа для Microsoft F #), а также Simula и Smalltalk (два основных языка OO) C ++ с Java (практические ОО языки с совершенно другим подходом). Также есть несколько заметок о различных подходах к параллелизму (довольно важно в наше время!)

В нем мало подробностей, и он охватывает широкий круг тем, которые я считаю полезными, если вы хотите прочитать его, чтобы получить широкий обзор теории языка программирования. Книга на самом деле мотивировала мой текущий интерес к языкам программирования: -).

Я заметил, что в книге есть некоторые негативные отзывы об Amazon, но, похоже, большинство из них от людей, которые должны были пройти курс Митчелла по этой книге и ему не понравился курс.

3 голосов
/ 12 апреля 2010

Прагматика языка программирования - довольно доступный, но глубокий обзор понятий языка программирования.Он хорошо объясняет основы языка программирования, не будучи слишком академическим или теоретическим.

...