Skip to main content

The Language Evaluation Criteria


There are a vast amount of programming language that we are using. Some are designed to accomplish some specific task. Some are for common uses. Any way the below described is a short ‘summery’ of the criteria we followed to evaluate the language.



Overview


1.       Readability
a.       Overall Simplicity
b.      Orthogonality
c.       Data Types
d.      Syntax Design
2.       Writability
a.       Simplicity and Orthogonality
b.      Support for Abstraction
c.       Expressivity
3.       Reliability
a.       Type Checking
b.      Exception Handling
c.       Aliasing
d.      Readability and Writability
e.       
4.       Cost

1.     Readability


It is the ease with which programs can be read and understood.

·        Overall Simplicity.

o   A manageable set of features and constructs
o   Few feature multiplicity (means of doing the same operation)
o   Minimal operator overloading
o   Function overloading

·        Orthogonality

o   A relatively small set of primitive constructs can be combined in a relatively small number of ways.
o   Every possible combination is legal.

·        Control statements.

o   The presence of well-known control structures (e.g., while statement).
o   Data types and structures.
o   The presence of adequate facilities for defining data structures.

·        Syntax considerations

o   Identifier forms: flexible composition.
o   Special words and methods of forming compound statements.
o   Form and meaning: self-descriptive constructs, meaningful keywords.


2.     Writability


It is the easiness with which a program can be created.

·        Simplicity and Orthogonality

o   Few constructs, a small number of primitives, a small set of rules for combining them.

·        Support for abstraction

o   The ability to define and use complex structures or operations in ways that allow details to be ignored.

·        Expressivity

o   A set of relatively convenient ways of specifying operations.
o   Example: the inclusion of for statement in many modern languages.


3.     Reliability


It is the ability of a programming language to perform to its specifications.

·        Type checking

o   Testing for type errors.

·        Exception handling

o   Intercept run-time errors and take corrective measures.

·        Aliasing

o   Presence of two or more distinct referencing methods for the same memory location.

·        Readability and Writability

o   A language that does not support “natural” ways of expressing an algorithm will necessarily use “unnatural” approaches, and hence reduced reliability.


4.   Cost


o   Training programmers to use language.
o   Writing programs (closeness to particular applications).
o   Compiling programs.
o   Executing programs.
o   Language implementation system: availability of free compilers, libraries.
o   Reliability: poor reliability leads to high costs.


o   Maintaining programs.

Comments

Popular posts from this blog

Talky Messenger Documentation & Setup

( Github ) Just created a chat app that runs in Node and Socket. the attempt was worthy. Talky is a messenger app built with Node, Express, Socket, Angular & Bootstrap. It's like a server-client structure. (But obviously not like the one we done at OS lab using shared memory). It has a broadcasting structure. Talky does not keep a log on chat. i.e., It doesn't have a memory or database. When we close the browser window, chat history is lost. There I also added a basic console, protected by a password, to send real-time notifications to active clients. The name 'Talky' was suggested by a friend of mine. (hey, thank you for that. The fact is that I am not really good at naming...😝) What if sometimes your college blocks WhatsApp? Try Talky. ( There is also a website on internet in the name of 'Talky' which has no connection with this one. ) Download Talky Messenger To use Talky, all you need is 3 things: Node server Source code...

4 tiny questions you fail easily.

Below are four (4) questions and a bonus question. You have to answer them instantly. You can't take your time, answer all of them immediately. OK?        Let's find out just how clever you really are .     Ready?  GO!!! (Scroll down)  Question 1 : You are participating in a race. You overtook the second person. What position are you in?  ......  ......  ......  ......  ......  ......  ......  ......  ......  ......   ......   ......   ......   ......   ......   ......   ......  ......  ......  ......  -first?, lol absolutely wrong! -If you overtake the second person and you take his place, you are second!  Try not to screw up in the next question.  ...

Formia - A Simulation of Google Forms. Part 1 - My Experience

This time I would like to share one of the exciting moments in my life, in which I understood what the Client - Server Concept means and by the Grace of God , simulated one of the Internet Giant's product, Google Forms from scratch. I finished the project a couple of months ago. Here is the story. (and the project ). Analysis page, See more screenshots Screenshots Install Formia. What it is? Formia is an incredible web application for Massive Feedback Analysis. Developed on May 2015. More than  4000 lines of codes. Flexible. Well structured. This can be viewed as a simulation of  Google Forms , a product hosted by the  Internet Giant, Google. Service available in  mobile, laptop, tabs . Languages Formia is constructed on  7 languages , including PHP, AJAX, JS, SQL etc. The Analysis part utilizes  Google APIs  which is one of the coolest (and  hottest ) feature. Usability Formia is optimized for easine...