Как нужно учить новые языки программирования



Комментарии

20 комментария(ев)
аватар: Uranium
Uranium
Дата: ВС, 02/10/2011 - 15:32
Звание: Энтузиаст
Сообщений: 119

1. Полностью согласен. Конечно лучше читать книги Саттера, Руссиновича, Шилдта, Александреску, чем какого-нибудь Иванова, даже если у него наград как у Суворова(только в программировании)

2. На собственном опыте подтверждаю, что это так)

3. А вот это лишнее, обычно исходники валяются просто без дела и толку от них мало.

4. 30 - 60 минут всё таки мало, лучше хотя бы часа по два.

5. Ну планы всегда полезно составлять)

6 - 7. +

8. Я бы посоветовал тусоваться(или хотя бы читать) зарубежные форумы. На наших просто какая-то тоска.

Я бы ещё посоветовал - участие в Open Source проектах. Это очень важно и полезно для изучения технологии/языка. Даже можно зачеркнуть все пункты кроме первого, но участвовать в каком-нибудь проекте.

аватар: Va-Bank
Va-Bank
Дата: ВС, 02/10/2011 - 22:16
Звание: Гуру
Сообщений: 5573

Цитировать
3. А вот это лишнее, обычно исходники валяются просто без дела и толку от них мало.

У меня папочка сурс состоит практически только из своих исходников. Чужих очень мало. И то это исходники тех проектов, которые мне показывали под дружбе душевной Smile И что могу сказать. Даже при частом программировании что-то забывается. Я бывает открываю исходники с позапрошлой работы и с прошлой и частенько смотрю в исходники проектов, написанных уже на этой работе. Хотя бы для того, чтобы не изобретать велосипед, а использовать уже готовые наработки или даже целые модули.
Так что считаю исходники надо держать всегда. Чужие исходники - спорно... Hm...

аватар: Uranium
Uranium
Дата: ВС, 02/10/2011 - 23:22
Звание: Энтузиаст
Сообщений: 119

Цитировать
Так что считаю исходники надо держать всегда. Чужие исходники - спорно... Hm...

Ну свои то да, это естественно. А вот чужие действительно как-то неудобно. Я когда-то занимался подобным собирательством, но потом всё равно забил на это из-за большого количества кода. Поэтому сейчас если и попадается что-то интересное, то сохраняю себе, но не на хард, а в эвернот и если исходник не больше 50 строчек

аватар: Spider_NET
Spider_NET
Дата: Пнд, 03/10/2011 - 15:14
Звание: Мастер
Сообщений: 2049

Разбираться в чужих исходниках надо учиться. Очень хорошая практика пытаться что-то доработать в чужом проекте. Много кода? Это конечно пугает, но если качнуть скил, то на реальной работе будет намного проще. Когда устраиваешь программистом, то в большинстве случаев приходится дорабатывать чужие проекты. А тут без опыта кодокопания будет очень тяжело.

аватар: Uranium
Uranium
Дата: Пнд, 03/10/2011 - 22:52
Звание: Энтузиаст
Сообщений: 119

Вот поэтому и желательно участвовать в Опес Соурс проектах) Там и разбираться нужно и дорабатывать. Плюс ещё и польза другим будет

аватар: XHelp
XHelp
Дата: Пнд, 03/10/2011 - 23:31
Звание: Наблюдатель
Сообщений: 51

Я немного не соглашусь насчёт чужих исходников во время обучения. Поскольку речь идёт об обучении, то запомним тот факт, что на этой ступени мы мало чего знаем:
Идеальный вариант: исходник написан человеком, который разбирается в теме. Я просто не пойму, почему этот человек сделал так, а не иначе. И это только усложнит процесс обучения. Человек, который разбирается в теме уже сам прошёл через 1000 ошибок, что его и привело в этим подходам решения проблеммы. Если я сразу посмотрю его решение, то пропущю эти 1000 ошибок и поэтому не пойму почему так лучше.
Другой вариант: код написан человеков моего (а то и уровнем ниже): этот код мне ничего не даст. А скорее и на оборот: я увижу, что "другие люди так же решают эту проблемму" и у меня сложится впечатление, что это хорошее решение.

