Web Development

General discussion


Want to learn C#; should I learn C++ first?

By ObiWayneKenobi ·
Well, I am primarily a network guy but I've done a bit of web development with VB.NET/ASP.NET, and I'm kinda hooked on programming now so I want to move into that.

Like the title says, I want to learn C# as my main development language instead of VB.NET, but since it's a C-style language I'm wondering if I should start by learning C++ first.

I actually have bought a C++ book (C++ Primer, 4th edition) but from giving it a glance, the actual language semantics look vastly different than C#, aside from the use of the curly braces and the case-sensitivity.

I'm actually pretty comfortable with those things already, so should I just start with learning C#?

Any advice is appreciated!

EDIT: Also, I know that I should probably make this a seperate thread, but does anyone know of any decent programming LOGIC books? You know, to give me the basis foundation for everything else.. keep in mind that I don't have a CompSci degree so I don't have the Calculus skills (yet.. I'm going back for my bachelor's in like two months and Calculus is a required course). ARE there even books on programming theory that DON'T assume you know Calculus?? Thanks again.

This conversation is currently closed to new comments.

Thread display: Collapse - | Expand +

All Comments

Collapse -

C# vs C++

by jmgarvin In reply to Want to learn C#; should ...

C# is more java like and C++ is more C like. While each language has its strengths, you need to decide what you want to do.

C# is good for web stuff and wizbang apps that have a lot of network flavored features.

C++ is (IMHO) more robust and able to handle anything you can through at it, but the .Net documentation is far more C# centric.

So, what should you learn? I think C++ is easier to pick up, but some people claim C# is. Since you know VB and ASP, C# should be easier, but keep in mind there is a pretty sharp learning curve.

Collapse -


by Jaqui In reply to Want to learn C#; should ...

is for .net webservices, mainly
and has almost nothing in common with c++

c++ can be used to write cgi scripts, and do any .net activity that any .net framework language can.
c++ can also do something that the others cannot.
it can be used for a stand alone application. one that doesn't require an interpreter to talk to the kernel for it, then translate kernel output into something it can understand.
( no scripted language talks directly to kernel, only compiled languages do this. [ java requires a vm ( interpreter ), so even though it's starting to be compiled, in part, it still doesn't talk directly to kernel ] )

Collapse -

C# and logic

by Ed Woychowsky In reply to Want to learn C#; should ...

I jumped into C# knowing a little C++, but a lot of JavaScript and C. The major differences are that C# is compiled to an intermediate code that is they interpreted and that, like Java, it cleans up after itself. This means that while C++ is faster, it is also more prone to memory leaks than C#. Jaqui is right, a vm is required, however, I wouldn?t worry too much, because with the advent of Mono C# should also work on Linux and Apple.

As for C# books O?Reilly?s C# in a Nutshell and Programming C# are pretty good, if you?re interested in ASP .Net get APress?s Pro ASP.Net 1.1 in C#. My favorite logic book is Robert Sedgewick?s Algorithms published by Addison Wesley, may be old, but it doesn?t overload you with math.

Collapse -

c# or c++ ?

by Valana In reply to Want to learn C#; should ...

From the post, it seems you want to make applications for the windows environment, since you said you have already played with asp.net and vb.net, and I assume your "a network guy" for windows. If this is true, and you will make those applications on newer windows platforms, it is my opinion that c++ is almost useless. Almost because there are still stuff you can do with c++ & c++.net that you can't do with c# (thats a whole article in itself). I have been a software engineer for windows since Win 95, and have done small amounts of c and c++ programming for dos and win 3.1 prior to that, and with all the complexities of c++, if the above is true (you are developing for newer windows), then c# is the way to go. Much easier and much less to worry about, like memory leaks, and buffer overruns. I hope to never have to leave developing in c# to back to c++, I can do much more with c# in a much quicker time frame than with c++ (using MFC or Win32) or c++.net.
Good luck there are tons of recources out there.

Related Discussions

Related Forums