RE: New to application programming... Please HELP!

From: Jim (anonymous_at_discussions.microsoft.com)
Date: 03/25/04


Date: Thu, 25 Mar 2004 14:31:06 -0800

This is my second of two posts on this issue, because I ran out of space in my original reply so.... Picking up where we left off....

Q: What's all this .NET this and that stuff?

.NET is, in a nutshell, Microsoft's answer to the inconsistencies and incompatibilities of the differenct languages. C++ has been extended, extruded, and enhanced, to become a new .NET specific language called C# (C Sharp). Visual Basic has been extended, to a point in my opinion where it's almost useless and unrecognizeable as VB) to become VB .NET, and the best of C++ with MFC and Java have been married to form the world's most useless and obscure language, J#. What .NET does for your shop is to provide cross-language compatibility between different components in an application. This means that guys like me can write hard-core C# to support the middle-tier of an enterprise application, and the UI guys can use VB .NET to write the simple user interfaces. All the components (dll's, usually) can then be tied together into oen application (now we call them "assemblies... Yeah... a new term.... Like we don't have enough of 'em already eh? :) ) Because all the languages, C#, J#, VB .NET.... Because they a
ll support each others data types, they are completely compatible. There isn't really anything you can do in one that you cannot do in the others. I personally find that C# is the language of choice for writing Windows applications and the back end of web apps, a fact which, given my obvious love for C++ should not, by this point surprise you. I'm not alone on that one. Again, most people who consider themselves "real programmers" are programming now ni C# if they're not using C++. While C++ extended the functinoality of C language, C# is not the same with respect to C++. The language syntax is very nearly the same, and if you know C++, you can learn C# in a VERY sort period time.... C#, however for example is not the "omnipotent" language that C++ is. C# does pretty much encapsulate the Windows API's, so you really don't even come close to working with them directly. Oh, you "CAN", but then you're putting yoru code inside of #unsafe blocks, something that just by the sound of it makes me shy away f
rom doing it ("Hey man.... I would do this if I was you...." LOL) C# does a VERY good job of wrapping up the Windows API's and writes very efficient executable code. Because C# is an MS Platform-specifc language (i.e., you won't see C# for Linux, at least not right now) it's quite lean and mean; it's native support for everything Windows does is right there for you, and it doesn't have a lot of things you don't need. One thing C++ newbies often like about C# is that one of its more noteable attributes is that it does NOT use pointers. It uses Java-like references, and also has "garbage collection" to handle the deallocation of dynamically allocated resources so, you get the best of both worlds-- The dynamic allocation that only C++ afforded you in the past, and the easy and simple memory management of Java and VB objects.

Q: What's Visual Studio .NET and all these different versions of the languages all about?

A: Visual Stdio is the design-time environment and compiler the MS implementations of C++, VB, and the other languages, like J++, J#, etc. Visual Studio .NET is the latest in this family of products. In addition to its support of the old C++ and VB, Visual Studio .NET also now support C# and programming using the .NET franework. There are actually two versions of the .NET framework out there now, 1.0 and 1.1. Make suer you're using the most current one. Visual Studio .NET has two version now, 2002 and 2003. 2003 is not backward compatible with 2002; Meaning, that once you use 2003 to open up a 2002 project, you will not be able to open it with 2002 again, so be careful if you run both versions. :) 2003 is, also I beleive using a newer version of the .NET framework (1.2 or maybe 2.0?) I'm not 100% sure on this, and i do know that theer are some substantial changes to the way things work between 2002 and 2003 so ask about those things, and think carefully when maknig your choices.

I don't know if I've answered a single one of your questions or not, but as a programmer who was largely self-taught, I can appreciate the plight of one who just sometimes really is hungry for some straight answers... I hope I have given you that. Please do the courtesy of passing the same along one day when it's your turn to carry the torch... :-)

Best of luck to you

JIM

Q: So which one is right for me?

A: From everything you've said, I'm going to cast my voite for C#. I think that if you're going to write MS Windows applications, you're going to find that C# is really the best way to go if you're doing this professionally and want your work to look professional and to be maintainable. You're also going to want to know enough VB to understand how ASP pages work, and the whole concept of ASPX pages (called "webforms") in the MS .NET framework. Your current knowledge of Java will be helpful in learning C#, and frankly it's going to look VERY familliar to you. I didn't like C# at first, but I'm inherently resistant to change... LOL After having worked with it hands on for several months, I have come to realize that it really is a language of choice for programming WINDOWS. Of course, for anything non-MS, I'm still a flag-waving C++ man. :)



Relevant Pages

  • Re: Visual Studio Professional Edition purchase
    ... In the latter three you are in fact creating forms and things like that almost exact in the same way as you did with VB6. ... Beside that there is in Visual Studio the original C++ as it was in Visual Studio 6 using MFC. ... It is not my goal to start a discussion, so if you should go to a C language is your own decission and it is never wrong to learn both languages. ... and HTML (if you can call HTML programming). ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Java in Visual Studio 2005?
    ... 'languages' seems to be something you can easily do. ... and still do most of the work in the Visual Studio IDE. ... so if anyone knows anything about Java development in Visual ...
    (microsoft.public.vstudio.general)
  • Re: Large-Number Math DLL?
    ... most good bignum libraries. ... This is not typical to the source code, it's typical to Visual Studio, ... (suitable for some other languages as well, ... compiler to optimize well. ...
    (sci.crypt)
  • Re: breakdown of a long varable
    ... You can view the entire MSDN online at this link... ... The direct link to the Visual Studio 6.0 branch is... ... -Visual Tools and Languages ...
    (microsoft.public.vb.general.discussion)
  • Re: Access Application to Visual Studio
    ... Now with regards to reporting, in access, reports were just like form object ... you do that in Visual Studio? ... A query is a query. ... >> 3) Visual Studio as per our understanding is a group programming languages ...
    (microsoft.public.vstudio.general)