OP, I don't think your core problem is about learning a language. "Unfinished project syndrome" is usually caused by a deficit in the problem analysis and solution design steps prior to coding. You should probably study problem analysis, flowcharts, hierarchy charts, stepwise refinement, iterative design, identifying scope creep, pseudo-code, etc. Any language, no matter how good, can never make up for poor planning.