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