Welcome to Dream.In.Code
Become an Expert!

Join 150,198 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 2,002 people online right now. Registration is fast and FREE... Join Now!




Choosing a second language help

2 Pages V  1 2 >  
Reply to this topicStart new topic

Choosing a second language help

xCraftyx
13 Sep, 2008 - 09:58 PM
Post #1

New D.I.C Head
Group Icon

Joined: 13 Sep, 2008
Posts: 44



Thanked: 1 times
My Contributions
Hi, I've been researching and comparing languages, but I can't make a decision as to what to pick as a second language to learn. I'm learning Java this year in my programming class, and I will probably continue with it senior year. I think I'll be writing mostly smaller apps, with some bigger/low level stuff thrown in there. A RAD language would be nice, but I'm willing to sacrifice RAD for power and speed. Maybe join some projects down the line too...

So based on this criteria, what should i pick for a second language? (I refuse to learn VB, and I'd rather not learn C# but i will if it's recommended)

Thanks in advance
User is offlineProfile CardPM
+Quote Post

musya
RE: Choosing A Second Language Help
13 Sep, 2008 - 10:50 PM
Post #2

D.I.C Regular
Group Icon

Joined: 25 Apr, 2007
Posts: 296



Thanked: 1 times
Dream Kudos: 50
My Contributions
c++ is my recommendation, you can make any software you would almost dream of if you know it, from previous experience Microsoft changes c++ to their own version of it, not a big deal but all in all learning software programming in Microsoft Environment would probably get you more out of this world, of course depending on where you work but in my experience nobody has needed Linux programming, but i do work for a production company and all of our clients are regular users, engineers and what not as well, and government work, but we still do windows environment programming so even though its Microsoft it will probably be more beneficial for you in the long run, and in learning c++ you should catch up on c# they are similar, and c# might be quicker to program in than c++ if you get the hang of it, but with c++ you can take your back end of the program and take it to any environment with minor modifications most of the times, (of course gui would probably be different ) but with c# your limited to windows, unless you modify it for mono develop. anyway enough chitchat just go out and research it a little bit, some sampling wouldn't hurt either.

P.S for quick and reliable development, python is really good, as well as ruby, but you loose speed in most cases and you need an interpreter, though those times might have changed with compilers coming out for them.

Later man,
Musya
User is offlineProfile CardPM
+Quote Post

xCraftyx
RE: Choosing A Second Language Help
13 Sep, 2008 - 11:09 PM
Post #3

New D.I.C Head
Group Icon

Joined: 13 Sep, 2008
Posts: 44



Thanked: 1 times
My Contributions
Thanks! I saw not needing a platform as a huge plus for C++, but a lot of people are claiming that C# is the future and i want to be up to date on the languages. To tell the truth, i would rather learn C++ over C#.

This post has been edited by xCraftyx: 13 Sep, 2008 - 11:11 PM
User is offlineProfile CardPM
+Quote Post

abgorn
RE: Choosing A Second Language Help
14 Sep, 2008 - 12:18 AM
Post #4

Hello Crap for Brains
Group Icon

Joined: 5 Jun, 2008
Posts: 912



Thanked: 5 times
Dream Kudos: 50
My Contributions
If I were you, I'd chose C++. It's similar to Java(because Java was based on it) and it gives a large amuont of power and control over the software you write. But if you did choose C#, then you'd either have a Windows only community or you'd have to go to Mono to make it cross platform.
User is offlineProfile CardPM
+Quote Post

carltech
RE: Choosing A Second Language Help
14 Sep, 2008 - 01:00 AM
Post #5

New D.I.C Head
Group Icon

Joined: 19 Oct, 2007
Posts: 42


Dream Kudos: 25
My Contributions
C++ is my favorite. You can write large and small apps of all kinds with it, and seeing as your taking java now it only makes since to take C++ and see how much better it is over java.

Python is really simple and can be picked up easily.

This post has been edited by carltech: 14 Sep, 2008 - 01:01 AM
User is offlineProfile CardPM
+Quote Post

xCraftyx
RE: Choosing A Second Language Help
14 Sep, 2008 - 07:45 AM
Post #6

New D.I.C Head
Group Icon

Joined: 13 Sep, 2008
Posts: 44



Thanked: 1 times
My Contributions
Thanks guys, I'd been leaning towards C++ for a while but my only concern is that there have been a lot of claims that C++ is becoming outdated. Thoughts?
User is offlineProfile CardPM
+Quote Post

musya
RE: Choosing A Second Language Help
14 Sep, 2008 - 10:36 AM
Post #7

D.I.C Regular
Group Icon

Joined: 25 Apr, 2007
Posts: 296



Thanked: 1 times
Dream Kudos: 50
My Contributions
c# does offer some flexibility over c++, but seeing as how c# is only for windows development (well linux too with mono develop), I don't think c++ will go out dated any time soon. and if it does picking up c# wont be too difficult, its based off of c++ and java.
User is offlineProfile CardPM
+Quote Post

