About Visual Basic .NET |
Sion | Not very much is happening on this site, so I decited to try to get a discussion going.
I personally have a little experince with Visual Basic .NET, but for some reason I keep using good ol' Visual Basic 6 for my development projects.
The VB .NET interface is great, and so are many of the new features and libraries, but I think one of the reasons why I choose VB6 over VB .NET is that VB6 seems much more lightwieght and easy-to-use.
For instance, it's possible to fire up VB6 in a matter of second(s) and quickly make a small test of something, while VB .NET takes a considerable longer time to load, and requires all files to be saved in order to compile. And even the compiling takes longer.
VB .NET also requires all users to have the .NET Framework installed on their PCs, which - to my knowledge - very few ordinary users beside developers have right now.
Sticking to what's familiar may also be playing a part of it, however.
Is anyone here currently using VB .NET for work/game-making or other?
Is anyone considering to move from VB5 or VB6 to VB .NET? Why or why not?
Why do you think VB .NET haven't made every Visual Basic developer throw Visual Basic 5/6 out the window and begin worshipping VB .NET as the new RAD langauge? |
Sion | Okay, to be fair then it is possible to try out small code tests in Visual Studio .NET using a 3rd party tool. This tool is obviously called SnippetCompiler, and can be found here: [url]http://www.sliver.com/dotnet/SnippetCompiler[/url] |
Sion | The discussion I was hoping to start is apparently raging at The Game Programming Wiki. Go to [url]http://gpwiki.org/forums/viewtopic.php?t=26[/url] to see some arguments for and against. |
Iodiplin | What a discussion...with yourself [:)]! I use VB 6 for most of the same reasons you described. And also because I think VB .NET is a load of crap. ---- Only kidding. VB .NET is, in my mind, a great language, just not for games. All that beauty in the form design doesn't help in the least when all your graphics have to hard-coded anyway. And now VB .NET has become so much more like Java and so much farther from C. I personally perfer structural programming (correct term?) over OOP. I've never regarded OOP as any big whoop (OOP of da WHOOP) that so many make it out to be. It doesn't save ME any time, or energy. The organization that it provides can be easily found in UDTs, which I perfer anyway since I don't have to "create" them. Dimming something is enough; having to then CREATE it, in my mind, is a useless step.
Of course, now I've strayed to OOP vs. non-OOP (term???), so I'll just shut up. However, since the goal of your post was to simply start us blabbing, it might be better if we talk about OOP vs. non-OOP since it isn't (or is it?) being discussed over at the GP Wiki. Feedback? Or maybe we should just have a huge long discussion on WHAT TO DISCUSS! Or not. |
Eric Coleman | From a business perspective, the new .NET 2.0 is seems great for webpages. I haven't actually tried it yet, but I've read some interesting articles about it. It would have made creating the 2.0 version of this website so much easier!
From the perspective of having to redistribute an application that resides on the end-user's hard drive, that's not something I'm comfortable with. The .NET framework has too many versions to keep track of. MS just released service pack 3 for the 1.0 Framework. I haven't installed either 1.1 or 2.0 on my computer because I'm not sure how that will screw up my Visual Studio .NET program. And one thing that really bothers me about the service packs for the .NET framework is that their is always "security fixes" in each release. The service packs for VB 6 and 5 fixed bugs, there were never any security issues that I'm aware of.
For those that are so inclined, here is the Knowledge Base article number, 867461, for the list of fixes in the latest .NET service pack. Do a search for the word "leak" to count how many memory leaks this particular SP fixes. I thought memory leaks were a thing of the past with .NET?
Even though I'm against it from a practical perspective, I think the .NET framework would be great for distributed applications. There is one problem though. Given the number of secuity holes that are created when installing .NET on a computer, that's a very large problem when installing things on a server. You don't want to install software that puts your server at risk.
A company that I've done some contract work for is adopting the 2.0 .NET framework. Even though it's in beta, they're using it and designing websites around it. I personally think the decision is a bit rash. But I'm just a developer, not a businessman. And from a business perspective, managers that make the decisions probably feel that if they don't start learning the latest MS technology then they will be left behind in the technology race. I think there is a lot of pressure from MS for people to use it's technology, simply because they make each generation incompatible with the last. You either have to continually update your products or have them not work at all. That sucks, but from a business decision, it's a very easy one to make. And on the same token, I need to go get a book on .NET 2.0 (I don't even know if they're out yet because it's still in BETA) so I can learn about all the new features, otherwise I won't be able to get any more contracts for work. And one last thing, when .NET 1.0 was in beta, the final release was very different from the BETA, and that cause a lot of programs written with the beta version to not work in the final release. I could go into a whole rant about that, but I'll just say that I fear the same will happen with .NET 2.0. I've mentioned this, but my warning have gone unnoticed. Oh well, I better learn .NET 2.0 so I can get some contract work fixing 2.0 programs so that they work with 2.0 is finally released.
|
Iodiplin | Sounds to me MS needs to screw their head on straight. If all these problems keep themselves in our aching backs, MS's monopoly is going to start flying down hill (ha, now there's an oxymoron [:P]). If it does, an even worse problem is bound to arise in incompatable data because of all the small companies taking over the industry.
I suppose a good illustration would be this: MS is a great king who thrives on taxes. However, if the King starts irritating everybody and just doing a horrible job, all the rougish cults etc. will arise and take power creating an anarchy which is even worse then the irritating king.
Whatever, but as far as I can see MS is having more problems than they should be. Perhaps just giving in and doing like Macs and adapting to Linux/Unix/whatever would help them where they're struggling: security and reliability. However, everyone knows MS is too proud to do that. So I guess were stuck with the irritating king for a while. [:)] |
sdw | So .Net isn't backwards compatible, like DX? It has to be, otherwise the whole idea of .Net is stupid. I don't feel like reading info on .Net, because I don't care to use it now. The idea of a cross-platform solution is great, I just wish some other company would make it happen. In any case, .Net is going to become important and most programmers will have to learn it.
btw- nice analogy of MS and the monarchy, lol |
Almar Joling | Eric, you'd need '.COM" for your website, not .NET [;)] |
Lachlan87 | AFAIK, the framework is backwards compatable. I use .NET 2002 and .NET 2003 on my computer. |
VBBR | quote: Originally posted by Almar Joling
Eric, you'd need '.COM" for your website, not .NET [;)]
Nice. [:D] |
sdw | I don't see what's so bad about .Net then, if it's backwards compatible and doesn't require much to run. And about security holes: it's MS, of course there are security holes! :D |
Eric Coleman | "backwards compatible" is a great concept, but it doesn't always happen. MS updates, fixes, patches, service packs, they all have done something to the OS that breaks compatibilty. This website uses an activeX dll that I created that loads an image (bmp, jpg, gif) and then resizes it to create thumbnail images. I'm not sure why or what caused it to happen, but it simply stopped functioning correctly on the server. The "fix" for the problem was just stupid. I had to make the control not work on my development computer such that it would work on the server. It doesn't make any sense, but that's what happend. Since I broke the thumbnail program, things have been working perfectly on the server.
Another example, DirectX 8 and 8.1. When MS released 8.1 they made a lot of modifications to the vb type library that made it incompatible with programs that used the 8.0 version. Why would someone use DirectX 8 instead of 8.1? Well, 8.0 works on windows 95 and 8.1 doesn't. For some people, being compatible with many different operating systems is an issue, especially when directx 8 was released. This was before XP, and a lot of people were still using windows 95.
Does anyone here actually use a program on a regular basis that needs the .NET framework? I don't have a single program on my hard drive (3rd party) that needs the .NET framework. Since the average computer user isn't a software developer anymore, what need is there for them to go out of their way to download the .NET framework?
If you are using MS-DOS and you try to run a windows program, you'll get a message saying that it's a windows only program. "This program cannot be run in DOS mode." If you try to run a .NET program on a computer that doesn't have the framework, you won't get nice message saying that a required file isn't found or that you need to install the .NET framework. What you do get is this, "The application failed to initialize properly. Click on OK to terminate the application."
Recycle bin.
Empty Recycle bin.
That's where .NET programs go. baleeted. |
Lachlan87 | I don't, but my mom does. She has a program that handle RSS feeds that requires it. |
Eric Coleman | I was trying to find the 2.0 beta so I could install it on another PC for development and testing purposes, and I came accross [url="http://www.gotdotnet.com/team/changeinfo/default.aspx"]this web page[/url]. I thought this statement was interesting "By default, an application only works with the version of the .NET Framework with which it was compiled." I also found [url="http://www.ondotnet.com/pub/a/dotnet/2003/05/20/fcl_gotchas.html"]this page[/url] which contains this interesting bit of information quote: In 1.0, the default security policy never gave code from the Internet permissions to run. In 1.1 this has been liberalized a bit: code from the Internet will now run within the constraints of the Internet permission set (which is pretty constrained but does allow, for example, use of disk files via the Isolated Storage mechanism).
|
Lachlan87 | I confess; I'm confused. I'm writing my current game in VB.Net 2002 using the .Net runtimes 1.0 (I double checked). My game runs fine even though I have no .config file, despite the fact that I have version 1.1 of the .Net Runtimes installed on my computer! (Again, I double checked).
So what is the point of the .config file?
More on topic: What are the practical effects of the change mentioned in your qoute? I don't know enough to figure it out myself. |
lathanar | I think you'll find that a majority of development with the .Net framework has been done on web sites, where the benefits of the framework are best experienced. If you look through job postings, you'll see work out there everywhere for vb.net and c# people, but you'll also spot ASP.net and ADO.net and the like in there too. I haven't seen much for applications themselves to be written in .net except for distributed environments, and those are specialized in-house software pieces. Even MS hasn't released their products written in .net yet, and they've had it longer than anyone.
With that said, 2.0 brings quite a few changes to the table, and we've already ported over our existing web apps over for release to production in January. The new grid controls, better data access, web themes, and a host of other improvements made it worth the risk to us. We don't see any signs that the final release of 2.0 will not support beta applications like what happened with 1.0. As for backward compatibility, I don't see the issue here, or why you would even try to get code written on 1.1 or even 2.0 to run on 1.0. It's exactly the same concept to me as trying to get a vb6 application to run on the vb5 or vb4 libraries. |
VBBR | The problem here is the risk of 1.0 or 1.1 applications not to run on the 2.0 framework, not the opposite. |