473,804 Members | 3,396 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

C # and C ++ learning curve

Hi Complete ass here trying to get his feet wet in .NET programming. I want
to start easy, understanding what is talked about. Which of these two would
be a better choice, if same, which one is consider easier to learn first?
Thanks for any advice
Jan 19 '07 #1
12 2894
I agree with Mike. C++ is an excellent language that gives you
tremendous control over what is going on inside the machine. Perhaps
too much control for beginners: too many picky details to keep track
of. You'll learn much more about foundational stuff programming in C++,
but you may find it very difficult and not a bit frustrating.

C# takes care of a lot of the details for you (particularly memory
management and pointers, which are particularly tricky). I would start
there, if I were you, but do learn C++ at some point: it will open your
eyes to what is "really going on" inside the machine.

Mike Buckingham wrote:
C# is a much easier language to learn. So from that stand point it's the best
one to learn. It is also a purely .Net language while C++ can have native
code that does not use the CLR and is not managed. From an acedemic stand
point you will learn more about low level programming by learning C++. It
supports things like points and memory allocation that occur behind the
scenes in C#. So if you want to get a good understanding of what is going on
beind the scenes then study C++. If you just want to get up and running in
.Net C# is a much better choice.

Mike

"Peter@POLK O" wrote:
Hi Complete ass here trying to get his feet wet in .NET programming. I want
to start easy, understanding what is talked about. Which of these two would
be a better choice, if same, which one is consider easier to learn first?
Thanks for any advice

Jan 19 '07 #2
On Thu, 18 Jan 2007 19:03:00 -0800, Mike Buckingham
<Mi************ @discussions.mi crosoft.comwrot e:
>C# is a much easier language to learn. So from that stand point it's the best
one to learn. It is also a purely .Net language while C++ can have native
code that does not use the CLR and is not managed. From an acedemic stand
point you will learn more about low level programming by learning C++. It
supports things like points and memory allocation that occur behind the
scenes in C#. So if you want to get a good understanding of what is going on
beind the scenes then study C++. If you just want to get up and running in
.Net C# is a much better choice.

Mike
Echo what Mike said, plus I would add the fact that the C# compiler is
v. v. fast, which helps a lot in turnaround when you are trying to
learn/debug something.

--
Philip Daniels
Jan 19 '07 #3
I'll side with everyone else (well it is a c# group). C++ is great, but
I can't see the point of learning it over c# for dotnet development.
Outside of dotnet, it's still popular with game developers, certain
financial institutions, Linux developers, etc. Again though I'm seeing
a move away from C++ and Java in finance to c#. Games developers still
predominantly use C++ but do use C# for building tools and I can
imagine a transition to C# for the AI and scripting portions of games
in the not too distant future if not the graphics just yet. Linux
stuff, you really need C/C++ skills although mono is coming along
nicely.

