Суханов Михаил
Практика программирования
В современной исследовательской деятельности достаточно большая часть активности завязана на использовании языков програмированния.
В сети существует великое множество бесплатных и очень полезных курсов, позволяющих разобраться с нюансами того или иного языка. Некоторые из них даже приведены на нашем сайте. Тем не менее, изучение любого языка программирования бесполезно, при отсутствии соотвествтующей практики. Конечно, Вы можете повторять строки кода за Вашими виртуальными преподавателями или пытаться запустить скрипты, написанные на учебных сайтах, но эффективность такого подхода сомнительна.
В свое время, при поиске учебных задач, я наткнулся на очень интересный ресурс, который хотел бы порекомендовать начинающим программистам.
CodeWars - это сайт, где можно по-настоящему "набить руку" в написании кода. Можно сказать, что процесс Вашего развития здесь напоминает тренировку по карате.
Зарегистрировавшись на сайте и выбрав интересующий Вас язык, Вы получаете 8 ранг (который здесь называется kyu) и начинаете свои "тренировки". Решение задачи здесь подобно выполнению действий в боевых искусствах (kata). Каждая задача также имеет свой ранг. Чем больший ранг решенной Вами задачи, тем больше баллов рейтинга добавляется в Вашу статистику. Kata считается выполненной, если Ваша программа прошла несколько этапов тестирования (unit-тестов), написанных разработчиком задачи.
Сайт постоянно ведет статистику по многим параметрам, а также имеет большое сообщество, где Вы можете ознакомиться и оценить код других участников, пообщасться с ними. В какой-то момент процесс больше напоминает игру и сильно увлекает, но при этом, на мой взгляд, остается очень полезным для развития навыка программирования.
Почему я хочу порекомендовать этот ресурс?
- Широкий выбор языков программирования. Любая задача может быть выполнена с использованием нескольких языков программирования.
- Постоянное пополнение банка задач. Список задач постоянно обновляется пользователями. Вы также можете придумать свою кату и предложить потренироваться с ней другим участникам.
- Тематические задачи. Поиск задач можно организовать не только по сложности или языку, но и по тематике, которая интересует именно Вас, например алгоритмы или работа с данными.
- Удаленная компиляция и выполнение. Вам не нужно мучиться с установкой и настройкой компилятора. Нет также необходимости пользоваться IDE. При решении задачи будет открыто окно, в которое Вы можете вписать свой код. Да, писать его без автозаполнения и быстрой проверки ошибок может быть не так удобно, однако никто не мешает Вам воспользоваться сначала своими средствами, а затем попробовать отправить задачу на проверку.
- Наличие возможности написать свои unit тесты. Нет необходимости устанавливать и разбираться с фреймворками. Просто впишите Ваши тесты в отдельное окно при решении вашей задачи по приведенному образцу и проверьте правильность работы кода.
Суханов М. А.