Name=Kamran Mahmood Student Id=bc150201153
Assignment No#1 CS508 Question:-1
Distinguishing features of Imperative and Functional programming language Answer: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 objectoriented programming (OOP) Languages such as c#, C++, and java were designed to primarily support imperative programming.
Question:-2 Evaluating Java language in Reliability parameter
Answer:-2 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.