software types and programming languages

Discussion in 'C Programming' started by jrefactors@hotmail.com, Jan 4, 2005.

  1. Guest

    The choice of programming languages is usually based on the software
    type. I try to come up with a list to help me understand more. I know
    there are some other languages I haven't included, but I just highlight
    the the popular and modern high level programming languages. After
    making this list, I conclude C++ is still the most popular programming
    languages in software development.

    Systems Software (C, C++)
    Real-time software (C, C++)
    Embedded Software (C, C++)
    Engineering & scientific software (C++)
    Commercial Desktop-Based Software (C++, Java)
    Enterprise Web-Based Software (J2EE, .NET)
    Artificial Intelligence software (C++, Lisp)
    Please advise and comment. Thanks!!
    , Jan 4, 2005
    #1
    1. Advertising

  2. Phlip Guest

    jrefactors wrote:

    > The choice of programming languages is usually based on the software
    > type. I try to come up with a list to help me understand more. I know
    > there are some other languages I haven't included, but I just highlight
    > the the popular and modern high level programming languages. After
    > making this list, I conclude C++ is still the most popular programming
    > languages in software development.
    >
    > Systems Software (C, C++)
    > Real-time software (C, C++)
    > Embedded Software (C, C++)
    > Engineering & scientific software (C++)
    > Commercial Desktop-Based Software (C++, Java)
    > Enterprise Web-Based Software (J2EE, .NET)


    Web servers - Python, Perl, Ruby, PHP. Because you install a server only
    once (per few hundred thousand users), you have great freedom to use
    platforms and languages that is clean, light, and _not_ marketed as
    relentlessly as Disney's teen stars.

    > Artificial Intelligence software (C++, Lisp)


    It's an accident of history that Lisp, which has nothing to do with AI, was
    once touted as a kind of expert database engine.

    Another category you forgot - scripting layers within harder applications.
    For games the leader there is Lua.

    --
    Phlip
    http://industrialxp.org/community/bin/view/Main/TestFirstUserInterfaces
    Phlip, Jan 4, 2005
    #2
    1. Advertising

  3. xpyttl Guest

    <> wrote in message
    news:...

    > Real-time software (C, C++)
    > Embedded Software (C, C++)


    You will still find a lot of assembly language here, especially in embedded.
    Also, a lot of embedded software uses specialized languages like JAL. You
    will also still find a fair amount of Ada in real time. Where you find C++
    in these categories it will be a language that you wouldn't recognize as C++
    but is called C++. C++ has little real time capabilities, and the
    processors used in embedded for the most part can't support nested scope
    languages like C/C++. Where C is used, it is often no more than a wrapper
    for inline assembly code.

    > Engineering & scientific software (C++)


    Still a lot of Fortran here (ugh!) Where C++ is used it is almost always C
    compiled with a C++ compiler. Frequently even the C looks more like Fortran
    than C.

    > Commercial Desktop-Based Software (C++, Java)


    Almost always VB, almost never Java, yes, a fair bit of C++

    > Enterprise Web-Based Software (J2EE, .NET)


    C# is gaining some ground here

    ...
    xpyttl, Jan 4, 2005
    #3
  4. wrote:

    > The choice of programming languages is usually based on the software
    > type. I try to come up with a list to help me understand more. I know
    > there are some other languages I haven't included, but I just highlight
    > the the popular and modern high level programming languages. After
    > making this list, I conclude C++ is still the most popular programming
    > languages in software development.
    >
    > Systems Software (C, C++)
    > Real-time software (C, C++)
    > Embedded Software (C, C++)
    > Engineering & scientific software (C++)


    Tons of Fortran still in use in this field, everything from nuclear
    reactor design and control to aviation design to hydrologic database
    apps. Fortran, despite years of neglect from the Computer Science
    departments of the world, is alive and well. In fact, how many of y'all
    are aware that the latest official standard has just been approved
    (Fortran 2003, superceding Fortran 95)? Lots of object-oriented
    features and other language updates.

    C/C++ might be the most *popular* language around, but that isn't the
    same thing as having it be the *best* language, especially for vastly
    different applications.

    Jim C
    (added comp.lang.fortran to followups)

    > Commercial Desktop-Based Software (C++, Java)
    > Enterprise Web-Based Software (J2EE, .NET)
    > Artificial Intelligence software (C++, Lisp)
    > Please advise and comment. Thanks!!
    >
    J. F. Cornwall, Jan 4, 2005
    #4
  5. Chris Smith Guest

    xpyttl <> wrote:
    > > Real-time software (C, C++)
    > > Embedded Software (C, C++)

    >
    > You will still find a lot of assembly language here, especially in embedded.
    > Also, a lot of embedded software uses specialized languages like JAL. You
    > will also still find a fair amount of Ada in real time. Where you find C++
    > in these categories it will be a language that you wouldn't recognize as C++
    > but is called C++. C++ has little real time capabilities, and the
    > processors used in embedded for the most part can't support nested scope
    > languages like C/C++. Where C is used, it is often no more than a wrapper
    > for inline assembly code.


    This depends very much on which processor and device you're working with
    and what you mean by "embedded". Plenty of people are writing C and C++
    code to run on processors like the ARM and certain Motorola chips, which
    most people would have little trouble describing at embedded software.
    Software these days is quite a bit more complex than just interfacing
    with the hardware, and it's quite frequent that substantial amounts of C
    or C++ code is written for embedded software.

    The libraries may be simplified considerably, but the language is
    practically the same. You can compile the complete ANSI C language for
    the ARM chip using gcc, and you get stuff that works very well. I
    especially don't see what nested scope has to do with anything; scope is
    a linguistic issue, and is about source code, not the compiled result.
    I'm not aware of any major embedded systems that don't implement a call
    stack, if that's what you mean. They may exist, but are far from in the
    majority.

    --
    www.designacourse.com
    The Easiest Way To Train Anyone... Anywhere.

    Chris Smith - Lead Software Developer/Technical Trainer
    MindIQ Corporation
    Chris Smith, Jan 4, 2005
    #5
  6. In article <>,
    Chris Smith <> wrote:

    > xpyttl <> wrote:
    > > > Real-time software (C, C++)
    > > > Embedded Software (C, C++)

    > >
    > > You will still find a lot of assembly language here, especially in embedded.
    > > Also, a lot of embedded software uses specialized languages like JAL. You
    > > will also still find a fair amount of Ada in real time. Where you find C++
    > > in these categories it will be a language that you wouldn't recognize as C++
    > > but is called C++. C++ has little real time capabilities, and the
    > > processors used in embedded for the most part can't support nested scope
    > > languages like C/C++. Where C is used, it is often no more than a wrapper
    > > for inline assembly code.

    >
    > This depends very much on which processor and device you're working with
    > and what you mean by "embedded". Plenty of people are writing C and C++
    > code to run on processors like the ARM and certain Motorola chips, which
    > most people would have little trouble describing at embedded software.
    > Software these days is quite a bit more complex than just interfacing
    > with the hardware, and it's quite frequent that substantial amounts of C
    > or C++ code is written for embedded software.


    As an example take the software in a digital video camera, or a DVD
    player (includes a complete MPEG decoder), or a TIVO box, or a
    PlayStation 2 etc. I am sure the embedded software in this hardware is
    not written in assembler.
    Christian Bau, Jan 4, 2005
    #6
  7. Tom Dyess Guest

    "J. F. Cornwall" <> wrote in message
    news:5xxCd.37081$F25.13689@okepread07...
    > wrote:
    >
    >> The choice of programming languages is usually based on the software
    >> type. I try to come up with a list to help me understand more. I know
    >> there are some other languages I haven't included, but I just highlight
    >> the the popular and modern high level programming languages. After
    >> making this list, I conclude C++ is still the most popular programming
    >> languages in software development.
    >>
    >> Systems Software (C, C++)
    >> Real-time software (C, C++)
    >> Embedded Software (C, C++)
    >> Engineering & scientific software (C++)

    >
    > Tons of Fortran still in use in this field, everything from nuclear
    > reactor design and control to aviation design to hydrologic database apps.
    > Fortran, despite years of neglect from the Computer Science departments of
    > the world, is alive and well. In fact, how many of y'all are aware that
    > the latest official standard has just been approved (Fortran 2003,
    > superceding Fortran 95)? Lots of object-oriented features and other
    > language updates.
    >
    > C/C++ might be the most *popular* language around, but that isn't the same
    > thing as having it be the *best* language, especially for vastly different
    > applications.
    >
    > Jim C
    > (added comp.lang.fortran to followups)
    >
    >> Commercial Desktop-Based Software (C++, Java)
    >> Enterprise Web-Based Software (J2EE, .NET)
    >> Artificial Intelligence software (C++, Lisp)
    >> Please advise and comment. Thanks!!
    >>

    >


    Jim,

    Along those same lines, vi is probably the most popular unix editor
    simply for the fact that it is been around so long and is included in every
    distro. Doesn't mean it's the best. Lol. Personally, I like Borland's Delphi
    for win32 apps, but they aren't very good at marketing, so unfortunately
    Delphi is about to go the way of the dino.


    --
    Tom Dyess
    OraclePower.com
    Tom Dyess, Jan 5, 2005
    #7
  8. Tom Dyess wrote:

    > "J. F. Cornwall" <> wrote in message
    > news:5xxCd.37081$F25.13689@okepread07...
    >
    >> wrote:


    >>>Engineering & scientific software (C++)

    >>
    >>Tons of Fortran still in use in this field, everything from nuclear
    >>reactor design and control to aviation design to hydrologic database apps.
    >>Fortran, despite years of neglect from the Computer Science departments of
    >>the world, is alive and well. In fact, how many of y'all are aware that
    >>the latest official standard has just been approved (Fortran 2003,
    >>superceding Fortran 95)? Lots of object-oriented features and other
    >>language updates.
    >>
    >>C/C++ might be the most *popular* language around, but that isn't the same
    >>thing as having it be the *best* language, especially for vastly different
    >>applications.


    > Along those same lines, vi is probably the most popular unix editor
    > simply for the fact that it is been around so long and is included in every
    > distro. Doesn't mean it's the best. Lol.


    And doesn't mean it's not. As far as I'm concerned, vi (in the form of
    ViM) is not only my preferred UNIX text editor but also my preferred
    Win32 text editor. I'm sure others use EMACS in both contexts; although
    not as old as vi, EMACS is still fairly long in the tooth, with
    concomitant impact on the size of its user base. Contrast UNIX ed: it's
    even more historic than vi, but how many still use it (if they have an
    alternative)?

    That Fortran's widespread use in scientific and engineering applications
    is in part historically based in no way implies that the language is not
    still an excellent choice for those kinds of applications (and others)
    today.


    John Bollinger
    John C. Bollinger, Jan 5, 2005
    #8
  9. Flash Gordon Guest

    xpyttl wrote:
    > <> wrote in message
    > news:...
    >
    >
    >>Real-time software (C, C++)
    >>Embedded Software (C, C++)

    >
    > You will still find a lot of assembly language here, especially in embedded.
    > Also, a lot of embedded software uses specialized languages like JAL. You
    > will also still find a fair amount of Ada in real time. Where you find C++
    > in these categories it will be a language that you wouldn't recognize as C++
    > but is called C++. C++ has little real time capabilities, and the
    > processors used in embedded for the most part can't support nested scope
    > languages like C/C++.


    I've never had a problem with processors not supporting nested scope.

    > Where C is used, it is often no more than a wrapper
    > for inline assembly code.


    Most of the C I wrote for embedded systems was standard C with only a
    few specific functions written in assembler.

    You will also find Pascal if you know where to look.

    <snip>

    >>Commercial Desktop-Based Software (C++, Java)

    >
    > Almost always VB, almost never Java, yes, a fair bit of C++


    I know of some significant desktop SW packages written in Java.

    >>Enterprise Web-Based Software (J2EE, .NET)

    >
    > C# is gaining some ground here


    Also Perl and lots of other languages.

    However, this is not on topic for comp.lang.c, not (I think) for
    comp.lang.c++ and I would be surprised if it was on topic for
    comp.lang.java.programmer, so I've set follow ups to comp.software-eng,
    which seems like the most appropriate group of those this was cross
    posted to.
    --
    Flash Gordon
    Living in interesting times.
    Although my email address says spam, it is real and I read it.
    Flash Gordon, Jan 6, 2005
    #9
  10. xpyttl Guest

    "John C. Bollinger" <> wrote in message
    news:crhesb$557$...

    > And doesn't mean it's not. As far as I'm concerned, vi (in the form of
    > ViM) is not only my preferred UNIX text editor but also my preferred
    > Win32 text editor. I'm sure others use EMACS in both contexts; although
    > not as old as vi, EMACS is still fairly long in the tooth, with
    > concomitant impact on the size of its user base. Contrast UNIX ed: it's
    > even more historic than vi, but how many still use it (if they have an
    > alternative)?


    I gotta admit to a strong preference for emacs, both on Windoze and Linux.
    With editors, there is probably a little of what you learned first as being
    best. I didn't learn emacs first, but after struggling through several
    editors as the technology moved from operating system to operating system, I
    finally realized that there was a lot to be said for one editor on all OSes.

    And besides, you gotta love an editor that can tell you the coptic holidays
    anytime you need to know!

    ...
    xpyttl, Jan 7, 2005
    #10
  11. In article <vqnDd.10485$>,
    "xpyttl" <> wrote:

    > I
    > finally realized that there was a lot to be said for one editor on all OSes.


    Yea. That's how I came to love the bomb... I mean emacs. It wasn't that
    it was necessarily a better editor than other choices. The selling point
    was that it was the same editor. Learning one editor, even if it took a
    bit of time to learn, was better than trying to lean n different editors
    and keep mental track of which one I was using at which exact instant
    (extra fun when using remote access and windowing systems so that I
    might have different editors in different windows of the same screen).
    At the time (almost 20 years ago), emacs was the one editor that was
    portable to all the systems I was using. Eventually I got used to it.

    I'm a big fan of portability. Particularly in programming, which led to
    me joining an ISO standards committee, but the principle leaks over into
    things like editors also.

    --
    Richard Maine | Good judgment comes from experience;
    email: my first.last at org.domain | experience comes from bad judgment.
    org: nasa, domain: gov | -- Mark Twain
    Richard E Maine, Jan 7, 2005
    #11
  12. Joe Kelsey Guest

    John C. Bollinger wrote:
    > Tom Dyess wrote:
    >
    >> "J. F. Cornwall" <> wrote in message
    >> news:5xxCd.37081$F25.13689@okepread07...
    >>
    >>> wrote:

    >
    >
    >>>> Engineering & scientific software (C++)
    >>>
    >>>
    >>> Tons of Fortran still in use in this field, everything from nuclear
    >>> reactor design and control to aviation design to hydrologic database
    >>> apps. Fortran, despite years of neglect from the Computer Science
    >>> departments of the world, is alive and well. In fact, how many of
    >>> y'all are aware that the latest official standard has just been
    >>> approved (Fortran 2003, superceding Fortran 95)? Lots of
    >>> object-oriented features and other language updates.
    >>>
    >>> C/C++ might be the most *popular* language around, but that isn't the
    >>> same thing as having it be the *best* language, especially for vastly
    >>> different applications.

    >
    >
    >> Along those same lines, vi is probably the most popular unix
    >> editor simply for the fact that it is been around so long and is
    >> included in every distro. Doesn't mean it's the best. Lol.

    >
    >
    > And doesn't mean it's not. As far as I'm concerned, vi (in the form of
    > ViM) is not only my preferred UNIX text editor but also my preferred
    > Win32 text editor. I'm sure others use EMACS in both contexts; although
    > not as old as vi, EMACS is still fairly long in the tooth, with
    > concomitant impact on the size of its user base. Contrast UNIX ed: it's
    > even more historic than vi, but how many still use it (if they have an
    > alternative)?


    EMACS is OLDER than vi. I used EMACS on TOPS-20 long before Bill Joy
    ever dreamed of vi. Richard Stallman wrote and maintained EMACS on ITS
    long before Ken and Dennis ever dreamed of UNIX.

    /Joe
    Joe Kelsey, Jan 7, 2005
    #12
  13. Joe Kelsey Guest

    John C. Bollinger wrote:
    > And doesn't mean it's not. As far as I'm concerned, vi (in the form of
    > ViM) is not only my preferred UNIX text editor but also my preferred
    > Win32 text editor. I'm sure others use EMACS in both contexts; although
    > not as old as vi, EMACS is still fairly long in the tooth, with
    > concomitant impact on the size of its user base. Contrast UNIX ed: it's
    > even more historic than vi, but how many still use it (if they have an
    > alternative)?


    EMACS is OLDER than vi. I used EMACS on TOPS-20 long before Bill Joy
    ever dreamed of vi. Richard Stallman wrote and maintained EMACS on ITS
    long before Ken and Dennis ever dreamed of UNIX.

    /Joe
    Joe Kelsey, Jan 7, 2005
    #13
  14. In article <>,
    Joe Kelsey <> wrote:
    >
    >EMACS is OLDER than vi. I used EMACS on TOPS-20 long before Bill Joy
    >ever dreamed of vi. Richard Stallman wrote and maintained EMACS on ITS
    >long before Ken and Dennis ever dreamed of UNIX.



    They both date from 1976.

    --bks
    Bradley K. Sherman, Jan 7, 2005
    #14
  15. Ron Natalie Guest

    Joe Kelsey wrote:
    > John C. Bollinger wrote:
    >
    >> And doesn't mean it's not. As far as I'm concerned, vi (in the form
    >> of ViM) is not only my preferred UNIX text editor but also my
    >> preferred Win32 text editor. I'm sure others use EMACS in both
    >> contexts; although not as old as vi, EMACS is still fairly long in the
    >> tooth, with concomitant impact on the size of its user base. Contrast
    >> UNIX ed: it's even more historic than vi, but how many still use it
    >> (if they have an alternative)?

    >
    >
    > EMACS is OLDER than vi. I used EMACS on TOPS-20 long before Bill Joy
    > ever dreamed of vi. Richard Stallman wrote and maintained EMACS on ITS
    > long before Ken and Dennis ever dreamed of UNIX.


    You're right about vi. You're wrong about UNIX. UNIX predates EMACS
    by at least a half a decade.
    Ron Natalie, Jan 8, 2005
    #15
  16. Tom Dyess Guest

    If I remember correctly, C was developed in 1970 to develop UNIX also in
    1970. Talk about making a deadline! That's alot to acomplish in a year.

    --
    Tom Dyess
    OraclePower.com

    "Ron Natalie" <> wrote in message
    news:41df3169$0$12694$...
    > Joe Kelsey wrote:
    >> John C. Bollinger wrote:
    >>
    >>> And doesn't mean it's not. As far as I'm concerned, vi (in the form of
    >>> ViM) is not only my preferred UNIX text editor but also my preferred
    >>> Win32 text editor. I'm sure others use EMACS in both contexts; although
    >>> not as old as vi, EMACS is still fairly long in the tooth, with
    >>> concomitant impact on the size of its user base. Contrast UNIX ed: it's
    >>> even more historic than vi, but how many still use it (if they have an
    >>> alternative)?

    >>
    >>
    >> EMACS is OLDER than vi. I used EMACS on TOPS-20 long before Bill Joy
    >> ever dreamed of vi. Richard Stallman wrote and maintained EMACS on ITS
    >> long before Ken and Dennis ever dreamed of UNIX.

    >
    > You're right about vi. You're wrong about UNIX. UNIX predates EMACS
    > by at least a half a decade.
    Tom Dyess, Jan 8, 2005
    #16
  17. Jerry Coffin Guest

    > EMACS is OLDER than vi. I used EMACS on TOPS-20 long before Bill Joy
    > ever dreamed of vi. Richard Stallman wrote and maintained EMACS on

    ITS
    > long before Ken and Dennis ever dreamed of UNIX.


    According to the EMACS FAQ:

    "The first Emacs was a set of macros written in 1976 at MIT by RMS for
    the editor TECO..."

    The first version of UNIX dates from approximately 1970. Contrary to
    another post in this thread, it was written in PDP-7 assembly language,
    NOT C as suggested elsethread. It was only later that it was rewritten
    in C.

    The date at which you can honestly separate Vi from ed, ex, em, en,
    etc. is a bit harder to pin down. The text of one interview with Bill
    Joy can be found here:

    http://www.cs.pdx.edu/~kirkenda/joy84.html

    This seems to indicate roughly the same time frame (1976 or so).

    Clearly UNIX is the oldest of the three, but EMACS and Vi seem to be
    roughly the same ages.

    --
    Later,
    Jerry.

    The universe is a figment of its own imagination.
    Jerry Coffin, Jan 8, 2005
    #17
  18. Joe Kelsey wrote:

    > EMACS is OLDER than vi. I used EMACS on TOPS-20 long before Bill Joy
    > ever dreamed of vi. Richard Stallman wrote and maintained EMACS on ITS
    > long before Ken and Dennis ever dreamed of UNIX.


    My apologies for the mix-up. My original point was that both are
    long-established editors with large followings not restricted to UNIX,
    and that their popularity is not exclusively attributable to their age
    and distribution (c.f. my contrast with ed). That EMACS originated on a
    non-UNIX system (which I did not know, but probably should have; thanks)
    is even better support for my thesis.

    John Bollinger
    John C. Bollinger, Jan 10, 2005
    #18
  19. Gordon Sande Guest

    John C. Bollinger wrote:
    > Joe Kelsey wrote:
    >
    >> EMACS is OLDER than vi. I used EMACS on TOPS-20 long before Bill Joy
    >> ever dreamed of vi. Richard Stallman wrote and maintained EMACS on
    >> ITS long before Ken and Dennis ever dreamed of UNIX.

    >
    >
    > My apologies for the mix-up. My original point was that both are
    > long-established editors with large followings not restricted to UNIX,
    > and that their popularity is not exclusively attributable to their age
    > and distribution (c.f. my contrast with ed). That EMACS originated on a
    > non-UNIX system (which I did not know, but probably should have; thanks)
    > is even better support for my thesis.


    There was a "design document" that was available for EMACS which
    described its notion of being modeless with self insertion of
    printing characters. This was contrasted to the word processors
    which tended to be overstrike, or replacement, editors. Before
    the advent of personal computers there were dedicated word
    processors. The IBM PC had a lot of hardware in common with the
    IBM word processor of the day.

    EMACS went for mnemonic controls of forward, back, next and previous
    which were not adjacent on the key board as contrasted to the
    use of "cursor diamond" on the keyboard. Cursor keys were far from
    universal so the choice of alternates was more of an issue.

    Such "debates" are still evident and will never be resolved. Some
    of the original criteria are either forgotten or unknown to some
    of the current debaters.

    > John Bollinger
    >
    Gordon Sande, Jan 10, 2005
    #19
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Replies:
    18
    Views:
    594
    Gordon Sande
    Jan 10, 2005
  2. Replies:
    18
    Views:
    596
    Gordon Sande
    Jan 10, 2005
  3. John
    Replies:
    0
    Views:
    991
  4. John
    Replies:
    0
    Views:
    1,020
  5. Laurence Tratt
    Replies:
    1
    Views:
    120
    Marcelo Alvim
    Sep 26, 2006
Loading...

Share This Page