Download presentation
Presentation is loading. Please wait.
1
ITS 145: Intro to Information Systems
Instructor: Mark Jamil Course website: Contact
2
Quiz #3 Which operating system would you recommend for the following purpose: Managing LAN workstations. Web and server. Database server. Smart Phone Device. Which network technology would you use for: Connecting office computers to the internet. Connecting servers to each other. Connecting SAN’s to servers. Connecting phones and tablets to the internet. Connecting routers to switches. Connecting switches to computers.
3
Programming Languages
Programming languages are designed to allow humans to communicate with a computer at various levels. Question: Why do we need various levels of languages? Think of our human languages. Although you can communicate with others in English, can you talk to your lungs in English? To speak to your lungs, directly, you have to send electro-chemical signals via neurotransmitters found at the end of a neuron. The most direct form of computer communication is done through binary language where 0’s and 1’s represent an “on” and “off” state. We can string 0’s and 1’s together to represent a concept, we call this “encoding.” For instance could represent the letter “A.” (ASCII encoding) Obviously, writing things in binary is very cumbersome. A single letter requires 8 numbers. Here is “Hello World!” in binary (ASCII encoding).
4
Enter Hex The 1st thing we did was convert binary to something less cumbersome (more compressed and easier to read). Since binary is base 2, it made sense to create a system that is a power of 2 (like base 4, 8, 16). The one that became popular was base 16, also known as Hexadecimal or Hex. Hello World! in Hex: c 6c 6f f 72 6c 64 21 Interesting Note: Babylonians used a base 60 number system!
5
Low Level Assemblers Assembly languages were developed to make programming more human friendly. In general, every type of computer architecture has its own assembly language. Intel x86 –32 bits. Modern desktop and laptop computers. AMD64 (aka x86-64) – 64 bits. Extends x86 to 64 bits. Motorola 68k – 8 bits. Early Unix and Macintosh. ARM (Acorn RISC Machine) – 98% of cell phones & tablets. MIPS – Embedded hardware. Very cheap. Older game consoles, portable consoles, printers, tv’s, modems, low end network hardware, etc. Hello World! in x86 Assembler mov dx, msg ; the address of or message in dx mov ah, 9 ; ah=9 - "print string" sub-function int 0x21 ; call dos services mov ah, 0x4c ; "terminate program" sub-function int 0x21 ; call dos services msg db 'Hello, World!', 0x0d, 0x0a, '$' ; $-terminated message
6
Early High Level Languages
Assembler language was still very hard to read and error prone so we created easier to use languages. Early popular languages (50’s-60’s) included: FORTRAN – Designed to solve complex math equations. No pointers. No recursion. LISP – Same as FORTRAN. COBOL – Easy to read for business people. BASIC – Like COBOL, was meant for beginners. Replaced COBOL for a while but died when personal computers became popular. Resurrected by Microsoft as Visual Basic. ALGOL – Was designed for programmers and meant to be flexible. By far, the most influential language. Would later influence the creation of Pascal, C, Java and many others. Most of the early languages suffered from being too specific.
7
High Level Languages High level languages offer even easier readability but have to give up efficiency and speed to do so. Note: Programming is fragmented. There is no single “most popular” language any more. C/C++ - The big daddy of programming languages, probably has more code in operation than any other language. Is still widely used and has about 15% market share. Offers direct access to computer memory. This allows you to optimize code for better performance. This can also make programming harder though not all projects need speed. Compatible with almost all hardware made since the 70’s. Extremely popular from 70’s to 90’s. Which led to a lot of money being spent to optimize it on various platforms. Many OS’s and other programming languages are made from C/C++.
8
High Level Languages Java – is probably the most popular language in business computing. Has around 15% of the programming language market. Designed to be easier to use so as to reduce bugs. Originally, did not have direct memory access (now it does). Offers simplifications like automatic garbage collection. These simplifications came at the cost of performance. Requires a JVM (java virtual machine) be installed on your operating system for programs to work. Due to CPU/memory requirements of JVM, not very popular on embedded systems. Was supposed to make programs compatible on any machine. In reality, this is not true. JVM is a major security problem on computers.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.