If you want to give it a try Microsoft have the freely available Visual
studio express which comes in editions supporting C#, C++, j# and
VB.net (I'd say avoid VB.net and j# at any cost). There's a web version
as well and SQL Server Express.

They also have the XNA version which allows you to develop games for
windows or the 360 (the latter costs money, the former is free).

Finally there's an open source IDE called SharpDevelop (? I think)
which is impressive, I don't use it though so can't comment in detail.
The express versions of VS are slightly cut down from the base
commercial VS but I don't think that will hurt you at this point.

If you prefer Linux over windows take a look at Mono, dotnet for Linux,
probably before the MS implementation as it misses some features at the
moment.

Peter@POLKO wrote:
Hi Complete ass here trying to get his feet wet in .NET programming. I want
to start easy, understanding what is talked about. Which of these two would
be a better choice, if same, which one is consider easier to learn first?
Thanks for any advice
Jan 19 '07 #4
Thank You all for help. I,ll start as you advised with C#, digging later
into C ++. One more question, Developer said to avoid VB, I was planning to
do it next, why should I avoid it?
Thanks again
"DeveloperX " <nn*****@operam ail.comwrote in message
news:11******** **************@ m58g2000cwm.goo glegroups.com.. .
I'll side with everyone else (well it is a c# group). C++ is great, but
I can't see the point of learning it over c# for dotnet development.
Outside of dotnet, it's still popular with game developers, certain
financial institutions, Linux developers, etc. Again though I'm seeing
a move away from C++ and Java in finance to c#. Games developers still
predominantly use C++ but do use C# for building tools and I can
imagine a transition to C# for the AI and scripting portions of games
in the not too distant future if not the graphics just yet. Linux
stuff, you really need C/C++ skills although mono is coming along
nicely.

If you want to give it a try Microsoft have the freely available Visual
studio express which comes in editions supporting C#, C++, j# and
VB.net (I'd say avoid VB.net and j# at any cost). There's a web version
as well and SQL Server Express.

They also have the XNA version which allows you to develop games for
windows or the 360 (the latter costs money, the former is free).

Finally there's an open source IDE called SharpDevelop (? I think)
which is impressive, I don't use it though so can't comment in detail.
The express versions of VS are slightly cut down from the base
commercial VS but I don't think that will hurt you at this point.

If you prefer Linux over windows take a look at Mono, dotnet for Linux,
probably before the MS implementation as it misses some features at the
moment.

Peter@POLKO wrote:
>Hi Complete ass here trying to get his feet wet in .NET programming. I
want
to start easy, understanding what is talked about. Which of these two
would
be a better choice, if same, which one is consider easier to learn first?
Thanks for any advice

Jan 19 '07 #5
POLKO wrote:
Thank You all for help. I,ll start as you advised with C#, digging later
into C ++. One more question, Developer said to avoid VB, I was planning to
do it next, why should I avoid it?
Well, first be aware that there's an anti-VB sentiment in the C# crowd
(I admit that I share it). Mostly it's for historical reasons, but
those reasons are still valid. C# was born out of the C, C++, Delphi
line of languages, which encourage rigour and precise specification of
exactly what it is you want to do. VB.NET was born out of VB and VBA,
which are much looser languages, the latter being an interpreted
scripting language. VB, historically, has not bothered with things like
precise definitions of types (or even precise typing at all) or
explicit type conversions. Historically, VB has encouraged programmers
to just write some code and the compiler (or interpreter) will do its
best to figure out what you meant. C, on the other hand, never cut you
any slack: you had to say _precisely_ what you wanted or the compiler
would kick your butt.

The general philosophies that underly the two camps are that C# (and C
/ C++ / Delphi) people tend to plan more carefully and be more
detail-oriented. They're into stuff like test-driven development. In
fact, it's mostly this camp that talks about programming as an
engineering discipline, and is concerned with development processes and
how to ensure correct code.

The VB camp is more concerned with rapid prototyping: throw something
together quickly and see if it works. The prejudice that we C-type
people hold regarding VB programming is that it encourages sloppy
development. The perjorative term that you'll see here from time to
time is "script kiddies": toss something together, try it out a few
times, then throw it to the users to see if it flies.

With the advent of VB.NET, there is little or nothing left in the
language, per se, that precludes careful, engineering-style
development. It's more the history behind the language and, as a
result, the types of programmers who are attracted to it (out of
familiarity) that continue its fast-and-loose reputation.

Jan 19 '07 #6
At this point, there's not a lot of difference between C# and VB;
it's just a prejudice that C# programmers have. What Bruce said about
earlier versions of VB is true, although a good programmer would make
sure his or her code was done the right way in any language.

Being completely anal-retentive, my old VB6 code had everything
typed specifically and was not sloppy in any way, shape or form.
Sure, there are sloppy programmers, but they exist in any language,
although some languages (like the prior versions of VB) allowed more
people to be sloppier than necessary.

I think VB.Net is easier to read and program in, but I also think
there are more jobs in C#.

Robin S.
---------------------------------------

"POLKO" <PO***@verizon. netwrote in message
news:Ea6sh.7$FN 1.6@trnddc08...
Thank You all for help. I,ll start as you advised with C#, digging
later into C ++. One more question, Developer said to avoid VB, I was
planning to do it next, why should I avoid it?
Thanks again
"DeveloperX " <nn*****@operam ail.comwrote in message
news:11******** **************@ m58g2000cwm.goo glegroups.com.. .
>I'll side with everyone else (well it is a c# group). C++ is great,
but
I can't see the point of learning it over c# for dotnet development.
Outside of dotnet, it's still popular with game developers, certain
financial institutions, Linux developers, etc. Again though I'm
seeing
a move away from C++ and Java in finance to c#. Games developers
still
predominantl y use C++ but do use C# for building tools and I can
imagine a transition to C# for the AI and scripting portions of games
in the not too distant future if not the graphics just yet. Linux
stuff, you really need C/C++ skills although mono is coming along
nicely.

If you want to give it a try Microsoft have the freely available
Visual
studio express which comes in editions supporting C#, C++, j# and
VB.net (I'd say avoid VB.net and j# at any cost). There's a web
version
as well and SQL Server Express.

They also have the XNA version which allows you to develop games for
windows or the 360 (the latter costs money, the former is free).

Finally there's an open source IDE called SharpDevelop (? I think)
which is impressive, I don't use it though so can't comment in
detail.
The express versions of VS are slightly cut down from the base
commercial VS but I don't think that will hurt you at this point.

If you prefer Linux over windows take a look at Mono, dotnet for
Linux,
probably before the MS implementation as it misses some features at
the
moment.

Peter@POLKO wrote:
>>Hi Complete ass here trying to get his feet wet in .NET programming.
I want
to start easy, understanding what is talked about. Which of these
two would
be a better choice, if same, which one is consider easier to learn
first?
Thanks for any advice


Jan 20 '07 #7
I should of qualified my dislike of vb.net, so I'll do so now.

I'm a huge fan of vb6. Some truly heroic software has been developed
with it, but it did not transition well to the dotnet platform.
the c# syntax is cleaner than the vb.net syntax and it doesn't need to
make consessions to backwards compatability that vb.net has. For
developers moving from vb6 to dotnet I'd say go for c# because it will
help annex your vb6 knowledge and embrace a better way of progamming.
You get the RAD benefits of VB6 with the power of C++. You do need to
stop thinking in VB6 though and going vb.net does not help that.
Another good reason to avoid vb.net is a bit more scary. I'm aware of a
number of companies who have converted vb6 code into vb.net code using
the MS sponsored tools (Sorry I forget the names). All I can say is try
and avoid working on any project developed this way. The code generated
is painful.
RobinS wrote:
At this point, there's not a lot of difference between C# and VB;
it's just a prejudice that C# programmers have. What Bruce said about
earlier versions of VB is true, although a good programmer would make
sure his or her code was done the right way in any language.

Being completely anal-retentive, my old VB6 code had everything
typed specifically and was not sloppy in any way, shape or form.
Sure, there are sloppy programmers, but they exist in any language,
although some languages (like the prior versions of VB) allowed more
people to be sloppier than necessary.

I think VB.Net is easier to read and program in, but I also think
there are more jobs in C#.

Robin S.
---------------------------------------

"POLKO" <PO***@verizon. netwrote in message
news:Ea6sh.7$FN 1.6@trnddc08...
Thank You all for help. I,ll start as you advised with C#, digging
later into C ++. One more question, Developer said to avoid VB, I was
planning to do it next, why should I avoid it?
Thanks again
"DeveloperX " <nn*****@operam ail.comwrote in message
news:11******** **************@ m58g2000cwm.goo glegroups.com.. .
I'll side with everyone else (well it is a c# group). C++ is great,
but
I can't see the point of learning it over c# for dotnet development.
Outside of dotnet, it's still popular with game developers, certain
financial institutions, Linux developers, etc. Again though I'm
seeing
a move away from C++ and Java in finance to c#. Games developers
still
predominantly use C++ but do use C# for building tools and I can
imagine a transition to C# for the AI and scripting portions of games
in the not too distant future if not the graphics just yet. Linux
stuff, you really need C/C++ skills although mono is coming along
nicely.

If you want to give it a try Microsoft have the freely available
Visual
studio express which comes in editions supporting C#, C++, j# and
VB.net (I'd say avoid VB.net and j# at any cost). There's a web
version
as well and SQL Server Express.

They also have the XNA version which allows you to develop games for
windows or the 360 (the latter costs money, the former is free).

Finally there's an open source IDE called SharpDevelop (? I think)
which is impressive, I don't use it though so can't comment in
detail.
The express versions of VS are slightly cut down from the base
commercial VS but I don't think that will hurt you at this point.

If you prefer Linux over windows take a look at Mono, dotnet for
Linux,
probably before the MS implementation as it misses some features at
the
moment.

Peter@POLKO wrote:
Hi Complete ass here trying to get his feet wet in .NET programming.
I want
to start easy, understanding what is talked about. Which of these
two would
be a better choice, if same, which one is consider easier to learn
first?
Thanks for any advice
Jan 20 '07 #8
into C ++. One more question, Developer said to avoid VB, I was planning
to
do it next, why should I avoid it?
Because developerX does not know anything about it.
By instance he wrote that VB.Net did take things from the past. So did C#.

Where VB.Net got a library to enhance the performance did C# inherit unsave
code.

Both are absolute not important for 99% of the developers.

We can see you are biased on C languages, so take C#.

Just my idea,

Before you understand me wrong, I use both languages and while busy I almost
don't aware the difference.

Cor

Thanks again
"DeveloperX " <nn*****@operam ail.comwrote in message
news:11******** **************@ m58g2000cwm.goo glegroups.com.. .
>I'll side with everyone else (well it is a c# group). C++ is great, but
I can't see the point of learning it over c# for dotnet development.
Outside of dotnet, it's still popular with game developers, certain
financial institutions, Linux developers, etc. Again though I'm seeing
a move away from C++ and Java in finance to c#. Games developers still
predominantl y use C++ but do use C# for building tools and I can
imagine a transition to C# for the AI and scripting portions of games
in the not too distant future if not the graphics just yet. Linux
stuff, you really need C/C++ skills although mono is coming along
nicely.

If you want to give it a try Microsoft have the freely available Visual
studio express which comes in editions supporting C#, C++, j# and
VB.net (I'd say avoid VB.net and j# at any cost). There's a web version
as well and SQL Server Express.

They also have the XNA version which allows you to develop games for
windows or the 360 (the latter costs money, the former is free).

Finally there's an open source IDE called SharpDevelop (? I think)
which is impressive, I don't use it though so can't comment in detail.
The express versions of VS are slightly cut down from the base
commercial VS but I don't think that will hurt you at this point.

If you prefer Linux over windows take a look at Mono, dotnet for Linux,
probably before the MS implementation as it misses some features at the
moment.

Peter@POLKO wrote:
>>Hi Complete ass here trying to get his feet wet in .NET programming. I
want
to start easy, understanding what is talked about. Which of these two
would
be a better choice, if same, which one is consider easier to learn
first?
Thanks for any advice


Jan 20 '07 #9

Cor Ligthert [MVP] wrote:
into C ++. One more question, Developer said to avoid VB, I was planning
to
do it next, why should I avoid it?

Because developerX does not know anything about it.
By instance he wrote that VB.Net did take things from the past. So did C#.
If you are looking strictly at the language syntax and semantics, it
makes little difference which one you choose.

In my opinion the big difference between working in the languages is
the programmer culture, and, as DeveloperX pointed out, the kind of
code you run across.

True, there is some awful C# code out there. There's awful code in
every language.

VB.NET, however, has the unfortunate distinction of fostering bad code
for historical reasons. As DeveloperX pointed out, there's some
auto-converted code from VB6. Auto-converted code almost always sucks,
particularly from a non-OO language to an OO language. Just run
screaming from that mess. As well, there's the mental disconnect
problem: lots of programmers who wrote procedural code in VB6 have
moved to VB.NET and continue to write in the same style, thus making a
mess. The worst code I've ever read in my life came from programmers
who moved from one language they knew well to another language they
didn't know and, rather than learning the new idioms, just used their
old programming style in the new language. (Ever seen C written as
COBOL? I have, complete with comments saying "/* WORKING STORAGE
SECTION */" and "/* PROCEDURE DIVISION */". Gross.) Unfortunately,
VB.NET encourages this.

True, the C to C# transition would be the same, but most C programmers
moved to C++ first, made an ugly mess there, and so by the time they
made it to C# they'd made most of their blunders already.

Again, there's nothing about the two languages per se that would make
VB.NET "worse" than C#. With LINQ it even sports some cool new features
that can make it even more readable than C#. The problem is more the
culture thing, which I believe will work itself out over time.
Disciplined programmers will write good code in either language. Hacks
will write bad code in either language. The difference is that, at
present, IMHO, there are more hacks writing in VB.NET than in C#.

Jan 20 '07 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
2011
by: Chris | last post by:
I've written a small QBASIC program which draws a spiral. Here is the code: SCREEN 12 CLS FOR t = 1 TO 400 STEP .01 x = .5 * t * COS(t) y = .5 * t * SIN(t) PSET (x + 320, y + 240) NEXT t
8
2100
by: Lennart | last post by:
Hi everybody, Can someone advice me with the following issue: i want to learn python in my summer vacation (i try to ...:-) So, a good start is buying a good book. But wich? There are many ... I'm living in the Netherlands and I prefer a book from bol.com (see link) because i've to order more books by them. I'm familiar with html & php and basic (in the good old days). It has to be a newbie book, but not a book what i don't need...
6
1583
by: kneejerkreaction | last post by:
I'm seeking advice on learning .NET I have experience in ASP, HTML, Vb, Vbscript and Javascript but want to learn .NET I also have some experience with SQL Server and Oracle databases. My employer thinks even with the previous experience noted above, I am incapable of picking up .NET (they are hiring from outside) so I want to learn it independently. I have several books on .NET and XML etc. but am at the point where I need to be able work...
18
500
by: davineastley | last post by:
Hello, My name is Davin Eastley and I'm 13 years old. I live in Tasmania, Australia and am training for MCAD Certification in C#. I was interested to know what the best resources for learning C++ is as I am a beginner. I later want to learn Java as well. Feel free to e-mail me at davineastley@gmail.com. Regards, Davin Eastley
8
1970
by: Mantorok | last post by:
Hi all I'm looking to learn C and/or C++ and I was wondering if there were any good on-line resources and books. I am currently a C# developer but I'm keen to discover C/C++ as I feel it would be a benficial experience. Any suggestions?
8
2785
by: scorpion53061 | last post by:
Hi, I am a vb.net guy......(I know boo hiss LOL) I was thinking of learning C# as well. Can I expect a hard road of it as far as a learning curve? As as side note, what made you choose C# over vb.net?
2
1540
by: Jeremy S. | last post by:
I know these questions can have no objective and definitive/correct answer - but I'm looking for some general insight, non specific as it may be. So, from those of you who have actually worked extensively with ASP.NET 2.0: 1. What can you tell the rest of us about the learning curve to go from 1.1 to 2.0 --- as compared to the curve to go form ASP classic to ASP.NET? 2. Assuming a fair amount of expertise in 1.1 - what would you...
78
4220
by: arnuld | last post by:
hai all, i am standing on a "crossroad to C++". I am here in front of you as i have a problem. i will be brief. Please do not think: "arnuld is sick", i am really struggling & doing hard-work to become a Modern C++ Programmer & i am feeling as if i am standing on a crossroad. i am asking because every time i made a decision on my own, in my past, i always ran into huge wastage of time, money & effort. that is why i am posting it here:
26
9328
by: K.J.Williams | last post by:
Hello, A friend and I want to learn PHP but we have two totally different programming backgrounds. I have experience with procedural programming in C, and he has experience with Visual BASIC. Well we wanted to know, what type of learning curve ( of difficulty ) we would have trying to learn PHP? Also, What will be the most significant changes for us to adapt to? I wanted to know if PHP is like
8
2866
by: Chris Asaipillai | last post by:
Hi there I have some questions for those experienced Visual Basic 6 programmers out there who have made the transition from VB6 to Vb.net. How long did it take you to learn at least the basic elements of VB.net....so that you were confident to write a application from scratch. This wouldnt necessarily
0
10577
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10332
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10320
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10077
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9150
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
7620
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5521
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5651
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4299
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.