This post is special 'cause it is in English. Know why? Because you as a programmer need to understand English. If you compare the volume of English resources to Persian ones, you will definitely find out that it is necessary.
Of course at once you do not need to have much English ability. It is enough to have the ability of understanding texts using a dictionary. Your vocabulary and grammar will improve simultaneously. Also it is not necessary to learn whole English; only Programming English i.e. the English that programmers from all over the world use. May be it is different from general English.
Here I introduce a useful site to learn ENGLISH FOR IT (Information Technology). Go here and register for free and continue sinking in the world of programming!
Good wishes. Translate this post in comments as an exercise.