PC Review


Reply
Thread Tools Rate Thread

C # and C ++ learning curve

 
 
Peter@POLKO
Guest
Posts: n/a
 
      19th Jan 2007
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


 
Reply With Quote
 
 
 
 
Bruce Wood
Guest
Posts: n/a
 
      19th Jan 2007
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@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
> >
> >
> >


 
Reply With Quote
 
Philip Daniels
Guest
Posts: n/a
 
      19th Jan 2007
On Thu, 18 Jan 2007 19:03:00 -0800, Mike Buckingham
<(E-Mail Removed)> 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


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
 
Reply With Quote
 
DeveloperX
Guest
Posts: n/a
 
      19th Jan 2007
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


 
Reply With Quote
 
POLKO
Guest
Posts: n/a
 
      19th Jan 2007
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" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> 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

>



 
Reply With Quote
 
Bruce Wood
Guest
Posts: n/a
 
      19th Jan 2007
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.

 
Reply With Quote
 
RobinS
Guest
Posts: n/a
 
      19th Jan 2007
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" <(E-Mail Removed)> wrote in message
news:Ea6sh.7$FN1.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" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
>> 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

>>

>
>



 
Reply With Quote
 
DeveloperX
Guest
Posts: n/a
 
      20th Jan 2007
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" <(E-Mail Removed)> wrote in message
> news:Ea6sh.7$FN1.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" <(E-Mail Removed)> wrote in message
> > news:(E-Mail Removed)...
> >> 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
> >>

> >
> >


 
Reply With Quote
 
Cor Ligthert [MVP]
Guest
Posts: n/a
 
      20th Jan 2007

> 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" <(E-Mail Removed)> wrote in message
> news:(E-Mail Removed)...
>> 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

>>

>
>



 
Reply With Quote
 
Bruce Wood
Guest
Posts: n/a
 
      20th Jan 2007

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#.

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

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
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Learning Curve =?Utf-8?B?a3JjbWQx?= Microsoft Access 6 24th Sep 2008 04:02 PM
Learning curve Maureen Microsoft Powerpoint 5 19th Jul 2007 12:13 PM
Learning Curve on 2.0 Jeremy S. Microsoft ASP .NET 2 10th Sep 2005 04:57 AM
Learning Curve scorpion53061 Microsoft C# .NET 8 26th Jan 2004 05:33 PM
learning curve 97 vs XP hnq51834 Microsoft Access VBA Modules 7 31st Oct 2003 01:26 AM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 10:20 AM.