Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Mar 5th, 2006, 2:47 AM   #1
ReggaetonKing
Sexy Programmer
 
ReggaetonKing's Avatar
 
Join Date: Nov 2005
Location: New Jersey
Posts: 891
Rep Power: 4 ReggaetonKing is on a distinguished road
Send a message via AIM to ReggaetonKing
C++ or C#

This is where you guys come in...again...lol

I am looking at two languages here, C++ & C#. Now as we all know I posted before about C# being a rip off of Java. Wow that was big! lol. I understand that being a programmer means more than just learning to a programming language, you have to learn a lot more; Problem Solving, etc. I want to accomplish more than just learning Java itself. I want to learn another language. Java will still be my main language I know but I want to have more than just Java. Now, I have several books on C++ && C#. I can not decide on the languages! I need your help to help me choose a side!

C++ or C#?
__________________
I would love to change the world, but they won't give me the source code!
ReggaetonKing is offline   Reply With Quote
Old Mar 5th, 2006, 4:21 AM   #2
jaeusm
Programmer
 
jaeusm's Avatar
 
Join Date: Feb 2006
Location: Columbus, OH
Posts: 84
Rep Power: 3 jaeusm is on a distinguished road
If you have already gone through an introductory text on Java, I would recommend that you stick with that language and further your knowledge of programming. Get a book on data structures in Java -- it's the next logical step. However, there's no harm in learning another language at this stage. I just think it would be more beneficial for you take the next step instead of repeating it in another language.
jaeusm is offline   Reply With Quote
Old Mar 5th, 2006, 4:33 AM   #3
Darkhack
Hobbyist Programmer
 
Darkhack's Avatar
 
Join Date: Dec 2005
Location: Kansas City
Posts: 105
Rep Power: 3 Darkhack is on a distinguished road
Send a message via AIM to Darkhack
Java and C# are very similar langauges which was why your last thread did have some merit to it. C++ and C# however are VERY different in a lot of ways. It depends on what you want to do. If all your doing is application development and want to get an application with a GUI done as quickly as possible then C# is the best choice. For you personally reggaeton_king, I would actually go with C++ because...

- wider range of development: it allows you to move into new areas of programming that you can't accomplish with C# or Java.
- you learn more advanced features: learn about the proper use of pointers and how to properly use C code inside of C++
- very popular: although Java/C# are the big rage with companies right now, C++ is still the champ overall. Especially if you are interested at all in game development. It is also used for more powerful applications where speed is nessisary.
- proven: C++ is much older than C#. It has been used a lot more and has a LOT more libraries available. If it has survived this long, then there is a good chance it will continue to live on. A lot of major projects (firefox, openoffice, kde, gnome) are programmed in C++ because of its power and the libraries for it.
- compiled code: C++ is compiled natively. Although you lose the ability to program for multiple platforms without rewriting some code, it allows your programs to run faster. It also opens you up to the OS a little more. Especially under Linux. Trust me, C++ and Linux are a lot of fun.
- slower development: to be fair, C++ is a bit slower to work with than C#, especially under windows. I would recommend using a seperate library for GUI work since the native win32 libary is an uber bitch. Windows under C/C++ is a programmers hell, no question there. Isn't so bad under Linux though. Just understand that you won't be pumping out really cool projects left and right. The advantage though, is that a lot more doors are open, so if you put the time and effort into it, you can create some amazing things that you simply can't do with C#
Darkhack is offline   Reply With Quote
Old Mar 5th, 2006, 10:31 AM   #4
Lich
Professional Programmer
 
Lich's Avatar
 
Join Date: May 2005
Location: Detroit
Posts: 254
Rep Power: 4 Lich is on a distinguished road
Send a message via AIM to Lich Send a message via MSN to Lich
Considering you'll probably end up doing both, it doesnt' really matter
__________________
--John Cruz
Web Developer
www.cruzweb.net
Lich is offline   Reply With Quote
Old Mar 5th, 2006, 10:44 AM   #5
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
This is a perennial question. Different languages have different attributes. Some have more raw machine power for a given resource usage. Some allow more rapid application development. In the real world, these are evaluated in terms of the requirements of the enterprise. In the absence of definitive requirements, the question is meaningless. Since a sound business decision is probably not one of your requirements, the requirement would be, "what suits you." The likelihood that another member lives in your brain is relatively small, so you should maybe listen to their musings, but no one can possibly make the decision properly but you. That decision requires research to be effective, not a poll.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code.
Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers
DaWei is offline   Reply With Quote
Old Mar 5th, 2006, 10:58 AM   #6
ReggaetonKing
Sexy Programmer
 
