I would like to hear of the experiences of classic vb developers who migrated their applications to delphi rather than vb.net. How has it worked out? Are you glad or sorry that you didn't move to vb.net?
I am not really a vb developer but rather a Delphi developer who was forced to maintain some vb apps for a while. I tried to migrate one vb app to vb.net and after that experience I never tried it again. I successfully migrated several vb apps to Delphi. It wasn't easy and it became a pain in the lower back to find native Delphi replacements for some of the OCXes that had been used (I will never again rely on a third party library for which I do not have the source code.), but it worked out OK.
But as said above: I am an experienced Delphi developer, so I didn't have to learn Delphi at the same time as migrating a vb app. That certainly made it much easier.
I just spotted this on DelphiFeeds:
Delphi for Visual Basic developers
Help to migrate VB applications (knowledge and skills) to Delphi
I had a good friend who moved from Classic VB to Delphi a while ago (back before .NET). He was really happy with the move.
The company he worked for made applications in VB, and they put together a special team (2 developers) to create Active X controls in Delphi for the rest of the company to use. Additionally, when there was something that they couldn't do in VB then the Delphi team would do it. That was when he was introduced to Delphi.
He said it didn't take long before the Delphi team could prototype applications in Delphi faster then the rest of the development group (he never said how large, but way more then two) could. The company never made the switch to Delphi from VB because someone was under the impression the VB was a better solution despite the evidence that Delphi was more powerful and faster.
A few years are I was working with another student on our placement year. We worked for a very large manufacturing company. One of his projects was to create a classic VB app to interface with multiple cameras on a production line and analyse the data in real time. In classic VB this was a shambles - it took on average 1.5 minutes to process a single frame from a single camera (7 cameras at 24 fps) there was no that he could optimise it.
He eventually took the plunge in to Delphi and re-written that app and works fantastically. I've recently been in contact with a few friends who still work there and his app is been running smoothly for 3 years now.
I've worked in both VB and Delphi, and Delphi is (IMO) much less frustrating/limiting. You should be able to use ActiveX / OCX controls as needed (though I agree w/other comments re: avoiding there where you can, and being sure ot have full source code). Apps we've migrated from VB to Delphi (two) have gone well.
I did try in two instance to migrate from VB to Delphi but unfortunately I had to abort midway in one app as it used a lot of third party ActiveX (most from ComponentOne and a few from CodeJoke). We had to abort midway as we could not find any VCL components having equivalent functionality to the ActiveX used in the project.
It was a nightmare for us. Thank god we aborted midway and switched to C#. It was unbelievable that we could get all the features in .NET component to the ditto!
The app we managed to convert, went well off but we had to get rid of a few features that we had implemented in the original software as they required more work in Delphi.
Related
I have a Compact Framework 2.0 application written years ago in VB.NET using VS2005. The application uses a local SQL compact database (.sdf) file. The application has been running on HP iPAQs for years.
I want to look at making this available to Windows Phone users. Any suggestions for the easiest way to do this? When I say easy I mean quick I suppose, the client is not interested in paying for it, so if there was a crude way to implement/achieve it I would be prepared to go that route.
The alternative is building a new Windows Phone app, my first. Which would be fun, but not very good for the balance sheet! Thanks all.
Probably the only option available is going to be a wholesale rewrite of the application. If you were strategic in your original design and kept the business logic and UI separate, then that code will transfer pretty easily, but the data access code will have to be rewritten and all of the UI code will have to be rewritten.
I know VB.NET, and I've been planning on creating a simple 2d game engine. I got no problems with creating such engine and running the actual game. However, I've been told that VB.NET might not be the best choice for "working too much with graphics". I'd like to know if that's true. Can VB.NET truly not manage efficiently loads of graphics simultaneously on the screen? If no, what kind of software am I supposed to use for creating this engine?
I have found that people generally view VB.NET as a subpar language, and mostly associate it with Visual Basic 6.0 (or earlier).
In the .NET world, VB.NET is a first class citizen that simply has a verbose syntax. It's particularly because of the verbosity that I would probably choose C#, if not going with C++.
Still, you can use VB.NET to work with whatever drawing libraries that you want, and you can even use it with XNA and Managed DirectX. It can even be linked against unmanaged libraries as long as you are willing to do to the required interop.
As for managing the graphics on the screen efficiently, it really depends on how well you do it, and how much you want done. If someone can do it well in C#, then you can do it well in VB.NET with the exception of unsafe code. It's too general to say either way given the vague "simple 2D game engine" description, but chances are it is more than possible.
These days, managed code is quickly catching up to unmanaged code, and while it's not quite perfect, it is really impressively good.
It's not the language you need to consider as much as the Framework.
Suggest you look at XNA:
Your First Game - XNA Game Studio in 2D (step-by-step tutorial)
Also, DirectX:
DirectX Developer Center
Learn DirectX
VB.NET Already supports XNA including on Windows Phone 7. So if you are looking to develop games and if you language of choice is VB + XNA you are all set to go.
Take a look at the official announcement: http://blogs.msdn.com/b/lisa/archive/2011/03/28/xna-is-coming-to-visual-basic.aspx
Visual Basic's primary use is for Win 32 Apps with a standard GUI. If you are planning on building a game I definitely recommend C++. It has faster execution speed and better libraries for game development. Visual Basic will not deliver as good of performance of C++ would give you. IMO It would be better for you and the user.
I don't know much of the graphics issues in vb but as far as i have heard you can't create games for xbox using vb.net, it only supports PC.
XNA game studio can be used for game development. Although it is supposed for c#, you can find how to use it with vb in here...
http://www.alanphipps.com/VisualBasicdotNET-XNA.html
If you are still relatively new to programming then C++ is more than likely to make you quit early.
Don't aim at C++ until you have at learned C#.
C++ is a great and diverse language but definitely not friendly grounds for anyone who hasn't been programming for a long time. This is ESPECIALLY considering if your first language is one such a VB.
To Answer the Topic?
Yes vb.net can make a game, arcade,FPS,RPG,MMO or what ever you what within your ability to code. if you wanna learn some find playing with open source engines to get the feel helps. so try looking up some and give that a go.
my comment is at the person above's comment,
Visual Basic can do alot, and we find out new stuff all the time.
i seen vb6 game engines work well, graphical and feature wise.
wile visual basic is more down to earth for writing, C++ isnt ik its not, ive tried it.
but VB i can pick up easyr.
my experience ?? 2007 to present day, ive work with vb6 mmo game engine source codes,
Mirage,Elysium,Eclipse,EA,EFF
ive also tried using irrlect engine years back.
for a beginner should learn VB.net or C# .
C++ is to complex.
What is the best route or place to get started with arcobjects if one is not a developer and not aiming to become one?
I've been using gis professionally for a long time, almost two decades, arcinfo/arcgis for most of that; I'm pretty good. I'm learning software development, and even have a modestly successful small python application used in a public project; I'm not good! I don't want to become a full fledged software developer but I keep running into things I just can't do without programming (example). In the arcgis world this puts me pretty squarely in the python camp, which is fine by me since I like python, however python does not have straightforward access to arcobjects.
Soooo, I need to get started, but where? Arcgis help says to get started with the ESRI Developer Network but $1500/yr is definitely not in my budget, and sounds like using a sledge hammer to swat mosquito. And which language .NET, Visual Basic, or Visual C++?
Thanks for your thoughts.
Assuming you have desktop, I'd just install the SDK from the desktop installation DVD's and download the free VS2010 60 day eval (which can be extended).
VS Express is supported, but I've never used it.
For language, I'd stay away from C++. There's more sample code available for C# than VB.NET. Except for the yield keyword, VB.NET and C# are equal.
I own a copy of vb2005 professional.
I need to migrate a vb6 project to vb.net
Is there any difference in terms of effort to migrating to these
editions of vb.net
thanks
I think it's slightly easier to target the later versions. I believe the PowerPack 3.0 was added for Visual Studio 2005: it included extra support for emulating the VB6 Printer object and shape controls.
Anyone who's read my other answers about VB6 migration should stop reading now because I've said this before... but I think it's relevant, so I'll say it again anyway.
Check out the Microsoft UK advice with a screencast explaining the 5 basic options for .Net migration. Decide which is best. People may advise you to just rewrite from scratch in .Net. Be cautious about this - you say your codebase is big, which is a danger sign for rewriting. Microsoft UK say
Performing a complete rewrite to .NET is far more costly and difficult to do well [than converting] ... we would only recommend this approach for a small number of situations.
I'm rewriting a lot of VB6 currently and what I've found so far is that the previous developers had to use a lot of third party and custom modules to implement what they need when a lot of it has been included in the base class library for .Net since then.
From what I've seen there's no easy way to migrate from one to another. A lot of effort goes into these migrations. The best thing to consider is whether you want to try to go line by line or examine the code, document core functionality, evaluate how well the software has worked over it's lifetime and then engineer a new design.
That's what I've ended up doing because a line for line rewrite is nearly impossible and a large pain. Compiling libraries and modules into COM to bring the functionality into .Net applications is a lot of effort and kind of a "McGyver" approach. That's why I just documented everything well, understood the process, then wrote as .Net software.
Specifically, what functionality are you trying to maintain? Have you written in .Net before?
In my experience the "migrate" is really a rewrite so it doesn't make any difference what version of Visual Studio you use. I'd use the latest.
We are looking to make a final decision on our Mocking framework. After trying several, I have fallen in love with Moq. I also love TypeMock - but because we are in the early stages of implementing TDD across the team, we do not want to make such a large investment quite yet. We are using VS 2008 now and are going to move to 2010 as soon as it is released.
So after doing much research I have decided on Moq because it's nearly as good as TypeMock and has super clean syntax, etc. Now here's the problem/question: we are mainly a VB.NET shop but are using C# for all of our CRM implementation code (plugsins, etc). It seems Moq only fully supports C# due to VB.NET lacking Lambda sub routines. Can anyone confirm that when VS2010 comes out Moq will work fully with VB.NET in its current version?
Is anyone here using Moq with VB.NET? w/ 2010? We need to make this decision asap, as we are under tight deadline and do not want to change frameworks again (went from NMock to TypeMock and now want to make final decision and move to Moq) or have 2 seperate ones per language... any help is greatly appreciated.
Download the RC and try it in a VM. Seriously, just go do it!
(I reckon ther's a very strong chance it should work - I'm using Moq on 2008 and obviously have zero worries about it working with 2010. Moq is a very good choice IMNSHO)