Следующий пункт уже немного упомянут в вышестоящем абзаце: делайте ошибки! Без них никак. Особенно это важно в архитектуре приложения: если я не делал сам ошибок, а получил готовое решение хорошей архитектуры, то я просто не пойму ПОЧЕМУ так лучше. А если я сам буду совершать ошибки, то когда нибудь наступит момент, когда я скажу: "хм... что то не так, нужно поискать другое решение этой задачи" и тогда я буду отчётливо понимать почему используется то, а не это. Как яркий пример: Singleton в Java. Если показать новичку это горе-творение, то это будет самый большой для него подарок. Он его будет постоянно использовать и т.д., но наступит время, когда он поймёт, что Singleton можно разумно использовать только в единичных решениях, а в 99% он просто усложняет работу. НО: если ему сразу сказать: Singleton использовать не надо, он просто не поймёт почему, для этого у меня будет мало опыта и мало глубоких знаний.

До начала учения чего-нибудь, нужно сначала изучить основы темы. Если это программирование, то нужно сначала посмотреть двоичные системы, design pattern, алгоритмы, математику. Сначала будет не всё понятно, но зато если держать эти темы задней мыслью, то взгляды на некоторые темы будут другие.

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

Не нужно сравнивать языки. Не нужно задаватся вопросом: "На Delphi я делаю вот так, как этот подход можно переписать на языке X". Языки бывают разные и подходы к задачам тоже разные. И это нужно точно понимать.

Насчёт книг: это не поможет в процессе учения, но: как только достигнут хороший уровень знаний, можно (в моих глазах: нужно) читать книги для новичков. Книги могут быть оцениватся только людьми, у которых как минимум столько же знаний как и у автора. Поэтому нужно прочитывать книги, указывать на ошибки и сообщять об этом и автору и людям, которые хотят купить книгу (например рецензией в онлайн-магазине). Да, это лишний труд, да - это тебе мало принесёт пользы, но зато это улучшит состояние книжного рынка и если это будут делать много людей, то можно расчитывать на то, что в новой области, которую я хочу обучить, эту работу тоже уже кто-то проделал, что мне поможет на старте. Во многих форумах есть темы "Какие книги хорошие?" - с моей точки зрения важнее создавать темы: "Какие книги НЕЛЬЗЯ!!! читать" и количество этих книг ужазающе больше.

аватар: Kewa2008
Kewa2008
Дата: ЧТ, 06/10/2011 - 23:49
Звание: Советник
Сообщений: 930

Полностью согласен, но интересует один вопрос :

Цитировать
Как показывает моя практика наиболее интересными и полезными книгами являются труды от зарубежных авторов. Наши соотечественники стали писать слишком много отстоя.

а чуть ниже

Цитировать
Вот смотрю я на свою полку и вижу, что 90% имеющихся у меня книг от зарубежных коллег. Остальные 10% - книги от Миши Фленова. Вот такой вот расклад.

Ты Мишу причисляешь к зарубежным авторам или к исключениям среди отечественных? =)

аватар: Hamper
Hamper
Дата: ПТ, 07/10/2011 - 06:08
Звание: Энтузиаст
Сообщений: 211

Прочитал не очень внимательно может конечно и пропустил...
Много чего посоветовали, но как то упустили что очень желательно почитать документацию по самому языку который вы изучаете. Например ruby-doc по ruby, замечательные туториалы по erlang которые полносью и при этом кратко описывают весь синтаксис, плюс документация ко классам и объектам (тот же ruby-doc для ruby, pod документация от моделей perl) а так же отдельным фреймворкам (для ruby например замечательно описан sinatra так же немало документации по rails).
Но этот подход хорош только если вы хорошо знаете принципы алгоритмизации (вот тут то и пригодятся книжки) и парочку других языков.

аватар: Zanuda25
Zanuda25
Дата: ПТ, 07/10/2011 - 09:06
Звание: Энтузиаст
Сообщений: 281

Цитировать
Как показывает моя практика наиболее интересными и полезными книгами являются труды от зарубежных авторов. Наши соотечественники стали писать слишком много отстоя. Не хочу никого обидеть, но меня не прикалывает читать бред и банальный перевод документации. Прочитать документацию (пускай даже на английском) я могу самостоятельно. Мне в первую очередь хочется получить новые знания и прочитать советы от опытного автора, который использовал технологию на практике, а не просто читал новости и перевел документацию.

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

аватар: SiO3
SiO3
Дата: ПТ, 07/10/2011 - 12:25
Звание: Наблюдатель
Сообщений: 19

Кто-нибудь изучал программирование только по электронным книгам, не покупая ничего в магазинах?