onlysose: Most web developers including those that use GUI like dreamweaver, HTML pro have HTML basic, as such they are programmers. HTML is a high level progamming language. They also play around with scripting Languages most especially client side scripting languages. If you go through the undergraduate curriculum for software engineering you will find out that a software engineer is a programmer that iss some how an achitect, cos programming is one aspect of software development
Below is a caption of of a publication I will want you to go through.
Now, to the ultimate IT skill, programming. It is a very old IT skill. In fact, it makes everything happen. The first programmer in the world is a lady called Ada Byron, her work is the first intended algorithm to be processed by a machine. She foresaw the ability of computers to go beyond mere calculation or number crunching. Everything you see is some sort of codes, I mean programs, and I mean software. If the internet is a car, then software is its engine. The business world has plenty to lose if software fails. When software fails, millions of dollars are lost and sometimes people are killed. It is like this; functions makes up commands, and commands makes up programs and programs finally makes up software. Therefore, if you have a degree in software engineering, you should be conversant with some programming skills like Java, C/C++, HTML, Perl etc.
Programming can be very difficult, but also very rewarding. It is the highest paying and time consuming IT skill. I will never forget how happy I was when I compiled and ran my first COBOL program in Zaria in 1996. I started programming in Dbase and now I am into C/C++ to enhance my security skills. Now, how you go about your programming career is the big issue you will have to deal with.
The major goal of any programming language is to bridge the gap between the programmer's brain and the computer. Most of the popular languages you've probably heard of, like C, C++, C#, and Java, are considered high-level languages, which means that they're closer to human language than machine language. What I mean is that you write source codes that looks like English, then you run it into a program that outputs 0s and 1s that the CPU understands. It is important to note that you can program in high level, middle level or lower level language. The High Level Language is a machine-independent, sophisticated programming language that uses familiar English (or any human language) like syntax. The lower level language as I said is a machine readable language, while the middle level language can only call functions and it shares both attributes of the higher and the lower level language. Compilers translate High Level Language to machine readable language. Also, you can program with either object oriented or non-object oriented program. What is an Object Oriented Program? Programs are usually made up of objects. In a non object oriented program like FORTRAN which is still in use today, the programs are executed in a highly procedural manner( step by step) i.e from A to B to C to D and so on. In an Object Oriented Program the objects can interact irrespective of hierarchy, one can get from A to D without passing through B and D. The business world is object oriented. In Nigerian institutes of higher learning, students of computer science begin with BASIC and FORTRAN. In the UK, students are introduced to Pascal in their first year. All these languages teach you the basics of programming that helps you understand how to think while programming in any language. However, with line numbers, GOTO commands, etc, in these languages, it does not encourage structured, modular programming like Perl, Python, and C.
When venturing into programming, I always recommend C. It is about the best language to learn how to program. In addition, it is incredibly powerful (the fact that almost all exploits and low-level handling is written in C is a proof). Besides, you need to learn the issues that come along with writing in a language like C. Perl and Python are great, but I think they are too high level. They take away many of the important decisions. You do not need to think about data-types too much. Therefore, Python will provide a quick learning curve with real results for less time invested.
Python also has an ordered way of doing things, so it will teach discipline.
Python can be scaled for larger projects and has good community support. This means, it will be a language that is versatile. Despite that, C is the choice because it appears fundamental to many other languages and it is a lot more "pure" i.e. in handling memory better. However, this is at the cost of the speed of development. Start with C and every other thing is easy.
The argument of which programming language to start with or stick to is a never-ending one; be it C, C++, java or Python. Python seems easy, powerful and well documented. Python, PERL and PHP as I said earlier are the kind of languages that you can stick with and play forever, making all kinds of useful apps and interfaces. The great thing is you see fast results. Just as soon as you read a couple of pages describing the basic syntax, rules and constructs, you are ready to go (by referring to the function list for whatever you need of course). Mistakes often do not bring punishment and you need not to be concerned with some of the behind-the-scenes stuffs, like the memory allocations etc. Of course, let us not forget that some real developers bother with these to allow us to work without them. That is the difference between C and scripting languages. With C, you get to see things the way they actually work on your computer -better even, make them work yourself, while in Python for instance you only mess with things that appear more directly functional and practical. Depending on one's interests and needs, he might find the extra control of C exciting.
If someone gets seriously involved with a powerful high-level language that provides the wanted results with small effort, it is easy to get used to it. However, I still stick to my recommendation - start directly with C, because other languages may spoil you enough to stay away from C later on. Moreover, if you are a very ambitious person, then start with C/C++. However, if you are the mere play code type, start with Perl. Perl is fun, and for someone just starting to get their feet in programming, you are less likely to get discouraged when some odd error keeps your first few programs from working. In addition, it is hard not to stay interested when you go on CPAN and see a module that is easy and fun and allows you to connect and use IRC. Even a beginner can boast of some skill, and then you start learning because it is fun. Then, later you can move to C/C++.
The .NET platform is a collection of technologies that allow Microsoft applications and programs to work together. With the exception of Windows 95 the .NET framework runs on all Win32 operating systems. The .NET platform is totally standardized in the sense that you can write an XML application in Java and my C# can read the XML generated. Before the .NET era the VB programmers where greatly hindered compared to C++ programmers. The languages involved in the .NET platform are: VB .NET, C#.NET, J#, ASP.NET, and even Cobol.NET, Pascal.NET etc. All these Languages have the same access to the .NET class library i.e. mostly what VB can do C# can also do. ASP.NET is a mixture of C#, HTML and server control syntax for ASP. Visit msdn.microsoft.com/Netframework for more information.
Here are programming tracks using Microsoft platforms, you can Google the codes.
070 536 + 070 528 + 070 547 = Microsoft Certified Professional Developer
070 532 + 070 526 + 070 548 = Microsoft Certified Professional Developer (Win Apps)
Enterprise Application Developer
070 529 + 070 536 + 070 526 + 070 528 + 070 549 = MCPD
Java was introduced in 1995, and .NET is Microsoft's response to the Java phenomenon. Microsoft has jumped headlong into the mobile code fray with their .NET framework, as .NET architecture has much in common with Java. One major difference is a smaller emphasis on multiplatform support. However, Java introduced the world to mobile code and modern network-centric software design. Java is also another good object oriented programming that is platform independent. Java is an extremely powerful full -featured object oriented language which is platform independent i.e It can be written in Windows and run Unix. Just about any business application can be written in Java which includes: database applications, games applications, web based applications, mobile applications, server-side applications etc, but, I am afraid to say this –Java is very difficult to learn. Java is free and can be downloaded from:
The various flavors of Java technology are:
J2SE- Corel Desktop
Java Web Service
Also, Java language is written tightly to avoid malicious intent, because when you have a java applet executed in an environment there is going to be what we call a sandbox environment created, that is that applet is going to be restricted to the resources within a certain limitation of that environment, unlike some other programming languages that will allow control over a whole device once it is being executed in a particular environment. C and C++ have out-of-date memory management capability and technically speaking, C and C++ are "unsafe" languages because the seething sea of bits can be referenced, manipulated, cast, and moved around by the programmer with impunity. More advanced languages, including Java and C#, are "type safe" and are for this reason much preferred from a security perspective.
Recommended learning paths for Java Certifications
Java Programming Fundamentals and Application Development
Learning Java with Minimal Experience - Sun Certified Java Associate
Java Programming for Professionals - Sun Certified Java Programmer
Java Application Development - Sun Certified Java Developer
Java Mobile Applications Development - Sun Certified Mobile Application Developer
Web 2.0 Technology
Enterprise Application Development with Java EE6
Sun Certified JavaServer Faces Developer
Sun Certified Servlet and JavaServer Pages (JSP) Developer
Sun Certified Java Persistence API (JPA) Developer
Sun Certified Enterprise JavaBeans (EJB) Developer
Sun Certified Web Services Developer
Enterprise Application Development with Java EE 5
Sun Certified Business Component Developer
Sun Certified Developer for Java Web Services
Sun Certified Web Component Developer
Enterprise Architecture - Sun Certified Enterprise Architect
Another important aspect of programming is called music programming. When computers became prominent part of our lives, people try to make music with computers using assembly languages, later on programmers started using FORTRAN which is much more portable to create music. These days people use ChucK ( watch the spelling) programming language to create music instead of assembly language. ChucK is a concurrent, strongly timed audio programming language for real-time synthesis, composition, and performance, which runs on Mac OS X, Linux, and Microsoft Windows. It is designed to favor readability and flexibility for the programmer over other considerations such as raw performance. Assembly language is a low-level programming language used mostly in the early 1950s. It can be used to write viruses or device drivers. Do you remember Atari games, Sega and Super Nintendo? Assembly language was used to create their games.
We cannot just pick which is good or best programming language. Every programming language got its own importance and benefits, so it depends upon the requirement and its usability, functionality and robustness. You can stick to one or two for dynamism and you are in business. These days, you can make as high as $500,000 for a custom built software for a financial institution excluding training and cost of maintenance which is usually charged per person-hour.
visit www.easyebooks.org for more info
Aliyu Ahmed Ahmed
Up zaria programmers. I started my programming in ABU, zaria about the same time as you. I sure we must have crossed paths some where. Nice one