Programming Applications and Frameworks.

content

  • Programming Paradigms
  • Software run-time architecture
  • Development tools
  • Frameworks vs libraries vs plugins

Paradigms are a way to classify programming languages based on their features. Languages can be classified into multiple paradigms. furthermore Some computer languages support multiple paradigms.

Imperative and Declarative paradigms,

With imperative programming,you tell the compiler what you want to happen, step by step. Furthermore we’d step through this and decide what we want. But with declarative programming on the other hand, you write code that describes what you want, but not necessarily how to get it, which means declare your desired results, but not the step by step. More over declarative programming is when you say what you want, and imperative language is when you say how to get what you want.

Procedural programming and Functional programming,

Procedural

  • The out put of the routine does not always have a direct correlation with the input.
  • Everything is done according to a specific order.
  • Side effects may have, in a execution of a routine.
  • Implementing solutions, tends to emphasize in a linear fashion.

Functional

  • Often recursive
  • Always returns the same out put for a given input.
  • Usually order of evaluation is undefined.
  • Must be stateless and no operation can have side effects
  • It is a good fit for the parallel execution.
  • Tends to emphasize a divide and concur approach.
  • May have the feature of lazy evaluation.

Lambda calculus and Lambda expression,

lambda calculus is a framework developed in 1930 s
by Alonzo church to study computations with functions.

let’s see the syntax of lambda calculus, It includes three different types of expressions;

  • E:: = x (variables)
  • |E1E2 (function application)
  • (function creation)

Pure lambda calculus has no built in functions.

Lambda expression is an anonymous function that you can use to creates delegates or expression tree types. By using lambda expression you can write local functions that can be passed as arguments or returned as the value of the function calls. More over lambda expressions offer a syntactical advantage of over a traditional anonymous function declaration.

function (x) {return x* x};

Referential transparency,

Referential transparency is used when describing notations where only the meaning of immediate component expressions is significant in determining the meaning of a compound expression.

Advantage of referential transparency in programming language is that mathematical reasoning is available for referential transparent programs.

Key features of Object Oriented Programming,

According to “pcmag.com”, there are three major features in object-oriented programming; They are: encapsulation,inheritance and polymorphism.

Furthermore another set of features of OOP are;

  • object
  • class
  • Data hiding and encapsulation
  • Dynamic Binding
  • Message passing
  • Inheritance
  • Polymorphism

Objects,

Objects are the basic run-time entities in an object-oriented programming. They may represents any item that the program has to handle. Furthermore they represents user-defined data such as vector, time and lists. The object interact by sending message to one another, When the program is executed.

Classes:

Objects contain data, and code to manipulate that data. The entire set of data and code of an object can be made a user-defined data type with the help of class. We can create a number of objects belonging to that class,
once a class has been defined. More over a class is a collection of objects of similar type.

Ex. Flower rose;

Data Abstraction,

Abstractions means the act of representing essential features without including background details or explanation. More over it commonly known as Abstraction Data Type(ADT).

Encapsulation,

The wrapping up of data and functions into single unit is known as encapsulation. This is a striking feature of a class. The data is not accessible to the outside world, and it can only access by those functions which are wrapped in the class. The interface between the object’s data and the program is provided by these functions.

Inheritance:

Inheritance is the process by which objects of one class acquire the properties of object of another class. The class whose members are inherited is called the Base class and the class that inherits those members is called Derived class. It supports class of hierarchical classification.

The ideas of re-usability is provided by the concept of inheritance . This means we can add essential features to an exciting class without modifying it.

Polymorphism:

The term Polymorphism means the ability to take more than one form. At different instances, an operation may exhibit different behaviors.

Event-driven programming and other programming paradigms,

An event-driven program is one that largely responds to user events or other similar input. The concept of event driven programming is an important one in application development and other kinds of programming. Furthermore it has spawned the emergence of event handlers and other resources. More over this is known as an event-driven application.

