What version of VB to use as a beginner? - visual-studio

I have never programmed VB, but a university course forcibly requires me to use it. Now, I've done VC++/Win32 programming before, but not the CLR(.NET). There's this free IDE from Microsoft, Visual Basic.NET express, that I plan to learn on. Is that okay? I mean I'm not learning .NET stuff, it'll be plain old Win32 with VB. Is that possible on that IDE? Will it require(read: force) me to use the .NET libraries instead? If yes, is there a free copy of VB 6 (or anything NOT NET) IDE still available? Excuse me if this sound noobish, but I really haven't ever touched on VB or .nET development.

If you have never learned old Win32 with VB aka VB6, I would advise you to skip it altogether and learn VB.net unless your end goal is to maintain legacy applications.
The concepts and libraries that you learn as part of VB.net will be transferable to C# which seems to be the most popular .NET language at the moment

VB.NET and "regular" VB are vastly different. VB6 was the last release of VB6 that is not managed. I question the value of learning this though. VB6 is unsupported, products for it are unsupported, and there isn't much you can gain by learning it instead of learning something else like VB.NET. If you really are stuck learning plain VB (which hasn't had an update since 1998), then you'll have a hard time finding resources.
VB.NET really means "A VB-like syntax language for .NET". Since the Express edition is for VB.NET, you cannot use it for VB development.
Your best bet is to find a copy of Visual Studio 6 or Visual Basic 6 Professional. You can still purchase them from places like Amazon.
MSDN Downloads has VB6 as well. You should contact your school to see if they can provide any additional resources. Perhaps your school can get you an Academic MSDN license (though I am not sure if that would include VB6).
You can forget about running those IDEs on Windows Vista or Windows 7. You'll need a copy of XP / 2000 as well.

I'd rather use the free Visual Basic 2008/2010 Express edition.

Related

WinRT with VS2010 on Win8?

To what extent is it possible and legal to developer WinRT applications with VS2010 Pro?
On the one side, I think it should be perfectly possible and legal to create an HTML5/CSS/JavaScript WinRT App with VS2010 Pro since you can probably do so using Win 8 Notepad. On the other side, I think it might be difficult and possibly illegal to create an C# WinRT App via VS2010 Pro since doing so might require the user to circumvent intentional limitations of the VS2010 Pro software.
In the old days, the user just bought a stand alone compiler and she/he was free to link it against whatever libraries she/he choose. In this way, she/he didn't have to upgrade her/his compiler anytime she wanted a newer version of MFC or *.NET. These days, the IDE seems to be married to the compiler so I'm not sure if the user is allowed to use older IDEs (such as VS2010) to link against newer libraries like those offered in WinRT
See here.
You can use the Windows SDK, along with your chosen development
environment, to write Windows Store apps (only on Windows 8)...
So it's clearly legal. I haven't tested it, but I'm going to guess that you can probably do the code side of things in VS 2010, but VS 2010 isn't setup to do Windows Store UI so xaml, html5 etc probably won't work.
It's probably much easier to simply use Visual Studio 2012 express.
To what extent is it possible and legal to developer WinRT applications with VS2010 Pro?
It is not (directly). The APIs and the packaging tools will not be available in VS 2010.
While you could potentially do this yourself, it seems far simpler to just install Visual Studio 2012 Express for Windows 8 and use it.
These days, the IDE seems to be married to the compiler so I'm not sure if the user is allowed to use older IDEs (such as VS2010) to link against newer libraries like those offered in WinRT
It's more than just newer libraries - there's an entire new runtime, and the language needed changing in order to work with it.

Why we need Delphi prism

