LINUX.ORG.RU

Обязательность изучения ООП на java и шаблонов проектирования!

 , ,


0

2

Люто приветствую! Я примерно уже год программирую на Си, а также пишу gui на GTK. Из литературы, кроме книжек по Си, читаю «Фундаментальные алгоритмы на Си» и «Практика программирования» от Брайна Кернигана. Вообщем, решил двигаться дальше. Знакомые посоветовали изучать ООП на Java, а после книгу GOF-a. Якобы, шаблоны помогают писать более правильный, грамотный код. А ООП знать необходимо, парадима ведь популярная. Есть еще дядька, родной, тоже программист. Он советовал изучать какой-нибудь скриптовый язык, типа Perl и читать «Искусство программирования на Си». Вот, сижу и разрываюсь. Все вместе изучать продуктивно не получится. Как думаете, какой совет лучше?



Последнее исправление: Na_linuxe (всего исправлений: 2)

Ответ на: комментарий от Na_linuxe

В данном случае да, lisp это средство для повышения ЧСВ этого анона.Не разговаривай с пастой.

anonymous
()
Ответ на: комментарий от trex6

Как пример вменяемой реализации адхок полиморфизма - классы типов хаскеля, например.

anonymous
()
Ответ на: комментарий от yoghurt

Я хотел его упомянуть в пером посте, но т.к. до сих пор не работал с ним - постеснялся. Раз уж разговор зашел о Smalltalk, может быть порекомендуете литературу для изучения этого языка опытным С++/Objective-C/Java-программистом? Было бы интересно посмотреть. А заодно годный компилятор и, если есть, IDE.

trex6 ★★★★★
()
Последнее исправление: trex6 (всего исправлений: 1)
Ответ на: комментарий от trex6

А заодно годный компилятор и, если есть, IDE.

Smalltalk в его каноничном виде это _прежде всего_ IDE. Компиляторов в привычном понимании нет (как и файлов с исходниками у программ, но это уже потом :)). Самые быстрые виртуальные машины - это CogVM (Pharo) из открытых и VisualWorks из коммерческих (доступна для ознакомления). ЧСХ, работал над ними один и тот же человек.

Из литературы как всегда посоветую Pharo by example (сейчас меня какой-нибудь анон ткнёт носом в статус перевода) и Smalltalk-80: Language and its implementation (т.н. Blue Book).

Pharo by example хороша тем, что (в онлайн-версии) постоянно обновляется, покрывает все аспекты разработки (сам язык, стандартная библиотека, работа в интерактивной среде, современные пакеты и фреймворки).

Blue Book была выпущена в начале 80х и сейчас представляет прежде всего интерес исторический - «как оно было на самом деле» и как люди представляли себе ООП до тех пор, пока он стал мейнстримом (кстати, «ООП» как термин там ни разу не фигурирует). Тем не менее, многие главы до сих пор актуальны и дадут хорошее представление о ядре любой Смолток-системы. Так же довольно интересно почитать примеры разработки оттуда - там фреймворк для симуляционного моделирования в качестве примера реализуют.

Smalltalk в его классической форме может вызвать некий культурный шок, поэтому для любителей юниксвея есть GNU Smalltalk (с файлами и REPL) и мой маленький самопиарбонус к нему, для емаксеров.

yoghurt ★★★★★
()
Ответ на: комментарий от anonymous

> А чем оправдано изучение LISP, Haskell, Smalltalk, Agda, Epigram, Coq?

позволяют смотреть на всех, как на говно.

а девки так просто потекут

Как будто, это что-то плохое.

anonymous
()
Ответ на: комментарий от Na_linuxe

У-ти божечки. А при постоянном изучении теории, есть риск окончательно деградировать в преподавателя в местной шараге.

f1xmAn ★★★★★
()
Ответ на: комментарий от Na_linuxe

Вам до CodeMonkey не деградировать надо, а сперва дорасти.

trex6 ★★★★★
()
Ответ на: комментарий от anonymous

Радует, что анонимус пасту сменил, про Categories for the Working Mathematician уже немножко надоело.

Corey
()
Ответ на: комментарий от urxvt

что не так с жабой, что она не даёт изучать ничего нового? я с жабой узнал много нового, открыл мир промышленной разработки, андроид, jCUDA и так далее, что не так тебе с жабой то?

TERRANZ ★★★★
()
Ответ на: комментарий от TERRANZ

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

urxvt ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.