Thread: different ways to program

  1. #1
    Registered User
    Join Date
    Jun 2008
    Posts
    127

    different ways to program

    windows has so different ways to program i have no idea what some of them even mean. could someone help me out with the meaning of all these.
    COM
    .NET
    api
    mfc
    CLI
    CLR
    managed c++
    windows forms

  2. #2
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    COM - Can can be viewed as a generic term. At its heart it means Component Object Model. But it emcompasses other technologies such as OLE and ActiveX. More here.

    .Net - It's a framework intended to replace many of the past windows programming related technologies, including COM above. In a simplistic view, it wraps the windows API and exposes a set of objects and functions the programmer can use to program for Windows. Theoretically it is fully portable, contrary to MFC, since the exposed objects and functions can wrap around other operating systems own API. But little effort has been done in that area. .Net is not language independent in a strict sense since it provides it's own virtual machine known as Common Language Runtime (CLR). You'll thus need to use its own set of programming languages that include C#, VB.Net and ASP.Net.

    API - An API can be many things depending on where you are looking. If at an operating systems, a programming library, a service or a piece of software. Concerning windows programming, it refers to the Win32 API, the core windows library that is still today the favorite way of programming for windows by a few, and is at the core of many higher level windows programming libraries from GUI to networking and graphics.

    MFC - Microsoft Foundation Classes. A framework that was developed to ease and simplify windows programming by abstracting the Win32 API into a new set of objects and functions and to facilitate the development of RAD related tools. It's probably the most common windows library in existence.

    CLI - It's just a specification.

    CLR - It's the implementation of CLI. Common Language Runtime. A virtual machine that provides .Net programming with essential services like garbage collection, multithreading or exception handling. The most important feature is its Just-In-Time compiler that converts CIL code (code compiled by the .Net compiler) into native code, at runtime and by request.

    Managed C++ - Not a programming language in my opinion, contrary to what may be said in some circles. It's essentially a set of extensions that allow C++ code to run under .Net. Since these extensions change also some syntactic elements of C++, hence probably the argument that is sometimes heard Managed C++ was a programming language. It's not. It's a compiler extension to C++. The argument is perhaps even stronger now since the term is oficialy dead and has been replaced with C++/CLI... which seems to mean C++ for the CLI, a more mature version of Managed C++, many call a programming language. Again... it's not. More here.

    Windows Forms - I'm to this date not entirely sure what it is. It's not a programming language if that is what you want to know. It's a programming interface. But it's overly confusing to me since it wraps the win32 API and places it in a .Net GUI programming environment with RAD capabilities... well, the thing is that I don't get the why of the redundancy since part of what defines .Net is exactly a wrapper around the Win32 API... Try and see if you can make any sense of it. I never could, even though I honestly never tried hard to. In any case, its essentially akin to MFC and when someone says they are programming in Windows Forms, what they mean is that they are programming in C# or VB.Net using Windows Forms interface... much like a C++ programmer using MFC.
    Last edited by Mario F.; 07-06-2008 at 08:58 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  3. #3
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by Mario F. View Post
    Managed C++ - Not a programming language in my opinion, contrary to what may be said in some circles. It's essentially a set of extensions that allow C++ code to run under .Net. Since these extensions change also some syntactic elements of C++, hence probably the argument that is sometimes heard Managed C++ was a programming language. It's not. It's a compiler extension to C++. The argument is perhaps even stronger now since the term is oficialy dead and has been replaced with C++/CLI... which seems to mean C++ for the CLI, a more mature version of Managed C++, many call a programming language. Again... it's not. More here.
    C++/CLI is a stand/alone programming language that is standardized. It may not be much more than C++ and a few extensions, but nevertheless, it is standard.
    So can it be called a programming language, then? I would have to say yes, simply because it is another form of C++ tied at the dotNet framework with its own designs and mechanisms and flaws.

    Windows Forms - I'm to this date not entirely sure what it is. It's not a programming language if that is what you want to know. It's a programming interface. But it's overly confusing to me since it wraps the win32 API and places it in a .Net GUI programming environment with RAD capabilities... well, the thing is that I don't get the why of the redundancy since part of what defines .Net is exactly a wrapper around the Win32 API... Try and see if you can make any sense of it. I never could, even though I honestly never tried hard to. In any case, its essentially akin to MFC and when someone says they are programming in Windows Forms, what they mean is that they are programming in C# or VB.Net using Windows Forms interface... much like a C++ programmer using MFC.
    Well, to put it simply - it is the RAD interface you use to build Windows apps using dotNet, much as the Dialog resources are a way to create windows or dialogs the native way.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  4. #4
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    The argument is perhaps even stronger now since the term is oficialy dead and has been replaced with C++/CLI... which seems to mean C++ for the CLI, a more mature version of Managed C++, many call a programming language. Again... it's not. More here.
    In his answer to the FAQ What do you think of C++/CLI?, Stroustrup calls C++/CLI "a set of extensions to ISO C++", and also calls it 'a far better language than its predecessor "Managed C++"'. In other words, from a notable language designer's from of view, a set of extensions to a programming language constitutes a new programming language, perhaps in a similiar way as deriving from a base class gives one a child class (though sometimes the inheritance is more private than public, and the Liskov substitution principle may not hold true).
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Issue with program that's calling a function and has a loop
    By tigerfansince84 in forum C++ Programming
    Replies: 9
    Last Post: 11-12-2008, 01:38 PM
  2. Need help with a program, theres something in it for you
    By engstudent363 in forum C Programming
    Replies: 1
    Last Post: 02-29-2008, 01:41 PM
  3. Replies: 4
    Last Post: 02-21-2008, 10:39 AM
  4. My program, anyhelp
    By @licomb in forum C Programming
    Replies: 14
    Last Post: 08-14-2001, 10:04 PM