A step by step tutorial teaching you how to create your own chat client and chat server easily in C#, for local networks or the Internet.
A C# tutorial showing you how to make use of WMI to extract information on disk drives, such as model, capacity, sectors and serial number.
This tutorial will teach you how to calculate the shipping cost based on the weight, height, length and depth of the box, the distance and the UPS service type.
How to start programming
A guide for those who want to learn programming but don't know where to start. It guides you through selecting the right programming languages at the right time.
On Sunday, July 24th 2005 at 04:50 PM
By Andrew Pociu (View Profile)
(Rated 4.5 with 40 votes)
This guide is for you if...
This guide is not for you, and in fact programming is not for you, if you want to become a programmer just because it is a well-paid job. Software development is not the kind of thing you learn overnight. To get a well-paid job you need a nice résumé plus years of experience. That's why there is no one month course on how to program. Programming is more like mathematics where you need to exercise continuously. Don't be scared, even if the high school's mathematics left you with a trauma, you still can be a good programmer without any vast knowledge of mathematics.
I ask myself this question all the time. Even if I would love to say that I'm a programmer with over 20 years experience, I'm not. In fact a few years ago I was in the same position you are now - in front of the computer... not knowing where to start. As a side note, if this sounds to you like one of those 'Learn how I lost 20 pounds in a week' guide, it's not. I don't have a 'before' and 'after' photo of me.
Concerning my programming experience - look at the good part - maybe it's better to get advice from someone who was recently in your position than from someone who started to learn programming 20 years ago.
Some programmers reading this may not agree with my guide. They might say something like: it's better to start programming with Java and then continue with C++. However, each person has a different opinion, you can't satisfy all.
Enough about me.
Are you too old?
Well, it depends... not so much on the age but on your ex-profession. I believe that if you are asking yourself this question you are over 25. If you are... let's say... a 30-year-old sales manager with a degree in marketing and a nice salary. In this case, at this age and with no prior experience in software development, I don't quite see you as a lead programmer at a software company. Of course, it all depends on your will and power of learning at that age. Don't quit your job, because you won't get a good job without continuously programming for at least 2 or 3 years. The best way to see if you can still learn and programming is for you is to follow step 1 and 2 of this guide. It won't cost anything, just a little time spent for learning something new.
Are you too young?
You're never too young in my opinion. Start programming while you're in the elementary school and chances are you're going to become a highly skilled programmer. Sixteen is also a good age to start learning.
Programmers and other geeks are known to have less interest in their social life. It's not all true, we have a social life, only it's mainly based on the internet. As a side note, I'll mention here that you need a permanent internet connection at the computer you are learning. You will permanently ask questions - how to do this, how to do that, why is that so, why is my code not compiling - and the only place you'll get some good fast answers is on the online community of programmers.
The main cost of learning to program is time. Fortunately this isn't wasted time - time spent for learning something new is never wasted. If you wanted to become a good programmer in a couple of years you'll have to spend at least 6 hours a day, not necessarily programming without any break (unless you're not human) but also spending time on some programming forums, newsgroups where you can gain experience.
You saw thousands of websites until now, but you didn't bother to find out how their done. Dynamical websites are created using programming languages like ASP .NET, PHP or JSP. No matter in which language they are written, they all end up being HTML pages. I'm not going to explain why and how because you'll learn later when you're going to have to learn one of these languages.
HTML is not really a programming language - it's a mark-up language. You are probably thinking now - I want to program, not to... mark-up, why do I have to learn HTML? Moreover I don't even want to make websites, I'm interested in software applications.
In conclusion, first learn HTML. HTML is really easy to learn and in a few days you should be able to make some simple web pages. However remember, the programming languages you are going to learn - they are nothing like HTML, because (I repeat), this is a mark-up language.
Also before recommending you any book or online tutorial I should tell you that there is also something called CSS, which you'll often hear about. Almost any HTML book will also cover CSS - I'm not going to describe you what it is, I'm just going to tell you that it's good to know CSS as it's very easy to learn and you'll surely need it if you want to make some nice looking websites.
One more thing: XHTML is almost the same as HTML, actually, it's a newer, stricter version of HTML. There's no big difference, if you learn HTML then it won't take you more than half hour to understand XHTML.
If you are really cheap you can learn HTML on the web. There are plenty of tutorials to choose from. Here are a few selected by me:
HTMLGoodies.com - Check out the HTML primer, it will put you up on writing HTML immediately.
W3Schools.com - Along with many other tutorials they have a well formed HTML tutorial and a nice CSS tutorial which are both useful also as a reference.
These are places where you can discuss HTML and ask questions:
Experts-Exchange.com - Experts Exchange is the place where you can ask questions and expect an answer in the next few minutes. Highly recommended.
HTMLForums.com - Here is a very active forum that discusses different HTML subjects and compatibility between browsers.
Most programming languages, even if they differ in syntax they have a similar concept. For example in almost any programming language you'll encounter variables and loops.
So when you're going to learn the loops in PHP (in the next step) it won't take you more than 5 minutes. It's like driving a car. You learned how to drive on a SAAB and now you're moving on to a Cadillac Escalade. You'll get accommodated fast because you already know what's important: how to drive.
Perhaps you'll end up being a programmer in some .NET Framework language like C# or Visual Basic .NET which is fully object oriented... so there's no way out. Even if you'll go the C++ or Java way... no one will hire a programmer that has no object-oriented programming skills.
CodingForums.com - Great forums for web developers.
Geekpedia Forums - You are always welcome to our forums at Geekpedia.com.
You may fall in love with this duet. PHP and MySQL makes a very nice couple with which you can create interactive websites like Geekpedia.com. Many scripts like vBulletin, phpBB, phpNuke are written in PHP and use a MySQL database.
While you learn to program PHP and to handle a MySQL database, you may decide to go for developing websites and other web applications. It's your decision, the next step (step 4) is the last one, and there I'll show you how to go for both ways, the web applications way or the windows applications way. So beware, PHP can be rather addictive.
While you learn PHP you will get deeper in programming therefore you'll develop new skills and experience. MySQL will be your first contact with a relational database, and no matter if you'll end up doing web or windows applications, you'll often encounter databases. In addition, it's a good introduction to Structured Query Language.
If you really like to program you will make some websites, perhaps some forum scripts or content management systems powered by PHP and MySQL. I encourage you to do that, a good programmer is a programmer with experience.
There are lots, lots (!) of tutorials and scripts for PHP & MySQL on the web. Here are just a few:
HotScripts.com - HotScripts is a major resource of tutorials and scripts for different scripting and programming languages. The PHP category is well organized and it contains tens of thousands of scripts and programs.
PHP.net - You will often find yourself coming to this website, as it's the official website of the language. A great reference.
PHPBuilder.com - A community of PHP programmers with PHP articles and a rich code library.
DevShed.com - DevShed offers you professional articles on web development subjects and of course PHP and MySQL.
These are some places where you can discuss PHP and MySQL and ask questions:
Experts-Exchange.com - You'll get some professional answers to your questions here.
ProgrammingTalk.com - ProgrammingTalk.com has an active forum named PHP & MySQL that you can join.
DevShed Forums - DevShed also has a big forum where you can get answers to your questions or discuss PHP & MySQL development.
Geekpedia Forums - You are always welcome to our forums at Geekpedia.com to ask your PHP questions.
This is the last step. This is where you choose what kind of programmer you want to become.
Mainly there are two options - web applications Windows applications. That is: you either make websites, web services and work with technologies like SOAP, or you make software applications (perhaps for the Windows operating systems). Of course you can always do both. Actually in the communication era, it's good to know a bit of web programming even if you're planning on making offline software applications, so you'll get the chance to work with web applications a bit.
In this final step, you can choose from programming languages like C# (C Sharp), Visual Basic .NET, Java or C++. Personally I recommend you to go with the .NET platform (C#, Visual Basic .NET), but instead you might like Java. It's a matter of taste. Don't go with programming languages like Visual Basic (the old one, not .NET) as they are obsolete.
If you go with the .NET platform, you can learn both the main languages: C# and Visual Basic .NET as they are similar because they are part of the same platform. Also, if you choose the .NET platform you can choose from Web Applications and Windows Applications, or both (as I said earlier). If you choose Web Applications you will be more interested in Web Services and ASP .NET.
Java is similar to C#. You can try it, maybe you'll like it more. Also, you can try J#, Microsoft's version of Java.
In conclusion, at this step check the characteristics of the .NET programming languages and compare them to Java or C++. Programming languages don't quite conform with "one size fits all", so you'll probably love a language and dislike another.
Learning one of these languages isn't enough, you also need to learn technologies like XML. Also you'll need to know how to work with databases like SQL.
Before I move further I should tell you that I'm going for .NET, and because I have more C# knowledge than Visual Basic .NET or some any other language, I can only recommend you books on C#.
Recommended books on C#:
After reading this and some other books on C# I believe you are getting ready for the MCAD exam. MCAD is a certification from Microsoft for .NET programmers. Here is more information on MCAD.
Preparing for the MCAD certification:
Along with all the books I recommended at step 4 you will have to read more. Even the MCAD certification implies an XML Web Services exam, so you'll have to read some XML books and then get accommodated with Web Services. If you are curious to see some examples of web services, there are some tutorials at Geekpedia. One shows you how to use the Google Web Service and another how to use a Geo IP web service.
Good luck with your career!
|Digg It! Del.icio.us Reddit StumbleIt Newsvine Furl BlinkList|
Rate this tutorial
There are no related tutorials.
Related Source Code
There is no related source code.
General Job Search
From the creators of Geekpedia, a revolutionary new coupon website!
BargainEZ has coupons codes, printable coupons, bargains and it is the leading source of Passbook coupons for iPhone and iPod touch devices.