By this stage, you should know XHTML, DHTML, how to work with the DOM, and be fairly proficient in JavaScripting. But there’s more!
Server Scripting means you write a program that sits on the server and writes the HTML to order. One of the benefits of this are that you can now attach a database to your website. This means you can make a website with user logins and profiles, user uploads, like pictures and MP3’s as well as dynamic information like train times. Server scripts can also send out emails.
Using server scripting means you can even have images watermarked and thumbnailed automatically. Now you’re moving deeper into the world of web development and programming.
A free and incredibly popular scripting language is called PHP, and a free database you can attach it to is MySQL. You should learn how to use these properly.
In order to work with PHP and MySQL, you’ll need to run server software on your computer. There are loads of ways to do this, but a simple and easy way is to download and run XAMPP. This is the incredibly popular Apache Server software running alongside MySQL database and a PHP compiler. It comes with the Mercury Mail Server, which will let you send emails. If you have a mail client like Outlook Express, Windows Mail or Thunderbird you can set it up to test your mail scripts.
Once you have XAMPP installed on your computer, you can start learning PHP. A PHP file is just a text file with the .php extension (eg index.php), so you can make it in Notepad.
The W3Schools and Tizag are good places to start. Both of these will teach you how to use PHP for mailing, creating and accessing SQL databases (like the free MySQL) and mathematical calculations.
Any time you get stuck, you can go to the PHP website itself, or join one of the many web development forums for advice. Remember to search for the answer first so you don’t end up annoying everybody!
Now your programs will be getting bigger and bigger, it might be a good idea to give Notepad a miss and download Notepad++. It’s bigger, better, allows you to have multiple files open at once in handy tabs, and colour codes all your text so it’s easier to work with and spot mistakes like tags that haven’t been closed properly. Also, it saves your tabs when you close it so if you have to leave in the middle of a complicated project you can return to it without fuss.
If you’re serious about learning programming, it’s good to get into other programming languages. Some of these are:-
Python – named after the 70’s comedy team, Monty Python, this is an incredibly versatile language. It’s not just for websites, you can write Windows and Mac software with it too. It’s also really easy to learn (there’s even an online book for kids to learn Python!) but incredibly powerful.
Ruby on Rails – this is an incredibly efficient and powerful system for server scripting and database access. It’s based on the Ruby language and is popular with people who have huge complicated websites.
Perl is a language that, while it can be tricky to learn, is extremely efficient. It’s used in a huge range of applications, both on and offline. Learning Perl will be good for you, even if you never use it…
C (and all it’s variants) is considered to be THE programming language. With C under your fingers, you can write anything from server applications on websites, to operating systems themselves like Linux. You should at least attempt to learn C. It’s tricky, but there’s so many people using it it’s hard to go wrong.
Not just languages, but methodologies are important for the professional programmer. There are hundreds of methodologies, but one of the most important right now is called Object Oriented Programming, or OOP. This breaks up the program into “objects” which can be shared and reused making programming huge pieces of software a lot easier.
However, by reading about a few different methodologies and programming techniques, you will make yourself a better programmer all-round. If you need to edit an old or second hand program, it will make you much more adaptable.
I’m not going into detail here, because the purpose of this blog is to help you find information for yourself and tell you what to Google for rather than teach specifically 🙂 This is better than just one tutorial.
You could look up SSADM and Extreme Programming for an idea of various approaches to programming. The hacker community is built around various philosophies and ideals which will prove valuable to adopt, such as efficiency and the desire to solve problems in general.
“Hacker” in this way does NOT mean breaking into systems, it just means expertise in programming. Programmingy type people use the term “Cracker” for that. Of course, a hacker can be a cracker and vice versa, but not necessarily. In other words, a hacker is likened to a car mechanic who can fix and build cars, and cracker is more like someone who can pick a lock and hotwire a car.
There is an excellent book online that deals with the Hacker mentality and history of the terminology and techniques. You should read it if you want to become a programmer. It’s called “How to Become a Hacker”. Enjoy!