Общий набор проблем для изучения новых языков - PullRequest
1 голос
/ 21 августа 2009

Поскольку технологии программирования «Полиглот» становятся все более актуальными, практически необходимо использовать «правильный» PL для решения этой проблемы. Однако изучение новых языков требует времени, которое обычно не может позволить большинство проектных команд. Как лучше всего выучить новый язык программирования? Существует ли общий набор проблем, которые можно решить, чтобы достичь определенного уровня компетентности?

Ответы [ 3 ]

1 голос
/ 21 августа 2009

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

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

Если языком является другой JVM или CLR, проблемы с изучением среды можно оставить в стороне - вы можете использовать все ваши знакомые API в своем коде Clojure / Scala / F # ... - и сосредоточиться на синтаксис и идиома.

В противном случае вы, вероятно, используете новый язык, потому что он хорошо подходит для конкретной проблемы, которую вы хотите решить (например, нативный код и функционал -> Haskell; распределенный и параллельный -> Erlang), так что подгонка функции Набор известен заранее, но у вас есть дополнительная нагрузка в изучении стандартных API. И вот для чего нужно прототипирование.

1 голос
/ 21 августа 2009

Ну, это зависит от того, что вы хотите сделать. (сеть, БД, что угодно).

Как правило, я хотел бы знать:

  • На что похожа библиотека, как мне ссылаться на нее
  • Какие существуют ОРМ
  • Какие платформы для сборки / развертывания существуют для него
  • Как он обрабатывает обновления
  • Как мне делать общие вещи, такие как:
    • Доступ к БД
    • Файл вещей
    • Отображение пользовательского интерфейса

и т. Д.

0 голосов
/ 21 августа 2009

Книга Проблемы программирования и связанный веб-сайт предоставляют большой список алгоритмических проблем с автоматическим онлайн-анализом на нескольких языках (Java, C, C ++). Любой учебник по алгоритмам может дать вам множество примеров базовых структур данных и процедур, которые можно попробовать и реализовать, что часто является хорошим способом получить практические знания по синтаксису и функциям базового языка. Мой личный фаворит для этого - Руководство по проектированию алгоритмов , которое не зависит от языка, но есть также много хороших языковых книг ( Мастеринг алгоритмов в Perl или Структуры данных и алгоритмы в Java , например).

Если вас интересует общий набор математических задач, которые нужно решить, Project Euler - отличный ресурс.

Для решения дополнительных повседневных задач я считаю наиболее полезным подход с использованием поваренной книги. Например, и Perl, и Python имеют отличные кулинарные книги O'Reilly, а также онлайн-ресурсы , которые предоставляют короткие примеры многих распространенных и важных проблем. Как уже упоминалось в другом ответе , ключом здесь является поиск канонических примеров базовых функций, которые вам понадобятся, в частности, используя то, что доступно в стандартных библиотеках. Обычно я стараюсь создать свою собственную небольшую библиотеку примеров, например, пример сокета, пример доступа к БД, пример чтения файла, простой числовой решатель и т. д., который я затем раздуваю за идеи, когда пришло время написать производственный код.

...