?
Solved

Classification of Computer Languages

Posted on 2011-10-31
11
Medium Priority
?
489 Views
Last Modified: 2012-05-12
Hello Experts!

     Strange request here.  I wondering if a seasoned vet or someone with a bit of programming knowledge could address my question and accurately categorize the below languages in their appropriate level.  This would help me greatly!  Classification of "Lower" is not to be taken literally as in "Assembly" language but what the language in todays standards would be listed as.  I hope this makes sense.  And no, this isn't for homework.  LOL!


Language                                         Level

C                                                       Upper or Lower Level Langauge?
C++                                                   Upper or Lower Level Language?
PERL SCRIPT                                     "  "
VBSCRIPT                                         "  "
JAVASCRIPT                                     "  "
Visual Basic                                      "   "
SQL Script                                         "  "
XML                                                   "  "
DHTML                                               "  "
VRML                                                 "  " 
HTML                                                  "  "

An example:  
Many computer languages such as "C" were considered high level languages in their day but to todays standards, I would think most programmers would classify "C" as a "lower-level" language?  
0
Comment
Question by:itsmevic
  • 3
  • 3
  • 2
  • +2
11 Comments
 
LVL 6

Accepted Solution

by:
Molly Fagan earned 500 total points
ID: 37057710
I have never classified XML, DHTML, HTMRL VRML as programming languages--they're markup languages.  As a former computer science instructor, they do not qualify as programming languages because you cannot do the 3 basic programming control structures in them--sequence, condition (if-then-else), and iteration.

I haven't read anything that would imply that there's been a change of opinion from calling C anything but an upper level language--it's still very much used.  So IMO, C, C++, etc. are all upper level languages.  Curious to see what others think:-)
0
 
LVL 41

Assisted Solution

by:HonorGod
HonorGod earned 500 total points
ID: 37057930
I agree with mjfagan concerning the *ML languages being Markup Languages, not programming languages (hence the ML).

One of the challenges or problems with identifying , or categorizing languages such as C, and C++ as a specific "level" is how some readers may interpret this classification.

Good C/C++ programmers can do some amazing work from writing Operating Systems, and device drivers, to specific applications that allow users to do all sorts of stuff from data base administration, to trivial "Hello World" applications.  So, how do we "classify" or "categorize" flexible and powerful programming languages that have these attributes?

My familiarity with Visual Basic, and VBScript has been limited, so I would tend to put them in the "high level" category.

I think that JavaScript, would probably fit in the high level category because of the places where it has been used. Note however, the increased utilization of JavaScript in server side situations because of the popularity of Node.js.  But I don't think that even this would move it out of the "high level" category.

Perl, and Python are both capable of wide variety of environments, so it would also be limiting to put either "only" in the "high level" category.

I guess it might help if we were able to better understand how this information is being used?

Perhaps something like this?
+--------------+---+---+---+
| Language     | L | M | H |
+--------------+---+---+---+
| C            | x | x | x |
| C++          | x | x | x |
| Perl         |   | x | x |
| Python       |   | x | x |
| VBSCRIPT     |   |   | x |
| JAVASCRIPT   |   |   | x |
| Visual Basic |   |   | x |
| SQL Script   |   |   |   |
| XML          |   |   |   |
| DHTML        |   |   |   |
| VRML         |   |   |   |
| HTML         |   |   |   |
+--------------+---+---+---+

Open in new window

0
 
LVL 53

Assisted Solution

by:COBOLdinosaur
COBOLdinosaur earned 500 total points
ID: 37057958
I agree with mjfagan, for he most part.  DHTML does not exist even as markup it is actually just a
method that combines HTML and Javascript.  The problem I have here is with the terms "upper level"
and "lower level". What is the definition of those terms.  When I started out in the 60's all of
those would have been considered high level voodoo.

If the differentiation, of the terms is based on range of function then it is questionable whether
SQL could be considered high level because of its limited scope.  On the other hand if the definitions
are based on the number of layers the developer is removed from machine code than c and possibly perl
would have to be considered lower level, and SQL would at a high level.  