What is the need to use delphi prism instead of Visual studio;
i am a delphi programmer so i like object pascal but what else are that delphi prism have that other does not have
What do you mean by "Delphi Prism instead of Visual Studio"?! Delphi Prism is a pascal-flavor in .NET platform. Visual Studio is an IDE. Delphi Prism uses Visual Studio as its IDE. So when you code in Delphi Prism or debug your prism codes, you are doing it in Visual Studio, just as doing with C# or VB.NET.
.NET is supposed to support multiple programming languages and providing common types and libraries to all languages targeting it. Delphi Prism is just another .NET language. It has access to all the stuff that .NET provides to languages. It also has some distinct language features (refer to PRUZ post).
So you can use Delphi Prism when you want to code in Pascal for .NET platform, or if you really need any of its distinct language features in your .NET applications.
Of course Microsoft's own languages (C#, VB.NET, F#) have little edge in .NET over third-party language providers:
There are so many books and articles - including MSDN -
written about MS languages, or written about .NET with C# or VB.NET sample codes (recently Delphi
Prism added a tool to automatically
convert C# code snippet to Delphi
Prism code).
New .NET features would be
available first to Microsoft's own
languages first, and then to other
languages, so if you need a really
new .NET feature, you might have to
wait a few months to have it in your
favorite language.
And, some IDE features like visual
form designer for .NET compact
edition are only provided for C#
and VB.NET.
Like any other programming language, we don't need Delphi Prism. But Prism is an option for software developers with a Pascal/Delphi background to start developing for DotNET. Is this important? For some, yes. For others, not really.I have over 20 years of experience with Pascal and am familiar with every Delphi version since the first one. But 8 years ago, I also learned C# simply because Delphi was too weak as a tool for developing DotNET applications. And unfortunately, no matter how much Embarcadero/Borland tries, their development of Prism will also be behind the generic DotNET products that Microsoft keeps publishing.The advantage of Prism is that it's an add-on for Visual Studio. And you can use Prism to write applications for the Mono platform, which is used on Apple's Mac computers. It can also work together with C# and VB.NET applications and you can create mixed projects where you use Delphi, C# and VB.NET to create a single product. (Made of multiple assemblies, though.) Prism allows you to create Pascal code that you can use in your regular WIN32 environment but also in DotNET. This code can't be too platform-specific but in general you can get some very good results this way.Delphi Prism isn't fully developed by Borland/Embarcadero, though! It started with RemObjects, who created an alternative compiler for Delphi-like code, but with some additional features that you won't find in regular Delphi code. RemObjects started to just push out Delphi for DotNET from the market, since RemObjects provided a nicer product and they had focused more on the DotNET issues. So the two started to work together to create Prism.Like any programming language, Prism has some features that you won't find elsewhere. If those features are practical always depends on if you can find some practical usage for them. In my personal opinion, if you already have Visual Studio and you're only creating applications for the Windows platform then you won't really need Prism. If you have additional Delphi experience, you might like Prism for some projects. If you need to port a Delphi/WIN32 application to DotNET then Prism might help with that. But I don't know of any advantage that would make Prism a requirement.
Personally I think Delphi Prism do more bad than good for the (real) Delphi ecosystem.
I can not deny that the RemObject's product has many interesting things and technically well done, but as a (real) Delphi programmer and enthusiast I see that thay are dangerously distracting the attention and giving some ambiguos non clear message to new comers and .Net programmers.
A (MS) .Net programmer will never move to D. Prism, only Delphi programmers who wants a smooth transition while leaving the boat.
Since there is no tie between D. Prism and (real) Delphi it was a bad move to name it Delphi. They share some basic pascal syntaxis but that's all. They even do not share their improvments, nor they can be used fully integrated.
I bought Rad Studio for Delphi and C++ but I spend most of my time with Prism. As for the old saw that third party products for net are behind the Microsoft products, I say that is just ignorance talking in this case. Prism is not lacking anything that C octothorpe or Visual Basic has. The net system is best programmed by Hejilsburgs' best language, object pascal, and Rem Objects has been improving the best language for net all the time. Those guys at Rem Objects move fast and make things happen. All the updates come from them, Embarcadero just stands and salutes. By the way, the C# to Prism convertor really works. I grab code at msdn and paste it into Prism with no worries.
You can view old question Will you use Delphi Prism, about many opining about Delphi prism from Delphi developers and others.

Ada with Visual studio

