JAVA FULL STACK INTRODUCTION



All the technologies involved to develop, test and use the application software is called Full Stack.

SOFTWARE APPLICATION

There are three types of software applications they are. 

  • Stand-Alone Application
  • Network Application / Client Server Application
  • Web Application
STANDA-ALONE APPLICATION

  • Stand-alone application is also known as desktop application.
  • To run the standalone application a network or internet not required 
  • A single user can use stand-alone application users can run on a single local machine.
  • we cannot share the date from one client to another client. 
Examples:
  • Ms Office
  • Calculator etc...
Features 
  • Offline Functionality 
  • Better Performance 
  • Greater control 
  • Simple distribution 
  • Cost Efficiency 
NETWORK /CLIENT SERVER APPLICATION

  • Network application is also known as client server application.
  • These types of application are single user application which execute on two or more systems. 
  • We can share the date from one client to another client. 
  • To run the network application a network or internet required. 
Examples: 
  • E-Mail
  • FTP
  • NET
  • Web Browser etc.
WEB APPLICATON
  • A web application is an program that is usually stored o a remote server and user can access it through the use of software. 
  • we can share the date multiple times to multiple clients. 
  • Application can run on any mechine which has internet connection.
Examples:
  • Facebook
  • Yahoo
  • Twitter etc.
DEVICES 

Devices are divided into three types they are. 
  • Mobiles
  • Computers
  • Embedded system
MOBILES

Mobiles are related to handheld computers and similar technology. 

COMPUTERS

Computer is an combination of software and hardware.
  • Hardware
Each and every hardware of a computer should have their own software. 
Hardware is a physical part of computer like mother Board, Keyboard etc... 
  • Software 
Software is a set of instruction given to the computer is software.
software is a combination of input.

These are two type of software they are. 
  1. System software
  2. Application software
SYSTEM SOFTWARE

System software basically controls a computer's internal functional and also control hardware devices such as monitors, printers, and storage devices etc.

FEATURES: 
  1. System software is closer to the computer system
  2. system software is written in a low-level language. 
  3. Its difficult to design and understand. 
  4. system software is fast in speed 
TYPES OF SYSTEM SOFTWARE

There are Three types of system software. 
  1. Operating system 
  2. Language processor
  3. Device Driver
APPLICATION SOFTWARE

Application software is designed to perform a specific task for end users. it is a product or a program that is designed only to fulfill end users requirements.

FEATURES
  1. Application software is it performs more specialized tasks like word processing, spreadsheets, email etc.
  2. Application software is more interactive for the users.
  3. It is easy to use and design. 
  4. Application software is written in a high-level language. 
TYPES OF APPLICATION SOFTWARE

There are two types of application software. 
  1. General purpose software
  2. Customized software 
  3. utility software 
EMBEDDED SYSTEM

An embedded system is a combination of computer hardware and software designed for a specific function. 

TYPES OF COMPUTER LANGUAGES

There are three types of computer languages.
  • Low level language
  • High level language
  • specialized language
LOW LEVEL LANGUAGES 

A Low level programming langrage is close in relation to a computers instruction these are divided into two types 
  1. Machine language
  2. Assembly language
MACHINE LANGUAGE

machine language is a code or object code compsed of binary digits (0s and 1s). which computer system can esily interpret.
It is a native language that the central processing unio (CPU) directly understands and processess.

ASSEMBLY LANGUAGE 

Assembly language is a low-level programming language to write scripts for operating system and desktop applications. 
It is often referred to as a second-generation language of computer, while machine language is the first-generation language. 

HIGH LEVEL LANGUAGES

High level programming language are designed to be user friendly allowing programmers to write code quickly and efficiently. 

These are divided into four types 
  1. Procedural Language 
  2. Functional language 
  3. Object Oriented programming Language 
  4. Scripting language 
PEOCEDURAL LANGUAGE

A procedural language is a third-generation language easily create with simple procedures.
Here are some examples of procedural languages.
  • C language
  • Fortran 
  • Pascal '
  • Basic 
  • Cobal 
FUNCTIONAL LANGUAGE

Functional language is a type of high-level language that revolves around mathematical functions as their fundamental concept. Functional languages give functions equal status by assigning them to variables, using them as arguments in other functions, and returning them as values from functions. This means that functions can be useful in flexible and powerful ways, making it easier to solve problems and create programs.

Here are some examples of Functional language.
  • F# 
  • Haskell
  • Clojure
  • Erlang

OBJECT ORIENTED LANGUAGE

Object-oriented programming languages have become the predominant approach in developing new software. The development process in these languages revolves around creating and interacting with objects, which consist of pieces of code (modules) and data structures.

Here are some examples of popular object-oriented languages:

  • Java 
  • python
  • C++
  • Ruby
  • Swift
SCRIPTING LANGUAGES

Scripting languages are high-level languages to be user-friendly and easy to learn for automating repetitive tasks and creating dynamic web pages. Developers prefer interpreted scripting languages because they do not require compilation before execution, enabling quick prototyping and testing.

Here are some of the common scripting languages:

  • Java script 
  • Python 
  • Perl 
  • Bash

    SPECILIZED LANGUAGES

    Specialized languages are programming languages that are for specific uses or industries. They have special features and rules that make them really good at solving certain kinds of problems. For example, there are languages for designing web pages, languages for working with databases, and even languages for doing scientific calculations. These specialized languages help programmers work more easily and effectively on tasks that require specific knowledge or skills.

    These are classified into Three types they are.

    1. Markup language
    2. Quary language 
    3. Domin specific language

    MARKUP LANGUAGE

    Markup languages are computer languages to format text for display on the web or in documents. They employ tags and other markers to describe how text should be formatted or displayed. The objective of markup languages is to ensure both machine and human readability.

    Here are some common examples of Markup languages:

    • XML
    • HTML
    • MARKDOWN

    QUARY LANGUAGE

    Query languages are simply computer languages that retrieve and manipulate data from databases. These types of computer language allow users to issue commands or statements in order to edit or retrieve data based on specific criteria. Query languages find applications in various fields, including business intelligence, data analytics, and web development.

    Here are some of the common scripting languages:

    • SQL
    • SPARQL

    DOMIN SPECIFIC LANGUAGE

    Developers design Domain-Specific Languages (DSLs) for specific domains or problems to simplify programming tasks by providing a language tailored to the needs of a particular application. Multiple applications utilize domain-specific languages (DSLs), including scientific computing, financial modeling, and game development.

    Here are some of the common scripting languages:
    • MATLAB
    • R language