Friday, April 16, 2021

Introduction to Programming Languages.

 

Programming Languages.


Introduction to the computer language


 OBJECTIVES: 
  • TO UNDERSTAND WHAT IS COMPUTER LANGUAGE 
  • TO UNDERSTAND LOW LEVEL AND HIGH-LEVEL LANGUAGE 
  • TO DIFFERENTIATE BETWEEN LOW LEVEL AND HIGH-LEVEL LANGUAGE

Human languages are known as natural languages. Unfortunately, computers can not understand natural languages, as a result, we must communicate with computers using computer languages. These languages are: 

  • High-Level Languages
  • Low-Level Languages 
  • Assembly Language
  • Machine Language





 Low-level Languages: Low-level computer languages are machine codes or close to them. 
» Example:  0 and 1

 • Low-level languages are further divided into;

     1) Machine Language:
         It expresses instructions in the binary codes of computer i:e 0 and 1. 

     2) Assembly Language: 
         It utilizes symbols to represent operation codes and storage locations, also called symbolic language. It is an alphanumeric language known a "mnemonic codes". 

»Example: ADD for Addition, SUB for subtraction, start label, etc.

Types of Languages

  •  Programming languages were created to give instruction. 
  • They are classified into various categories: 
- High Level
- Low Level
  • The higher the level the more abstraction from the hardware. 
- If a language has higher abstraction- it is further away from machine language (1's and O's)

Types of Computer/Programming Languages 

  1. Machine Language 
  2. Symbolic Languages


 There Are Two Types Of Symbolic Languages 

  • Low-level Language 

» Low-level language is near to machine language. Assembly Language is an example of Low-level Language. 

  • High-Level Language 

» High-level language is near to human languages that language mostly English word. C, C++, Java, Cobol, PHP, C#, Basic, and have many other languages. Visual Basic and have many other languages.


Low-LEVEL LANGUAGES

  • These are easily understood by computers,
  • They are machine-dependent languages.
  • Programs written in these languages are not transferable from one computer to another.
  • machine language and assembly language are examples of low-level languages.

Machine language

Machine code or machine language is a system of
instructions and data executed directly by a computer's
CPU. The lowest-level programming language that only be
understood by computers.

Computer language that is directly executable by a
computer without the need for translation by a compiler
or an assembler.

Many tools exist for building a house; likewise, many tools are available for creating or writing software. Those tools include different types of programming languages used to write detailed sets of instructions to the computer. programming Languages provide the basic building blocks for all systems and applications software. programming Languages allow people to tell computers what to do and are the means by which software systems developed. There are many different programming languages, just like there are many languages spoken in the world. Like human languages, all have verbs and subroutines. It is these building blocks that are basic to computer programming in any language that it is important to learn. Unlike human languages, with computer languages, once you learn one, it is much easier to the next and the next.



Generations of  Programming Languages

This chapter will teach you the basics of computer programming. You will learn to write programs that do calculations, programs that store names and addresses, and programs that are fun!


People have been writing computer programs since general-purpose computers were first developed in the late 1940s. programs are written in programming languages, of which visual basic, COBOL, and JAVA are common examples. 



















Web Development

 

Web Development


Web development is the work involved in developing a Web site for the Internet (World Wide Web) or a private network. Web development can range from developing a simple single static page of plain text to complex Web-based Internet applications (Web apps), electronic businesses, and social network services.

A more comprehensive list of tasks to which Web development commonly refers may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development.


      Types of Web Developers

Earlier, we mentioned that web development work could be in the front end, the back end, or the full stack. What exactly do these terms mean?

The front end is the stuff you see on the website in your browser, including the presentation of content and user interface elements like the navigation bar. Front-end developers use HTML, CSS, JavaScript, and their relevant frameworks to ensure that content is presented effectively and that users have an excellent experience.