I'm just starting to learn Ada and was wondering if an editor like MVS 2008/2010 can be used? Will MVS detect the GNAT compiler? I have the GNAT GPL compiler but find the GPS editor hard to use (much less intuitive than the MVS editor). The tutorial doesn't explain well how to create a project in GPS.
I'm currently using AdaGIDE which works well, though it's limited in features.
Thanks.
I haven't ever seen any VS addon for Gnat. It would be tough to do for vanilla Gnat, as it isn't compatible with the Microsoft linker. This is more of a gcc vs. Microsoft thing. There is a Gnat .NET port, which claims to integrate well with the Microsoft tools (including VisualStudio). You may have better luck with that.
The other option you have is ObjectAda. It doesn't use VisualStudio either, but it uses an environment designed to be familiar to VS users. It isn't free, but last I checked its cost was comparable to VisualC++'s. It does use the Microsoft linker, so integrating it with VisualStudio should be doable.
Personally I loathe VisualStudio, and do all my editing in Emacs (Even for Microsoft C++ work), but I can see where you are coming from.
VisualAda isn't released yet, but when it is eventually, it will not only integrate GNAT with Visual Studio, but also automatically generate Ada bindings for WinRT components รก la what C++/WinRT does for C++. Here is a video and here is a posting on comp.lang.ada of a demo of the unreleased VisualAda.
Finally, we got "Visual Ada" plugin by Alex Gamper:
https://marketplace.visualstudio.com/items?itemName=AlexGamper.VisualAda
As stated by many others, the add-on is based on gcc/gnat (with all that mingw/msys2 infrastructure) and still not native for VS

How can I create a setup file in visual basic 6 after completion of my programming work?

How can I create a setup file in visual basic 6 after completion of my programming work?
Front End language is Visual Basic 6,
Backend : MS Access 2003 and
Report Tools : Crystal Report 8.5. Operating System Windows XP.
You need to be a little clearer about some of this.
"Front end/back end" is really terminology and a thought pattern from the MS Access world. It doesn't really apply to VB6 development in any meaningful way unless you're doing something really odd like automating instances of MS Access.
That's about the only place where any "MS Access runtime" comes in as well. If you're actually using Access Reporting you might be doing this though - which seems odd but anything is possible.
See Deploying Complex Microsoft Office Access Runtime-Based Solutions.
Much more likely what you are trying to say is that you have a VB6 program that is using a Jet MDB as an embedded database, and using Crystal Reports 8.5 for reporting.
There should be no issue about any "runtime" for Jet on Windows XP, since Jet 4.0 is shipped as part of the OS even as far back as XP RTM (gold). It is also extremely unlikely that XP will have an MDAC release any older than 2.7 (see Microsoft Data Access Components (MDAC) release history).
So this leaves you looking for a way to package your VB6 program, any immediate dependencies such as possibly the VB6 runtime components, and the Crystal Reports 8.5 runtime components. You may also have INI files, etc. to bundle in there.
A long, long time ago (1998?) the PDWizard was replaced for most purposes by Visual Studio 6.0 Installer 1.0, and shortly after VSI 1.1 was released (1999?) which made up for a number of ills. This is a pretty basic tool for authoring Windows Installer packages, but it should meet your needs.
Along with this you'll want the recent merge modules for your dependencies: Merge Modules for Service Pack 6 for Visual Basic 6.0 and Visual C++ 6.0.
Then of course you need a merge module for Crystal Reports 8.5, and for this we have to turn to the community because BO didn't start releasing them until CR9. One place to look for this is InstallSite: Seagate Crystal Reports 8. Your real problem is that CR8.5 is ancient.
If this doesn't work out for you, you can always hope that CR8.5 Dev installed on your machine with a "good enough" set of .DEP files (which tell setup authoring tools what subdependencies each dependency has, among other things). This may still let you use VSI 1.1 to succesfully package your application with CR8.5.
You might also look at for-pay packaging tools as already suggested. If desperate enough you might look at some legacy installer technologies too, just in case their communities have addressed your issues.
If I misunderstood and you really do use your VB6 program to automate an instance of the "MS Access 2003 Runtime" you'll probably have to build some hybrid package.
But normal VB programs do not use Access or Access Runtimes to open and work with Jet databases.
You can search google for package and deployment vb6
and you will find millions of links showing in steps how to do that.
The Package & Deployment Wizard is quite primitive and not well-suited to distributing things like the MS Access runtime and Crystal Reports. You'd be better off using one of the more powerful commercial products like InstallShield or Setup Factory. However, these can be pricey (especially InstallShield).
There are also free products like Inno Setup and Nullsoft, but these may not be as easy to use or may lack some important features.
Bob's suggestion of using Visual Studio Installer 1.1 for a Visual Basic 6 application is sound but the Microsoft link he has given for the download does not work. I guess MS thinks nobody needs VB6 anymore. After searching a little I found a 2008 snapshot of MSDN page in web.archive.org complete with setup files:
http://web.archive.org/web/20080513102621/http://msdn.microsoft.com/en-us/vstudio/aa718352.aspx
Good suggestions above.
While it might seem unlikely that VB6 app could possibly be in use, there are those of us in the public sector that keep VB6-like apps and even Access apps alive because public dollars are not in a hurry to replace app that still work. A frequent mantra heard in many places is that you leave it alone if it is not broken. Broken enough that is--otherwise baling wire works just fine as long as VB/VBA developers can still found.

