What is a computer? • A computer is a device capable of performing computations and making logical decisions at speeds millions and even billions of times faster than those of human beings. • Computers process data under the control of sets of instructions called computer programs. • These programs guide computers through orderly sets of actions that are specified by individuals known as computer programmers.
Computers • Hardware: keyboard, screen, mouse, disks, memory, CD-ROM • Software: • Computer Information System: Hardware, Software, People, Data, Procedures
Computer Organization • Central processing unit (CPU) • Arithmetic and logic unit (ALU) • Control unit (CU) • Memory unit • Input unit • Output unit • Secondary storage unit
Computer hardware history • First generation, 1940s • Vacum tubes: cost, size, energy requirements • Second generation, 1950s • Transistors • Programming languages were developed • Third generation, 1960s • Integrated Circuit (IC) • Future • More computing power, smaller, more reliable, faster, cheaper, networked • Programmers needed to write new programs • Programmers needed to update older programs
Evolution of Operating Systems • Single-user batch processing • Operating systems (software) were developed • Multi-programming • Timesharing • UNIX (C was developed to write it)
Programlama Nedir? • Programming is the ability to talk to the computer in a language it can understand and using grammarand syntax that it can follow to get it to perform useful tasks for you. • You write code and the computer interpretsyour request and does something. • Doing something is a vital part of programming. • Step-by-step instructions
Programlamanın Erken Tarihçesi • 1822, Charles Babbage • Difference machine: a single-purposemachine that could ultimately only carry out one operation • Analytical engine: This enginewould contain the basic components of a modern computer and led to Babbage’s being called the“father of the computer.” • an inability to clearly document and convey his ideas!
Programlamanın Erken Tarihçesi • 1854, Charles Boole • Described the symbolic logic system • 1890, A.B.D. Nüfus sayımı • necessity is the mother of invention • data processing equipment • 1946, ilk programlama dili “Plankalkül” • By Konrad Zuse, for Z-3 computer • Birth of modern programming
Programlamanın Erken Tarihçesi • 1945, “bug” kavramının doğuşu • “debugged” • “debugging a computer” • “debugging a computer program” • 1949, development of “Short Code” • code had to be made into machine-readable code by hand
Programlama Dilleri • Makine dili • Assembly dili • Yüksek düzeyli diller
The difficulty of a programming language comes down to how far it is removed from natural writtenlanguage.
Makine dili • Any computer can understand only its own machine language directly • This machine language is defined by the computer’s hardware design • Consists of streams of numbers • Machine dependent • Makine dili örnek kodu 01000110 11000100 10111011 00011101
Assembly Dili • Makine dili yavaş, sıkıcı ve hataya açık • English-like abbreviations to represent the elementary operations of the computer • These abbreviations formed the basis of assembly languages • Translator programs called assemblers convert assembly lanuage programs to machine language • Assembly dili örnek kodu ADD A, 6 MOV A, OUT LOAD B SUB B, A
Yüksek düzeyli diller • Assembly languages still required many instructions to accomplish even the simplest task • To speed up the programming process, high-level languages, in which single statements accomplish substantial tasks, were developed. • Translation programs called compilers convert high-level language programs into machine language. • Looks almost like everyday English • Yüksek düzeyli dil örnek kodu Sayı3 = Sayı1 + Sayı2
Yüksek Düzeyli Dillerin Gelişim Süreci • 1954-1957, Fortran (by IBM), for creating scientific and engineering applications, first commercial high-level programming lang. • 1959, Cobol, Commercial applications requiring manipulation of large amounts of data • Late 1960s, Pascal, for academic use • New offerings build on aspects of their predecessors • 1967, BCPL, for writing OSs, software, compilers • 1970, B, early versions of UNIX • 1973, C, UNIX, major operating systems • 1975, BASIC • 1980s, C++, object-oriented programming (OOP) • 1995, Java, create dynamic content for Web pages and for consumer devices • 2000, C#, designed specifically for the .NET platform
Neden bir çok programlama dili var? • each type of computer (hardware) really onlyunderstands one language • 001110100011001010110010001101001011011110111010101110001100100000011000010110111001100100001000000110100101100110001000000111011101100101001000000110100001100000011010010110111000100000011000100110100101101110011000010111001001111001001000000011101110110100101110100011010000010000011011110111010101110010001000001100011011011110110110101110000011101010111010001100101011100100111001100100000111010101110011011010010110111001100111001000001101001011101000010000001100001011 • A program (either an interpreter or a compiler) is required to convert thecode from text into a binary language that the computer can decipher.
Programs needed to create programs • Development Environment: A development environment is a program that you use to type the code into. • Compiler: A compiler is a program that changes the code you type into code that the computer can understand.