I dont know what classes your high school offers, but I would suggest taking whatever computer design and programming classes they offer as well as Math and science classes. If your school district has a special computer-math-sciences high school/program, I would suggest that you find out what the pre-requisites are for getting in and working towards that. Where I live, they offer specialized high schools in several areas and one of them is a Technical School for students with a strong interest and high grades.
Computer programmers could work with a wide range of programming languages. It really depends on what area of programming you are interested in. Learning a basic language first and then moving into more complex object oriented languages might be a plan. I am presently working in the area of Data mining with web interface tools. We use Oracle Databases and associated programming languages such as PL/SQL, SQL and PERL for the DB programming and reporting. For the web interface we use JAVA, Spring/Hibernate. Before you begin programming a system or tool, you may also be involved in the up-front stages of the process sometimes called Systems Engineering. Here, you will need to understand customer needs and transform them into several levels of technical requirements starting at a high level to very detailed low level requirements. Once the requirements are complete, you would then design your system/tool prior to actually programming and testing it. I started out at the more detailed technical requirements, design, programming and testing level and after many years, moved into the Systems Engineering areas of collecting and understanding customer needs and transforming them into technical requirements.
Whether or not the field is hard is a difficult question to answer. It really depends on you. It may come very easy to some and it may be very challenging to others. Either way, the important thing is that you find it enjoyable and personally rewarding.
I hope this helps and if you have further questions, Id be happy to respond.
There are so many types of computer software engineering. Obviously take any programming classes that are available. I work in airplane flight simulation, so knowing physics and math is important, as well as computer graphics. If you want to do games or entertainment, then the same things are good, physics, math, but also storytelling and art, and game design. If you like music, you'll want some signal processing / filters, which is really more math. You could work on medical equipment too; I've worked on heart monitors, ultrasound imaging, and pap smear slide image analysis and classification (cancer/not cancer).
This field is challenging, although not everyone uses math. You can do database stuff, for example, or web applications for computers or iphones, etc. By the time you graduate, there will be new things we don't know about now.
People make good money doing this and there is a lot of demand. It is harder than being a hairdresser, at least for the schooling part. You would work harder in school than other students, but the payback is greater after school than other students. Since technology changes, it can be very interesting for your whole lifetime. If you are already a better than average student, you could do this too. It sounds hard when you see what you have to learn, but 8th grade math seems impossible to a 2nd grader. It's the same thing; you need to learn things in the right order from good teachers and you'll progress from where you are now to what professional engineers can do.
Hope that helps. Good luck!