Go Back   Champions of Regnum > English > The Inn

The Inn A place to gather around and chat about almost any subject

View Poll Results: What language is better?
C 9 64.29%
C++ 5 35.71%
Voters: 14. You may not vote on this poll

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Old 08-08-2008, 06:05 PM   #16
magnet
Count
 
magnet's Avatar
 
Join Date: Jul 2007
Location: France
Posts: 1,416
magnet is on a distinguished road
Default

Quote:
Originally Posted by Solarus
First ask yourself what you would like to do when you complete schooling. Just saying "I want to write software" isn't going to cut it. Your answer will dictate what you should learn first.

Once you learn any language, learning others will come easy but you need to make sure you have a decent mastery of the language used in whatever you wish to do when school completes.

Let me give you an example of statistics from the USA.

If you do a search on monster.com you'll find that currently nation wide there are about 1000 jobs that use python, perl and the like. There are over 5000 jobs posted that use C or C++, over 5000 jobs that use Java, and over 5000 jobs that require knowledge of Linux platforms.

Not sure what country you are from; however, I would concentrate of the fundementals of C/C++ on a *NIX platform. Then pick up other languages on your own. Truly using C/C++ can be complicated so having an instructor available is EXTREMELY useful. Other languages like python, perl, ruby, etc are a walk in the park.

I do this professionally and I spend alot of time as a professor for software applications and programming. Look at what the market needs and hone your skills accordingly. Otherwise, you'll be an out of work hack....plain and simple.
I totally disagree. The guy is a highscooler. He is planning on going to the uni next year(s). For now the best thing for him is to stay away from technical details and learn programming with languages that help rather than languages that hinder.

Python will do just that, allow the user to think on the problem at hand rather than on whether the compiler will yell at a forgotten semi-colon with a totally unrelated error.

C++ has the bad habit of exposing way, way too much to the user, and giving him too much control. The subtleties with plain old data object, pointers, references, the lack of proper template support (export), the linking process are too much to handle for a beginner. He has to focus all on the language itself rather than on programming. C++ tries to cover the whole tower, from low level to so-called high level, whereas the proper approach is to use different bricks made in different languages, all less complicated and more appropriate to the problem. There is no unique language for all problems, just like there is no unique solution for all problems.

As a computer scientist I really don't recommend C++ for any task except very very specific systems -- and even then you should just write a component in C++ and use another language through bindings.

You talk about the market for programmers, but the guy is just a highschooler, there are at least 3 or 4 years before he starts programming professionally. You will see that the demand for C and C++ programmers will decrease in that time, and Python and Java programmers will increase.

As I said earlier I don't think Python is perfect, very far from it, but it is awesome for learning, and for small projects.

C, on the other hand, is a language that every programmer should know. It is very simple and elegant, however the concepts involved, once again, which are low-level details are totally useless to the beginner. Any half-assed Python programmer will at some point have to program in C to make a fast Python module using C anyway; and Python mimics most of the C library, then wraps it (Guido Van Rossum and other Python devs are C fans).

However C is easy to learn if you have to focus only on the language rather than on the problem. C++ is very hard to learn as a language. I have been using it for years before, and I was in the ##c++@freenode help team; most questions we received show that most self-proclaimed C++ programmers don't master the very language they work with daily. As a matter of fact I used to be a C++ enthusiast, I loved the challenge of fighting both with the problem and the language, having the total freedom C++ grants to the programmer, using all features like changing memory handling routines (new operator) or defining operators as methods to give a nice look to the library (ha, an old SQL wrapper I made to make queries using a thread-safe ostream wrapper I made, with start transaction, callbacks and commit objects) etc. But this isn't programming, this isn't useful, this is obfuscation and really sane people should stay away from it .

Regarding Eli's post and C# vs. Java, I just think that the 30% of goodness of C# justifies the lack of portability (because most C# programmers will not care about Mono and use unimplemented features and libs), and the lack of a global patent protection over C# implementations. Sun is moving towards making the JVM the "Sun VM" and more languages are being implemented, just like the .NET platform. Already available are Python through Jython, Scala (an awesome language that buries C#) and I'm sure more are to come. And the whole stack is going to be Free as in Freedom. The problem here is ethical/political, I just wish people didn't drink Miguel de Icaza's kool aid.
__________________

Last edited by magnet; 08-08-2008 at 06:18 PM.
magnet no ha iniciado sesión   Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:25 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
NGD Studios 2002-2024 © All rights reserved