PDA

View Full Version : a good decision?



Masterx
02-13-2009, 09:50 PM
hello all, i was wondering if i was right to choose C++ for my entire life in programming, now i wana ask you to tell me if anything is wrong with the concept i have about using C++,

i hate being limited , i hate to waste my time on sth that cant be be used in many different situations, i love to know many things and thus be able to do many things, i love knowing lots of information that actually are useful !

i chose C++ then , cause whenever i try , i have everything at hand to start any kind of project, reading C++, gives me the power that anything is doable , my existing knowledge wont be useless when i switch to different kinds of project!
i can start coding a kernel , writting crossplatform applications , or simply making games, i can make system applications , , the C++ just gives me a whole lots of stuffs in one place.C++ is the language of making someones dream come true!
there is no limitations, you are free to investigate to do it in your own ! no limitations , nothing !


ok guys am i thinking rihgtfully? or its just worng ? guid me please
tanx

sorrofix
02-13-2009, 10:37 PM
>ok guys am i thinking rihgtfully?
No you are not. C++ can't do everything (nor should you try to do everything with it), especially when there's other languages which may be able to accomplish what you're trying to do more efficiently. Not that there's anything wrong with learning C++, but keep an open mind and don't think that you can go through the rest of your career as a programmer only knowing C++ and nothing else.

Yarin
02-13-2009, 11:22 PM
So you want to know a language that can do everything that's possible??

Learn Assembly. :D

cyberfish
02-14-2009, 02:01 AM
Different languages are suitable for different jobs. You can do MOST things with C++, but many things can be done more easily with other languages. That's why most professional programmers know at least half a dozen languages.

The first language is always the hardest to learn, because you are learning programming at the same time.

laserlight
02-14-2009, 02:06 AM
The first language is always the hardest to learn, because you are learning programming at the same time.
Yeah, and you might have to learn programming all over again if you learn a language that "naturally" uses paradigms that you are unfamiliar with. On the other hand, if you stick to languages in which you only use paradigms that are familiar to you, you might end up just learning new syntax and a few idioms, and this would not benefit your overall programming ability as much as learning a language in which your less familiar paradigms are more natural.

abachler
02-14-2009, 03:15 AM
No you are not. C++ can't do everything

You are wrong. C++ is turing complete, and therefore by definition can do everything. Since most other languages are written in C/C++ it therefore follows that those other languages cannot do anything that C/C++ cannot do.

laserlight
02-14-2009, 03:26 AM
You are wrong. C++ is turing complete, and therefore by definition can do everything.
Although that is literally true within the limits of what Turing completeness implies, I interpreted sorrofix's statement in a different light: you cannot use C++ to do some things as easily as you would with other programming languages, possibly even with the good use of libraries (and the converse is true as well).

Masterx
02-14-2009, 09:28 AM
thank you all , i really appreciate that.
so what languages do you recommend for a programmer to learn ?
you know i chose programming , because i wanted to be creative, just make sth that really effects humans life! well you know i like system programming , i dont know why, but i think the only thing that can give me the power to do magics in all platforms is C++,
you know i have no idea about the future ! i just dont want to waste my precious time and youth on sth that can be outdated! you know , as far as i know its more than 20 years that C++ is alive and kicking , and still new aspects of it power just appears .

anyway, because i have no idea about how my future goes, im planning to focus on anything but cross platform, (by the way i hate java! ( i dont know why , but i kinda feels its just C++ wrapped in a new style and name! just worst! !)

web programming :php
application :!!? C++? what else? that is cross platform
and i m just clueless , please tell me more about languages, if my point of view on programming is wrong!

thank you all .

Salem
02-14-2009, 10:04 AM
Sticking with C++ is like saying "I've learnt to drive, and now I'm only ever going to drive a Mustang".

Part of being a good programmer is knowing what each language is like and the kinds of problems people typically use that language to solve. That doesn't mean you have to learn all of the syntax for it, but just enough to be able to say "Yeah, I could use perl to solve that" kinda thing.

Other aspects you can look at are design (http://en.wikipedia.org/wiki/Unified_Modeling_Language)
If you can't create an effective design for large-scale programs, then you'll remain a cubicle grunt. At least you would be expected to be able to contribute and understand such design methodologies in the beginning, before being let loose to design your own system.
Anything over 1K lines is an ideal time to start thinking about generating small design diagrams for.

http://en.wikipedia.org/wiki/Source_control
Knowing about this will certainly help when you get to working in teams of people.
At least enough to check out, check in, branch and merge.

Learn about testing, profiling, test coverage.

Learn about Dictionary of Algorithms and Data Structures
http://www.itl.nist.gov/div897/sqg/dads/
Picking the right A+DS is critical to producing something which runs in an acceptable amount of time.
Or being able to show that whatever is proposed just isn't going to happen before the universe ends.

Learn about different methodologies, who knows which one you might end up working in.
http://en.wikipedia.org/wiki/List_of_software_development_philosophies

Masterx
02-14-2009, 12:13 PM
Sticking with C++ is like saying "I've learnt to drive, and now I'm only ever going to drive a Mustang".

Part of being a good programmer is knowing what each language is like and the kinds of problems people typically use that language to solve. That doesn't mean you have to learn all of the syntax for it, but just enough to be able to say "Yeah, I could use perl to solve that" kinda thing.

Other aspects you can look at are design (http://en.wikipedia.org/wiki/Unified_Modeling_Language)
If you can't create an effective design for large-scale programs, then you'll remain a cubicle grunt. At least you would be expected to be able to contribute and understand such design methodologies in the beginning, before being let loose to design your own system.
Anything over 1K lines is an ideal time to start thinking about generating small design diagrams for.

http://en.wikipedia.org/wiki/Source_control
Knowing about this will certainly help when you get to working in teams of people.
At least enough to check out, check in, branch and merge.

Learn about testing, profiling, test coverage.

Learn about Dictionary of Algorithms and Data Structures
http://www.itl.nist.gov/div897/sqg/dads/
Picking the right A+DS is critical to producing something which runs in an acceptable amount of time.
Or being able to show that whatever is proposed just isn't going to happen before the universe ends.

Learn about different methodologies, who knows which one you might end up working in.
http://en.wikipedia.org/wiki/List_of_software_development_philosophies

many many thanks to you Dear Salem, i really appreciate it, thanks
im on it .