Can I code for Visual C++ and Visual Basic on Ubuntu?
I want to change my OS to Ubuntu, but I have pending projects in Visual C++ and Visual Basic.
I have not worked with Ubuntu before, so will I be able to carry forward my pending work to Ubuntu? Will it work with the IDEs available in Ubuntu?
IDEs on Linux are generally for projects that work on Linux. If your projects use anything specific to MS (and Visual Basic is one such thing), you won't be able to work on them under Linux-specific IDEs. Even your C++ code might be using many Windows-specific tools, like MFC, C++/CLI or managed extensions, COM... Windows has lots of non-standard, non-portable things. So, answering your question: probably no.
You can install Visual Studio under Linux with Wine, but it will probably be an unpleasant experience: Visual Studio is a big application that strongly integrates with Windows, and Wine might not be able to emulate Windows well enough.
I would advice you to keep Windows until your work on these projects will be finished, dual-boot (install Ubuntu on another partition and boot it when you don't need to work on your projects) or install Windows in a virtual machine inside Linux (f.e. using VMWare Player or VirtualBox). I chose last option and with VMWare it is good enough for me.
The best options would be:
- to use the wine emulator;
- to install windows in a virtual machine (with VirtualBox);
- to use MonoDevelop.
If those projects are targeted at Windows deployment, then you really ought to be developing them, or at least testing them, on Windows. That said, you could use a virtual machine to keep running Windows for work on those projects, and use Ubuntu otherwise.
If you decide to do this, I can't recommend making backups (plural!) highly enough before starting, in case you need to back out.
You can use WINE and run Visual Studio's on Ubuntu, the best option before a total conversion is to dual boot between windows and linux.
Visual C++: maybe. Depends on what kind of project it is. If it doesn't involve GUIs or MS-specific technologies like COM, .NET and company, you can probably port it with a minimum of effort. If it involves GUIs and/or MS-specific technologies, no it won't be portable.
Visual Basic: There is REALBasic which is claimed to be "like Visual Basic", but I'm rather dubious of its compatibility. (Whenever I see the words "migration tool" I get very nervous.)
That being said, you don't have to leave Windows completely behind these days. You can run WINE (if you really like pain -- I've never had WINE accomplish anything useful), or you can dual-boot or you can use something like VirtualBox to run Windows under Linux, all depending on your available resources and inclinations.
Sounds like you did not try it out: it won't work even with WINE it'll be a pain. To try out what will work or not install a virtual machine with Ubuntu as an OS under your current OS. YOu will be able to test things without breaking something.
I would suggest looking at the Mingw32 system. I have had excellent luck compiling Win32 applications (in C and C++) on a Linux system. So long as you're using the public Win32 API (basically, anything in windows.h), Mingw32 is a reasonably good choice.
You will probably not be able to use your Visual Studio solutions in Linux. Linux tends to avoid IDEs in favor of a system called Autotools. Having used both for many years, I have to say that on balance I prefer Autotools.
There is a steep learning curve involved in Autotools, but I feel the payoff is worth it. Good luck!