Skip to main content

CS508 2018 Assignment No. 01

Assignment No. 01
Semester: Fall 2018
CS508: Modern Programming Languages
Total Marks: 15
Due Date:
22nd November, 2018
Instructions:
Please read the following instructions carefully before submitting assignment. It should be clear that your
assignment will not get any credit if:


 The assignment is submitted after due date.
 The submitted assignment does not open or file is corrupt.
 Assignment is copied (partial or full) from any source (websites, forums, students, etc.)
Note: You have to upload only .doc or .docx file. Assignment in any other format (extension) will not be
accepted and will be awarded with zero marks.
Objective:
The objective of this assignment is to provide hands on experience of:
 Concepts of Imperative and Functional programming languages
 Evaluating Java language in Reliability parameter
For any query about the assignment, contact at CS508@vu.edu.pk
Question 1: [10 marks]
By now you have studied that there are, literally, hundreds of programming languages that are used to solve
computing problems, ranging from scientific, business, to artificial intelligence domains. These languages satisfy
one or more programming paradigms or programming categories. Two of the most important categories are
Imperative programming languages and Functional programming languages.
Describe briefly, the distinguishing features of Imperative and Functional programming language. Give at least
two examples of both categories.
NOTE: Do not write unnecessarily long answer. Give to the point answer preferably in bulleted points.
Question 2: [5 marks]
Java is one of the most popular programming languages in the market. According to TIOBE index, Java is at the
top of the list (as of November 2018) in popularity among programming community: https://tiobe.com/tiobeindex/
You have to evaluate Java language on Reliability parameter. What two features/constructs in your opinion are
available in Java which makes its code reliable for wide adaption in the industry?
NOTE: Write precise and brief answer, preferably in bulleted form.

Solution :




Ans1:
Distinguishing features of Imperative and Functional programming language:
·         The functional programming paradigm was explicitly created to support a pure functional approach to problem solving. Functional programming is a form of declarative programming.
·         A functional approach involves composing the problem as a set of functions to be executed. The primary reason to implement functional transformation as pure functions is that pure functions are composable: that is self-contained and stateless.
·         These characteristics bring the benefits like readability and maintainability. We can define carefully the input to each function, and what each function returns. Haskell/gofer like languages is purely functional.
·         In contrast, an imperative language uses a sequence of statements to determine how to reach a certain goal.
·         With an imperative approach, a developer writes code that describes in exacting detail the steps that the computer must take to accomplish the goal.
·         Functional languages are good when we have a fixed set of things and as our code evolves, we primarily add new operations on existing things. This can be accomplished by adding new functions which compute with existing data types and the existing functions left alone. This is sometimes referred to as algorithmic programming most mainstream languages including object-oriented programming (OOP) Languages such as c#, C++, and java were designed to primarily support imperative programming.
Ans2
Java features:
·         There are many features that make java a more powerful programming language than many others like simplicity, Reliability, Security and portability.
·         One of the significant features that made java extremely popular and useful for internet was its platform independence. The language was suitable for creating both small components and complex standalone applications.
·         In java programming there is series of checks to ensure that the programs are completely reliable. Sensing probable problems and detecting runtime errors ensure that all the programming issues are resolved beforehand.



OR'

The functional programming paradigm was explicitly created to support a pure functional approach to problem solving. Functional programming is a form of declarative programming. In contrast, most mainstream languages, including object-oriented programming (OOP) languages such as C#, Visual Basic, C++, and Java, were designed to primarily support imperative (procedural) programming.
With an imperative approach, a developer writes code that describes in exacting detail the steps that the computer must take to accomplish the goal. This is sometimes referred to as algorithmic programming. In contrast, a functional approach involves composing the problem as a set of functions to be executed. You define carefully the input to each function, and what each function returns. The following table describes some of the general differences between these two approaches.





Comments

Popular posts from this blog

cs302 Solved Quiz

estion # 1 of 10 ( Start time: 03:03:55 PM )  Total Marks: 1    Divide-by-32 counter can be acheived by using   Select correct option:   Flip-Flop and DIV 10  Flip-Flop and DIV 16   Flip-Flop and DIV 32  DIV 16 and DIV 32 Question # 2 of 10 ( Start time: 03:05:20 PM )  Total Marks: 1   The counter states or the range of numbers of a counter is determined by the formula. (“n” represents the total number of flip-flops)   Select correct option:   (n raise to power 2)  (n raise to power 2 and then minus 1)  (2 raise to power n) (2 raise to power n and then minus 1) Question # 3 of 10 ( Start time: 03:06:36 PM )  Total Marks: 1   A 4- bit UP/DOWN counter is in DOWN mode and in the 1010 state. on the next clock pulse, to what state does the counter go?   Select correct option:   1001  1011  0011  1100 Question # 4 of 10 ( Start time: 03:07:37 PM )  Tot...

cs403 GDB Solution 2016

cs403 GDB 2016 For more discuss and ask question join this group   https://www.facebook.com/groups/143792885956764/ Posted By : Tahir Siddiqui(Mani)  Total Marks                                   5 Starting Date Wednesday, July 27, 2016 Closing Date Thursday, July 28, 2016 ...

MID TERM 2016 Spring Result Announced

Result has been Announced Check  ur lms Go LMS #MAni