I started programming on my TI calculator in BASIC. That was a simple language that taught me all those huge problem solving concepts that arcitex was talking about. From there I moved into HTML/CSS/Javascript. My first real programming language was Java, and I had an advantage of teachingmyself
TI-Basic and learning how to solve problems using a programming language.
From there I taught myself C# (almost the same as Java). My mistake at this point was looking at the eoserv source and trying to understand it without any knowledge of C++. Learning a new language may be easier than learning programming concepts, but that doesn't make it an easy thing to
do(especially without looking up any tutorials :D). I just finished a year of C++ at a college level and we did some pretty advanced stuff - and I still don't know enough to fully understand the eoserv source.
If you don't feel like reading this huge block of text skip to the tl;dr.
At this point I'm going to describe what I know about a few languages and let you choose. You can google pretty much anything and come up with an answer to your question in a number of languages. I'm going to flag each language as script, function based, or class based. Script means its
alanguage that executes a script. Class based means it uses programming objects called classes to do most of its execution. Function based means it uses programming objects called functions to do most of its execution.
These are my opinions, so depending on what you choose you may have an easier/harder time with these languages.
C++: Function based. Gives you more power/control over your computer, but also a lot of responsibility to write efficient programs. It's not that hard to learn basic console output/syntax but advanced topics (data structures) can be difficult to understand.
Java: Class based. Gives you a good understand of class objects early on because that's how the language is organized. Very useful for web development/easy cross-platform, but not much else. Basic output/syntax are a little easier than C++. Designing GUIs (actually creating the GUI by
handinstead of having an IDE do it for you) is very simple.
C#: Class based. The syntax is almost exactly like Java, but this language is very powerful and gives you a lot more options. You can create Windows GUIs using Visual Studio with little to no experience with C#. I've never worked with console output using C# because its much more useful
forcreating GUIs.
PHP: Script/Function based. A lot of PHP syntax is like C++, but understanding what you're doing is much simpler than C++. PHP is used for web development on the server side. The script executes on the server and sends data to the client's web browser. This is a good language if you want to
workon understanding web-cp, and also very easy to understand.
If you want to create games, you have a couple options. Allegro (as desmond mentioned) is a game library that you can use once you know a decent amount of C++. The XNA game studio is a library created by microsoft for use with C#. Both have their pros/cons. I prefer Allegro because of thecontrol
over the computer C++ gives you. Others prefer developing for platforms like windows phone, zune, xbox; which is possible only with the XNA game studio.
One final thing to consider is the use of a garbage collector. A garbage collector basically cleans up your mess when you're programming. C# and Java both have this, making it much less of a headache when programming. However the result is increased program execution times (more overhead).
C++doesn't have a garbage collector, making it more of a headache but much more efficient.
tl;dr: C++ allows you control over a ton of the computers functions. You have more control over the way you handle the memory usage (which is huge). Java/C# give you less control but both have their own practical applications. PHP serves its own purpose completely and in the case is
probably thebest starting point (IMO).
---
class EOSERV {
Programmer | Oldbie
Open source EO Client: https://github.com/ethanmoffat/EndlessClient
};