Как вы читаете книги ?
Как большинство книг в начале описывается типы данных, основные язиковые конструкции и принцыпы организации обектов и классов.
Читать ето все не очень интересно так как много из етого мне хорошо извесно, но на 300 страницах основ попадаются интересные детали которые оч даже полезны. (Например возможность округление промежуточных данных при роботе с вещественными типами до 64 бит для поддержки совместимости, а не до 80 бит как в многих процессорах).
Тат как я сейчас пишу на РНР, а книгу читаю для развития, новая информация не закрепляется практикой и скоро забывается. Недавно начал конспектировать встретившиеся мне по ходу книги тонкости на бумажке.
Интересует читаете ли вы книгу полностю в поисках тонкостей языка, или же читаете только интересующие вас главы, а также что делать для хорошого закрепления прочитаного в памяти ?
После того, как прочитал, то (например, когда еду куда-то) думаю об этом, - о прочитанном.
После того, как прочитал, то (например, когда еду куда-то) думаю об этом, - о прочитанном.
Я тоже использую "жадный" режим чтения :) Вчитываюсь в каждое слово, пытаюсь сравнивать предложенные варианты использования возможностей языка с другими, мною изученных.
Если книга "однодневка", то просто перечитываю и убираю до лучших времен.
Конспекты не веду, а просто ставлю закладки в виде листочков на страницы и сверху бумажки пишу основные моменты на странице.
Очень удобно, советую!
Смотрю примеры только когда не понимаю как описаное в тексте кушать. За исключением одной книги по С++. Там все примеры просмотрел. Но опять же не делал проектов на етом языке и всю кучу етих тонкостей почти не помню и что самое страшное не умею использовать.
Я вот о чем больше всего беспокоюсь. Можно ли сначала изучить язык, а потом его использовать на всю мощность или ето не реально и придется учится пользоваться его особенностями в процесе розроботки нескольких проектов ?
Я вот о чем больше всего беспокоюсь. Можно ли сначала изучить язык, а потом его использовать на всю мощность или ето не реально и придется учится пользоваться его особенностями в процесе розроботки нескольких проектов ?
Думаю, правильный подход такой: сразу вместе с изучением языка нужно не просто много читать кода, но ещё и писать много кода, основываясь на прочитанном материале. Так нарабатывается опыт. А вообще, лично для меня сложность любого языка представляется неочевидной по сравнению со сложностью математики и теории алгоритмов( Кнут, Дейкстра и пр. ). А ведь это самое главное.
Полностью согласен. Я когда читаю разбираюсь как работают примеры и обязательно пишу тестовые примеры с использованием этой же функциональности. Во-первых это позволяет лучше понять где что работает, а где - нет. Во-вторых, нарабатывается "клавиатурная память". Обязательно все ввожу с клавиатуры без всяких copy-paste. Времени уходит больше, но и в голове откладывается лучше.
Насчет мат аппарата полностью согласен с igor_nf.
Язык можно выучить без проблем быстро, прочитав хорошую книгу. Знание плаформы же (и соответственно, паттернов для разработки под нее) можно и нужно углублять на практике ..очень долго, скажем так :)
Смотрю примеры только когда не понимаю как описаное в тексте кушать.
Природа дала людям разные организмы. Я стараюсь смотреть примеры всегда хотя бы в книге, иногда - переношу в реальный работающий код, если тема новая, или если этот код мне понадобится по делу. Однажды из-за этого сначала переписал код на C#, а потом ручками транслировал в VB. Кстати, не так уж это и просто оказалось, хотя и не так сложно.
Если оно не надо, то это не страшно. :) Я, например, ни разу не расстраивался из-за незнания мною С++.
Выучить-то язык можно быстро, я, например, VB.NET осилил с нуля за пару месяцев на уровне, достаточном, чтобы разобраться в любом исходнике из нишей фирмы, но, например, я до сих пор не знаю, как сделать некоторые вещи красиво. Это выходит за рамки языка. Собственно, вся сложность проектов как раз в том, что они всегда выходят за рамки языка.
А я вот в последние время как раз етим розстраиваюсь, чтото мне стало множественного наследования не хватать. Я с ним никогда не роботал, но вот щас на РНР так бы пригодился. Кроме того привлекает тот факт что там меня ограничевает не язык а мое незнание языка. Етот же факт меня и угнетает :).
Ну вот тут не согласен. Конечно если красиво делать не умееш (ето ни в коем случае не про вас, а просто впринцыпе) то знай хоть все наизусть а использовать знания не выйдет, а вот зная особенности языка и платформы, мысли о том как сделать красиво лезут в голову намного лутше.
Ну, множественного наследования много где нет, и во многих местах это прекрасно обходится другими путями, пусть и не так очевидно.
Делать красиво - не совсем хорошее выражение для того, что я имел в виду. Например, ту же загрузку данных из Экселя в таблицу БД можно сделать как минимум тремя способами, и никакое знание языка не поможет сделать это наиболее оптимально - надо знать ещё и то, насколько то или иное решение применимо в данной ситуации. Помнится, я делал загрузку двух таблиц по 20 столбцов выховом хранимой процедуры в цикле. Нет, не потому, что я не мог написать динамический запрос. Просто для разовой операции это решение самое простое в отладке.