ReggaetonKing's Avatar
 
Join Date: Nov 2005
Location: New Jersey
Posts: 891
Rep Power: 4 ReggaetonKing is on a distinguished road
Send a message via AIM to ReggaetonKing
Quote:
Originally Posted by Lich
Considering you'll probably end up doing both, it doesnt' really matter
maybe 7-10 years now than yes but within the next 6 years no...

Quote:
Originally Posted by Darkhack
A lot of major projects (firefox, openoffice, kde, gnome) are programmed in C++ because of its power and the libraries for it.
I thought OpenOffice was developed with Java...?
__________________
I would love to change the world, but they won't give me the source code!
ReggaetonKing is offline   Reply With Quote
Old Mar 5th, 2006, 12:14 PM   #7
Lich
Professional Programmer
 
Lich's Avatar
 
Join Date: May 2005
Location: Detroit
Posts: 254
Rep Power: 4 Lich is on a distinguished road
Send a message via AIM to Lich Send a message via MSN to Lich
Quote:
Originally Posted by reggaeton_king
maybe 7-10 years now than yes but within the next 6 years no...


I thought OpenOffice was developed with Java...?
Didn't you say similar stuff when you were starting off, about which would be your 1 langauge and you decided on java? I don't neccessarily mean professionally, but you should learn both, and i'm sure at some point you will learn C# and C++. Not all that different, and if you see a good job opening for one or the other then you'll be glad you know it.

I'm pretty sure OO uses C++. All the GUI envoronments do too, as was mentioned KDE and Gnome, but also the MacOS finder and the windows explorer are all built with C++
__________________
--John Cruz
Web Developer
www.cruzweb.net
Lich is offline   Reply With Quote
Old Mar 5th, 2006, 12:38 PM   #8
a thing
Unverified User
 
a thing's Avatar
 
Join Date: Aug 2005
Location: none
Posts: 146
Rep Power: 0 a thing is on a distinguished road
http://en.wikipedia.org/wiki/.NET_Fr..._and_Licensing

I wouldn't trust Microsoft to hold that policy with the patents forever, so C++.

And GNOME is mostly in C.
__________________
Warning: My posts may change (dramatically) within the first 15 minutes they're posted.
Got 'Nux?—GNU/Linux and other free software support.
It's GNU/Linux, not just Linux.
a thing is offline   Reply With Quote
Old Mar 5th, 2006, 1:12 PM   #9
DaWei
Resident Grouch
 
DaWei's Avatar
 
Join Date: Jun 2005
Posts: 6,453
Rep Power: 10 DaWei is on a distinguished road
Nice link. Most close-to-the-machine stuff not written in assembler is written in C, not C++. This is tending to change as more resources are readily available. Open source, 'free' software tends to angle toward portability, rather than maximal performance. This is allowed, of course, because of the memory, storage, and clock speeds now readily available at a cheap price tend to mask the performance degradation concomitant with the approach. A knowledgeable programmer making full use of a particular implementation, hardware and software wise, will almost always do better than a portable, generic approach.
__________________
Abstraction doesn't make it impossible to write bad code; it makes it possible to write superior code.
Contributor's Corner: Grumpy on C++ Exceptions DaWei on Pointers
DaWei is offline   Reply With Quote
Old Mar 5th, 2006, 3:59 PM   #10
Darkhack
Hobbyist Programmer
 
Darkhack's Avatar
 
Join Date: Dec 2005
Location: Kansas City
Posts: 105
Rep Power: 3 Darkhack is on a distinguished road
Send a message via AIM to Darkhack
Quote:
Originally Posted by reggaeton_king
I thought OpenOffice was developed with Java...?
It is mostly C++ although parts of it are programmed in Java. Its actually a mix.

Quote:
Originally Posted by DaWei
Most close-to-the-machine stuff not written in assembler is written in C, not C++.
Thats true. C is still faster than C++ uses less memory and such. Its very minor but with stuff that is close to the machine, it makes a very big difference. Almost all operating system kernels are programmed in C without even the slightest bit of C++. Although beyond the kernel C++ is used for a lot of the work that is done on top. C++ is probebly efficient for most of us here since we aren't really writing anything where C would provide a large advantage over C++. It probebly wouldn't hurt to learn both, although you don't want to shoot yourself in the foot and end up mixing/matching C with C++. Thats considered bad programming. There is a good reason why C and C++ are considered seperate languages even though all valid C code is valid C++. Do NOT try to take advantage of that too often though. In the end, I would still say use C++ since it gives you the oppertunity to use OOP and develop with a powerful/popular language.
Darkhack is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

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




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 12:28 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC