Apa jenis programmer yang ada. Jenis bahasa pemrograman

Pemrograman prosedural (imperatif) merupakan cerminan dari arsitektur komputer tradisional. Sebuah program dalam bahasa pemrograman prosedural terdiri dari urutan operator (instruksi) yang menentukan prosedur untuk memecahkan masalah. Yang utama adalah operator penugasan, yang berfungsi untuk mengubah isi area memori. Konsep memori sebagai penyimpan nilai, yang isinya dapat diperbarui oleh pernyataan program, merupakan dasar dalam pemrograman imperatif. Sebuah bahasa pemrograman prosedural memungkinkan programmer untuk menentukan setiap langkah dalam proses pemecahan masalah. Keunikan bahasa pemrograman tersebut adalah bahwa tugas dipecah menjadi langkah-langkah dan diselesaikan langkah demi langkah. Pemrograman imperatif paling cocok untuk subtugas kecil, di mana kecepatan eksekusi pada komputer modern sangat penting.

Bahasa pemrograman prosedural antara lain: Ada, Basic (versi dari Quick Basic hingga Visual Basic), C, COBOL, Fortran, Modul- 2, Pascal, PL / 1, Rapier, REXX.

Pemrograman terstruktur- metodologi pengembangan perangkat lunak, yang didasarkan pada penyajian program dalam bentuk struktur hierarki blok yang dibangun dari tiga jenis struktur dasar: eksekusi sekuensial, percabangan, dan loop.

Pemrograman berorientasi objek adalah metodologi pemrograman yang didasarkan pada representasi program sebagai kumpulan objek, yang masing-masing merupakan implementasi dari kelas tertentu (tipe data jenis khusus), dan kelas membentuk hierarki berdasarkan prinsip pewarisan.

Objek berarti penyatuan data dan prosedur yang memprosesnya menjadi satu kesatuan. Objek dapat bertukar pesan satu sama lain. Ketika objek menerima pesan, handler yang sesuai diluncurkan, atau disebut metode... Objek memiliki wadah asosiatif yang memungkinkan Anda menerima, melalui pesan, metodenya untuk memprosesnya. Selain itu, objek tersebut memiliki objek leluhur. Jika tidak ada metode yang ditemukan untuk menangani pesan, pesan akan diteruskan ke objek induk. Struktur ini secara keseluruhan (tabel penangan + leluhur), untuk alasan efisiensi, dialokasikan ke dalam objek terpisah yang disebut kelas dari objek ini. Objek itu sendiri akan memiliki referensi ke objek yang mewakili kelasnya. Objek berinteraksi secara eksklusif melalui pengiriman pesan satu sama lain.

Penting untuk menyoroti tiga properti utama objek berikut.

Enkapsulasi (perlindungan data)- mekanisme yang mengintegrasikan data dan metode yang memanipulasi data ini, dan melindungi keduanya dari gangguan luar.


Warisan adalah proses dimana satu objek dapat mewarisi sifat-sifat objek lain dan menambahkan sifat-sifat yang unik untuk itu. Hubungan anak-leluhur pada kelas disebut pewarisan.

Polimorfisme adalah properti yang memungkinkan untuk mengganti objek dengan objek lain dengan struktur kelas yang serupa. Oleh karena itu, jika dalam skenario interaksi objek apa pun Anda mengganti objek arbitrer dengan objek lain yang dapat memproses pesan yang sama, skenario tersebut juga akan diterapkan.

Pemrograman deklaratif... Penekanan dalam pemrograman deklaratif adalah pada apa yang harus dilakukan, bukan bagaimana melakukannya (dalam bahasa imperatif). Hal utama di sini adalah perumusan masalah yang tepat, dan pilihan serta penerapan algoritma yang diperlukan untuk solusinya adalah masalah sistem pelaksana, tetapi bukan programmer. Misalnya, halaman web HTML bersifat deklaratif karena menggambarkan apa yang seharusnya ada di halaman, bukan bagaimana halaman ditampilkan di layar. Pendekatan ini berbeda dari bahasa pemrograman imperatif, yang mengharuskan pemrogram untuk menentukan algoritme untuk dieksekusi.

Ada dua cabang pemrograman deklaratif: fungsional, berdasarkan konsep matematika dari suatu fungsi yang tidak mengubah lingkungannya, berbeda dengan fungsi dalam bahasa prosedural yang memungkinkan efek samping, dan logis, di mana program dinyatakan sebagai rumus dari logika matematika, dan komputer untuk memecahkan masalah, mencoba untuk menyimpulkan konsekuensi logis dari mereka.

Pemrograman logika berdasarkan logika matematika. Namun bahasa pemrograman logika yang paling terkenal adalah Prolog. Program PROLOG mengandung dua komponen: fakta dan aturan. Fakta mewakili data yang dengannya program beroperasi, dan totalitas fakta merupakan basis data PROLOG, yang sebenarnya merupakan basis data relasional. Operasi utama yang dilakukan pada data adalah operasi pencocokan, disebut juga operasi penyatuan atau rekonsiliasi.

Adapun bahasa deklaratif lainnya, ketika bekerja dengannya, programmer menggambarkan situasi (aturan dan fakta) dan merumuskan tujuan (query), memungkinkan penerjemah PROLOG menemukan solusi untuk masalah itu. Penerjemah PROLOG dipahami sebagai mekanisme untuk memecahkan masalah menggunakan bahasa PROLOG. Program PROLOG adalah sekumpulan fakta dan (mungkin) aturan. Jika sebuah program hanya berisi fakta, maka itu disebut database. Jika juga mengandung aturan, maka istilah basis pengetahuan sering digunakan.

Tidak seperti program yang ditulis dalam bahasa prosedural, yang menentukan urutan langkah-langkah yang harus dilakukan komputer untuk memecahkan masalah, dalam PROLOG, pemrogram menggambarkan fakta, aturan, hubungan di antara mereka, dan juga permintaan pada masalah. Aplikasi yang paling khas dari PROLOG adalah sistem pakar.

Pertanyaan tes mandiri

1. Apa itu program? Apa yang dimaksud dengan performer?

2. Apa itu kode mesin?

3. Apa itu penerjemah? Sebutkan jenis-jenis penerjemah.

4. Bagaimana cara kerja penerjemah? Apa kelebihannya?

5. Apa keuntungan dari compiler?

6. Komponen apa saja yang termasuk dalam sistem pemrograman terintegrasi?

7. Apa yang dimaksud dengan struktur data, apa klasifikasi dari struktur data?

8. Apa yang dimaksud dengan array data dan operasi apa yang dapat dilakukan dengannya?

9. Apa saja algoritma untuk mengurutkan array?

10. Apa tujuan dari subrutin?

11. Untuk apa perpustakaan rutinitas?

12. Apa jenis pemrograman yang ada?

literatur

1. Stavrovsky A.B., Karnaukh T.A. Langkah pertama untuk pemrograman. Buku instruksi diri. - M.: Williams, 2006 .-- 400 hal.

2. Okulov S. Dasar-dasar pemrograman Penerbit: Binom. Laboratorium Pengetahuan, 2008 .-- 383 hal.

3. Kantsedal S.А. Dasar-dasar Algoritma dan Pemrograman. - M .: Forum, 2008 .-- 351 hal.

4.httn // www myfreesoft ru / default-windows-nroprams html - program Windows standar

5.httn // khni-iin mink kharkiv edu / lihrary / datastr / hook / nrt01 html # lb11 - model dan struktur data

6.httn: //www.intuit.ru/denartment/se/nhmsu/11/3.html#sect5 - model dan struktur data

7.http: //inf.1sentemher.ru/2007/15/00.htm - ensiklopedia guru ilmu komputer

8.http: //www.delnhi.int.ru/articles/119/ - subrutin.

9.httn // inroc ru / narallel-nroPramminP / lection-5 / - penyortiran tumpukan.

Bahasa pemrograman- sistem tanda formal yang dirancang untuk menggambarkan algoritme dalam bentuk yang nyaman bagi pelaku (misalnya, komputer). Bahasa pemrograman mendefinisikan seperangkat aturan leksikal, sintaksis dan semantik yang digunakan dalam menyusun program komputer. Hal ini memungkinkan pemrogram untuk menentukan dengan tepat peristiwa apa yang akan ditanggapi oleh komputer, bagaimana data akan disimpan dan ditransmisikan, dan juga tindakan apa yang harus dilakukan pada ini dalam berbagai keadaan.

Sejak penciptaan mesin pertama yang dapat diprogram, umat manusia telah menemukan lebih dari dua setengah ribu bahasa pemrograman. Setiap tahun, jumlah mereka diisi ulang dengan yang baru. Beberapa bahasa hanya diketahui oleh sebagian kecil pengembang mereka sendiri, yang lain diketahui jutaan orang. Pemrogram profesional terkadang menggunakan lebih dari selusin bahasa pemrograman yang berbeda dalam pekerjaan mereka.

Pencipta bahasa menafsirkan konsep secara berbeda bahasa pemrograman... Di antara tempat-tempat umum yang dikenali oleh sebagian besar pengembang adalah sebagai berikut:

· Fungsi: bahasa pemrograman dimaksudkan untuk menulis program komputer yang digunakan untuk mengirimkan instruksi ke komputer untuk melakukan proses komputasi tertentu dan mengatur kontrol perangkat individu.

· Sebuah tugas: bahasa pemrograman berbeda dari bahasa alami karena dirancang untuk mengirimkan perintah dan data dari seseorang ke komputer, sedangkan bahasa alami hanya digunakan untuk berkomunikasi satu sama lain. Pada prinsipnya, adalah mungkin untuk menggeneralisasi definisi "bahasa pemrograman" - ini adalah cara mentransmisikan perintah, perintah, panduan yang jelas untuk bertindak; sedangkan bahasa manusia juga berfungsi untuk bertukar informasi.

· Eksekusi: bahasa pemrograman dapat menggunakan konstruksi khusus untuk mendefinisikan dan memanipulasi struktur data dan mengontrol proses komputasi.

3. Tahapan pemecahan masalah pada komputer.

Aplikasi VT yang paling efektif telah ditemukan dalam perhitungan padat karya dalam penelitian ilmiah dan perhitungan teknik. Saat memecahkan masalah di komputer, peran utama masih menjadi milik seseorang. Mesin hanya melakukan tugasnya sesuai dengan program yang dikembangkan. peran manusia dan mesin mudah dipahami jika proses pemecahan masalah dipecah menjadi tahapan yang tercantum di bawah ini.

Perumusan masalah. Tahap ini terdiri dari perumusan masalah (fisik) substantif dan penentuan solusi akhir.

Membangun model matematika. Model harus dengan benar (memadai) menggambarkan hukum dasar dari proses fisik. Konstruksi atau pemilihan model matematika dari yang sudah ada membutuhkan pemahaman yang mendalam tentang masalah dan pengetahuan tentang bagian matematika yang relevan.

Perkembangan Piala Dunia. Karena komputer hanya dapat melakukan operasi yang paling sederhana, ia "tidak mengerti" pernyataan masalah, bahkan dalam formulasi matematika. Untuk menyelesaikannya, metode numerik harus ditemukan yang memungkinkan masalah direduksi menjadi beberapa algoritma komputasi. Dalam setiap kasus tertentu, perlu untuk memilih solusi yang cocok dari yang standar yang sudah dikembangkan.

Pengembangan algoritma. Proses penyelesaian masalah (proses komputasi) ditulis dalam bentuk urutan operasi aritmatika dan logika dasar yang mengarah ke hasil akhir dan disebut algoritma untuk menyelesaikan masalah.

Pemrograman. Algoritme untuk memecahkan masalah ditulis dalam bahasa yang dapat dimengerti oleh mesin dalam bentuk urutan operasi yang ditentukan secara tepat - sebuah program. Proses ini biasanya dilakukan dengan menggunakan beberapa bahasa perantara, dan terjemahannya dilakukan oleh mesin itu sendiri dan sistemnya.

Men-debug program. Program yang dikompilasi berisi segala macam kesalahan, ketidakakuratan, dan kesalahan cetak. Debugging mencakup kontrol program, kesalahan diagnostik (pencarian dan penentuan konten), dan penghapusannya. Program diuji dengan memecahkan masalah kontrol (pengujian) untuk mendapatkan kepercayaan pada keandalan hasil.

Perhitungan. Pada tahap ini, data awal untuk perhitungan disiapkan dan perhitungan dilakukan sesuai dengan program yang di-debug. Pada saat yang sama, untuk mengurangi tenaga kerja manual untuk memproses hasil, bentuk yang nyaman untuk mengeluarkan hasil dalam bentuk teks dan informasi grafik dalam bentuk yang dapat dimengerti oleh seseorang dapat digunakan secara luas.

Analisis hasil. Hasil perhitungan dianalisis dengan cermat, dokumentasi ilmiah dan teknis disusun.

4. Untuk apa bahasa pemrograman?

Proses kerja komputer terdiri dari menjalankan program, yaitu serangkaian perintah yang terdefinisi dengan baik dalam urutan yang terdefinisi dengan baik. Bentuk instruksi mesin, yang terdiri dari nol dan satu, menunjukkan tindakan seperti apa yang harus dilakukan oleh prosesor pusat. Ini berarti bahwa untuk memberi tahu komputer urutan tindakan yang harus dilakukan, Anda perlu menentukan urutan kode biner dari perintah yang sesuai. Program kode mesin terdiri dari ribuan instruksi. Menulis program seperti itu sulit dan membosankan. Pemrogram harus mengingat kombinasi nol dan satu dari kode biner dari setiap program, serta kode biner dari alamat data yang digunakan dalam eksekusinya. Jauh lebih mudah untuk menulis program dalam beberapa bahasa yang lebih dekat dengan bahasa alami manusia, dan mempercayakan komputer dengan pekerjaan menerjemahkan program ini ke dalam kode mesin. Ini adalah bagaimana bahasa dikembangkan secara khusus untuk menulis program - bahasa pemrograman.

Ada banyak bahasa pemrograman yang tersedia. Bahkan, salah satu dari mereka dapat digunakan untuk memecahkan sebagian besar masalah. Pemrogram berpengalaman tahu bahasa mana yang lebih baik digunakan untuk menyelesaikan setiap masalah tertentu, karena masing-masing bahasa memiliki kemampuannya sendiri, orientasi pada jenis masalah tertentu, caranya sendiri untuk menggambarkan konsep dan objek yang digunakan dalam memecahkan masalah.

Semua banyak bahasa pemrograman dapat dibagi menjadi dua kelompok: bahasa tingkat rendah dan bahasa tingkat tinggi.

Bahasa tingkat rendah termasuk bahasa rakitan (dari bahasa Inggris untuk merakit - mengumpulkan, merakit). Bahasa assembly menggunakan notasi simbolik untuk perintah yang mudah dipahami dan cepat diingat. Alih-alih urutan kode biner perintah, penunjukan simbolisnya ditulis, dan alih-alih alamat data biner yang digunakan saat menjalankan perintah, nama simbolis dari data ini dipilih oleh programmer. Bahasa assembly kadang-kadang disebut mnemocode atau autocode.

Kebanyakan programmer menggunakan bahasa tingkat tinggi untuk menulis program mereka. Seperti bahasa manusia biasa, bahasa seperti itu memiliki alfabetnya sendiri - seperangkat simbol yang digunakan dalam bahasa tersebut. Kata kunci bahasa yang disebut terdiri dari simbol-simbol ini. Setiap kata kunci menjalankan fungsinya, seperti halnya dalam bahasa yang biasa kita gunakan dalam bahasa kita, kata-kata yang tersusun dari huruf-huruf alfabet dari suatu bahasa tertentu dapat menjalankan fungsi bagian-bagian ucapan yang berbeda. Kata kunci dihubungkan satu sama lain dalam kalimat menurut aturan sintaksis bahasa tertentu. Setiap kalimat mendefinisikan urutan tindakan tertentu yang harus dilakukan oleh komputer.

Bahasa tingkat tinggi memainkan peran sebagai perantara antara seseorang dan komputer, memungkinkan seseorang untuk berkomunikasi dengan komputer dengan cara yang lebih akrab bagi seseorang. Seringkali bahasa ini membantu Anda memilih metode yang tepat untuk memecahkan masalah.

Sebelum menulis program dalam bahasa tingkat tinggi, programmer harus menulis: algoritma pemecahan masalah, yaitu rencana tindakan langkah demi langkah yang harus diselesaikan untuk memecahkan masalah ini. Oleh karena itu, bahasa yang memerlukan kompilasi awal dari suatu algoritma sering disebut bahasa algoritmik.

5. Apa bahasa pemrograman yang ada

1.1 Fortran

Bahasa pemrograman mulai muncul pada pertengahan 50-an. Salah satu bahasa pertama dari jenis ini adalah bahasa FORTRAN (FORTRAN dari FORmulaTRANslator - penerjemah rumus), yang dikembangkan pada tahun 1957. Fortran digunakan untuk menggambarkan algoritma untuk memecahkan masalah ilmiah dan teknis menggunakan komputer digital. Sama seperti komputer pertama, bahasa ini ditujukan terutama untuk melakukan perhitungan ilmiah dan matematis. Dalam bentuk yang lebih baik, bahasa ini bertahan hingga zaman kita. Di antara bahasa tingkat tinggi modern, ini adalah salah satu yang paling banyak digunakan dalam penelitian ilmiah. Varian yang paling umum adalah Fortran-II, Fortran-IV, EASICFortran dan generalisasinya.

1.2 ALGOL

Setelah Fortran pada tahun 1958-1960, bahasa Algol muncul (Algol-58, Algol-60) (ALGOL Inggris dari ALGOrithmicLanguage - bahasa algoritmik). Algol ditingkatkan pada tahun 1964-1968 - Algol-68. ALGOL dikembangkan oleh sebuah komite yang terdiri dari ilmuwan Eropa dan Amerika. Itu milik bahasa tingkat tinggi dan memungkinkan Anda untuk dengan mudah menerjemahkan rumus aljabar ke dalam perintah program. Algol populer di Eropa, termasuk Uni Soviet, sementara Fortran yang sebanding adalah umum di Amerika Serikat dan Kanada. Algol memiliki pengaruh yang nyata pada semua bahasa pemrograman yang dikembangkan kemudian, dan, khususnya, pada bahasa Pascal. Bahasa ini, seperti Fortran, dimaksudkan untuk memecahkan masalah ilmiah dan teknis. Selain itu, bahasa ini digunakan sebagai sarana untuk mengajarkan dasar-dasar pemrograman - seni pemrograman.

Biasanya, konsep Algol berarti bahasa ALGOL-60, ketika ALGOL-68 dianggap sebagai bahasa yang mandiri. Bahkan ketika bahasa Algol hampir tidak lagi digunakan untuk pemrograman, bahasa tersebut masih tetap menjadi bahasa resmi untuk penerbitan algoritme.

1.3 Cobol

Pada tahun 1959 – 1960 dikembangkan bahasa Cobol (English COBOL dari COMmom Business Oriented Language). Ini adalah bahasa pemrograman generasi ketiga yang dirancang terutama untuk mengembangkan aplikasi bisnis. Juga, Kobol dimaksudkan untuk memecahkan masalah ekonomi, pengolahan data untuk bank, perusahaan asuransi dan lembaga lain semacam ini. Rahmat Hopper ( nenek Kobola).

Cobol biasanya dikritik karena verbositas dan kerumitannya, karena salah satu tujuan pencipta bahasa adalah untuk membawa konstruksi sedekat mungkin dengan bahasa Inggris. (Sampai sekarang, Cobol dianggap sebagai bahasa pemrograman di mana baris kode paling banyak ditulis). Pada saat yang sama, Cobol memiliki alat yang sangat baik untuk bekerja dengan struktur data dan file pada masanya, yang memastikan umur panjangnya dalam aplikasi bisnis, setidaknya di Amerika Serikat.

1.4 Lisp

Hampir bersamaan dengan Cobol (1959 - 1960), bahasa Lisp (LISP dari LIStProcessing) dibuat di Massachusetts Institute of Technology. Lisp didasarkan pada representasi program oleh sistem daftar karakter linier, yang, terlebih lagi, merupakan struktur data utama bahasa. Lisp dianggap sebagai bahasa pemrograman tingkat tinggi tertua kedua setelah Fortran. Bahasa ini banyak digunakan untuk memproses informasi simbolik dan digunakan untuk membuat perangkat lunak yang meniru aktivitas otak manusia.

Setiap program Lisp terdiri dari urutan ekspresi(formulir). Hasil dari program ini adalah untuk mengevaluasi ekspresi ini. Semua ekspresi ditulis sebagai daftar- salah satu struktur dasar LISP, sehingga dapat dengan mudah dibuat menggunakan bahasa itu sendiri. Ini memungkinkan Anda membuat program yang memodifikasi program atau makro lain, memungkinkan Anda untuk memperluas kemampuan bahasa secara signifikan.

Arti utama dari program Lisp "kehidupan" di ruang simbolis: gerakan, kreativitas, menghafal, penciptaan dunia baru, dll. Cadel sebagai metafora otak, simbol, metafora sinyal: "Bagaimana analisis biologis sinyal oleh otak, sebagai faktor eksternal - pengaruh fisik dan kimia, yang merupakan iritasi bagi tubuh, berubah menjadi sinyal yang signifikan secara biologis, seringkali vital, menentukan semua perilaku seseorang atau hewan, dan bagaimana ada pembagian sinyal yang berbeda menjadi positif, negatif dan acuh tak acuh, acuh tak acuh. Sinyal sudah merupakan konsep integratif. Ini adalah tanda identifikasi kelompok, rangsangan kompleks , saling berhubungan oleh sejarah umum dan hubungan sebab akibat. Dalam kompleks ini, sistem rangsangan, stimulus sinyal itu sendiri juga merupakan elemen penyusun, dan dalam keadaan lain perannya mungkin milik stimulus lain dari kompleks. Sinyal memusatkan semua pengalaman masa lalu dari binatang atau orang.

1.5 DASAR

Pada pertengahan tahun 60-an (1963), bahasa BASIC diciptakan di Dartmouth College (AS) (Bahasa Inggris BASIC dari Kode Instruksi Serba Guna Pemula - kode instruksi simbolis serba guna untuk pemula). Seiring waktu, ketika dialek lain mulai muncul, dialek "asli" ini dikenal sebagai Dartmouth BASIC. Bahasa ini sebagian didasarkan pada Fortran II dan sebagian pada Algol-60, dengan tambahan yang membuatnya nyaman untuk berbagi waktu dan, kemudian, pemrosesan teks dan aritmatika matriks. BASIC awalnya diimplementasikan pada mainframe GE-265 dengan dukungan untuk beberapa terminal. Berlawanan dengan kepercayaan populer, pada saat awal, itu adalah bahasa yang dikompilasi.

BASIC dirancang agar siswa dapat menulis program menggunakan terminal time-sharing. Itu dirancang sebagai solusi untuk kompleksitas bahasa yang lebih tua. Itu dimaksudkan untuk pengguna yang lebih "sederhana", tidak terlalu tertarik pada kecepatan program, tetapi hanya pada kemampuan menggunakan komputer untuk menyelesaikan masalah mereka. Karena kesederhanaan bahasa BASIC, banyak programmer pemula memulai pemrograman dengannya.

1.6 Benteng

Pada akhir 60-an - awal 70-an, bahasa Benteng (Bahasa Inggris KEEMPAT - keempat) muncul. Bahasa ini mulai digunakan dalam masalah pengendalian berbagai sistem setelah penulisnya Charles Moore menulis sebuah program di dalamnya yang dirancang untuk mengendalikan teleskop radio di Arizona Observatory.

Sejumlah properti, yaitu interaktivitas, fleksibilitas, dan kemudahan pengembangan, menjadikan Forth bahasa yang sangat menarik dan efektif untuk penelitian dan pengembangan alat terapan. Penggunaan yang jelas untuk bahasa ini adalah sistem kontrol tertanam. Juga menemukan aplikasi dalam pemrograman komputer yang menjalankan berbagai sistem operasi.

1.7 Pascal

Bahasa Pascal, yang muncul pada tahun 1972, dinamai sesuai dengan matematikawan Prancis yang hebat pada abad ke-17, penemu mesin aritmatika pertama di dunia, Blaise Pascal. Bahasa ini diciptakan oleh ilmuwan komputer Swiss Niklaus Wirth sebagai bahasa untuk mengajar metode pemrograman. Pascal adalah bahasa pemrograman tujuan umum.

Keunikan bahasa ini adalah pengetikan yang ketat dan ketersediaan alat pemrograman struktural (prosedural). Pascal adalah salah satu bahasa pertama seperti itu. Menurut N. Wirth, bahasa harus berkontribusi pada disiplin pemrograman, oleh karena itu, bersama dengan pengetikan yang kuat, dalam Pascal kemungkinan ambiguitas sintaksis diminimalkan, dan sintaks itu sendiri secara intuitif jelas bahkan pada pengenalan pertama dengan bahasa tersebut.

Bahasa Pascal tidak hanya mengajarkan bagaimana menulis program dengan benar, tetapi juga bagaimana mengembangkan metode untuk memecahkan masalah dengan benar, memilih cara menyajikan dan mengatur data yang digunakan dalam suatu masalah. Sejak tahun 1983, bahasa Pascal telah diperkenalkan ke dalam kurikulum ilmu komputer sekolah menengah AS.

1.8 Neraka

Pada tahun 1983, bahasa Ada diciptakan di bawah naungan Departemen Pertahanan AS. Bahasanya luar biasa karena banyak kesalahan dapat dideteksi pada tahap kompilasi. Selain itu, mendukung banyak aspek pemrograman yang sering diserahkan kepada sistem operasi (konkurensi, penanganan pengecualian). Pada tahun 1995, standar bahasa Ada 95 diadopsi, yang dibangun di atas versi sebelumnya, menambahkan orientasi objek dan mengoreksi beberapa ketidakakuratan. Kedua bahasa ini tidak banyak digunakan di luar militer dan proyek skala besar lainnya (penerbangan, transportasi kereta api). Alasan utamanya adalah sulitnya mempelajari bahasa dan sintaks yang agak rumit.

Pendahulu langsung Ada adalah Pascal dan turunannya, termasuk Euclid, Lis, Mesa, Modula, dan Sue. Beberapa konsep dari ALGOL-68, Simula, CLU dan Alphard digunakan.

Perhatian utama pengembang Ada adalah:

· Keandalan dan kinerja program;

· Pemrograman sebagai semacam aktivitas manusia;

· Efisiensi.

Meja 1 menunjukkan ciri-ciri utama bahasa Ada dari sudut pendekatan objek.

Tabel 1. Ada.

1.9 Si

Saat ini, C adalah bahasa yang populer di kalangan programmer (C adalah huruf alfabet Inggris). Bahasa C berasal dari dua bahasa - BCPL dan B. Pada tahun 1967, Martin Richards mengembangkan BCPL sebagai bahasa untuk menulis perangkat lunak dan kompiler sistem. Pada tahun 1970, Ken Thompson menggunakan B untuk membangun versi awal sistem operasi UNIX pada komputer DEC PDP-7. Baik di BCPL dan B, variabel tidak dipisahkan menjadi tipe - setiap nilai data mengambil satu kata dalam memori dan tanggung jawab untuk membedakan, misalnya, bilangan bulat dan bilangan real seluruhnya berada di pundak programmer. Bahasa C dikembangkan ( berdasarkan B) oleh Dennis Ritchie dari Bell Laboratories dan pertama kali diimplementasikan pada tahun 1972 pada komputer DEC PDP-11. C mendapatkan ketenaran sebagai bahasa OS UNIX. Hampir semua sistem operasi utama saat ini ditulis dalam C atau C++. Setelah dua dekade, C tersedia di sebagian besar komputer. Itu tidak tergantung pada perangkat keras.Pada akhir 70-an, C berkembang menjadi apa yang kita sebut "C tradisional". Pada tahun 1983, standar tunggal untuk bahasa ini ditetapkan oleh Komite Amerika untuk Standar Nasional untuk Komputer dan Pemrosesan Informasi. Bahasa ini memiliki alat yang kaya, memungkinkan Anda untuk menulis program fleksibel yang menggunakan semua kemampuan komputer pribadi modern.

1.10 Prolog

Bahasa lain yang dianggap sebagai bahasa masa depan diciptakan pada awal 70-an oleh sekelompok spesialis dari Universitas Marseille. Ini adalah bahasa Prolog. Itu mendapat namanya dari kata-kata "PROGRAMMING DALAM BAHASA LOGIKA". Bahasa ini didasarkan pada hukum-hukum logika matematika. Seperti bahasa Lisp, Prolog terutama digunakan dalam penelitian di bidang simulasi perangkat lunak aktivitas otak manusia. Berbeda dengan bahasa yang dijelaskan di atas, bahasa ini tidak bersifat algoritmik. Itu milik apa yang disebut deskriptif(dari bahasa Inggris deskriptif - deskriptif) - bahasa deskriptif. Bahasa deskriptif tidak mengharuskan programmer untuk mengembangkan semua tahapan tugas. Sebaliknya, sesuai dengan aturan bahasa seperti itu, programmer harus menggambarkan database yang sesuai dengan masalah yang dipecahkan, dan serangkaian pertanyaan yang harus dijawab menggunakan data dari database ini.

Dalam beberapa dekade terakhir, pemrograman telah muncul dan telah mengalami perkembangan yang signifikan Berorientasi pada objek pendekatan. Ini adalah metode pemrograman yang meniru gambar dunia nyata: informasi yang digunakan untuk memecahkan masalah direpresentasikan sebagai sekumpulan objek yang berinteraksi. Setiap objek memiliki sifat dan perilakunya sendiri. Interaksi objek dilakukan dengan menggunakan transmisi pesan: setiap objek dapat menerima pesan dari objek lain, mengingat informasi dan memprosesnya dengan cara tertentu, dan, pada gilirannya, mengirim pesan. Sama seperti di dunia nyata, objek menyimpan properti dan perilakunya bersama-sama, mewarisi sebagian dari objek induknya.

Ideologi berorientasi objek digunakan di semua produk perangkat lunak modern, termasuk sistem operasi.

Bahasa berorientasi objek pertama simulasi -67 diciptakan sebagai alat untuk mensimulasikan pengoperasian berbagai perangkat dan mekanisme. Sebagian besar bahasa pemrograman modern berorientasi objek. Di antara mereka adalah versi bahasa terbaru Turbo - Pascal , C ++, Ada dan lain-lain.

Sistem sekarang banyak digunakan pemrograman visual Visual Dasar , Visual C ++, Delphi dan lain-lain. Mereka memungkinkan Anda untuk membuat paket aplikasi yang kompleks dengan antarmuka pengguna yang sederhana dan nyaman.

1.11 Jawa

Sejak 1995, bahasa pemrograman berorientasi objek baru, Java, telah menyebar luas, menargetkan jaringan komputer dan, di atas segalanya, Internet. Sintaks bahasa ini mirip dengan sintaks bahasa C++, tetapi bahasa-bahasa ini memiliki sedikit kesamaan. Java adalah bahasa yang ditafsirkan: representasi internal (bytecode) dan juru bahasa untuk representasi ini ditentukan untuknya, yang sudah diimplementasikan pada sebagian besar platform. Interpreter menyederhanakan debugging program yang ditulis dalam bahasa Java, memastikan portabilitasnya ke platform baru dan kemampuan beradaptasi dengan lingkungan baru. Ini memungkinkan Anda untuk mengecualikan pengaruh program yang ditulis dalam bahasa Java pada program dan file lain yang tersedia di platform baru, dan dengan demikian memastikan keamanan saat menjalankan program ini. Properti bahasa Java ini memungkinkannya untuk digunakan sebagai bahasa pemrograman utama untuk program yang didistribusikan melalui jaringan (khususnya, melalui Internet).

1.12 Objek Pascal

Object Pascal dibuat oleh staf Apple Computer (beberapa di antaranya adalah kontributor Smalltalk) dengan Niklaus Wirth, pencipta bahasa Pascal. Object Pascal telah ada sejak 1986 dan merupakan bahasa pemrograman berorientasi objek pertama yang dimasukkan ke dalam Macintosh Programmer's Workshop (MPW), sebuah lingkungan pengembangan untuk komputer Macintosh Apple.

Tidak ada metode kelas, variabel kelas, pewarisan berganda, dan kelas meta dalam bahasa ini. Mekanisme ini dikecualikan dengan tujuan untuk membuat bahasa mudah dipelajari untuk programmer "objek" pemula.

Meja 2 menunjukkan karakteristik umum Object Pascal.

Tabel 2. Objek Pascal.

Dalam beberapa tahun terakhir, bahasa ini menjadi sangat populer berkat sistem Delphi Borland.

1.13 Sistem desain visual berorientasi objek Delphi.

Munculnya Delphi tidak bisa luput dari perhatian banyak pengguna komputer. Evaluasi para ahli yang mengeksplorasi kemungkinan produk Borland baru ini biasanya diwarnai dengan nada antusias. Keuntungan utama Delphi adalah bahwa ide-ide pemrograman visual diimplementasikan di sini. Lingkungan pemrograman visual mengubah proses pembuatan program menjadi konstruksi aplikasi yang menyenangkan dan mudah dipahami dari sekumpulan besar primitif grafis dan struktural.

Sistem Delphi memungkinkan Anda untuk memecahkan banyak masalah, khususnya:

· Buat aplikasi lengkap untuk Windows untuk berbagai tujuan: dari murni komputasi dan logis, hingga grafis dan multimedia.

· Buat dengan cepat (bahkan untuk pemrogram pemula) antarmuka berjendela yang terlihat profesional untuk aplikasi apa pun.

· Buat sistem yang kuat untuk bekerja dengan database lokal dan jarak jauh

· Buat sistem bantuan (file .hlp) untuk aplikasi Anda dan banyak lagi. dr.

Delphi adalah sistem yang berkembang sangat cepat. Versi pertama, Delphi 1.0, dirilis pada Februari 1995, dan kemudian versi baru dirilis setiap tahun.

Setiap versi Delphi berikutnya melengkapi versi sebelumnya.Kebanyakan versi Delphi tersedia dalam beberapa versi: Standar - standar, Profesional - profesional, Klien / Server - klien / server, Perusahaan - pengembangan basis data bidang studi. Varian berbeda terutama dalam tingkat akses yang berbeda ke sistem manajemen basis data. Opsi terakhir adalah Klien / Server dan Perusahaan, yang paling kuat dalam hal ini.

Delphi adalah kombinasi dari beberapa teknologi penting:

Kompiler kinerja tinggi ke kode mesin

Model komponen berorientasi objek

Pembuatan aplikasi visual (dan, karenanya, berkecepatan tinggi) dari prototipe perangkat lunak

Alat yang dapat diskalakan untuk membangun basis data

Struktur layar di lingkungan Delphi.

Setelah memanggil Delphi, beberapa jendela muncul di Windows (Gbr. 1):

Jendela utama,

Jendela formulir,

jendela pemeriksa objek,

jendela pohon objek,

Jendela kode program.


Gambar 1. Struktur layar di lingkungan Delphi.

Perhatikan menu grafis sistem Delphi yang terletak di bagian atas layar, terdiri dari ikon, di sebelah kiri menu grafis terdapat toolbar. Alat menjalankan beberapa perintah dari menu utama - duplikasi seperti itu sering dipraktekkan di lingkungan alat.Panel ini memiliki, khususnya, tombol untuk menyimpan proyek ke disk, tombol untuk membuka proyek, tombol untuk memulai program untuk eksekusi.

Bagian selanjutnya dari menu grafis adalah palet komponen, disusun dalam bentuk set ikon. Koleksi kit membentuk Visual Component Library (VCL). Ada beberapa kategori komponen, yang masing-masing dikaitkan dengan tab yang berbeda. Menggunakan Component Palette, kita akan membuat instance komponen (atau objek) pada form.

Untuk menempatkan objek dalam formulir, Anda perlu "mengklik" tombol yang sesuai pada palet dan kemudian klik di dalam jendela formulir: sebuah objek akan dimasukkan ke tempat yang ditentukan dari formulir - turunan dari komponen jenis yang dipilih.

Jendela Object Inspector adalah jendela yang menampilkan properti bentuk atau objek yang ditempatkan pada formulir. Dalam kasus kami, komponen saat ini adalah formulir, jadi jendela properti pada gambar menunjukkan properti formulir.

Jendela properti memiliki dua tab - Properti dan Acara, dengan bantuan yang Anda bisa mendapatkan garis (bidang) di jendela untuk pengaturan, masing-masing, properti komponen (yaitu, objek atau formulir) dan responsnya terhadap berbagai acara. Properti mendefinisikan atribut komponen, seperti ukuran tombol atau font label. Peristiwa berarti, misalnya, tindakan seperti mengklik tombol atau menutup jendela.

Jendela pohon objek muncul di versi 6 dan dimaksudkan untuk tampilan visual dari tautan antara objek individual yang ditempatkan pada formulir aktif atau di modul data aktif.

Jendela kode program dimaksudkan untuk membuat dan mengedit teks program. Awalnya, ini berisi kode sumber minimal.

proyek Delphi. Proyek Delphi terdiri dari formulir, modul, pengaturan parameter proyek, sumber daya, dll. Semua informasi ini terletak di file. Banyak dari file-file ini secara otomatis dihasilkan oleh Delphi ketika Anda membangun aplikasi Anda. Sumber daya seperti bitmap, ikon, dan sebagainya ditemukan dalam file yang Anda peroleh dari sumber lain atau dibuat dengan banyak alat dan editor sumber daya yang Anda inginkan. Selain itu, kompiler juga menghasilkan file.

File yang dibuat selama proses desain ditampilkan dalam tabel. 3.

Bagian utama dari aplikasi adalah file proyek (.dpr), yang berisi kode Object Pascal yang memulai program dan menginisialisasi modul lainnya. Itu dibuat dan dimodifikasi oleh Delphi secara otomatis selama pengembangan aplikasi. Nama yang diberikan ke file proyek selama proses penyimpanan menjadi nama file yang dapat dieksekusi.

Berkas proyek (.dpr) File teks ini digunakan untuk menyimpan informasi tentang formulir dan modul. Ini berisi pernyataan untuk menginisialisasi dan meluncurkan program untuk dieksekusi
File modul (.pas) Setiap formulir yang Anda buat memiliki file teks modul terkait yang digunakan untuk menyimpan kode. Anda dapat membuat modul yang tidak terkait dengan formulir. Banyak fungsi dan prosedur Delphi disimpan dalam modul.
Berkas formulir (.dfm) Ini adalah file biner atau teks yang dibuat Delphi untuk menyimpan informasi tentang formulir. Setiap file formulir memiliki file modul yang sesuai (.pas)
File Opsi Proyek (.dfo) File ini menyimpan pengaturan parameter proyek
File sumber daya (.res) File biner ini berisi ikon yang digunakan oleh proyek dan sumber daya lainnya.
Backup file (.~Dpr,.~Dfm,.~Pas) Ini adalah, masing-masing, file cadangan untuk file proyek, formulir, dan modul. Jika ada sesuatu yang benar-benar rusak dalam proyek, Anda dapat mengubah ekstensi file-file ini sesuai dan dengan demikian kembali ke versi sebelumnya yang tidak rusak.
File Konfigurasi Jendela (.dsk) File menyimpan konfigurasi semua jendela lingkungan pengembangan
File yang dapat dieksekusi (.exe) Ini adalah file aplikasi yang dapat dieksekusi. Ini adalah file executable mandiri yang tidak memerlukan apa pun, kecuali jika menggunakan perpustakaan yang terdapat dalam DLL, OCX, dll.
File objek modul (.dcu) Ini adalah file modul terkompilasi (.pas) yang ditautkan ke file akhir yang dapat dieksekusi.

Tabel 3. File yang dibuat selama proses desain.


Saat ini, versi ke-7 dari sistem Delphi telah dirilis. Dalam waktu singkat, ini telah menjadi salah satu sistem pemrograman paling populer di dunia. Banyak pengembang di seluruh dunia berkomitmen kuat untuk menggunakan Delphi sebagai alat untuk membuat aplikasi klien / server yang sangat efisien.

Pemrograman pohon evolusi

Gambar 1 Pohon evolusi pemrograman

6. Bibliografi:

1. I.T. Zaretskaya, B.G. Kolodyazhny, A.N. Gurzhiy, A.Yu. Sokolov. Informatika kelas 10-11. - .: "Forum", 2001

