Sunday, 11 November 2012

How To Become A Programmer!

I know that this is a topic that has been covered in quite a few blogs, forums, books etc. etc. but it's a topic that I have been repeatedly asked this question via message on my youtube channel and I've decided that I'm sick of rewriting my answer every time. Wouldn't it be nice to have a list of recommendations on how to start programming? I know that I was very unsure when I started programming, in terms of what language, what IDE, should I learn from a book or the internet and so on. I've been programming for around 9 years now and I like to think that I'm pretty decent at it. I'm also a teaching assistant at QUB so I have some experience with helping beginning programmers. This is a set of recommendations about how to become a competent programmer. Enjoy!!

Pick a language

This is easier said than done and sometimes depends on what you hope to accomplish. The most common languages that are used in the software development industry are C# and Java. In QUB they use Java as a teaching language, I don't personally think that this is the best way to become a good programmer. The problem  with Java (and C# for that matter) as a learning language is that it comes with a huge standard library, when you start programming you do not need these libraries as they are essentially non-transferable skills, they are specific to that language. I always follow the tenant that structure is the most important part of learning programming not the syntax of a specific language. For these reasons I think the best language to learn in is C, since many modern programming languages are based on C the syntax is transferable. Since C is a language with a very basic standard library it forces you to learn more about the implementation of very useful algorithms (searching, sorting, etc.).

In my opinion the best book for learning C is:
The C Programming Language by Brian W. Kernighan and Dennis Ritchie - This is not a book that will teach you programming methodology but it is the definitive guide for the C language syntax

Pick a development environment (IDE)

Integrated development environments (IDEs) are the easiest way to begin programming, they're generally composed of a text editor and a set of tools for developing programs. The IDE that you will use is really dependent on what language you want to learn but I've included a list of common and popular IDEs and the languages they are used for.
  • Netbeans - Free IDE that can be used for a variety of languages but mainly for Java but I've also used it for C and C++. This is available for all popular operating systems.
  • Eclipse - Probably the most popular Java IDE freely available, can also be used for other languages. Includes very good refactoring tools. Available on all popular operating systems.
  • Visual Studio - This is Microsoft's IDE, it's pretty much the best choice if you plan to do any C# development. Although its a commercial package there is a free option available i.e. Visual C# Express Edition. This is only available on Windows operating systems.
  • Xcode - Apples IDE for C/C++/Objective C programming. It is freely available but can only be used on Mac OS X.
  • Code::Blocks - Good cross-platform IDE for C and C++ development. It lacks some features of the other IDEs but is still a very good option.

Join a development forum

I think it is very important for starting programmers to have a place that they can go to if they get stuck. Lots of people get discouraged from programming because they get up to a point and get stuck. One of the best communities around is on http://stackoverflow.com/, they have a huge amount of information and very experienced developers that are always willing to help out.

Start Programming Now!!!

If you want to be a good programmer there is no substitute for experience, you need to immerse yourself in programming. Pick a project that you think would be interesting or useful, e.g. calculator, text editor, pong game… then begin working, you need something that you are interested in or you will most likely lose motivation. I've done very well at university in my computer science course and this is not because of any particular advantage over the other students, but since I started programming I have thrown myself into the subject. Once you do this you will find that you pick up programming very quickly and will have a good time doing it!!

1 comment:

  1. If you don't remember this, your car may be stolen!

    Imagine that your vehicle was taken! When you approach the police, they inquire about a specific "VIN decoder"

    Describe a VIN decoder.

    Similar to a passport, the "VIN decoder" allows you to find out when the car was born and who its "parent"( manufacturing plant) is. You can also find out:

    1.The type of engine

    2.Automobile model

    3.The limitations of the DMV

    4.The number of drivers in this vehicle

    You'll be able to locate the car, and keeping in mind the code ensures your safety. The code can be checked in the database online. The VIN is situated on various parts of the car to make it harder for thieves to steal, such as the first person's seat on the floor, the frame (often in trucks and SUVs), the spar, and other areas.

    What if the VIN is intentionally harmed?

    There are numerous circumstances that can result in VIN damage, but failing to have one will have unpleasant repercussions because it is illegal to intentionally harm a VIN in order to avoid going to jail or calling the police. You could receive a fine of up to 80,000 rubles and spend two years in jail. You might be held up on the road by a teacher.

    Conclusion.

    The VIN decoder may help to save your car from theft. But where can you check the car reality? This is why we exist– VIN decoders!

    ReplyDelete