2010-08-04 2 views
5

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

Когда я перехожу к изучению нового языка, кажется, что большинство учебных ресурсов направлены на нового программиста. Затем я заканчиваю тем, что читаю «подробный» учебник или что-то, и скучаю. Я склонен чувствовать, что я трачу много времени на то, как работает переменная, как работают типы данных и другие основные вещи. Это все важные вещи, но я могу справиться с технической терминологией и не нуждаюсь в вещах, разбитых для меня, как новичок.

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

Итак, мой вопрос: какова стратегия, которую вы нашли наиболее полезной, чтобы максимально использовать новый язык? Какие советы вы узнали?

+2

См. Эти «связанные» вопросы справа? Прочтите некоторые из них. – 2010-08-04 13:30:04

ответ

3

Написать код. Вы получите больше информации из книги, если у вас есть хоть немного опыта использования языка.

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

0

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

+2

Реализация стандартной стандартной библиотеки доставки может иметь разные цели, чем код приложения новичка - например, производительность может оцениваться по читаемости и понятности. Кроме того, стандартная библиотека языка может быть слишком большой, чтобы один человек мог полностью реализовать в разумный срок для обучения. –

2

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

С более сложным языком я могу купить книгу и потратить 6 месяцев на это, а также прочитать список рассылки и т. Д., И после этого, вероятно, попробуйте и сохраните некоторое программное обеспечение с открытым исходным кодом на этом языке, прежде чем запускать приложение с нуля , Это то, что я делаю с Haskell.

+0

Вот хороший пример учебника для фреймворка PHP. Хотя это было досадно, чтобы пройти, это помогло понять части рамки. http://www.symfony-project.org/jobeet/1_4/Doctrine/en/ ** Я знаю, что речь идет о языках, но рамки обучения не сильно отличаются –

3

Существует руководство для Python под названием Dive into Python, в котором описывается именно проблема, которую вы описываете, - объясняя специфический синтаксис Python для людей, которые уже знают основы программирования и погружения прямо в код, а не имеют длительные интродукции.

Вы должны искать похожие книги для языка, который вы пытаетесь изучить.

+0

Я читал и наслаждался этим много. – Icode4food

1

Я прочитал спецификацию языка. Мне нужно что-то знать и ничего сверхъестественного. После этого я беру примерную программу и начинаю изменять и расширять ее, пока я не начну встречаться с новым языком. Затем я начинаю писать с ним свои собственные программы.

1

Слушайте этот подкаст:
http://www.se-radio.net/2009/11/episode-148-software-archaeology-with-dave-thomas/

Дэйв Томас говорит о чтении кода и археологии.Например, он берет разработчиков Ruby через компилятор Ruby, читая исходный код, они изучают много существенных сведений о языке.

Это может быть не ваш первый шаг, но он должен быть отделен от вашего общего подхода к обучению.

Смежные вопросы