Как программисту лучше всего подойти к изучению нового языка? - PullRequest
6 голосов
/ 04 августа 2010

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

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

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

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

Ответы [ 6 ]

3 голосов
/ 04 августа 2010

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

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

3 голосов
/ 04 августа 2010

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

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

2 голосов
/ 04 августа 2010

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

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

1 голос
/ 04 августа 2010

Послушать этот подкаст:
http://www.se -radio.net / 2009/11 / эпизод-148-ПО-археолого-с Дейвом-Томасу /

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

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

1 голос
/ 04 августа 2010

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

0 голосов
/ 04 августа 2010

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

...