А не должно получаться с первого раза. Это же "программирование" - тут важен сам процесс разработки с начального этапа до финиша (откладка, как один из самых интересных этапов, когда пытаешься найти ошибки в своем алгоритме, изучаешь работу новых, пошагово выполняя тот или иной блок/модуль). Это только в больницах опасно ошибаться. Наука же любит повторение, вспомни того же Эдисона и лампу накаливания :)