|
-
August 2nd, 2000, 07:02 AM
#1
C# as compared to C++ and VB
This will probably sound stupid as I'm new to C#, but from everything I've heard I get the impression that C# is slowly turning VC++ into VB, and the new improvements to VB in VS7 are turning it into VC++.
Personally I like the big differences between them. Adding the features to VB is making it into a serious language for making large applications, which it is not suited for. VC++ is much better for that kind of thing, but it is becoming closer to VB.
Am I getting a much too simplistic view of the languages, or are they all slowly becoming the same?
Rory Condon
Anarchic Chicken Software
http://www.anarchic-chicken.8m.com
-
August 3rd, 2000, 05:19 AM
#2
Re: C# as compared to C++ and VB
There is absolutely nothing in C# that makes it anything like VB. In fact, C# is more like a combination of C++, Java and SmallTalk. The only parallels that you can draw between C# and VB is that C#/.NET makes for a much easier and robust development environment.
>>>
Am I getting a much too simplistic view of the languages
<<<
Yes
Seriously, anytime someone tries to distill an entire language such as C# down to a simple one-liner like "It's just another VB" you have to worry about your source. Take a look at the docs and play with the language a bit. In very short order, you'll begin to see that the C# / .NET combination makes for an incredibly productive development environment.
Cheers,
Tom Archer - CodeGuru
Inside C# (late 2000)
Teach Yourself Visual InterDev in 24 Hours
------
Tom Archer, Archer Consulting Group Inc.
Author - Inside C#, Visual C++.NET Bible, Extending MFC Apps with .NET
http://www.ArcherConsultingGroup.com
Consulting * Training * Custom Development * Enterprise Solutions
-
August 3rd, 2000, 04:40 PM
#3
Re: C# as compared to C++ and VB
No, I don't mean it's like VB, I mean it is a successor to C++, and is closer to Visual Basic than C++. Look at the MSDN page for the language (http://msdn.microsoft.com/msdnmag/is...arp/csharp.asp), it has many features similar to VB, they even admit it in places, but I don't like the way it automatically does things like (bad example but I'm in a hurry) initialising dynamically created objects and arrays to 0. It's taking power out of the hands of the developer. I would prefer it if the complier warned you if you use them without initialising, which it does anyway, but not take the decision for you. C++ allows you huge amounts of control, which is why all the major companies I've been part of/worked with have always use VC++. VB is too limited for anyone to use for most types of program, especially when they need to run fast. The MSDN site also admits C# will run more slowly than C++.
And the VB becoming more like C++ is shown by the announcements that in VS7 VB will have inheritence, polymorphism, etc. VB makes interpretor based, relativly slow, easy to crack programs. It is not suited to the big business programs which it is used for. I saw a book telling people how to use VB for e-commerce. VB contains a copy of the source code in the file. I have a decompiler which works on every version of VB made so far, it is definately NOT a solution for programs which could lose complanies large amounts of money if it is cracked, which many people would want to.
I'm definately not saying it is VB, but they many languages are being slowly run together. Think of Delphi and VC++, they are identical in their uses, the only difference is the language. Imagine if VB, VC# and Delphi as well as many others end up exactly the same, and programmers would only be able to develop in one. There would be no point, all the languages would have to be too simple for some programs and too complex for others, instead of being able to choose the language best suited to the application you might have to settle with a kludge in an unsuitable one.
Rory Condon
Anarchic Chicken Software
http://www.anarchic-chicken.8m.com
-
August 3rd, 2000, 05:19 PM
#4
Re: C# as compared to C++ and VB
>>>
No, I don't mean it's like VB, I mean it is a successor to C++, and is closer to Visual Basic than C++. Look at the MSDN page for the language
<<>>
they even admit it in places
<<<
Being a developer and an author I can tell you that just because someone writes for MSDN doesn't mean they have even met anyone on any of the .NET teams. Many times, this "white paper" work is farmed out to people that do this sort of writing on a consultant basis. Don't misunderstand me here: I don't even know Joshua so I can't speak about him specifically. I'm just saying that just because you see it in MSDN doesn't necessarily mean that it's the final word from Microsoft; especially when you're talking about subjective matter such as what language C# most resembles. Like any other subjective topic, it comes down to the personal interpretation and opinion of the author.
>>>
It's taking power out of the hands of the developer. I
would prefer it if the complier warned you if you use them without initialising, which it does anyway, but not take the decision for you. C++ allows you huge amounts of
control, which is why all the major companies I've been part of/worked with have always use VC++. VB is too limited for anyone to use for most types of program,
especially when they need to run fast.
<<>>
The MSDN site also admits C# will run more slowly than C++.
<<>>
And the VB becoming more like C++ is shown by the announcements that in VS7 VB will have inheritence, polymorphism, etc. VB makes interpretor based, relativly slow,
easy to crack programs. It is not suited to the big business programs which it is used for. I saw a book telling people how to use VB for e-commerce. VB contains a copy
of the source code in the file. I have a decompiler which works on every version of VB made so far, it is definately NOT a solution for programs which could lose
complanies large amounts of money if it is cracked, which many people would want to.
<<>>
I'm definitely not saying it is VB, but they many languages are being slowly run together. Think of Delphi and VC++, they are identical in their uses, the only difference is
the language. Imagine if VB, VC# and Delphi as well as many others end up exactly the same, and programmers would only be able to develop in one. There would be no
point, all the languages would have to be too simple for some programs and too complex for others, instead of being able to choose the language best suited to the
application you might have to settle with a kludge in an unsuitable one.
<<<
IMO, one of the things that Microsoft is doing with all this is simply moving the base functionality that most applications would need into the .NET framework and then giving you your choice of language to use. Realize that in this environment, that the language is not a language like we think of one. In other words, I can write 'C' without Windows because it has its own file I/O, screen I/O (with the standard output device), etc.
However, in the case of C#, we're not talking about a stand-alone language. In fact, you can't do anything substantial with C# because it relies on .NET for anything of significance. C# is simply a set of (C++/Java) syntax used to interface to .NET features. The advantages here are that you finally won't have the issue of "I can do one thing in this language but I can't do that in this other language." because all of the meaningful functionality is provided by the .NET framework. Therefore, you're free to choose whichever language suits your company's skill set and direction.
Cheers,
Tom Archer - CodeGuru
Inside C# (late 2000)
Teach Yourself Visual InterDev in 24 Hours
------
Tom Archer, Archer Consulting Group Inc.
Author - Inside C#, Visual C++.NET Bible, Extending MFC Apps with .NET
http://www.ArcherConsultingGroup.com
Consulting * Training * Custom Development * Enterprise Solutions
-
August 4th, 2000, 06:45 PM
#5
Re: C# as compared to C++ and VB
>>>
However, in the case of C#, we're not talking about a stand-alone language. In fact, you can't do anything substantial with C# because it relies on .NET for anything of significance. C# is simply a set of (C++/Java) syntax used to interface to .NET features. The advantages here are that you finally won't have the issue of "I can do one thing in this language but I can't do that in this other language." because all of the meaningful functionality is provided by the .NET framework. Therefore, you're free to choose whichever language suits your company's skill set and direction
<<<
I'd disagree with that. Having the .NET framework shared between languages means that all of the languages will be the same. Think of if MFC was shared between languages, to show a dialog it could be:// In VC++
CDialog aDialog;
aDialog.DoModal();
'In VB
Dim aDialog as Dialog
Dialog.DoModal()
etc.
It would be stupid to have many languages using exactly the same code in their own language. Why not make it simple and have one? That's why VB may be more or less suited to a task than VC++, they work completely differently.
Rory Condon
Anarchic Chicken Software
http://www.anarchic-chicken.8m.com
-
August 4th, 2000, 10:48 PM
#6
Re: C# as compared to C++ and VB
>>>
Having the .NET framework shared between languages means that all of the languages will be the same.
<<<
No it doesn't. The .NET CLR provides the same ***functionality*** across languages. In other words, C# and VB7 will have the same abilities in terms of what they can do with the operating system. I didn't say the code would look the same or that these .NET features would be accessed the same way from either language.
Therefore, these languages still maintain their current syntactical differences, but they can perform the same work.
>>>
It would be stupid to have many languages using exactly the same code in their own language.
<<<
Who said that they both look exactly the same? Have you used either language? I've been using C# for several months and it looks nothing like VB7 code except that they both have access to the same .NET functionality.
>>>
That's why VB may be more or less suited to a task than VC++, they work completely differently.
<<<
Really? At the PDC Microsoft illustrated creating an application with three different .NET capable (CLS-compliant) compilers (C#, VB7 and Cobol) . They then used the ILDASM (IL disassembler) to illustrate that each one of these compilers generated the exact same code!
You may not like it but the simple fact of the matter is that all languages will work the same in .NET (in terms of what they can do with the system and with each other) regardless of what the source code looks like.
Cheers,
Tom Archer - CodeGuru
Inside C# (late 2000)
Teach Yourself Visual InterDev in 24 Hours
------
Tom Archer, Archer Consulting Group Inc.
Author - Inside C#, Visual C++.NET Bible, Extending MFC Apps with .NET
http://www.ArcherConsultingGroup.com
Consulting * Training * Custom Development * Enterprise Solutions
-
August 5th, 2000, 06:33 AM
#7
Re: C# as compared to C++ and VB
>>>
You may not like it but the simple fact of the matter is that all languages will work the same in .NET (in terms of what they can do with the system and with each other) regardless of what the source code looks like
<<<
That's just what you said didn't happen. I'm saying that if the languages all use the same calls to the .NET framework the same functions will be used to do the same thing. That's why it's stupid. The same functions will allow you to do exactly the same things, so why not just have one language. Why make all the languages do exactly the same?
Rory Condon
Anarchic Chicken Software
http://www.anarchic-chicken.8m.com
-
August 5th, 2000, 09:59 AM
#8
Re: C# as compared to C++ and VB
>>>
That's just what you said didn't happen.
<<<
Not sure we're mis-communicating, but we're doing it consistently so I'll just leave this alone.
>>>
I'm saying that if the languages all use the same calls to the .NET framework the same functions will be used to do the same thing. That's why it's stupid. The same functions will allow you to do exactly the same things, so why not just have one language. Why make all the languages do exactly the same?
<<<
*** Companies have grown tired of having to hire highly priced consultants to every niche job they have. Having the base functionality being exposed in a generic way enables all programmers of any (.NET) language to access the same functionality the same way. I personally applaud that MS has finally gone this path.
*** You ask why not have a single language? That would mean MS choosing between VB and VC++. Why would they do that and risk losing one or the other camp?
*** Depending on which language they'd choose what would they tell all these corporations that invested billions of dollars in training and consulting only to see the entire language that they've built their corporate software tossed out?
Simple fact is that we're moving in the direction that the only significant difference between (.NET) languages will be their syntax. IOW, people will choose one language over another based on things like their current personnel and its skill set.
Cheers,
Tom Archer - CodeGuru
Inside C# (late 2000)
Teach Yourself Visual InterDev in 24 Hours
------
Tom Archer, Archer Consulting Group Inc.
Author - Inside C#, Visual C++.NET Bible, Extending MFC Apps with .NET
http://www.ArcherConsultingGroup.com
Consulting * Training * Custom Development * Enterprise Solutions
-
August 6th, 2000, 07:23 AM
#9
Re: C# as compared to C++ and VB
I agree it is impractical to choose just one, but why not preserve the differences between them? VB and VC++ are both suited perfectly to their jobs, so why use the .NET framework so they do things exactly the same?
Rory Condon
Anarchic Chicken Software
http://www.anarchic-chicken.8m.com
-
August 7th, 2000, 07:32 AM
#10
Re: C# as compared to C++ and VB
A couple of reasons out of many:
1) Because I want to use C# and my coworker wants to derive a class from my code and he only knows VB.
2) I see some code I would like my new class to derive functionality from but it is written in C++...I want to use C#.
Rory, your arguments are losing me here. The differences of languages are all preserved, they are just compiled into the same language before they get to the machine dependent code stage. Currently they are all compiled into machine code in the end so they are going to end up the same anyway...the only real differences between languages have always been syntax. Creating one runtime environment that all languages use instead of a different API (that all do more-or-less the same thing) for every different language makes perfect sense.
-
August 7th, 2000, 10:03 AM
#11
Re: C# as compared to C++ and VB
>>>
...the only real differences between languages have always been syntax.
<<<
Actually, this isn't 100% true and it seems to be the problem Rory has. Right now there are many things that I can do in VC++ that I can't do in VB. However, I'm glad that's going away and that the only differences are going to be langauge semantics (syntax).
>>>
Creating one runtime environment that all languages use instead of a different API (that all do more-or-less the same thing) for every different language makes perfect sense
<<<
Agreed!! I was starting to worry when *nobody* was jumping in to applaud this initiative by Microsoft. I bash these guys as much as anyone, but I also like to give them credit where it's due and .NET and C# (so far) are a welcome change in the programming space!
Cheers,
Tom Archer - CodeGuru
Inside C# (late 2000)
Teach Yourself Visual InterDev in 24 Hours
------
Tom Archer, Archer Consulting Group Inc.
Author - Inside C#, Visual C++.NET Bible, Extending MFC Apps with .NET
http://www.ArcherConsultingGroup.com
Consulting * Training * Custom Development * Enterprise Solutions
-
August 8th, 2000, 12:28 PM
#12
Re: C# as compared to C++ and VB
The language syntax is irrelavant. I think this is where we're at cross purposes. I'm talking about the frameworks they use, eg. MFC or .NET, not the syntax.
>>>
Creating one runtime environment that all languages use instead of a different API (that all do more-or-less the same thing) for every different language makes perfect sense
<<<
But it doesn't make sense! The advantage of VC++ is MFC, it's incredibly versatile and effective. The advantage of VB is the simple and easy way it can be used to deal with Windows, no huge number of function calls and overridden classes. Why make the simple one more complex and the versatile one more limited? VC# is not as flexible as VC++ but simpler, and VB7 will be more powerful but more complicated than VB6.
Rory Condon
Anarchic Chicken Software
http://www.anarchic-chicken.8m.com
-
August 9th, 2000, 02:51 PM
#13
Re: C# as compared to C++ and VB
BTW, I won't be repling to this again for about 2 weeks cause I'm going on holiday
see ya!
Rory Condon
Anarchic Chicken Software
http://www.anarchic-chicken.8m.com
-
August 9th, 2000, 05:41 PM
#14
Re: C# as compared to C++ and VB
While I agree that this is a tremendous step forward for developers in general, I also see some possible drawbacks. For instance, what prevents programs from eventually becoming sprinkled with mixed language code? With the ability to cross-inherit, I can foresee programs mixed with every language under the sun (that supports the .NET platform). Imagine being hired to modify a major software system that combines VB, C#, Pascal, and (here is the worst of them all ) COBOL!
Neil Axe
Cirith Concepts, Inc.
-
August 9th, 2000, 05:53 PM
#15
Re: C# as compared to C++ and VB
No problem Take care and have fun, Rory!
Cheers,
Tom Archer - CodeGuru
Inside C# (late 2000)
Teach Yourself Visual InterDev in 24 Hours
------
Tom Archer, Archer Consulting Group Inc.
Author - Inside C#, Visual C++.NET Bible, Extending MFC Apps with .NET
http://www.ArcherConsultingGroup.com
Consulting * Training * Custom Development * Enterprise Solutions
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|