The back end refers to the guts of the application, which live on the server. The back end stores and serves program data to ensure that the front end has what it needs. This process can become very complicated when a website has millions of users. Back-end developers use programming languages like Java, Python, and Ruby to work with data.

Full-stack developers are comfortable working with both the front and back ends. In The Odin Project, we focus on teaching you full-stack development, covering all aspects of web development.



                           Front-End Developers

Front-end web development is the practice of converting data to a graphical interface, through the use of HTML, CSS, and JavaScript, so that users can view and interact with that data. Front-end web development, also known as client-side development is the practice of producing HTML, CSS, and JavaScript for a website or Web Application so that a user can see and interact with them directly.


The challenge associated with front-end development is that the tools and techniques used to create the front end of a website change constantly and so the developer needs to constantly be aware of how the field is developing.


The objective of designing a site is to ensure that when the users open up the site they see the information in a format that is easy to read and relevant. This is further complicated by the fact that users now use a large variety of devices with varying screen sizes and resolutions thus forcing the designer to take into consideration these aspects when designing the site. They need to ensure that their site comes up correctly in different browsers (cross-browser), different operating systems (cross-platform), and different devices (cross-device), which requires careful planning on the side of the developer.


The objective of designing a site is to ensure that when the users open up the site they see the information in a format that is easy to read and relevant. This is further complicated by the fact that users now use a large variety of devices with varying screen sizes and resolutions thus forcing the designer to take into consideration these aspects when designing the site. They need to ensure that their site comes up correctly in different browsers (cross-browser), different operating systems (cross-platform), and different devices (cross-device), which requires careful planning on the side of the developer.



  • HyperText Markup Language  (HTML)


HyperText Markup Language (HTML) is the backbone of any website development process, without which a web page does not exist. Hypertext means that text has links, termed hyperlinks, embedded in it. When a user clicks on a word or a phrase that has a hyperlink, it will bring another web page.


A markup language indicates text can be turned into images, tables, links, and other representations. It is the HTML code that provides an overall framework of how the site will look. HTML was developed by Tim Berners-Lee. The latest version of HTML is called HTML5 and was published on October 28, 2014, by the W3 recommendation. This version contains new and efficient ways of handling elements such as video and audio files.



  • Cascading Style Sheets (CSS)

Cascading Style Sheets (CSS) controls the presentation aspect of the site and allows your site to have its unique look. It does this by maintaining style sheets that sit on top of other style rules and are triggered based on other inputs, such as device screen size and resolution



  • JavaScript


