Thread: c, c++, and c#
June 27th, 2005, 09:01 PM #41No 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.
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.
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.
We're talking a language here with C#. Not a development environment or how it is typically taught.
June 27th, 2005, 09:12 PM #42
- Join Date
- Sep 2002
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
June 28th, 2005, 01:45 AM #44Yes 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.
June 28th, 2005, 01:57 AM #45Ideally 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.
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.
June 28th, 2005, 02:30 PM #46There 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
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)