ruslan40
RE: Choosing A Second Language Help
15 Sep, 2008 - 09:53 PM
Post #8

New D.I.C Head
*

Joined: 13 Sep, 2008
Posts: 11



Thanked: 2 times
My Contributions
QUOTE(xCraftyx @ 14 Sep, 2008 - 08:45 AM) *

Thanks guys, I'd been leaning towards C++ for a while but my only concern is that there have been a lot of claims that C++ is becoming outdated. Thoughts?


In my opinion, c++ will never become outdated.
The C programming language is now thirty (correct me if I am wrong) years old, and its still widely used today (for systems programming). C++ has been in use for over 20 years now, and as far as I see it, its position is not even shaking. Sure, C# may be newer, but its not nearly as powerful as c++. C# is .NET specific, and therefore, even considering all of its advantages, its usage is limited. Try writing an operating system in C# biggrin.gif biggrin.gif biggrin.gif

Although my most favorite language of all time is C, I cannot fully recommend it to you because I don't know what your target field is. If you plan on doing systems development, you really don't have a choice but to learn C and ASM. If you want to develop software, you should definetly learn C++. Even if you get a job developing .NET applications one day and will be forced to learn C#, its gonna take you no longer than 3 days to get a hang of it with professional knowledge of C++.

So, my advice would be to definetly go down the C++ road. This language will never be outdated, if anything, maybe only updated. Other languages do become obsolete, and new ones appear, but C++ is a standard, and therefore being able to program in it, you will never find yourself out of luck.

Just my opinion.

Good luck!
Rus.
User is offlineProfile CardPM
+Quote Post

xCraftyx
RE: Choosing A Second Language Help
16 Sep, 2008 - 07:44 PM
Post #9

New D.I.C Head
Group Icon

Joined: 13 Sep, 2008
Posts: 44



Thanked: 1 times
My Contributions
QUOTE(ruslan40 @ 15 Sep, 2008 - 10:53 PM) *

QUOTE(xCraftyx @ 14 Sep, 2008 - 08:45 AM) *

Thanks guys, I'd been leaning towards C++ for a while but my only concern is that there have been a lot of claims that C++ is becoming outdated. Thoughts?


In my opinion, c++ will never become outdated.
The C programming language is now thirty (correct me if I am wrong) years old, and its still widely used today (for systems programming). C++ has been in use for over 20 years now, and as far as I see it, its position is not even shaking. Sure, C# may be newer, but its not nearly as powerful as c++. C# is .NET specific, and therefore, even considering all of its advantages, its usage is limited. Try writing an operating system in C# biggrin.gif biggrin.gif biggrin.gif

Although my most favorite language of all time is C, I cannot fully recommend it to you because I don't know what your target field is. If you plan on doing systems development, you really don't have a choice but to learn C and ASM. If you want to develop software, you should definetly learn C++. Even if you get a job developing .NET applications one day and will be forced to learn C#, its gonna take you no longer than 3 days to get a hang of it with professional knowledge of C++.

So, my advice would be to definetly go down the C++ road. This language will never be outdated, if anything, maybe only updated. Other languages do become obsolete, and new ones appear, but C++ is a standard, and therefore being able to program in it, you will never find yourself out of luck.


Thank you so much, that cleared up a lot of questions that i had. To tell the truth, i really don't want to go into programming/computers in general for a living, so I really wanted to focus on 2 languages and become proficient with both of them instead of learning several. Realistically, I doubt I'll ever write an operating system or anything low level, such as a game server emulation or drivers, even though I'd someday like to.

My real debate has been between C++ and C# (as you can see) and then if i choose C++, should i learn C? The reason I'm having such a hard time making a decision is because, like I said, I want to stick with 2 MAYBE 3 languages (the 3rd probably being PHP or some other internet language) and i need them to do what i want...So right now it looks like I'm down to Java and C++, is there anything else i should learn or learn instead of C++ based on this?

This post has been edited by xCraftyx: 16 Sep, 2008 - 07:48 PM
User is offlineProfile CardPM
+Quote Post

Salv0
RE: Choosing A Second Language Help
17 Sep, 2008 - 07:23 AM
Post #10

New D.I.C Head
*

Joined: 31 Jul, 2008
Posts: 17



Thanked: 2 times
My Contributions
Well, if you have a good knowledge of Java, i would suggest you C#.
C# syntax is java-like so will be easier for you to learn.
In addition C# is very very stable, secure and is supported by the great IDE Visual Studio and yes, is fast, even if it uses the .NET framework.

Obviously if you are searching EXTREME speed ( see games ) and need many low level optimizations, the choose is only one: C++ .

