|
-
Jun 5th, 2004, 01:15 PM
#1
Thread Starter
Hyperactive Member
VB.Net vs. C++
Hi All,
Is there anything worthwhile that C++ (or any similar programming language) can do that VB.Net can't?
I ask because I am currently learning VB.Net 2003 as part of a university course and I need to create some programs over the next couple of months to help with my work. Once I have learnt VB.Net to a reasonable standard, would there be any point in learning C++ as well? Can it do anything that VB can't that makes it worthwhile learning?
Cheers
-Rob
-
Jun 5th, 2004, 02:00 PM
#2
Re: VB.Net vs. C++
Originally posted by TheRobster
Hi All,
Is there anything worthwhile that C++ (or any similar programming language) can do that VB.Net can't?
<sarcasm>
Make a real enterprise application?
With a nice GUI to appeal to users?
</sarcasm>
Although, C++ could be used to write a smaller application in terms of size of the file.
-
Jun 5th, 2004, 02:42 PM
#3
Thread Starter
Hyperactive Member
Re: Re: VB.Net vs. C++
Originally posted by mendhak
<sarcasm>
Make a real enterprise application?
With a nice GUI to appeal to users?
</sarcasm>
VB can do those things though, yeh? Hence the sarcasm?
-
Jun 5th, 2004, 04:46 PM
#4
Sleep mode
It's not fair to do comparsion between C++ and VB.NET . C++ is more low level lang that can do any kind of app ....
You can compare C++ vs. Assm. , C vs C++...etc
C++ wins always .
-
Jun 5th, 2004, 05:05 PM
#5
Thread Starter
Hyperactive Member
Can you write a program that is a combination of the two though? Say, do most of it in VB and write any code that VB can't do in C++?
-
Jun 5th, 2004, 05:10 PM
#6
Sleep mode
Originally posted by TheRobster
Can you write a program that is a combination of the two though? Say, do most of it in VB and write any code that VB can't do in C++?
Yes, I guess . We use APIs -which have been written in C\C++ - in VB.NET,C# App .
-
Jun 6th, 2004, 12:52 AM
#7
Re: Re: Re: VB.Net vs. C++
Originally posted by TheRobster
VB can do those things though, yeh? Hence the sarcasm?
Correct! You win $500!
My first reaction to the comparison was "Why?!" Two different languages used for two different purposes...
-
Jun 6th, 2004, 08:27 AM
#8
Frenzied Member
You can do more, and more efficiently, in C++, than any version of VB.
You can (usually) develop apps a lot faster in VB.
-
Jun 6th, 2004, 09:20 AM
#9
Fanatic Member
But.. If we look from the performance of the application (such as speed..etc) .. which one better? made from VB.NET or C Family (C++, C#)? I heard from my friend that to make application by using C++ is powerfull is it correct? I didnot have any prove
I need advice
Thanks
Winanjaya
-
Jun 6th, 2004, 10:50 AM
#10
Sleep mode
Originally posted by Winanjaya
But.. If we look from the performance of the application (such as speed..etc) .. which one better? made from VB.NET or C Family (C++, C#)? I heard from my friend that to make application by using C++ is powerfull is it correct? I didnot have any prove
I need advice
Thanks
Winanjaya
C++ app is lightweight , faster , small-sized . I don't think C#.NET would do as fast as C++ though .
-
Jun 6th, 2004, 08:14 PM
#11
Member
I believe language performance is becoming a non-issue. Microsoft themselves admit that the performance difference between C++ and .Net is shrinking. With the power of today's computers, .Net would be perfectly fine for just about any application. With computing power and complexity of program designs increasing at such a rate, the design advantages of .Net or whatever comes next will make C++ a thing of the past(like asm?). You will still have those who will want to write inline C++(stab at inline asm writers). Being a C++ coder myself...I recognize the need to move to a higher language. If this were not the case then everyone would still be writing in ASM directly to the graphics card for TOP performance. This conversation will probably take place again in the not to distant future, but about ".Net vs something else" instead of "C++ vs .Net".
Chris
-
Jun 6th, 2004, 10:33 PM
#12
Fanatic Member
is it make sense? VB Family (VB Classic ... VB.NET) are made by C Family language (I don't know C Classic, C++ or whatever) .. so that's why to make application with C Family will have better performance than the other .. I need clarification ?
-
Jun 6th, 2004, 11:25 PM
#13
Member
I do not believe VB.NET was written in C++. I believe it was written in C#. If that is true, then the code was compiled into CL. VB.NET code also compiles to CL. Visual Studio.Net could have been written in VB.NET if Microsoft had chosen so.
Chris
-
Jun 6th, 2004, 11:46 PM
#14
Fanatic Member
Ok ... I thought that's not true VB.NET was written in C++ code.. but how about VB6 .. I think it was written in C++ code.. that's why to create application using C++ will have better performance than the application created with VB6.. am I correct?
-
Jun 6th, 2004, 11:54 PM
#15
Member
Absolutely. VB6 does not compare to C++. VB6 also does not compare to VB.NET. They are pretty much two completely different languages given similar names. VB.NET is now more similar to C++ than it is to VB6. IMHO
Chris
-
Jun 7th, 2004, 12:05 AM
#16
Fanatic Member
You wrote:
VB.NET is now more similar to C++ , so how about C#? .. what's better performance, to write application in VB.NET or C#?
This question seems like looping ;>))
-
Jun 7th, 2004, 09:28 AM
#17
Member
In the words of Dan Appleman "..if you're going to use .NET, there is virtually no difference between C# and VB.NET either in terms of features or performance." Microsoft themselves also stated in a chat about DirectX 9 that there is so little difference in C# and VB.NET that you might as well chose the language that you like. One advantage of C# over VB.NET is the ability to write "unsafe" code. That is code that is not "verifiably type safe". But there is little benefit to using unsafe code.
C++ is slightly faster than C#(and therefore VB.NET). C# is actually slightly faster than C++ in some database access applications, but overall C++ is smaller/faster. Development time in C++ is the longest and costs the most. C# is less and VB.NET has , by far, the shortest development time. C++ and C# are case sensitive, VB.NET is not.
It's difficult to say that one is better than the other. With the speed of today's machines, performance is becoming less important where as development time(cost) is becoming more important.
Chris
-
Jun 7th, 2004, 10:35 AM
#18
Frenzied Member
I would have to say that there is definately inherant reasons into learning C/C++. For one I think it gives you alot better idea of what is really going on behind the code in VB.NET, which can make you better .NET programmer. You also never know when you are going to be tied into a peripheral device that requires programming in C. Assuming all the software you will ever write will be in a windows based environment were you have tons of resources is a bad assumption. On top of that, there is just way too much legacy C/C++ code out there to be ignorant of it, you never know when, if nothing else, you are going to have to read it and figure out what the heck it means. VB.NET isn't going to give you a good foundation for that. In short, even if you don't want to pursue it professionally, taking a course in it isn't a bad idea.
Out of curiousity, what degree are you pursing that involves programming where they don't require you to learn any C/C++?
Sean
Some days when I think about the next 30 years or so of my life I am going to spend writing code, I happily contemplate stepping off a curb in front of a fast moving bus.
-
Jun 7th, 2004, 02:12 PM
#19
Member
I wouldn't say that knowing C/C++ is going to give you much useful information as to what is going on behind the scenes in VB.NET. Knowledge of pointers is not needed in VB.NET because you don't need to know how this object points to that, just that it does and that the garbage will be collected later. Just as in C++ you do not really need to know that when you assign a value to an integer, certain registers are being assigned this value or that value in the cache of the processor or memory chip. I totally agree that if you decide to write a driver for a device or something that requires unsafe code...then you should probably steer away from VB.NET anyway. However, enterprise solutions, high-performance games and regular old "hello world" apps can be written in VB.NET with about the same performance as its slightly lower level language cousin C#.
Assuming all the software you will ever write will be in a windows based environment were you have tons of resources is a bad assumption.
Microsoft is trying to push for .NET to be platform independant.
VB.NET on linux...just sounds funny.
there is just way too much legacy C/C++ code out there to be ignorant of it
I agree, there is a lot of C/C++ code, and depending on what you are trying to do you could just ignore it. But in the real world(mine), you may have to deal with it some. For me, I have to deal with COBOL now and then. I would benefit from a little more knowledge of it, but it isn't critical.
In short, even if you don't want to pursue it professionally, taking a course in it isn't a bad idea.
Absolutely. It is never a bad idea to take a couse in any programming language.
BTW...another good language to learn besides C/C++ is Pascal. Excellent starter language IMHO.
Chris
-
Jun 7th, 2004, 02:31 PM
#20
Thread Starter
Hyperactive Member
Originally posted by SeanGrebey
Out of curiousity, what degree are you pursing that involves programming where they don't require you to learn any C/C++?
Well I'm not actually doing a computer-related degree, it's an engineering PhD. I plan to combine all my research into a computer application so that other people can use my work without having to understand all the theory behind it.
Essentially I'm making a user-friendly version of what I've spent the last 3 years doing so that people can pick it up in a few days/weeks without having to spend months learning how to do it all from scratch, like I've had to do. Hence the thought of making it a Windows based aplication since virtually everybody already knows how to work in the Windows envrionment.
The idea to programme the application myself was my own idea, it's not a requirement of the course. 
-Rob
-
Jun 7th, 2004, 04:25 PM
#21
Frenzied Member
I wouldn't say that knowing C/C++ is going to give you much useful information as to what is going on behind the scenes in VB.NET. Knowledge of pointers is not needed in VB.NET because you don't need to know how this object points to that, just that it does and that the garbage will be collected later.
I would disagree with that just because of the number of people I have watched step into .NET from VB 6 versus VC 6. You certainly don't need the background but I think it gives you an advantage. Waiting around for garbage collection is not nearly the best way to clean up after your objects in alot of cases, and I think to somebody who has had to new/delete, malloc/free, memory awareness is much greater and their applications will reflect it. Memory isn't quite like registers, because you still have some control over it in .NET.
BTW...another good language to learn besides C/C++ is Pascal. Excellent starter language IMHO.
You think so? I took some in college, but structured programming has definately been pushed aside by Object oriented programming. Unless you're going the Borland route, I haven't really seen it since then.
Sean
Some days when I think about the next 30 years or so of my life I am going to spend writing code, I happily contemplate stepping off a curb in front of a fast moving bus.
-
Jun 7th, 2004, 04:47 PM
#22
Member
Turbo Pascal or Object Pascal is,like C++, a hybrid language which allows for object oriented programming or structured programming. Inheritance, Encapsulation, Polymorphism...all avaliable in Turbo Pascal.
Procedural vs OOP is just the method by which you program. Pascal offers just about all the features of C++ but is a bit easier to read. Makes for a good first language to grasp the theory.
Chris
-
Jun 7th, 2004, 08:18 PM
#23
Originally posted by TheRobster
Can you write a program that is a combination of the two though? Say, do most of it in VB and write any code that VB can't do in C++?
I'm sorry if this has already been said, but, of course you can. Not only API's, but youcould write a DLL to use in VB yourself. I also thought that the CLR meant we could use C++.NET code in VB Modules or something similar. Can't remember, was too long ago..
Phreak
Visual Studio 6, Visual Studio.NET 2005, MASM
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
|