So I think any definitive opinion would require a clear definition of the properties to be measured
for the purpose of classification.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 6

Expert Comment

by:Molly Fagan
ID: 37058215
@COBOLdinosaur, with regards to SQL, in one of my classes 15 years ago, SQL was described as a 4th generation language (with machine language being 1st generation, Assembly--2nd, C, etc. 3rd) because it was a language where we didn't have to explicitly tell the computer *how* to grab the data (i.e. we don't have to write the underlying code for doing a SELECT statement)).  I haven't seen anything more about that since my college years.

But yeah, I always understood that the levels of language (upper/lower) was based on the number of layers the developer is removed from the machine code.

0
 
LVL 37

Assisted Solution

by:TommySzalapski
TommySzalapski earned 500 total points
ID: 37058287
Generally when people say "high level" language, they are referring to the level of abstraction above the machine.
Many computer languages such as "C" were considered high level languages in their day but to todays standards, I would think most programmers would classify "C" as a "lower-level" language?

As a current computer science instructor, I would agree with that statement. For the majority of programmers today, C (or even C++) is the lowest level language they have seen. A few still see assembly in one or two classes. Then they started using Java or VB or any of the .NETs.

You could certainly put a partial order on the languages, but trying to call them either "high" or "low" level causes problems since we keep getting more and more abstract. C++ definitely affords a higher level of abstraction than C which is quite a bit higher than assembly, which is certainly higher than machine code.
Then I would put Pearl, Python and Java above C++, then VB and the .NETs, then all the scripts, but some people might disagree. Scripts are definitely a higher abstraction than compiled languages, but someone who knows them better might want to order them as well.

0
 
LVL 37

Expert Comment

by:TommySzalapski
ID: 37058334
Ah, I was waiting for someone to bring that up. A different classification was the generation levels. They tried to dodge the "high is the new low" thing by just enumerating the levels.

Quick and dirty summary:
1st generation is machine code
2nd generation is assembly (which is assembled into machine code)
3rd generation is structured languages (C, C++, .NET) which are compiled into assembly or machine code
4th generation is purpose-driven, specific languages (like SQL) where the language was build on top of the others for a specific task.
5th generation is usually used for languages that need less help from the programmer. You just tell it what problem you want to solve, and it figures out how to solve it for you. Example: A language where you can just type English instead of rigorous code and it figures out what you mean.
0
 
LVL 53

Expert Comment

by:COBOLdinosaur
ID: 37058335
The definition of 4th generation can be a little fuzzy.  It is most often used to describe object oriented languages.  I have always considered SQL to be high level based on the level of abstraction.

However if you classify SQL as 4th generation where does that position JAVA? Then there is PHP which supports objects in PHP5, but continues to support function oriented PHP4 within the same script.  

Scholars could spend a great deal of time making all sorts of logical arguments to support an infinite number of classification systems and by the time they finally came to a conclusion it would be moot because a new generation of languages has come into usage.

In the end it does not matter what the classifications are so long as an appropriate tool is selected for a given job, and we should all be grateful that we have such a large, diverse group to select from.
0
 
LVL 37

Expert Comment

by:TommySzalapski
ID: 37058380
I agree with that. There is no classification system that easily classifies every language and that everyone agrees on.
0
 

Author Comment

by:itsmevic
ID: 37059031
Good dialog here guys, thanks for everyone's input.  Now how to award the points...?  
0
 
LVL 6

Expert Comment

by:Molly Fagan
ID: 37059037
IMO, divide them equally:-)
0
 
LVL 41

Expert Comment

by:HonorGod
ID: 37059404
Thanks for the assist, and the points.

Good luck & Happy Halloween.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
Q&A with Course Creator, Mark Lassoff, on the importance of HTML5 in the career of a modern-day developer.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
Introduction to Processes
Suggested Courses
Course of the Month17 days, 2 hours left to enroll

862 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question