JavaScript is an event-based imperative programming language (as opposed to HTML's declarative language model) that is used to transform a static HTML page into a dynamic interface.

JavaScript code can use the Document Object Model (DOM), provided by the HTML standard, to manipulate a web page in response to events, like user input.


Using a technique called AJAX, JavaScript code can also actively retrieve content from the web (independent of the original HTML page retrieval), and also react to server-side events as well, adding a truly dynamic nature to the web page experience

Computer Fundamentals

 

Computer Fundamentals

Introduction to Computers

A computer is a man-made, programmable electronic machine that can store, retrieve, and process data according to a given set of instructions. whatever information given to a computer is termed input.

 The computer input typically comprises two things: Data and Instructions. The data are the facts, which are to be processed, and the instructions describe how the computer should process the data. the data which has been converted or organized into a more useful or ineligible form for direct utilization or help human beings in their decision-making process is typically termed information.

The heart of the computer is a microprocessor chip. Today microprocessors are embedded inside various everyday machines such as cars, television sets, and washing machines. these microprocessors usually control some function of the machine and are hidden from the users. the term computer can virtually be applied to any such device that has a microprocessor in it. 


However, most people describe a computer as a device that comprises a keyboard, mouse, a central processing device, and a screen. 

Overview of the Personal Computer




Characteristics of Computers

The main characteristics of computers are:

  • Speed

A computer can perform tasks very fast. for example, the amount of work that a human being can do in an entire year - if he worked at and night and did nothing else, can be accomplished by a computer within few minutes.

  • Accuracy

The accuracy of a computer is consistently high and the degree of accuracy of a particular computer device upon its design. Errors can occur in a computer. but these are mainly due to human mistakes.

  • Diligence

Unlike humans begins, a computer is free from monotony, tiredness, lack of concentration, etc.., hence a computer can work for hours without making any errors or complaints. even if ten million calculations have to be performed, a computer will perform the ten-millionth calculations with exactly the same accuracy and speed as the first one.

  • Versatility

A computer is capable of performing almost any task provided that the task can be reduced to series of logical steps. (i.e. a computer program).

  • Power of Remembering

Every piece of information that a user 'stores' on a computer can be retained as long as is needed and can be recalled when necessary. Even after several years, the information recalled would be identical to what was fed to the computer. A computer will never lose stored information on its own; a user has to 'remove' (or delete) the information from it. 

  •   No I.Q

A computer can only perform tasks that a human being can. The difference is that performs these tasks with unmatchable speed and accuracy. It possesses no intelligence of its own. Its I.Q. is zero, at least till today. It has no be told what to do. hence, only the user can determine what tasks a computer will perform. 




Components of Computer System

By considering the functions performed by the various components, a computer can be represented as a collection of logical components. The main hardware components of a modern computer system are the central processing unit (CPU), the main memory, the secondary storage, and the input-output devices.


Block Diagram for Computer System




System Unit


The system unit or the cabinet houses most of the essential components of the computer system such as the power supply, the motherboard, the CPU chip, specialized chips, the system clock. RAM, ROM, expansion boards, and bus lines.



Central Processing Unit(CPU)

The central processing unit performs the majority of calculations and controls the operation of a computer. CPUs are rated by the speed at which they can execute instructions. the speed of the CPU is measured in Megahertz (MHz) and is also known as the clock speed. 


The higher the value of the speed the faster computer can run programs. The capacity of a CPU is expressed in terms of word size. A word is the maximum number of bits that the CPU can manipulate or store at one time.


Different manufactures are making CPUs today. Some of these popular CPUs available today are Intel, AMD, Cyrix, and Motorola. 


The CPU consists of two parts: 

  •  Control unit(CU) 

  •  Arithmetic/logic unit(ALC).


Control Unit(CU)


The control unit controls and directs the operation of the entire computer system. Although it does not perform any actual processing on the data, the control unit acts as a central nervous system for the other components of the computer. It obtains instructions from the program stored in the main memory, interprets the instructions, and issues signals, which cause other units in the system to execute them.


Arithmatic-Logic Unit(ALU)


The  Arithmetic-Logic unit performs arithmetic operations such as addition, subtraction, multiplication, and division on data.

In microcomputers, the entire CPU is typically fabricated on a single chip.



MotherBoard

The Motherboard is the main circuit board inside the computer. It can be considered as the main communication center through which all the components of the computer transmit data back and forth. All the main parts including the CPU of the computer are typically plugged into the motherboard.


 The motherboard also provides sockets, called expansion slots, to plug in special electronic circuit boards to enhance the functionality of the computer. these extra circuit boards are called expansion cards, by using which you can customize a computer to suit your needs. One other major function of the motherboard is to supply the necessary power to all its expansion cards.





System Clock

Computers run to the beat of a clock. A clock in the computer that tricks one million times per second is called one megahertz (1MHz) clock. Generally, a faster clock means faster execution of programs, hence better performance. However, the actual performance of a computer depends on many other factors.





Power Supply


The regulated power supply inside the computer transforms mains electricity into DC current used in the computer. It has an internal fan to cool the unit. 



Introduction to Programming Languages.

  Programming Languages. Introduction to the computer language  OBJECTIVES:  TO UNDERSTAND WHAT IS COMPUTER LANGUAGE  TO UNDERSTAND LOW LEVE...