Learning a New Programming Language Part 3: Syntax Differences - A Few Words About C and C related languages
(Page 5 of 7 )
The power of the C and C++ languages and, indeed, most compiled languages, is that you have control over every bit and byte. The disadvantage of C and C++ is that you have control over every bit and byte. There is a lot more to know and a bigger chance for error.
The reason that so many C++ and Objective C programmers suggest learning the ins and outs of C first is that, when you learn C++ or Objective C, there are so many additional concepts to learn that learning about pointers, typing, structs and other C features at the same time can be a little much.
Don't overload yourself. If you know a C like language like PHP, you may be further along than others, but you will still have a lot to learn. Get a book on C, carefully go through the examples, and have patience.
Deployment
The software needed to develop in different languages varies widely, and may require anything from a simple note pad type program or command line text editor coupled with a compiler or interpreter application, to a full blown IDE (integrated development environment) and special runtime requirements.
In addition to this, there are different development platforms within certain languages. J2EE, for instance, is a very popular Web and enterprise Java application platform. J2EE skills are very much in demand these days -- in fact, there is some indication that it is beating Microsoft's .NET in market share. Learning Java beans and servlets is a whole other adventure. There are hooks into Java from a number of other languages and development platforms as well.
Mono (http://www.mono-project.com/Main_Page) is an open source implementation of the Microsoft .NET framework. Unix developers can use Mono to develop and deploy applications in C#, and use many other .NET features
There are several GUI toolkits, including GTK (http://www.gtk.org/) and QT (http://www.trolltech.com/) that provide a way for PHP, Perl, Python, TCL and Ruby programmers to develop full desktop applications.
The Mozilla Foundation (http://www.mozilla.org/) continues to evolve the Mozilla application framework into an excellent development platform. The Mozilla platform is based around an XML based GUI description language called XUL (pronounced zool) that uses Javascript for most of its functionality.
When Javascript goes fully object oriented and a runtime separate from the Mozilla browser becomes readily available, it will make an excellent development platform for a number of applications.
If your interests lean towards multimedia, Flash is becoming more and more of a Web application platform. Macromedia (http://www.macromedia.com/), recently purchased by Adobe, has its own XML-based GUI description language called Flex. Lately, Macromedia has been responding to the needs of developers who wish to use Flash for more than the animation features for which it is best known.
Multimedia fans might also try out SuperCard. SuperCard (http://www.supercard.us/) uses an easy to learn scripting language called Supertalk. SuperCard in some ways is better than Macromedia Director for authoring multimedia content. Sadly it isn't cross platform, but if your target is the Macintosh platform and you have perhaps used Apple's HyperCard, you'll love SuperCard.
Macintosh and Windows developers may also want to check out Real Basic (http://www.realsoftware.com/). Real Basic is a good alternative to Visual Basic, and is the best Mac Basic solution available.
Next: Let the Parrot Speak >>
More Web Hosting How-Tos Articles
More By Chris Root