Will I experience pain if I cut back to Visual Studio Express?

With the upcoming release of Visual Studio 2010, and all the lovely new features in C# 4.0, I would really love to update from 2008. However, over the last few years, I've managed to get student pricing, or even free versions via the MSDN Academic Alliance.
Now I am no longer a student.
I can't seem to justify the $AU500 pricetag of even the Standard version for what is at the moment, essentially a hobby. As much as I may like for it to be, it just isn't paying the bills.
So, I've read on the Microsoft site that there's no non-commercial clause in the Express version EULA which is good because I do the occasional bit of paid work in it. How much is missing from the Express version though, compared to Professional (what I use currently, and what the 2010 beta is)? Am I likely to go through withdrawal pains as I reach for something that just isn't there?
As far as addons go, the only one I've really played with is VisualSVN, and I can live with just using TortoiseSVN manually. Anything else I should be aware of?
Version comparisons can be found here: (For 2008) (Edit: A far more in depth document can be downloaded from here)
The things that leap out to me as features I wouldn't want to be without are:
Extensibility (no plugins like VisualSVN or Resharper)
Source Code Control
Remote debugging
64-bit compiler support (x64) (from the first link, though the document implies you can make 64bit apps...)
SQL Server 2005 integration
No setup projects (for making MSI installers)
Limited refactoring
Some missing debugging tools (especially the threads window)
If you can live without those (and the other limitations that wouldn't bother me personally) then I guess that you'll get by with Express just fine.
Final thought: Express isn't your only option for free .net development, there is also SharpDevelop which has some advantages (SVN integration, compact framework support) over Express. Though I'm sure it has many limitations too.
Do you do any entrepreneurial work? If you're building the next killer app, check out BizSpark: http://www.microsoft.com/bizspark/
There is new program now available from Microsoft to allow web developers to access the Microsoft Stack similar to the BizSpark program.
It is called Website Spark. VS 2008 Professional Edition and SQL Server 2008 Web Editon are some of the tools available through the program.
Of all things I would probably miss the ability to install extensions. Especially tools like AnkhSVN and TestDriven.NET have grown invaluable to me...
I would seriously consider investing some money in purchasing VS especially if you can get some of that back by using it for jobs.
Maybe switching to Eclipse and Java is an option for you?
EDIT:
By the way, investing a few hundred dollars is common among ex-students. If you were a designer you would probably have to invest $1000 on Adobe software.
You won't be able to have solutions with multiple project types (so no mixed language solutions), or solution folders either.
The main thing that is missing is the ability to build an installer for a solution.
The work-around is to build the installer using some open source installer for .NET, e.g. WiX.
And multi-language solutions are more cumbersome (e.g. mixed C# and VB.NET).
I use the Professional version, but I didn't experience any problems with opening and building my project/solution in the Express Edition.

Resources