1. Struktur layar di lingkungan Delphi (http://textbook.keldysh.ru/distant/delphi/del_2.htm)

2. Patrikeev Yu.N. "Desain berorientasi objek" (http://www.object.newmail.ru/oop1.html)

3. S. Nemnyugin, L. Perkolab "Mempelajari TurboPascal" - SPb.: Peter, 2002.

2. H.M. Daytel. Cara memprogram dalam S. - M .: "Binom", 2000

3. Halaman Internet: http://ru.wikipedia.org/wiki/LISP

Buku teks terdiri dari dua bagian: teoretis dan praktis. Bagian teoretis dari buku teks menetapkan dasar-dasar informatika modern sebagai disiplin ilmiah dan teknis yang kompleks, termasuk studi tentang struktur dan sifat umum informasi dan proses informasi, prinsip-prinsip umum membangun perangkat komputasi, membahas organisasi dan fungsi informasi. dan jaringan komputer, keamanan komputer, menyajikan konsep kunci dari algoritma dan pemrograman, database dan DBMS. Untuk mengontrol pengetahuan teoretis yang diperoleh, pertanyaan untuk pemeriksaan diri dan tes ditawarkan. Bagian praktis mencakup algoritme tindakan dasar saat bekerja dengan pengolah kata Microsoft Word, editor spreadsheet Microsoft Excel, program untuk membuat presentasi Microsoft Power Point, program pengarsipan, dan program antivirus. Sebagai konsolidasi dari mata kuliah praktik yang telah dilalui pada akhir setiap bagian, diusulkan untuk melakukan kerja mandiri.

Buku:

Bagian di halaman ini:

8.2. Bahasa pemrograman

Jenis Pemrograman

Kemajuan teknologi komputer telah menentukan proses munculnya berbagai sistem tanda baru untuk penulisan algoritma - bahasa pemrograman. Arti penampilan bahasa semacam itu adalah seperangkat rumus komputasi yang dilengkapi untuk informasi tambahan, yang mengubah rangkaian ini menjadi suatu algoritma.

Bahasa pemrograman adalah bahasa yang dibuat secara artifisial. Mereka berbeda dari yang alami dengan jumlah "kata" yang terbatas dan aturan yang sangat ketat untuk menulis perintah (operator). Totalitas persyaratan tersebut membentuk sintaks bahasa pemrograman, dan arti dari setiap perintah dan konstruksi bahasa lainnya adalah semantiknya.

Bahasa pemrograman adalah bahasa komunikasi formal antara seseorang dan komputer, yang dirancang untuk menggambarkan serangkaian instruksi, yang implementasinya memberikan solusi yang tepat untuk masalah yang diperlukan. Peran utama mereka adalah merencanakan kegiatan pemrosesan informasi. Bahasa pemrograman apa pun didasarkan pada sistem konsep, dan dengan bantuannya seseorang dapat mengekspresikan pikirannya.

Hubungan antara bahasa yang kita pikirkan/program dengan masalah dan solusi yang dapat kita bayangkan dalam imajinasi kita sangat erat. Untuk alasan ini, membatasi properti bahasa hanya untuk tujuan menghilangkan kesalahan pemrogram sangat berbahaya. Seperti halnya bahasa alami, ada manfaat luar biasa untuk menjadi setidaknya bilingual. Bahasa menyediakan programmer dengan seperangkat alat konseptual, jika mereka tidak memenuhi tugas, maka mereka diabaikan begitu saja. Sebagai contoh, keterbatasan parah dari konsep pointer memaksa pemrogram untuk menggunakan vektor dan aritmatika keseluruhan untuk mengimplementasikan struktur, pointer, dan sejenisnya.Desain yang baik dan desain bebas kesalahan tidak dapat dijamin murni dengan cara bahasa.

Ini mungkin tampak mengejutkan, tetapi komputer tertentu mampu menjalankan program yang ditulis dalam bahasa mesinnya sendiri. Ada hampir banyak bahasa mesin yang berbeda seperti halnya komputer, tetapi semuanya adalah varietas dari ide yang sama - operasi sederhana dilakukan dengan kecepatan kilat pada bilangan biner.

Bahasa pemrograman yang bergantung pada mesin

Bahasa yang bergantung pada mesin adalah bahasa, set operator, dan sarana grafis yang pada dasarnya bergantung pada fitur komputer (bahasa internal, struktur memori, dll.). Bahasa ini disebut bahasa pemrograman tingkat rendah. Mereka fokus pada jenis prosesor tertentu dan mempertimbangkan kekhasannya. Operator bahasa seperti itu dekat dengan kode mesin dan berfokus pada instruksi prosesor tertentu, yaitu, bahasa ini bergantung pada mesin. Bahasa tingkat rendah adalah Assembly. Dengan bantuannya, program yang sangat efektif dan ringkas dibuat, karena pengembang mendapatkan akses ke semua kemampuan prosesor. Bahasa semacam itu digunakan untuk menulis aplikasi sistem kecil, driver perangkat, perpustakaan. Dalam kasus di mana jumlah RAM dan ROM kecil (di wilayah beberapa kilobyte), tidak ada alternatif untuk assembler. Bahasa pemrograman inilah yang memungkinkan Anda mendapatkan kode program terpendek dan tercepat.

Bahasa pemrograman yang tidak bergantung pada mesin

Bahasa mesin-independen adalah sarana untuk menggambarkan algoritma untuk memecahkan masalah dan informasi yang akan diproses. Mereka nyaman digunakan untuk berbagai pengguna dan tidak mengharuskan mereka untuk mengetahui secara spesifik pengorganisasian fungsi komputer dan sistem komputasi.

Bahasa seperti ini disebut bahasa pemrograman tingkat tinggi. Program yang ditulis dalam bahasa seperti itu adalah urutan pernyataan yang disusun sesuai dengan aturan bahasa (tugas, segmen, blok, dll.). Operator bahasa menggambarkan tindakan yang harus dilakukan sistem setelah program diterjemahkan ke dalam bahasa mesin.

Urutan perintah (prosedur, subrutin), sering digunakan dalam program mesin, direpresentasikan dalam bahasa tingkat tinggi dengan pernyataan terpisah. Pemrogram mendapat kesempatan untuk tidak menjelaskan secara rinci proses komputasi pada tingkat instruksi mesin, tetapi untuk fokus pada fitur utama dari algoritma.

Bahasa pemrograman tingkat tinggi jauh lebih dekat dan lebih mudah dipahami oleh manusia. Mereka tidak memperhitungkan kekhasan arsitektur komputer tertentu, yaitu bahasa-bahasa ini tidak bergantung pada mesin. Ini memungkinkan untuk menggunakan program yang pernah ditulis dalam bahasa seperti itu di berbagai komputer.

Dimungkinkan untuk menulis program secara langsung dalam bahasa mesin, meskipun ini sulit. Pada awal komputerisasi (di awal 1950-an), bahasa mesin adalah satu-satunya bahasa, orang yang lebih besar belum ditemukan pada saat itu. Untuk menyelamatkan programmer dari bahasa pemrograman mesin yang keras, bahasa tingkat tinggi (yaitu, bahasa non-mesin) diciptakan, yang menjadi semacam jembatan penghubung antara manusia dan bahasa mesin komputer. Bahasa tingkat tinggi bekerja melalui program translasi yang menyuntikkan "kode sumber" (campuran kata-kata bahasa Inggris dan ekspresi matematika yang dibaca mesin) dan akhirnya memaksa komputer untuk mengeksekusi instruksi yang sesuai, yang diberikan dalam bahasa mesin.

Bahasa pemrograman tingkat tinggi antara lain sebagai berikut: Fortran, Cobol, Algol, Pascal, Basic, C, C++, Java, HTML, Perl dan lain-lain.

Dengan bantuan bahasa pemrograman, bukan program yang telah selesai dibuat, tetapi hanya teks yang menjelaskan algoritma yang dikembangkan sebelumnya. Untuk mendapatkan program yang berfungsi, Anda harus menerjemahkan teks ini secara otomatis ke dalam kode mesin dan kemudian menggunakannya secara terpisah dari teks sumber, atau segera menjalankan perintah bahasa yang ditentukan dalam teks program. Untuk ini, program penerjemah digunakan.

Ada dua tipe utama penerjemah (Gambar 8.4): interpreter, yang memindai dan memvalidasi kode sumber dalam satu langkah, dan compiler, yang memindai kode sumber untuk menghasilkan teks dari program bahasa mesin, yang kemudian dieksekusi secara terpisah.


Gambar 8.4. Jenis-jenis penerjemah

Saat menggunakan kompiler, semua kode sumber program diubah menjadi kode mesin, dan kode-kode inilah yang ditulis ke dalam memori mikroprosesor. Saat menggunakan interpreter, kode sumber program ditulis ke dalam memori mikroprosesor, dan terjemahan dilakukan ketika operator berikutnya dibaca. Secara alami, kecepatan juru bahasa jauh lebih rendah dibandingkan dengan kompiler, karena ketika operator digunakan dalam satu lingkaran, itu diterjemahkan berkali-kali. Namun, ketika memprogram dalam bahasa tingkat tinggi, jumlah kode yang perlu disimpan dalam memori internal bisa jauh lebih sedikit daripada kode yang dapat dieksekusi. Keuntungan lain menggunakan interpreter adalah kemudahan portabilitas program dari satu prosesor ke prosesor lainnya.

Salah satu keuntungan yang sering dikutip dari implementasi juru bahasa adalah memungkinkan untuk "mode langsung". Modus segera memungkinkan Anda untuk menanyakan masalah komputer dan mengembalikan jawabannya kepada Anda segera setelah Anda menekan tombol ENTER. Selain itu, interpreter memiliki atribut khusus yang memudahkan debugging. Anda dapat, misalnya, menginterupsi pemrosesan program juru bahasa, menampilkan konten variabel tertentu, membaca sekilas program, dan kemudian melanjutkan eksekusi. Namun, bahasa yang ditafsirkan memiliki kelemahan. Hal ini diperlukan, misalnya, untuk memiliki salinan juru bahasa dalam memori sepanjang waktu, sementara banyak kemampuan juru bahasa, dan karenanya kemampuannya, mungkin tidak diperlukan untuk pelaksanaan program tertentu. Saat menjalankan pernyataan program, penerjemah pertama-tama harus memindai setiap pernyataan untuk membaca isinya (apa yang diminta orang ini untuk saya lakukan?) Dan kemudian melakukan operasi yang diminta. Operator dalam loop terlalu banyak dipindai.

Compiler adalah penerjemah bahasa mesin yang membaca teks sumber. Ini mengevaluasinya sesuai dengan konstruksi sintaksis bahasa dan menerjemahkannya ke dalam bahasa mesin. Dengan kata lain, kompiler tidak menjalankan program, melainkan membangunnya. Interpreter tidak dapat dipisahkan dari program yang dijalankannya; compiler melakukan tugasnya dan meninggalkan tempat kejadian. Saat bekerja dengan bahasa kompilasi seperti Turbo BASIC, Anda perlu memikirkan program Anda dalam dua fase utama kehidupannya: periode kompilasi dan periode berjalan. Sebagian besar program akan berjalan empat hingga sepuluh kali lebih cepat daripada penerjemah yang setara. Jika Anda bekerja untuk meningkatkannya, Anda dapat mencapai peningkatan kinerja 100x. Sisi lain dari koin adalah bahwa program yang menghabiskan sebagian besar waktunya mengutak-atik file pada disk atau menunggu input tidak akan dapat menunjukkan peningkatan kecepatan yang mengesankan.

Proses pembuatan program disebut pemrograman.

Ada beberapa jenis pemrograman.

Algoritma atau modular

Gagasan utama pemrograman algoritmik adalah membagi program menjadi urutan modul, yang masing-masing melakukan satu atau lebih tindakan. Satu-satunya persyaratan untuk sebuah modul adalah bahwa eksekusinya selalu dimulai dengan perintah pertama dan selalu diakhiri dengan yang terbaru (yaitu, tidak mungkin untuk mendapatkan perintah modul dari luar dan mentransfer kontrol dari modul ke perintah lain, melewati yang terakhir).

Algoritma dalam bahasa pemrograman yang dipilih ditulis menggunakan perintah untuk mendeskripsikan data, menghitung nilai, dan mengontrol urutan eksekusi program.

Teks program adalah urutan linier dari pernyataan penugasan, loop, dan kondisional. Dengan cara ini, Anda dapat memecahkan masalah yang tidak terlalu rumit dan membuat program yang berisi beberapa ratus baris kode. Setelah itu, pemahaman teks sumber turun tajam karena fakta bahwa struktur umum algoritme hilang di belakang operator bahasa tertentu yang melakukan tindakan dasar yang terlalu detail. Banyak pernyataan bersyarat dan loop bersarang muncul, logika menjadi benar-benar membingungkan, ketika mencoba untuk memperbaiki satu pernyataan yang salah, beberapa kesalahan baru diperkenalkan terkait dengan kekhasan operasi pernyataan ini, yang hasilnya sering diperhitungkan di berbagai tempat dalam program.

Pemrograman terstruktur

Saat membuat aplikasi berukuran sedang (beberapa ribu baris kode sumber), pemrograman terstruktur digunakan, gagasannya adalah bahwa struktur program harus mencerminkan struktur masalah yang sedang dipecahkan sehingga algoritme solusi terlihat jelas dari teks sumber. Untuk melakukan ini, Anda harus memiliki sarana untuk membuat program tidak hanya dengan bantuan tiga operator sederhana, tetapi juga dengan bantuan sarana yang lebih akurat mencerminkan struktur spesifik dari algoritma. Untuk tujuan ini, konsep subrutin telah diperkenalkan ke dalam pemrograman - satu set operator yang melakukan tindakan yang diinginkan dan tidak bergantung pada bagian lain dari kode sumber. Program ini dibagi menjadi banyak subrutin kecil (mengambil hingga 50 pernyataan - ambang kritis untuk memahami tujuan subrutin dengan cepat), yang masing-masing melakukan salah satu tindakan yang disediakan oleh tugas asli. Dengan menggabungkan subrutin ini, dimungkinkan untuk membentuk algoritma akhir bukan dari operator sederhana, tetapi dari blok kode lengkap yang memiliki beban semantik tertentu, dan Anda dapat merujuk ke blok tersebut dengan nama. Ternyata subrutin adalah operator atau operasi baru dari bahasa, yang ditentukan oleh programmer.

Kemampuan menggunakan subrutin mengklasifikasikan bahasa pemrograman sebagai bahasa prosedural.

Memiliki subrutin memungkinkan Anda merancang dan mengembangkan aplikasi dari atas ke bawah - pendekatan ini disebut desain top-down. Pertama, beberapa subrutin dialokasikan untuk menyelesaikan sebagian besar tugas global (misalnya, inisialisasi data, bagian utama dan penyelesaian), kemudian masing-masing modul ini dirinci pada tingkat yang lebih rendah, memecah, pada gilirannya, menjadi sejumlah kecil subrutin lainnya, dan ini terjadi sampai mereka sampai seluruh tugas selesai.

Pendekatan ini nyaman karena memungkinkan seseorang untuk terus-menerus berpikir pada tingkat subjek, tanpa berhenti pada operator dan variabel tertentu. Selain itu, menjadi mungkin bagi beberapa untuk tidak segera mengimplementasikan subrutin, tetapi untuk sementara menunda sampai bagian lain selesai. Misalnya, jika ada kebutuhan untuk menghitung fungsi matematika yang kompleks, maka subrutin terpisah untuk perhitungan semacam itu dialokasikan, tetapi untuk sementara diimplementasikan oleh satu operator, yang hanya memberikan nilai yang telah dipilih sebelumnya. Ketika seluruh aplikasi ditulis dan di-debug, Anda dapat mulai mengimplementasikan fungsi ini.

Penting juga bahwa subrutin kecil jauh lebih mudah untuk di-debug, yang secara signifikan meningkatkan keandalan keseluruhan program secara keseluruhan.

Karakteristik yang sangat penting dari subrutin adalah dapat digunakan kembali. Sistem pemrograman terintegrasi dilengkapi dengan perpustakaan besar rutinitas standar yang secara signifikan dapat meningkatkan produktivitas dengan menggunakan pekerjaan orang lain untuk membuat rutinitas yang umum digunakan.

Ada dua jenis subrutin - prosedur dan fungsi. Mereka berbeda karena prosedur hanya mengeksekusi sekelompok pernyataan, dan fungsi, di samping itu, menghitung beberapa nilai dan mentransfernya kembali ke program utama (mengembalikan nilai). Nilai ini bertipe tertentu (suatu fungsi dikatakan bertipe ini dan itu).

Subrutin melakukan tiga tugas penting:

Hilangkan kebutuhan untuk mengulangi fragmen serupa dalam teks program berkali-kali;

Memperbaiki struktur program, sehingga lebih mudah dipahami;

Meningkatkan ketahanan terhadap kesalahan pemrograman dan konsekuensi tak terduga selama modifikasi program.

Pemrograman berorientasi objek

Pada pertengahan 1980-an, arah baru muncul dalam pemrograman, berdasarkan konsep objek. Sampai saat itu, batasan utama kemungkinan pembuatan sistem besar disebabkan oleh perpecahan dalam program data dan metode pemrosesannya.

Objek nyata dari dunia sekitarnya memiliki tiga karakteristik dasar: mereka memiliki seperangkat properti, mereka mampu mengubah properti ini dengan cara yang berbeda dan bereaksi terhadap peristiwa yang terjadi baik di dunia sekitar maupun di dalam objek itu sendiri. Dalam bentuk inilah dalam bahasa pemrograman konsep suatu objek diimplementasikan sebagai seperangkat properti (karakteristik struktur data dari objek ini), metode pemrosesannya (subprogram untuk mengubah properti) dan peristiwa yang dapat direaksikan oleh objek ini. dan yang, sebagai suatu peraturan, menyebabkan perubahan sifat objek.

Munculnya kemungkinan membuat objek dalam program memiliki dampak kualitatif pada produktivitas programmer. Volume maksimum aplikasi yang telah tersedia untuk dibuat oleh sekelompok 10 programmer telah meningkat menjadi jutaan baris kode dalam beberapa tahun, sementara pada saat yang sama dimungkinkan untuk mencapai keandalan program yang tinggi dan, yang penting, penggunaan kembali yang dibuat sebelumnya objek dalam tugas lain.

Objek dapat memiliki struktur yang sama dan hanya berbeda dalam nilai properti. Dalam kasus seperti itu, tipe baru dibuat dalam program berdasarkan struktur objek tunggal. Itu disebut kelas, dan setiap objek spesifik yang memiliki struktur kelas ini disebut turunan dari kelas.

Bahasa pemrograman berorientasi objek dicirikan oleh tiga properti utama:

1. Enkapsulasi - menggabungkan data dengan metode dalam satu kelas;

Generasi bahasa pemrograman

Kebutuhan akan pemrograman muncul bahkan sebelum komputer yang dapat diprogram. Diketahui bahwa sejak abad ke-18, misalnya, telah ada alat tenun yang diprogram dengan papan kayu, di mana lubang dibuat di tempat yang tepat.

Perkembangan pemrograman dipromosikan oleh gagasan John Von Neumann, yang diterbitkan pada tahun 1945, di mana ia menggambarkan sebuah komputer di mana program itu sendiri disimpan dalam memori bersama dengan data.

Bahasa pemrograman generasi pertama adalah kode mesin. Kode mesin terdiri dari instruksi yang dapat dijalankan oleh komputer (prosesor) (serta data yang dimiliki oleh instruksi tersebut). Ketika memprogram dalam kode mesin, programmer harus menulis programnya dalam kode biner sehingga prosesor dapat memahami dan menjalankannya. Pada hakekatnya pemrograman tersebut membutuhkan pengetahuan dan pemahaman yang baik tentang perangkat keras, karena dalam proses pemrograman perlu diketahui apa yang dapat dilakukan prosesor, di mana perangkat input-output berada, dan juga bagaimana berkomunikasi dengannya. berapa banyak waktu yang akan dihabiskan untuk operasi ini atau itu. Dengan demikian, kode mesin sangat erat digabungkan dengan perangkat keras di mana program yang sesuai akan dijalankan. Sampai saat ini, kode mesin belum hilang dari komputer, semua tindakan di tingkat rendah (tingkat perangkat keras) masih terjadi dalam kode mesin, yaitu. Apa pun bahasa pemrograman yang digunakan untuk menulis program, pada akhirnya diubah menjadi kode mesin yang dapat dipahami oleh perangkat keras.

Bahasa rakitan dianggap sebagai bahasa generasi kedua. Dalam kasus kode mesin, semua pemrograman dilakukan dalam kode biner, dan dengan demikian, membaca dan men-debug itu sangat memakan waktu. Saat memprogram dalam bahasa rakitan, instruksi disajikan kepada seseorang dalam bentuk yang dapat dimengerti. Pemrograman sendiri sangat mirip dengan pemrograman dalam kode mesin, karena instruksinya sama dengan kode mesin (hanya dalam bentuk yang berbeda - dalam bentuk kata-kata). Program yang ditulis dalam bahasa Assembly adalah seperti berikut:

MOV AL, 19

TAMBAHKAN AL, 4

KELUAR 2

Potongan kode ini memberikan nilai register AL 19 (biasanya nilai diwakili oleh angka dalam sistem heksadesimal), menambahkan angka 4 ke nilai register AL dan kemudian mengirimkan angka 2 ke output 2. Program tertulis diterjemahkan dari assembler ke dalam kode mesin dan setelah itu prosesor dapat memulai eksekusinya ...

Bahasa rakitan dan kode mesin dianggap sebagai bahasa tingkat rendah.

Bahasa pemrograman generasi ketiga sudah disebut bahasa tingkat tinggi. Bahasa pemrograman semacam itu tidak terlalu terkait dengan perangkat keras. Ini berarti bahwa pemrogram tidak lagi perlu mengetahui dengan tepat perangkat dan fitur perangkat keras, tetapi dapat secara relatif independen dari perangkat keras, setelah itu program ini diubah dengan bantuan beberapa alat yang berbeda ke dalam bentuk yang perangkat keras dapat memahami. Lebih khusus lagi, bagaimana hal ini dilakukan akan dijelaskan kemudian.

Sebagian besar bahasa pemrograman yang dikenal dan digunakan termasuk bahasa generasi ketiga, misalnya:

FORTRAN (The IBM Mathematical FORmula TRANslating System) adalah bahasa pemrograman yang dikembangkan pada 1950-an untuk komputasi matematika dan tujuan ilmiah.

COBOL (COMmon Business Oriented Language) - Bahasa pemrograman berorientasi objek, dibuat pada tahun 1959, terutama untuk menulis program yang memenuhi kebutuhan bisnis.

BASIC (Beginner's All-purpose Symbolic Instruction Code) - Sebuah bahasa yang dikembangkan pada tahun 1963, yang awalnya dibuat agar para insinyur dapat melakukan berbagai simulasi pada komputer.

Pascal - Bahasa pemrograman yang dibuat pada 1970-an yang dibuat untuk mengajarkan pemrograman.

C - namanya berasal dari fakta bahwa bahasa ini terutama didasarkan pada bahasa yang disebut B. Itu dibuat untuk menulis sistem operasi (banyak sistem operasi yang kompatibel dengan UNIX ditulis dalam bahasa ini), telah lama menjadi salah satu bahasa pemrograman paling populer .

C++ adalah C berorientasi objek.

Java adalah bahasa pemrograman yang dikembangkan berdasarkan C++.

Visual Basic, Delphi, Python, C # semuanya adalah bahasa generasi ketiga. Banyak bahasa pemrograman generasi ketiga lebih muda (lebih baru) daripada beberapa bahasa generasi keempat dan kelima.

Bahasa pemrograman Generasi 4 dirancang agar mudah dipelajari dan digunakan. Bahasa-bahasa ini cenderung non-prosedural terfokus pada satu aplikasi. Contoh bahasa pemrograman generasi keempat adalah SQL (Structured Query Language). Ia mengatakan lebih banyak tentang "apa yang harus dilakukan" dan lebih sedikit tentang "bagaimana melakukannya". Bahasa generasi kelima telah dibuat untuk pengembangan sistem kecerdasan buatan dan untuk memecahkan masalah yang terkait dengan topik ini.

Jenis dasar bahasa pemrograman.

Tidak seperti generasi bahasa pemrograman, tipe dasar menggambarkan bagaimana bahasa dapat diprogram. Jenis dasar utama meliputi: bahasa pemrograman prosedural, fungsional dan berorientasi objek.

Dalam bahasa pemrograman prosedural, bahasa pemrograman menggambarkan tindakan dan urutan pelaksanaannya, dan juga tindakan ini dibagi menjadi beberapa kelompok (subrutin). Prosedur, pada gilirannya, membentuk struktur kode yang dapat digunakan kembali. Dalam bahasa pemrograman fungsional, seluruh solusi dijelaskan menggunakan fungsi. Dalam bahasa pemrograman berorientasi objek, masalah diselesaikan dengan menggunakan fungsi dan struktur data yang dijelaskan dalam kelas (Kelas Bahasa Inggris). Dari setiap kelas, Anda dapat membuat objek yang akan memiliki sekumpulan properti dan/atau metode.

Properti adalah nilai yang dapat dikandung oleh suatu objek dan yang dapat memengaruhi perilaku suatu objek. Misalnya, berdasarkan kelas "jendela konsol", Anda dapat membuat objek "konsol1" yang akan terlihat oleh pengguna sebagai jendela konsol tunggal. Objek ini memiliki beberapa properti (ditampilkan, disembunyikan, lebar, tinggi, warna teks di jendela konsol, warna latar belakang, dll.), dengan mengubah properti ini, Anda dapat mengubah tampilan objek dalam kasus khusus ini.

Dalam contoh yang sama, objek mungkin memiliki beberapa metode, misalnya, dengan merujuk ke metode yang sesuai, Anda dapat menulis beberapa teks ke jendela konsol, membaca teks yang dimasukkan oleh pengguna ke dalam beberapa variabel, dll.

Contoh kedua adalah kelas "variabel teks", membuat objek "ProstoText" berdasarkan kelas ini, membuat satu variabel teks, properti utamanya adalah nilai teks yang disimpan, tetapi pada kenyataannya, objek ini memiliki lebih banyak properti ( misalnya, panjang nilai teks yang disimpan ). Juga, variabel teks harus memiliki seperangkat metode tertentu (mengubah karakter dari nilai yang disimpan menjadi huruf kecil, huruf besar, menghapus beberapa karakter, dll.).

Oleh karena itu, dengan menggambarkan kelas dan memanipulasi objek, dimungkinkan untuk membuat program yang sangat kompleks dan melakukan berbagai tindakan.

Bahasa yang ditafsirkan dan dikompilasi

Sebelum komputer dapat menjalankan program yang ditulis dalam bahasa tingkat tinggi, program tersebut harus "diterjemahkan" ke dalam bahasa yang dapat dimengerti oleh komputer, mis. kode mesin. Proses penerjemahan ini disebut penerjemahan, dan perangkat lunak penerjemah disebut penerjemah. Penerjemah dibagi menjadi dua kelas: kompiler dan juru bahasa.

Kompilasi adalah ketika sebuah program dalam kode mesin (disebut kompiler) mengubah program lain yang ditulis dalam bahasa pemrograman menjadi kode mesin. Setelah itu, kode mesin program yang dihasilkan dieksekusi. Contoh bahasa yang dikompilasi antara lain C, Fortran, Pascal.

Interpretasinya adalah bahwa program dalam kode mesin (interpreter) menulis file program ke memori internal dan mulai menjalankannya baris demi baris. Contohnya adalah bahasa BASIC lama.

Menafsirkan program sekitar 10-200 kali lebih lambat daripada mengeksekusi kode yang dikompilasi. Sebaliknya, debugging (menghapus kesalahan dari program) dari program yang ditafsirkan biasanya lebih mudah daripada dalam kasus program yang diterjemahkan. Dalam beberapa kasus yang sesuai dan dengan ketersediaan alat, perbedaan ini bisa jauh lebih kecil. Contoh yang baik adalah Java dengan kode yang dioptimalkan dan dikompilasi di tingkat menengah, yang diterjemahkan saat runtime oleh kompiler Just-in-Time agar sesuai dengan perangkat keras tertentu.

Pada prinsipnya, sebuah program yang ditulis dalam bahasa apapun dapat diinterpretasikan dan dikompilasi.

Saat ini, ada banyak arah dalam pemrograman. Setiap orang dapat menemukan sesuatu yang mereka sukai, tetapi untuk ini Anda perlu tahu persis apa yang akan Anda lakukan di bidang Anda.

Pengembangan aplikasi web

Arah ini difokuskan pada pengembangan aplikasi web (dengan kata lain, situs, tetapi saat ini situs memiliki fungsionalitas yang begitu kaya sehingga dapat disebut aplikasi lengkap).

Pemrograman web dapat dibagi menjadi backend (menulis skrip sisi server - PHP, Python, Ruby) dan frontend (mengembangkan antarmuka pengguna - Javascript, HTML, CSS).

Pengembangan Aplikasi Desktop

Pengembangan perangkat lunak untuk berbagai sistem operasi. Semua ragam software yang kita gunakan dalam kehidupan sehari-hari. Jika Anda ingin menulis prosesor foto, pemutar audio, atau editor teks Anda sendiri, maka inilah tempatnya.

Pengembangan Aplikasi Server

Ini adalah berbagai server game (Dotka favorit Anda, CS: GO), layanan IM (sisi server Skype, ICQ, MSN), database perbankan.

Pengembangan aplikasi seluler

Banyak aplikasi Java. VK, Viber, Yandex.Maps, penerjemah, pembaca elektronik.

Pemrograman tertanam

Cabang pemrograman yang menarik untuk berbagai peralatan rumah tangga: penyedot debu, lemari es, mesin cuci, pemutar, navigator, timbangan elektronik. Ini melibatkan perkembangan ilmiah menggunakan bahasa khusus seperti MATLAB.

Pemrograman Sistem

Menulis berbagai driver untuk perangkat keras, memprogram "kernel" sistem operasi. Omong-omong, pembuatan kompiler dan juru bahasa untuk bahasa pemrograman juga disertakan di sini.

Pengembangan permainan

Sebuah industri raksasa. Ini termasuk pengembangan game untuk PC, konsol, dan perangkat seluler.

Pemrograman Olimpiade dan pemecahan masalah

Pemrograman dalam berbagai bahasa "tidak praktis" dan tidak umum (Pascal, Delphi) untuk menyelesaikan beberapa masalah asli yang memerlukan pendekatan non-standar, kecerdikan, dan IQ di atas 160.

Pemrograman untuk produk akuntansi dan keuangan

"1C: Perusahaan". Semua akuntansi di Rusia terkait dengan produk ini. Tetapi tidak cukup hanya mengetahui bahasa itu sendiri; penting untuk memahami dasar-dasar akuntansi. Kelebihannya adalah ada banyak pekerjaan, dan Anda tidak akan dibiarkan tanpa roti.

Pemrograman basis data

Arah yang serius. Jika Anda ingin mengembangkan basis data yang mampu menyimpan miliaran baris informasi tentang semua pengguna VKontakte atau Facebook, dan pada saat yang sama tidak melambat - Anda di sini.

Sains

Sains dan itu mengatakan itu semua. Jaringan saraf, pemodelan struktur DNA, peluncuran satelit, simulasi Big Bang.

Ngomong-ngomong, baru-baru ini situs web NASA menerbitkan berita tentang pencarian programmer dalam bahasa Fortran "kuno", yang berusia lebih dari 60 tahun. Seorang programmer diminta untuk mengembangkan program untuk mengontrol probe otomatis Voyager 1 dan Voyager 2, perangkat lunak yang telah ditulis dalam Assembler, Fortran dan COBOL pada tahun 1970-an. Anda tidak pernah tahu pengetahuan apa yang mungkin berguna.