|
|
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 |
08-08-2008, 06:05 PM | #21 | |
Count
Join Date: Jul 2007
Location: France
Posts: 1,416
|
Quote:
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. |
|
08-08-2008, 07:33 PM | #22 | |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Quote:
Python is perfect for small projects and games. Java is awesome in portability for small apps. You can even use both of them to write net apps, and the deploy would be just "download and run". I'm not a programmer, just a beginner, but I can say that Java + Python (I still have to master the latter) are perfect for my needs. As a side note: once you learn to program then you can use any language. Hey, lisp is not that difficult once you get it. Oh, and once you learn the sintax of any c-like language, then it will take you just some weeks to switch to other c-like one.
__________________
I don't have a solution, but I admire the problem. |
|
08-08-2008, 07:48 PM | #23 |
Count
Join Date: Jun 2007
Location: Jippy's Mom's House
Posts: 1,286
|
Sorry, misunderstood...thought he was in college. If that's the case.....learn whatever you want because by the time you get into college the workforce may have changed drastically....you never know.
However, if you only want to be an application level programmer then yes....python, java, etc will be great. If you ever want to do operating system, device drivers, or system level engineering then lower level languages is what is needed. I myself live in C, use perl for scripting, and make portable GUIs using PHP and XML. Previous job I wrote ColdFusion and Java....
__________________
Compost (60 Hunter) Alsius Compoundious (Dead and gone...) |
08-08-2008, 09:31 PM | #24 | |
Count
Join Date: Jul 2007
Location: France
Posts: 1,416
|
Quote:
Anyway, I'm answering to the problem at hand. A beginner should stay away from C and ASM. And as an hobbyist, I would enjoy Python and its ability to make real, live applications much, much more.
__________________
|
|
08-08-2008, 10:11 PM | #25 | |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Quote:
__________________
I don't have a solution, but I admire the problem. |
|
08-08-2008, 10:30 PM | #26 |
Apprentice
Join Date: Jun 2007
Posts: 73
|
I personally think the less resouces you have,
the more you should swich to lower level languages. Just use what solves the problem most elegant and efficiently. You don't need to be portable, if you sell a whole product. Mono is in a really good state. If you work in a very small team you got to be flexible in terms of languages. Edit: If you like stuff like this, welcome to c ^^. Code:
void UartPutPackage(void *data, unsigned char len) { unsigned char i,c; for(i=0;i<len;i++){ c = *( (unsigned char *)data+i ); uart_putc(c); } } The challange is, how to optimize this code.
__________________
Regnum: It's Highly Addictive! Last edited by Eli2; 08-09-2008 at 01:39 AM. |
08-09-2008, 04:38 AM | #27 |
Baron
Join Date: Jul 2007
Location: In Nekoko's lap ;)
Posts: 768
|
To those arguing about C# vs Java, I just want to say I think Java is superior, because:
* It's unencumbered by patents and other issues that will plague C# in the future * It's currently more portable and far better supported * It can be compiled natively now (gcj) with execution performance similar to C++ And: * In the case of web applets, there is a 90% chance of it running in any user's webbrowser (simlar to Flash) * NetBeans offers Rapid Application Development (RAD) on a level similar to Visual Basic * There will simply always be more jobs for Java programmers It's true that the language is a little worse, but not by much, considering. Regards.
__________________
Hannah Amelie • Catalina Nevena • Alicia Godwyn
Alsius Horus ✝ No chance of victory, no chance of defeat ✝ Frozen Flame Individually, we are one drop. Together, we are an ocean. An ocean of drama. |
08-10-2008, 05:56 AM | #28 | ||
Pledge
Join Date: Nov 2007
Posts: 1
|
Quote:
Quote:
I have to say Eli2 that the introduction to C you just showed is very off putting The language that I know most in is SQL though I have not spent to much time sutdying that. Only 3 months worth of study in school. |
||
08-10-2008, 06:03 AM | #29 |
Duke
Join Date: Nov 2006
Location: 0x00CAFE
Posts: 3,366
|
Because C and C++ are too complex if you want to write software for many OS's, I guess, and because Python & Java programs are platform independent, easy to write, maintain and deploy.
__________________
I don't have a solution, but I admire the problem. |
08-10-2008, 10:57 AM | #30 | ||
Pledge
Join Date: Nov 2007
Posts: 1
|
Quote:
I have another issue, when I try to download python I get an error message saying: Quote:
|
||
|
|