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 )  Total Marks: 1   A 4-bit binary UP/DOWN counter is in the binary state zero. the next state in the DOWN mode is

Mth621 Final term paper sept 2020

  Mth 621 paper Practise queation ma sa 80% aya : 3nu quizes ma sa sary mcqs ay Objective bi 30 aur subjective bi 30 k tha total 60 marks k paper tha Subjective total chap3 aur chap 4 ma say tha Subjective almost practise question ma sa tha Mcqs 80% quizes ma sa thay G therorem bi aik 2 to zehn ma ni a rhy 621 theorem on bounded set theorem on reman integral mean value theirem limit chain rule integaration 621 k saare mcq old quizes m se aye #Mth621 Mcqs were based on concepts and 6,7 was from mcqs file of quizz. 1-Define Removeavle continuity? 2 marks 2-Deifine chain rule for composition of functions? 2 marks 3-Define Second mean theorem of Integration? 4- Find uniform continuity of 2x? 5- A theorem was from Monotonic Function? 5 marks 6-evaluate lim->0 ln sinx/ln x?? 7- and Rest two was from the last 5th chp of about integration on closed interval. Mcqs zyada quiz mai sy thy evaluate lim->0 ln sinx/ln x?? Find uniform continuity of 2x? generalized mean value the

UniVERSITY VIRTUAL CAMPUSES & Contact #

UniVERSITY VIRTUAL CAMPUSES VU OWN CAMPUSES Sr # Province City Code Details 1    BALOCHISTAN PISHIN VPSN01 Virtual University Campus, Pishin Killi Malik Abdul Razzaq, Pishin Phone:   0826-442275 Fax:   - Email:   vpsn01@vu.edu.pk ,   vpsn01@vu.edu.pk   2    CAPITAL ISLAMABAD VIBD01 Virtual University Campus, Islamabad 9-E, Rizwan Plaza, Blue Area, Islamabad. Phone:   051-9213476 Fax:   NA Email:   vibd01@vu.edu.pk ,   vibd01@vu.edu.pk   3    KHYBER-PAKHTUNKHWA PESHAWAR VPSW01 Virtual University Campus, Peshawar 8-Jamrud Road, P.O. Tehkal Bala, Adjacent Toyota Froniter Motors, Peshawar. Phone:   091-5701071, 5705994 Fax:   091-5711381 Email:   vpsw01@vu.edu.pk ,   vpsw01@vu.edu.pk   4    PUNJAB D.G. KHAN VDGK01 Virtual University Campus, D.G. khan Sakhi Sarwar Road, Old D.D.A. Building, Near Pul Dat, D.G. Khan. Phone:   064-2000919, 2472813 Fax:   - Email:   vdgk01@vu.edu.pk ,   vdgk01@vu.edu.pk