Найти в Дзене

Учимся в Codewars

Учиться всегда лучше на практике. К программированию это относится на все 100%.

Есть отличный сервис Codewars, с задачами по программированию на куче разных языков: от древних Кобола с Фортраном до более молодых Go и Crystal.

Текущий перечень языков
Текущий перечень языков

В качестве мотивации выступает рейтинг, обзываемый тут честью (Honor), решая более сложные задачи (kata), получаем больше опыта и качаемся. Может, даже в рейтинг попадаем :)

Уровни сложности: чем сложнее, тем меньше число
Уровни сложности: чем сложнее, тем меньше число

Простые kata обычно относятся к основным функциям языка и общепринятым вещам вроде форматирования строк и арифметических действий. Очень помогает, когда "пересаживаешься" с одного языка на другой.

В более сложных надо будет уже думать головой: как это должно работать и по какому алгоритму...

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

Раздел Kata: можно отфильтровать по сложности, языкам, новизне, темам и т.д. и т.п.
Раздел Kata: можно отфильтровать по сложности, языкам, новизне, темам и т.д. и т.п.

Главная фича Codewars - онлайн IDE с запуском написанной программы на сервере и инструментарий для тестирования.

Обычно авторы заранее заготавливают пару мелких тестов (Sample Tests) для быстрой проверки в окне тестирования, где мы тоже можем писать свои тесты.

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

Посмотрим на примере задачки, на первой картинке я намеренно убрала -1 в выражении, и решение проваливает тестирование. На следующей уже все оке.

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

Ох, эти питонисты
Ох, эти питонисты

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

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

Может пригодиться, если находитесь не за своим компьютером, и IDE с компилятором / интерпретатором под нужный язык нет, а кодить ну очень хочется :)

Сравниваю две функции для расчета факториала
Сравниваю две функции для расчета факториала

Если есть свежие мысли - можете и свою задачу сочинить, если ее примут - все будут в плюсе.

Совсем несложная :)
Совсем несложная :)

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

Пример из документации
Пример из документации

Записывайтесь в воины и добавляйтесь ко мне в друзья.

Можете дать автору копеечку на кофе, а можете и не давать :)