Programming paradigm is a style or way of programming. A paradigm is a way of doing something,not a concrete thing.

Compiled languages,Scripting languages, and Markup languages.

Programming languages are those that their end results are compiled, they are known as compiled languages. Mostly use IDE s for those. Examples are: JAVA,visual basic,c,c++,c#,etc.

Markup languages are languages that are not executed or use to perform actions, but they are used to structure data. Examples: HTML,XML

Scripting languages are languages that are not compiled, and interpreted at run-time. Like a file containing instructions for a computer to follow to carry out a task. Examples: java script, php, python,etc.

Virtual run-time machines,

A process virtual machine, some times called an application virtual machine or Managed run-time environment(MRE), runs as normal application inside a host OS and supports a single process. Furthermore virtualization limits costs by reducing the need for physical hardware systems. Virtual machines more efficiently use hardware,which lowers the quantities of hardware and associated maintenance costs,and reduces power and cooling demand.

Java Script code

Node.js is a JavaScript run-time environment .Both browser, java script and Node.js run on the V8 JavaScript run-time engine. this engine takes your java script code and converts it into a faster machine code.

In order to obtain speed ,V8 translates java script code into more efficient machine code instead of using an interpreter. It compiles java script code into more efficient machine code at execution by implementing a JIT.

CASE tools, workbenches, and environments,

CASE tools fall into three categories: Upper CASE tools ,Lower CASE tools,and Integrated CASE tools.

  • Upper CASE tools: Ex:code designers,program editors- support coding ,testing and debugging
  • Lower CASE tools- support coding phase
  • Integrated CASE tools- support analysis,design and coding

Workbenches– types of workbenches,

  • Cross-development workbenches – for host target development.
  • Configure management workbenches
  • Documentation workbenches- for producing professional system documentation.
  • Product management workbenches

Environments

In computer program and software product development, the development environment is the set of processes and programming tools used to create the program or software product.

API

API – Application programming interface – is a set of subroutine definitions,communication protocols, and tools for building software.

Framework,Library, and Plugin,

Framework

Is an abstraction in which software providing generic functionality can be selectively changed by additional user written code,is provides a standard way to build and deploy applications.

Library

Collection of non volatile resources used by computer programs, often for software development. These may include configuration data , documentation, help data, message templates, pre – written code and subroutines, classes values or type specification.

Plugin,

Is a software component that adds a specific feature to an existing computer program when a program supports plugins, it enables customization.

Installing and configuring java,

How to check if JAVA is already installed?

  • Open the command prompt follow the menu path start>programs>Accessories > command prompt.
  • type Java version and press Enter on your keyboard.

JAVA SE, JAVA EE, and J2EE,

Java SE is used to develop applets, which are programs that run in web browsers. Java Enterprise Edition (Java EE) is the Java platform for developing enterprise-oriented applications and servlets, which are server programs that conform to Java EE’s Servlet API. Java EE is built on top of Java SE.

When java enterprise Edition was Introduced, the java platform version is 2,so they named it as J2EE-that is java 2 Enterprise Edition which is used for making web based applications ,which is called as Java EE now a days.

Environmental variables to use Java ,

Java does not need any environment variables to be set. However, setting some environment variables makes some things easier.

If the jre/bin folder is on the path, you don’t have to qualify to run the java command. If the jdk/bin folder is on the path, no need to qualify to run the java and javac commands.

Do we need both JDK and JRE ?

 JDK usually consists of both development & run-time environments in it. If you install JDK then JRE will be in it and installed automatically along with JDK. generally to do javac <filename.java needed to have JDK which already have JRE in it. to do java filename  only JRE is needed.

Do we need to configure the OS for JAVA ,when using an IDE?

The Java Development Kit, or JDK, is a set of development tools used in the programming of Java applications. The Eclipse IDE requires that a JDK be locally installed. Then, under the Eclipse Packages tab, find the listing for Eclipse IDE forJava Developers. Select your OS and download the appropriate archive file.

Leave a comment