Sunday, August 2, 2009

What's the point of learning other programming languages than C and C++?

It seems all the major libraries are supported by C and C++. Most of the worlds most advanced software is built upon these languages. Even other programming/scripting languages have been built on C and C++. Isn't learning other programming languages kind of redundant? I mean I can understand the need to know HTML, but I'm talking about things like Ruby, Visual Basic, Delphi, Python, .NET, C#, etc.

What's the point of learning other programming languages than C and C++?
just like there are different types of tools (sizes of hammers, types of screwdrivers) programming languages may accomplish the same thing, but in different ways.





java has the ability to run on multiple Operating Systems, so that's a huge plus for the language (c++ is not so portable). It also contains libraries to make UI programming much easier.





scripting languages (perl, python, etc) make it faster to create apps, with no need to compile.





to sum it up, certain languages are good for certain things.





need to write an embedded app? use C/C++.





need to write a graphical app? use c# or java.





need to write a app to parse a file? use perl.





Once you've got a few major languages in your 'toolbox' you can decide which one to use.
Reply:Its true that C and C++ are the most popular, and most programs are written in C, but it's not necessarily the best tool for the job. You can do a lot with Visual BASIC and it's much easier to learn, and I think easier to use. C was originally meant to be for operating systems and other software 'close to the machine'. It's a low-level language. At one time this gave you an advantage in speed and 'elegance', but these days I don't think the advantage is as great as it once was.





I used to write programs in Delphi, this was years ago so things might be different now. I rewrote some parts in Visual C++ but they were no smaller, ran no faster. If I really had wanted C++ to be faster I could have done some optimizing, but I didn't want to take the time, I had a customer waiting to use the program and it already met or exceeded his expectations and requirements.





Also C++ is not an easy 'first language'. At the college where I took classes in C, you needed another language as a pre-requisite. In other words, you learn -programming- then you learn the C language. Most people, their first language was Pascal. In fact in the C class we wrote pseudocode before we wrote the C code, and the pseudocode looked just like Pascal!





Also many of those major packages also support Delphi and Visual BASIC, especially for Windows.
Reply:C/C++ are indeed very popular and I'm fond of them, but now that I've been working with java I probably wouldn't go back. Java is more object oriented than C++ is and it can help to keep the maintainability of the code.


Some other languages (even if you don't plan to program stuff in them) are good to learn because it will help you to write better code. Example might be Haskell. Although directly you cannot use knowledge of Haskell when doing C programming you'll learn a lot about recursion, lazy evaluation etc.


Btw learning C# isn't all that bad, because Microsoft plans it as developement language for windows platform (although I don't quite like C#, microsoft or windows :) )...


Python and Ruby are great scripting language so if you are using linux you can write great scripts with it. Besides that Ruby and its framework Rais are somewhat popular these days (Call it a hype if you will)...
Reply:some languages are more efficient and more specialized at writing certain types of programs. learn all you can.
Reply:It's true that C/C++ are probably some of the best languages to learn right off as many other languages look very similar to them syntactically and may be similar in other ways.





Still, each language brings with it its own benefit. Java is good to learn because it's so widely used and has obvious benefits when it comes to platform independence as one example.





In the end, we learn different programming languages not because we might find something particularly unique or exciting about a specific language, but in many cases because a particular industry might use that language or because we're dealing with a project that was written in that language and it makes more sense to fix the current code than to rewrite it.





I'm definitely a C guy myself. I feel most comfortable with it, can do most anything I want to do with it, but there are some really nice aspects to Java that make me like that language too.





If you want to be as marketable as possible to employers you should take the time to at least be able to recognize many different languages, it'll serve you well down the road.
Reply:I personally am a big fan of C/C++, particularly for its speed and endless possibilities. But then comes the specilization aspect. Say, for web programming, using C++ would be tedious and would require lot of programming. On the other hand, something like php which is built for the purpose would do the same job in 5-6 lines. Specililzation is the aspect.
Reply:C++ is an excellent language. However if you want / need to create an application quickly, you should learn a simpler language. C++ is sometimes inconvenient because there can be a lot of coding involved in creating something relatively simple. Other languages can do what you want to do with C++, but much easier. The only language I currently know is C++, but I'm gonna learn Visual Basic in school next year, then I'll consider myself well-off.
Reply:Visual Basic is a lot easier to learn than C++ and can operate more easily on lesser code.
Reply:C and C++ are pretty high level, advanced languages. I know, as a programmer, I don't want to use a complex language for a bunch of simple applications I write. Those languages were implemented to make application developement faster and easier.


No comments:

Post a Comment