You do need to develop the discipline to save, that's for sure. If you have problems with that, see if your employer (or whatever your source of funds is) can automatically deduct and deposit a portion of your pay into some investment or savings account, so you never get your hands on that money.
Or, open a savings account and decide that you are going to save 20-30% (or more, if you can swing it) of your paycheck. Treat that like a bill you have to pay. Write yourself a check and deposit it, pay your other bills the same way. If there is anything left over, take half of it and put it into the same savings account and reward yourself with what is left for being financially responsible.
Also, get control of your spending. Look at every purchase this way: if it will not increase your ability to earn more money, or save you money in some way, then it is not a practical expense. That doesn't mean you can't buy it, but if you put every purchase through this filter you may find that you are less likely to impulse buy.
Maybe make a game of it. Like a dieter sets a goal to lose weight, you could set a goal to end up each week with $X still in your pocket. Each week, increase that a little and then keep that in the back of your mind as you go through the week.
Hope some of this might help you. It is very good that you recognize that this is going to cause you big problems in the future and that you need to start doing something about it; many people your age don't even think it is a problem until they are so far behind that it is an ordeal for them to dig themselves out of the hole.
Good luck.