I am a high school student who knows C language.I am very interested in the field of computer science and I want to develope my own websites and programming languages too.And I have very little time.Since I have chosen Science as my major subject I have got a lot to study.I have 3 months of holidays before the next semester begins and I want to know what are the basic languages I need to know to be able to design my own software?
I hope I can master these languages soon.Looking forward to detailed answers.
Hi! I'm in the final semester of my junior year studying computer science, so I can't offer a professional opinion but I'd like to give you a little insight from an educational perspective.
First of all, the C language is perfectly workable for learning and developing basic desktop applications, but it's definitely a difficult road ahead if you choose to continue in C. I started with C++ before learning Java. The thing to remember is that every programming language out there is designed to do exactly what it's name suggests- write programs. However newer, high level languages like C++, Java, C# and the like contain powerful libraries and less strongly typed language that makes polymorphism, method overloading, and inheritance easier to implement effectively. So I would plan on learning C simply to teach yourself the fundamentals of memory management, variable declaration, and data/control structures. I probably wouldn't plan on doing a whole lot with it outside of that until much further down the road.
Making websites makes use of fewer programming languages and more scripting/markup languages. They are quite a bit different in that instead of developing a control structure, designing objects, and engineering a problem solving approach, you spend more time automating tasks, designing layouts, and marking up text. It's much more design oriented than program oriented.
If you want to develop your own languages, you will need to be familiar with computational theory, language syntax, discreet mathematics, and will need to know assembly language for whatever chipset you want to compile your language to. I'll be creating a language next year, after four years of study covering the prerequisites listed above. Plan on that being way down the road for you.
To sum up: You have a long but rewarding road ahead. If you want to ensure a strong fundamental background, keep up in your math classes and focus on learning lower level languages like C and (structured, not OOP aspects of)C++, maybe look into assembly. If you want to start building programs, look at higher level languages like Java or C# that will allow you to rapidly construct a UI and implement libraries. Don't plan on being able to build anything useful after three months of self study, but do plan on a rewarding path ahead.
Best of luck!