Первые проекты, которые необходимо запрограммировать как хобби - PullRequest
8 голосов
/ 14 сентября 2009

Я всегда считал, что при начале изучения нового языка программирования программист должен создавать определенные проекты, чтобы лучше понять язык и / или фреймворки. Лично для меня это были php (гостевая книга, абстракция БД, движок шаблонов), ruby ​​(на рельсах, твиттер-подобный веб-сайт, плагин активной записи, простой gem) и target-c (какао, список задач, клиент twitter).

Мне интересно, какие проекты должны быть запрограммированы для других языков программирования, таких как Java, C ++, Python и т. Д.? Может быть, у вас были другие пути изучения языков?

Ответы [ 5 ]

11 голосов
/ 14 сентября 2009

* Проект Эйлер 1002 *

Первые 20 или около того - это небольшие проблемы, которые позволяют вам экспериментировать с базовыми средствами контроля исполнения языков. Дает вам хорошее представление о том, как язык работает в «маленьком».

3 голосов
/ 14 сентября 2009

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

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

2 голосов
/ 14 сентября 2009

Мне обычно нравится играть в некоторые игры по нескольким причинам.

  • Они, как правило, более приятны для реализации, потому что, в конце концов, они - игры.
  • У них есть четко определенные правила, поэтому вы не тратите много времени на изучение спецификации вместо написания программы
  • Они, как правило, имеют хороший средний уровень сложности. Достаточно сложно, чтобы не быть тривиальным и достаточно простым, чтобы вы могли сделать их за несколько часов или дней
  • Они имеют тенденцию быть независимыми. И.Е. вам не нужна база данных для шахмат, если вы действительно этого не хотите - в отличие от более реального приложения, такого как блог, где база данных в основном обязательна.
  • Во многих играх вы можете использовать только текст или пользовательский интерфейс ASCII, который упрощает изучение языка

Начните с чего-то простого, такого как палач, мастер ума или башни Ханоя. Затем вы можете перейти к более полной игре, такой как покер / монополия. С такой игрой вы можете добавить произвольные функции, такие как сохранение игр в базу данных, если вы хотите поэкспериментировать с языковой структурой доступа к данным.

2 голосов
/ 14 сентября 2009

К сожалению, я давно выучил новый язык.

Но когда я все время изучал новые языки, у меня была простая стратегия: моей первой программой было ваше основное «привет, мир», то, что просто отображало сообщение и выходило. Моей второй программой была Жизнь. (См., Например, http://www.math.com/students/wonders/life/life.html)

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

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

1 голос
/ 14 сентября 2009

Python Challenge очень веселый и поощряет использование интересных языковых и библиотечных функций. http://www.pythonchallenge.com/

...