Mehyar Posted December 9, 2003 Posted December 9, 2003 I always see experienced developers discouraging the use of VB6 functions in .NET whenever there is a .NET equivalent. Now I need to know, is this because we use .NET and thus we are biased to it (Object oriented ...), or truly there is a performance overhead on using VB6... Quote Dream as if you'll live forever, live as if you'll die today
Administrators PlausiblyDamp Posted December 9, 2003 Administrators Posted December 9, 2003 Personally I avoid the VB6 functions because I work with both VB and C# so I find it easier to work with just one set of commands. Commands like CInt do call into the VisualBasic Dlls so there is probably an associated performance hit. Quote Posting Guidelines FAQ Post Formatting Intellectuals solve problems; geniuses prevent them. -- Albert Einstein
bungpeng Posted December 16, 2003 Posted December 16, 2003 Is VisualBasic Dll come together with .NET Framework? Actually I did heard about it will cause the performance issue. Since .NET has equivalent functions, then why not just use .NET functions? Maybe next version of .NET Framework won't cater for VB functions? Quote
Moderators Robby Posted December 16, 2003 Moderators Posted December 16, 2003 read this ... http://www.dotnetextreme.com/articles/performance.asp Quote Visit...Bassic Software
Mehyar Posted December 16, 2003 Author Posted December 16, 2003 Ok Robby, I read this, the first part I already knew but the second part shocked me (passing parameters) !!! I always thought VB.NET behaved like Java in these issues (Java is my native university language). But this is ridiculious why did Microsoft follow this implementation. Moreover, I have a question. By default objects are passed by reference, even if you explicitly use the Byval keyword, do they follow what is said in the article ? If this is the case then we should avoid at all objects as parameters in VB.NET, and this draws some limitations while programming in VB.NET which I found as powerful as Java but with easier syntax... This is really disappointing .... Quote Dream as if you'll live forever, live as if you'll die today
AndreRyan Posted December 29, 2003 Posted December 29, 2003 Actually all objects are passed ByVal by default, ByRef only if explicitly declared(Opposite to Visual Basic 6). The article points out the stupid method Microsoft used for ByRef but it's ByVal by default, they may have been trying to avoid using pointers since one of the things Microsoft keeps pushing about .Net is that it doesn't use pointers. Quote .Net allows software to be written for any version of Windows and not break like Unmanaged applications unless using Unmanaged procedures like APIs. If your program uses large amounts of memory but releases it when something else needs it, then what's the problem?
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.