So to sum up, I think it depends from what you have to do, they are both valid but I say: choose C++ only if you really need, because is a lil bit difficult to learn wink2.gif

This post has been edited by Salv0: 17 Sep, 2008 - 07:24 AM
User is offlineProfile CardPM
+Quote Post

ruslan40
RE: Choosing A Second Language Help
17 Sep, 2008 - 09:30 AM
Post #11

New D.I.C Head
*

Joined: 13 Sep, 2008
Posts: 11



Thanked: 2 times
My Contributions
QUOTE(xCraftyx @ 16 Sep, 2008 - 08:44 PM) *

QUOTE(ruslan40 @ 15 Sep, 2008 - 10:53 PM) *

QUOTE(xCraftyx @ 14 Sep, 2008 - 08:45 AM) *

Thanks guys, I'd been leaning towards C++ for a while but my only concern is that there have been a lot of claims that C++ is becoming outdated. Thoughts?


In my opinion, c++ will never become outdated.
The C programming language is now thirty (correct me if I am wrong) years old, and its still widely used today (for systems programming). C++ has been in use for over 20 years now, and as far as I see it, its position is not even shaking. Sure, C# may be newer, but its not nearly as powerful as c++. C# is .NET specific, and therefore, even considering all of its advantages, its usage is limited. Try writing an operating system in C# biggrin.gif biggrin.gif biggrin.gif

Although my most favorite language of all time is C, I cannot fully recommend it to you because I don't know what your target field is. If you plan on doing systems development, you really don't have a choice but to learn C and ASM. If you want to develop software, you should definetly learn C++. Even if you get a job developing .NET applications one day and will be forced to learn C#, its gonna take you no longer than 3 days to get a hang of it with professional knowledge of C++.

So, my advice would be to definetly go down the C++ road. This language will never be outdated, if anything, maybe only updated. Other languages do become obsolete, and new ones appear, but C++ is a standard, and therefore being able to program in it, you will never find yourself out of luck.



Thank you so much, that cleared up a lot of questions that i had. To tell the truth, i really don't want to go into programming/computers in general for a living, so I really wanted to focus on 2 languages and become proficient with both of them instead of learning several. Realistically, I doubt I'll ever write an operating system or anything low level, such as a game server emulation or drivers, even though I'd someday like to.

My real debate has been between C++ and C# (as you can see) and then if i choose C++, should i learn C? The reason I'm having such a hard time making a decision is because, like I said, I want to stick with 2 MAYBE 3 languages (the 3rd probably being PHP or some other internet language) and i need them to do what i want...So right now it looks like I'm down to Java and C++, is there anything else i should learn or learn instead of C++ based on this?


No problem smile.gif

As for the C++ vs C# and C dilemma:

If you learn C++, you won't have to learn C. However, knowing C will help you learn C++.
I would suggest learning C anyway, just for the heck of it. Knowing such a low level language will get you very familiar with how computers internally work, and this will therefore ease almost any task you will be stuck with later (regarding anything low-level). You won't have to stick with C, just experiment with it in DOS for the heck of it, to get a hang of as to how computers actually work (memory allocation, bits, etc).
However, if its imperative that you stick to two or three languages, I'd say go for C++. Its unlikely you will need C, unless you are planning to write drivers or kernel modules. But knowing C++ will make learning C easier, since they are in the same family.
Also, C++ and C# aren't that different. The APIs that they use are, but the languages themselves aren't.
To compare it to the real world, think of knowing C++ as knowing Latin. A person who is proficient at Latin will have no problem at all learning English, French, Italian, etc. very quickly.
Same thing in this case. Knowing C++, you'll master C# in a couple of days.
Another advantage of C++ is that its limitless. There isn't anything that you cant write in C++ (software-wise).
Really, the only major difference between C# and C++ is the API that they use (in the matter that C# is .NET specific).
But then again, you can program in .NET using C++ as well.
So in my opinion, unless .NET programming is your only goal regarding the second language you wish to learn, you are really limiting yourself if you stick to C# at this point.

Hope this helps!

Good luck,
Rus
User is offlineProfile CardPM
+Quote Post

xCraftyx
RE: Choosing A Second Language Help
17 Sep, 2008 - 12:52 PM
Post #12

New D.I.C Head
Group Icon

Joined: 13 Sep, 2008
Posts: 44



Thanked: 1 times
My Contributions
Awesome so as long as i can use C# if i absolutely need too, i'm fine; I'll use Java and C++. Thanks everyone for helping me out

This post has been edited by xCraftyx: 17 Sep, 2008 - 12:54 PM
User is offlineProfile CardPM
+Quote Post

2 Pages V  1 2 >
Fast ReplyReply to this topicStart new topic
Time is now: 1/9/09 04:49AM

Be Social

Dream.In.Code RSS Feed Dream.In.Code LinkedIn Group Follow Us On Twitter

Live Help!

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month