software types and programming languages

J

jrefactors

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!!
 
P

Phlip

jrefactors said:
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.
 
X

xpyttl

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

...
 
J

J. F. Cornwall

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)
 
C

Chris Smith

xpyttl said:
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
 
C

Christian Bau

Chris Smith said:
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.
 
T

Tom Dyess

J. F. Cornwall said:
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)

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.
 
J

John C. Bollinger

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
(e-mail address removed)
 
F

Flash Gordon

xpyttl said:
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.

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

I know of some significant desktop SW packages written in Java.
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.
 
X

xpyttl

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!

...
 
R

Richard E Maine

xpyttl said:
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.
 
J

Joe Kelsey

John said:
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
 
J

Joe Kelsey

John said:
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
 
B

Bradley K. Sherman

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
 
R

Ron Natalie

Joe said:
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.
 
T

Tom Dyess

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.
 
J

Jerry Coffin

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.
 
J

John C. Bollinger

Joe said:
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
(e-mail address removed)
 
G

Gordon Sande

John said:
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.
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,053
Latest member
BrodieSola

Latest Threads

Top