◊ | |
www.udomlya.ru | Медиа-Центр | Удомля КТВ | Старый форум |
01.03.2008, 13:20 | #31 | |
Местный
Регистрация: 26.04.2006
Адрес: Удомля, гдежещё
Сообщений: 1,986
Вы сказали Спасибо: 676
Поблагодарили 257 раз(а) в 167 сообщениях
|
Цитата:
__________________
I never saw a wildthing sorring for itself. A small bird will drop frozen dead without ever felt sorry for itself. |
|
01.03.2008, 16:22 | #32 | |
Местный
Регистрация: 20.09.2007
Сообщений: 4,226
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
|
Цитата:
|
|
25.03.2008, 16:28 | #33 |
Новичок
Регистрация: 24.12.2006
Сообщений: 22
Вы сказали Спасибо: 0
Поблагодарили 3 раз(а) в 2 сообщениях
|
Кошерный путь, с которого начинают "правильные" программисты, это книжка SICP (Structure and Interpretation of Computer Program) и язык, соответственно, Scheme.
Книжка, как и несколько реализаций Scheme, доступны бесплатно. |
07.04.2008, 17:37 | #34 |
Местный
Регистрация: 20.09.2007
Сообщений: 4,226
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
|
Эх-ма, не хотелось встревать изложением достаточно длинного содержания, да больно тут уж безапеляционные и однозначные ответы/советы. Поостерёгся бы я давать такие. ИМХО начинать следует с shell. Поскольку в мире имеется огромное количество программ, из которых, как из кирпичиков, с помощью более или менее сложного скрипта можно быстро и просто построить решение чуть не любой задачи - для большинства пользователей этим можно и закончить. C/C++/Java допустимы для тех, кто активно интересуется вопросом. Им тогда в придачу архитектуру надо учить (и чуточку ассемблера), или соответственно практику написания ООП-кода во избежание типичных грабель этих индустриальных языков. По любасу понять ООП программирование проще тому, кто уже понимает, что такое процедурное программирование, а из процедурных языков C самый ходовой, и не по историческим причинам. Особенно легко и приятно не думать на С, который тоже не думает за человека, а потом долго удивляться, а чего это программа в корку падает, куда память утекает, почему в файл вместо данных кракозябры пишутся, почему "мой-наикрутейший-собственноручно-написанный-вебсервер-сломали". Это не отменяет единое для всех языков программирования свойство, что чтобы писать хорошие программы надо это делать умеючи. С - язык не для обучения программированию. Совсем наоборот. C отличный язык, чтобы изучать программирование. Он требует понимания того, как работает машина. Машинного мышления, если хотите. Натурально, любой директивный язык гомоморфен машине им. фон Неймана. Включая, кстати, стандартный язык оболочки ОС. Изучение синтаксиса, это 100 страниц. А понимание, как правильно писать программы - тысячи страниц. И более того, понятие "научиться программировать" обычно по неграмотности ужимают до процесса написания кода на каком-либо языке программирования. Мне кажется в данном контексте "с чего начать", преследует именно эту цель!!
Если действительно хочется научиться, то надо: 1) Научиться делать постановку задачи. Понимать, ЧТО именно мы хотим получить на выходе. 2) Научиться системно подходить к решению задачи. (Определение системы: "Система - совокупность взаимодействующих между собой подсистем. Каждая подсистема является системой") Т.е. уметь разбивать задачу на подзадачи. Построить общий алгоритм решения. 3) Научиться выбирать для решения каждой из задач наиболее эффективный инструмент (наконец-то дошли до выбора языка программирования) 4) Научиться грамотно пользоваться выбранным инструментом. 5) Научиться контролировать процесс каждого из этапов, выявлять возможные ошибки заранее ("чувствовать, где могут лежать грабли"). Проштудировать "Законы Мэрфи" ;-) И не надо тут говорить, что существуют какие-то специальные языки, которые подходят для обучения, а какие-то другие - не подходят. Все это чушь. Учиться программированию следует на том инструментарии, который больше годится для практической работы, а не на каких-то идеальных сферических конях. |
Эти 3 пользователя(ей) сказали Спасибо Messiah за это полезное сообщение: |
17.04.2008, 18:18 | #35 |
Местный
Регистрация: 20.09.2007
Сообщений: 4,226
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
|
Веб-дневник Владимира Шабанова 2007
SICP: Впечатления от прочтения SICP — это не учебник по Lisp, это книга по Программированию. Если вы просто хотите изучить Lisp или Scheme, то SICP не для вас, лучше попробовать что-нибудь попроще. Книга стала одним из самых интересных и серьезных текстов, прочитанных мною за последнее время. После книг Кернигана и Ритчи, Страуструпа, книг по OCaml, Haskell, кучи тьюториалов, мануалов, статей и прочей литературы, SICP стала для меня чем то вроде откровения о том, какой должна быть книга по программированию. Книга действительно предназначена для первокурсников. Она не требует никаких предварительных знаний по программированию. В отличии от обычных книг, SICP не учит синтаксису (его у лиспа почти нет), а учит базовым вещам, необходимым для понимания того, как надо программировать. Причем, выбор этих базовых вещей и уровень их объяснения поистине шедеврален. Уже на 20-й, 30-й странице мы узнаем о нормальном порядке вычислений, lexical scoping, рекурсивных и итеративных процессах, функциях высших порядков, lambda-выражениях, замыканиях и прочих вещах, о которых я узнал гораздо позже, чем надо. А к концу второй главы знаний хватает на то, чтобы писать 90% встречающегося кода. И мы еще не дошли до изменяемого состояния, модулей и объектов! И вот мы доходим до модулей, объектов, потоков, параллелизма, распространения ограничений. Вы думаете, сейчас вам будут рассказывать, как пользоваться готовыми фреймворками или специально заточенными элементами языка программирования? Фигушки! Вам объяснят, как это сделать с нуля, из тех самых базовых кирпичиков, изученных в первых двух главах. Ничего больше не нужно! Это потом, в других языках (или на следующем курсе), вы увидите, как это можно сделать короче и запутаннее. Сейчас вы должны понять основы, как это сделать самому. И что самое приятное, все это сопровождается общими объяснениями, жизненными примерами и интересными упражнениями. Теперь, казалось бы, мы знаем основные методики программирования. Только этого мало. Для лучшего понимания процесса вычислений нам надо построить несколько интерпретаторов: самой Scheme, схемы с ленивыми вычислениями, с недетерминистским вычислением, а также интерпретатор для среды логического программирования. Четвертая глава вам в этом поможет. Что, скилл в вычислениях прокачан и карма аж светится? Но ведь вы все это время были далеки от железа и не знаете, как все это работает уровнем ниже Scheme! Тут то (в заключительной главе) вам и расскажут про регистровые машины, даже парочку-троечку спроектируют. Чтобы было на чем их проверять, вам опишут имитатор регистровых машин. Вы узнаете про стек. Вам расскажут про сборку мусора (и конечно покажут, как ее сделать с нуля . Чтобы прокачать понимание регистровых машин, вы напишете интерпретатор Scheme на своеобразном ассемблере. Но ведь интерпретатор — это медленно, надо написать компилятор! А компилятор сам по себе не очень удобен (нет интерактивной разработки), так что скрестим его с интерпретатором. Страшно? Ничего, ребята действительно хорошо все объясняют. Вот теперь, дочитав до конца, я по-настоящему пожалел, что не прочел эту книгу раньше, до бейсика, паскаля, с, асма, с++, окемла, лиспа, пролога, эрланга, хаскела и др. Еще в первой половине списка я начал находить много общего, потом уже я узнал про императивное, функциональное, логическое программирование, посылку сообщений и т.д. Примерно понимал и устройство компа, знал что такое интерпретаторы, компиляторы и их помеси. Но, черт возьми, это все было от деталей к туманному общему, а не наоборот, от разжеванного общего к деталям на практике. Выводы Если Вы только начинающий программист, SICP обязательна к прочтению. Многие вещи, которые Вы будете изучать потом, будут казаться Вам знакомыми. А если Вы программист со стажем, то следует почитать хотя бы для наведения порядка в голове. |
17.04.2008, 22:25 | #36 |
Местный
Регистрация: 20.09.2007
Сообщений: 4,226
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
|
Кому интересна книга забирайте в ДС, в формате pdf. Ну и библиографическая редкость! Едва, едва отрыл на просторах инета. Итак читаем sicp.pdf
|
07.07.2008, 19:29 | #37 |
Местный
Регистрация: 20.09.2007
Сообщений: 4,226
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
|
ЛОР, опрос про любимый язык программирования:
anonymous: "Давайте представим аналогичный опрос скажем, на форуме врачей: какой ваш любимый инструмент ? -скальпель рулит! -нифига, скальпель только лохи юзают, вот градусник - сила!! -да все отстой, за горчичниками будущее...." (С) баш |
13.07.2008, 19:24 | #38 |
Местный
Регистрация: 20.09.2007
Сообщений: 4,226
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
|
Ещё одно. Я прочитал, весьма интересна.
http://second.udomlya.ru/uf/showpost...3&postcount=29 |
Этот пользователь сказал Спасибо Messiah за это полезное сообщение: | Pitty (16.07.2008) |
16.07.2008, 00:10 | #39 | |
Местный
Регистрация: 26.04.2006
Адрес: Удомля, гдежещё
Сообщений: 1,986
Вы сказали Спасибо: 676
Поблагодарили 257 раз(а) в 167 сообщениях
|
Цитата:
А вот столь сильно расхваливаемую тут книгу о структурном программировании как-то не осилил. Примеры там конечно очень интересные, но как-то смысл я не совсем понимаю - это попытка приблизиться к потоковому программированию?
__________________
I never saw a wildthing sorring for itself. A small bird will drop frozen dead without ever felt sorry for itself. |
|
16.07.2008, 16:43 | #40 | |
Местный
Регистрация: 20.09.2007
Сообщений: 4,226
Вы сказали Спасибо: 1
Поблагодарили 6,561 раз(а) в 1,660 сообщениях
|
Цитата:
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|