Thread: c, c++, and c#
-
June 27th, 2005, 09:01 PM #41Point taken. I guess really I feel it's easier to mis-teach C# as opposed to C++.No you aren't. You can *choose* to use a GUI or you can *choose* to write console apps with notepad and compile them yourself. This is a choice just as using Glade to learn to program apps in C++/GTK when you start is a choice. C# is just as procedural as C++. If you chooose to write an event driven program this can be done in the same way with C++ with any GUI builder. The deficiency is not in the language, rather in the typical teaching method.
Point of order...I don't think anyone should use an IDE that creates a skeleton, and even after 7 years I still don't like using pre-made skeletons. I still think it's best to write something from scratch. As for console apps in C#, it still wraps it into a class (at least in VS 2003). Ideally a beginner should use something where they understand every single line in a program they are writing, irregardless of if it's just one line or not. Do you really want to teach a beginner classes on their first day? I will admit that I forgot you can do a console app with C# and I had to go create one to see what it was like. I still think that using the STL in C is better, just from overall impressions and just how I respond to each.You seem to be focused on GUI apps, which no beginner should *ever* start on. When looking at console apps, I don't see how it fails to teach any of the fundamentals that C++ does, if taught in the same manner as one would learn C/C++ in a *good* classroom setting. Once again, if you use VS.Net it writes no more code than any other IDE (just a skeleton main just like borland) for a console app.
Difference of opinion I guess. I still don't think differences in typecasting is fundamental. If you think that typecasting is that important, then a person should start out learning assembly, since really even in C typecasting you don't deal with everything.As far as typecasting goes, I feel it is a *fundamental* of programming. VB6 was just Dim. A dummy object. C++, C#, C, Java all make you think ahead, they make you explicitly type everything, and explicity convert if you want to set them equal. Knowing each type and how it can and cannot be used is a very important fundamental IMO (which leads to "how" these types are made). Thus a program with autocasting is quite different IMO.
I am talking about how it is typically taught since we are talking about how you learn it. Everyone learns it by being taught, so it *is* important how it is taught. I feel that the typical teaching techniques for C++ are much better than teaching techniques for a .NET language. Afterall, the main point of the thread was asking which language would be better to *learn*.We're talking a language here with C#. Not a development environment or how it is typically taught.
-
June 27th, 2005, 09:12 PM #42Member
- Join Date
- Sep 2002
- Posts
- 364
C#, VB.Net and Java all have much more in common with each other than any of them do with C/C++.
I DO think one should use an IDE and drag controls to make a GUI in C#. C# was created with that in mind.
I think it would be best to learn programming in a popularly-used language that has a large enough feature set to accomplish basic tasks, i.e., simple command line programs--OR a lanaguage that will provide easy transition to a popular language as mentioned. This can more or less be accomplished in any of the four mentioned above.
-
June 28th, 2005, 12:08 AM #43
Originally Posted by BeatYouWithShoe
http://www.mono-project.com/Main_Page
Originally Posted by lost-and-found
-
June 28th, 2005, 01:45 AM #44Is this guy kidding? Unmanaged (and even managed due to IL optimization) C++ compiled from *within* VS.Net is many orders faster than C#...... Get your fact straight buddy. The C++ compiles to MSIL but it is MUCH more highly optimized by the VS.Net compiler than C# is.Yes C# is coming up strong IMO, faster than C++ and java and c obviously, but its windows only of course, and it requires the .net framework, which some do not have, but c# is a very powerfull language.
Jkrohn
-
June 28th, 2005, 01:57 AM #45That is true, but just a look at Java:Ideally a beginner should use something where they understand every single line in a program they are writing, irregardless of if it's just one line or not.
or more simplyCode:public static void main (string[] Argsv)
using namespace std; (which some picky compilers will reqire lest you prefix everything with std:: )
No one will be explaining public, static, or string[] anytime soon
The only thing C# does is enclose it in a namespace and add it to a class. If you can ignore the things you don't understand from that main (which are all class related) you can ignore the rest IMO.
Personally I feel those can be ignored (the namespace and class enclosure) to start with, but to each their own
I agree that the teaching method IS where it is all at. The rest is just syntax. But since he is asking here, he should get pointed to materials that would teach him in the right fashion and not the wrong way
As long as the language can do it and he is given the right resources.
There is one benefit of C/C++, you have to learn the right way! Not much out there in the way of VS.Net to give you the illusion you are learning.
I personally agree that C/C++ is the way to go as a first language (and much prefer them) , I was just pointing out that C# is in no way deficient if taught correctly.
Jkrohn
-
June 28th, 2005, 02:30 PM #46Haha, have you seen some of the code posted in this forum?There is one benefit of C/C++, you have to learn the right way!
I dreamt that a large eagle circled the room three times and then got into bed with me and took all the blankets.
-
June 28th, 2005, 02:45 PM #47
Well I mean if you actually make an attempt to learn. Finding programs and attempting to hack them up to do what you want doesn't count

Solid point though. hehe
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)



LinkBack URL
About LinkBacks




Reply With Quote



I finally positioned my wireless bridge in a spot where I get a strong and stable signal. It only moved about 3 feet, but I went from transfer rates of 500KBps-1.5MBps over the LAN, to 4-6MBps. It...
Is It Just Me? v233893843