Pesannya adalah analisis komparatif bahasa algoritmik tingkat tinggi. Karakteristik komparatif, tujuan dan kemampuan bahasa modern

Bahasa pemrograman adalah bahasa buatan. Ini berbeda dari bahasa alami dalam jumlah kata yang terbatas, yang maknanya dapat dimengerti oleh penerjemah, dan dalam aturan yang sangat ketat dalam menulis perintah atau pernyataan. Kombinasi dari persyaratan ini terbentuk sintaksis bahasa. Dan makna setiap perintah dan konstruksi bahasa lainnya ada pada dirinya semantik. Pelanggaran terhadap formulir pencatatan program mengakibatkan penerjemah mengeluarkan pesan tentang kesalahan sintaks, tetapi ditulis dengan benar, tetapi tidak sesuai dengan algoritma, penggunaan perintah mengarah ke kesalahan semantik.(ke log.osh) Proses menemukan kesalahan dalam suatu program disebut pengujian, dan proses eliminasinya adalah melakukan debug.

Penerjemah.

Penyusun Menafsirkan. Mereka segera mengambil pernyataan dari teks program, menganalisis strukturnya dan kemudian segera mengeksekusinya. Hanya setelah eksekusi pernyataan saat ini berhasil, penerjemah akan melanjutkan ke pernyataan berikutnya. Selain itu, jika operator yang sama diulang berkali-kali, penerjemah akan menganalisisnya setiap kali seolah-olah itu adalah operator pertama. Dengan menggunakan interpreter, Anda dapat menghentikan program kapan saja, memeriksa isi memori, mengatur dialog dengan pengguna, sehingga interpreter berguna sebagai alat untuk mempelajari pemrograman. Sistem pemrograman nyata menggabungkan teknologi kompilasi dan interpretasi. Contoh: selama proses debugging suatu program, dapat dilakukan langkah demi langkah untuk mendapatkan kode non-objek untuk debugging.

Ada 3 tahap:

    kompilasi – pembuatan file objek *.obj

Hubungkan menggunakan USES

Bahasa pemrograman terfokus pada jenis prosesor tertentu disebut bahasa pemrograman tingkat rendah, Artinya, operator bahasa berfokus pada perintah prosesor tertentu (Assembler adalah level terendah, mewakili setiap perintah kode mesin menggunakan simbol - mnemonik) Konversi yang jelas dari satu instruksi mesin menjadi satu perintah assembler disebut transliterasi. Bahasa serupa digunakan untuk menulis aplikasi sistem, driver, dan modul untuk menghubungkan ke peralatan non-standar.

Bahasa pemrograman tingkat tinggi lebih dekat dan lebih mudah dipahami oleh manusia dibandingkan dengan komputer. Keunikan arsitektur tidak diperhitungkan, => program dalam bahasa ini dapat ditransfer ke platform lain di mana terdapat penerjemah.

Generasi:

I 50x Bahasa assembly ke-1, dibuat berdasarkan prinsip 1 baris 1 instruksi. (non-simbolis)

II ke tahun 50-an Assembler simbolik, konsep variabel diperkenalkan (memberikan alamat relatif), bisa dikatakan bahasa pemrograman lengkap pertama.

III 60an Bahasa tingkat tinggi Fortran, Basic, Pascal, dll muncul. Produktivitas programmer telah meningkat tajam.

VI dimulai 70x Periode bahasa yang dimaksudkan untuk implementasi proyek besar, untuk meningkatkan kecepatan keandalan, terus berlanjut. -Bahasa berorientasi masalah, bahasa yang berorientasi pada tugas-tugas khusus yang besar (area khusus yang sempit). Operator yang kuat dibangun di dalamnya, memungkinkan Anda menulis fungsionalitas kompleks dalam satu baris (DBMS).

V Sejak tahun 90-an, bahasa visual telah diciptakan sebagai sistem untuk pengembangan otomatis program aplikasi menggunakan alat pengembangan visual. Idealnya, alat visual yang bisa digunakan oleh non-programmer. Dua aspek 1 - penggunaan komponen visual, 2 - coding.

Sistem pemrograman:

Mencakup semua yang Anda perlukan untuk membuat dan men-debug program

    editor teks

    kompiler (terjemahan dari kode tinggi ke kode mesin) ekstensi umum yang kompatibel *.obj

    editor komunikasi – linker (Tautan).

Teks sumber program terdiri dari beberapa modul, yang masing-masing dikompilasi menjadi file terpisah, file objek ini digabungkan menjadi satu kesatuan, selain itu, kode mesin subrutin yang mengimplementasikan fungsi standar ditambahkan, terkandung dalam perpustakaan standar disertakan dengan kompiler, subrutin yang memiliki kode-kode ini (system.tpu - dalam Pascal). Penghubung (linker) menyatukan program, termasuk semua program terprogram dan subrutin standar, dan menghitung alamat sebenarnya.

Semua asosiasi dilakukan dalam format yang diperlukan (format ditentukan oleh jenis OS), hasilnya adalah file dengan ekstensi *.exe, ditempatkan di memori RAM nyata, baru kemudian file yang dapat dieksekusi dapat diluncurkan. Hasil dari linker adalah modul boot dengan ekstensi *.exe, *.com.

    Ketersediaan perpustakaan fungsi standar.

    Sistem pemrograman harus memiliki debugger - menjalankan program langkah demi langkah, mengamati bagaimana nilai variabel berubah.

Tingkat bahasa pemrograman:

Bahasanya dekat dengan percakapan kita; diperlukan docking dengan beberapa peralatan non-standar. Untuk memastikan bahwa program memakan sedikit memori dan waktu eksekusi, serta lebih cepat, maka kita beralih ke perakitan.

    Fortran adalah bahasa rekayasa murni. Program-programnya sangat kompak. Bahasa hanya digunakan secara profesional

    CABOL – bahasa akuntansi adalah bahasa Inggris. Rusia. Versi

    Algol (68) - dimaksudkan untuk menggantikan Fotran, tetapi karena kerumitan strukturnya, tidak mendapat distribusi

    Pascal - mengambil ide Algol, memperketat persyaratan untuk struktur program

    C - awalnya dikembangkan sebagai produk massal dan direncanakan menggantikan asm, memiliki fitur tambahan

    C++ - ekstensi berorientasi objek dari C

    Java didasarkan pada C++. Kami mencoba mengecualikan fitur tingkat rendah dari C++. Keunikannya adalah ia tidak dikompilasi menjadi kode mesin, tetapi menjadi kode byte yang tidak bergantung pada platform.

    Bahasa pemrograman untuk Internet – html, perl, vrml

Kerang visual:

    Basic - Tempat terpopuler pertama di dunia diciptakan untuk pembelajaran Microsoft Visual Basic

    Pascal – Delphi – populer untuk bekerja dengan database Borland Delphi

    Html, perl, php – untuk Internet

    Pembangun C++ Borland C++

    Java Symantec Cafe (ponsel, peralatan rumah tangga)

2. Penerjemah: tujuan, klasifikasi, contoh. Tahapan melewati program komputer

Penerjemah: kompiler dan juru bahasa. Untuk mendapatkan program yang berfungsi, teks harus diterjemahkan ke dalam kode mesin; untuk melakukan ini, hubungi program penerjemah yang disebut Penerjemah.

Penyusun– menerima kode objek. Ini adalah program yang memproses seluruh teks program, yaitu kode sumber. Pertama-tama memindai teks untuk mencari kesalahan sintaksis, kemudian melakukan beberapa analisis semantik, setelah itu teks diterjemahkan secara otomatis atau diterjemahkan ke dalam bahasa mesin. Seringkali, ketika membuat kode mesin, optimasi dilakukan menggunakan serangkaian metode yang meningkatkan kinerja program. Hasilnya, program yang telah selesai, yang disebut kode objek, kompak dan efisien serta dapat ditransfer ke komputer lain dengan prosesor yang mendukung kode mesin terkait. Menafsirkan. Mereka segera mengambil pernyataan dari teks program, menganalisis strukturnya dan kemudian segera mengeksekusinya. Hanya setelah eksekusi pernyataan saat ini berhasil, penerjemah akan melanjutkan ke pernyataan berikutnya. Selain itu, jika operator yang sama diulang berkali-kali, penerjemah akan menganalisisnya setiap kali seolah-olah itu adalah operator pertama. Dengan menggunakan interpreter, Anda dapat menghentikan program kapan saja, memeriksa isi memori, mengatur dialog dengan pengguna, sehingga interpreter berguna sebagai alat untuk mempelajari pemrograman. Sistem pemrograman nyata menggabungkan teknologi kompilasi dan interpretasi. Contoh: pada saat proses debugging suatu program dapat dilakukan langkah demi langkah. untuk menerima kode non-objek untuk debugging.

Ada 3 tahap:

Teks sumber program dalam Pascal harus disimpan dalam file dengan ekstensi .pas. File ini diproses oleh compiler, dan hasilnya berupa kode objek, otomatis disimpan dalam file berekstensi .tpu (turbo Pascal unit), program diproses oleh linker - diperoleh modul beban, otomatis disimpan dalam file dengan ekstensi .exe. Selanjutnya program masuk ke eksekusi (dalam prosesnya, data sumber dapat dihubungkan), lalu kita mendapatkan hasilnya.

    kompilasi – membuat file objek *.obj, *.tpu

    menghubungkan – membuat file *.exe yang dapat dieksekusi

    eksekusi - hasil yang dibentuk secara bertahap

Setelah kompilasi di Delphi kita mendapatkan ekstensi *.dcu - perpustakaan statis

Hubungkan menggunakan USES

Klasifikasi bahasa pemrograman.

Ada berbagai klasifikasi bahasa pemrograman.

Menurut klasifikasi yang paling umum, semua bahasa pemrograman, sesuai dengan istilah yang diperlukan untuk menjelaskan tugas, dibagi menjadi beberapa bahasa. tingkat rendah dan tinggi.

Jika suatu bahasa mendekati bahasa pemrograman alami maka disebut bahasa tingkat tinggi, jika mendekati perintah mesin maka disebut bahasa tingkat rendah.

Ke kelompok bahasa level rendah termasuk bahasa mesin dan bahasa pengkodean simbolik: Autocode, Majelis. Operator bahasa ini adalah instruksi mesin yang sama, tetapi ditulis dalam kode mnemonik, dan bukan alamat tertentu, tetapi nama simbolik yang digunakan sebagai operan. Semua bahasa tingkat rendah ditargetkan pada jenis komputer tertentu, yaitu bergantung pada mesin.

Bahasa berorientasi mesin– ini adalah bahasa, kumpulan operator dan sarana visual yang sangat bergantung pada karakteristik komputer (bahasa internal, struktur memori, dll.).

Untuk bahasa pemrograman level tinggi termasuk Fortran(penerjemah rumus - dikembangkan pada pertengahan tahun 50-an oleh pemrogram IBM dan terutama digunakan untuk program yang melakukan perhitungan ilmiah dan matematis alam), ALGOL, COBOL(bahasa komersial - digunakan terutama untuk pemrograman tugas-tugas ekonomi), Pascal, DASAR(dikembangkan oleh profesor Darmouth College John Kemeny dan Thomas Kurtz.) Ya(Dennis Rich - 1972), Prolog(bahasanya didasarkan pada perangkat logika matematika), dll.

Bahasa-bahasa ini tidak bergantung pada mesin, Karena mereka tidak terfokus pada sistem perintah komputer tertentu, tetapi pada sistem operan yang merupakan karakteristik pencatatan kelas algoritma tertentu. Namun, program yang ditulis dalam bahasa tingkat tinggi memakan lebih banyak memori dan lebih lambat untuk dieksekusi dibandingkan program yang ditulis dalam bahasa mesin.

Komputer tidak memahami program yang ditulis dalam bahasa pemrograman tingkat tinggi, karena hanya bahasa mesin yang tersedia untuknya. Oleh karena itu, untuk menerjemahkan suatu program dari bahasa pemrograman ke bahasa kode mesin, digunakan program khusus - penerjemah.

Ada tiga jenis penerjemah: penerjemah(ini adalah penerjemah yang melakukan pemrosesan pernyataan demi pernyataan dan eksekusi kode sumber program), kompiler(mengubah seluruh program menjadi modul bahasa mesin, setelah itu program ditulis ke dalam memori komputer dan baru kemudian dieksekusi) dan perakit(menerjemahkan program yang ditulis dalam bahasa assembly ke dalam program bahasa mesin).

Bahasa pemrograman juga dapat dibagi menjadi beberapa generasi:


bahasa generasi pertama: memori yang berorientasi mesin dan dikontrol secara manual pada komputer generasi pertama.

bahasa generasi kedua: dengan representasi mnemonik dari perintah, yang disebut autocodes.

bahasa generasi ketiga: Tujuan umum, digunakan untuk membuat program aplikasi jenis apa pun. Misalnya BASIC, COBOL, C dan Pascal.

bahasa generasi keempat: lanjutan, dirancang untuk membuat program aplikasi khusus untuk manajemen basis data.

bahasa pemrograman generasi kelima: bahasa deklaratif, berorientasi objek dan visual. Misalnya Prolog, LISP (digunakan untuk membangun program dengan metode kecerdasan buatan), C++, Visual Basic, Delphi.

Bahasa pemrograman juga dapat diklasifikasikan menjadi prosedural dan non-prosedural.

Dalam bahasa prosedural program secara eksplisit menjelaskan tindakan yang perlu dilakukan, dan hasilnya hanya ditentukan melalui cara memperolehnya dengan menggunakan prosedur tertentu, yaitu urutan tindakan tertentu.

Di antara bahasa prosedural, mereka pada gilirannya membedakannya bahasa struktural dan operasional. Dalam bahasa struktural, seluruh struktur algoritmik ditulis dengan satu operator: cabang, siklus, dll. Dalam bahasa operasional, beberapa operasi digunakan untuk ini. Bahasa struktural berikut ini banyak digunakan: Pascal, C, Ada, PL/1. Di antara ruang operasi, Fortran, BASIC, dan Focal dikenal.

Non-prosedural (deklaratif) pemrograman muncul pada awal tahun 70-an abad ke-20. Pemrograman non-prosedural meliputi bahasa fungsional dan logis.

Dalam bahasa fungsional program ini menjelaskan perhitungan beberapa fungsi. Biasanya fungsi ini ditentukan sebagai komposisi fungsi lain yang lebih sederhana, yang kemudian dibagi menjadi tugas-tugas yang lebih sederhana, dll. Salah satu elemen utama bahasa fungsional adalah rekursi. Tidak ada operator penugasan atau loop dalam bahasa fungsional klasik.

Dalam bahasa yang logis program ini tidak menjelaskan tindakan sama sekali. Ini mendefinisikan data dan hubungan di antara mereka. Setelah ini, Anda dapat mengajukan pertanyaan kepada sistem. Mesin menelusuri data yang diketahui dan data yang ditentukan dalam program dan menemukan jawaban atas pertanyaan tersebut. Urutan pencarian tidak dijelaskan dalam program, namun secara implisit ditentukan oleh bahasa itu sendiri. Prolog dianggap sebagai bahasa pemrograman logika klasik. Program Prolog berisi sekumpulan pernyataan predikat yang membentuk database berorientasi masalah dan aturan berupa kondisi.

Satu lagi kelas bahasa pemrograman dapat dibedakan – bahasa berorientasi objek tingkat tinggi. Bahasa seperti itu tidak menggambarkan urutan tindakan yang rinci untuk memecahkan suatu masalah, meskipun mengandung unsur pemrograman prosedural. Bahasa berorientasi objek, berkat antarmuka pengguna yang kaya, menawarkan seseorang untuk memecahkan masalah dalam bentuk yang nyaman baginya.

Bahasa pemrograman berorientasi objek pertama, Simula, diciptakan pada tahun 1960an oleh Nygaard dan Dahl.

Jawa– bahasa pemrograman Internet yang memungkinkan Anda membuat program interaktif berorientasi objek yang aman, portabel, andal. Bahasa Java terhubung erat dengan Internet karena program serius pertama yang ditulis dalam bahasa ini adalah browser World Wide Web.

Baru-baru ini, ketika berbicara tentang pemrograman di Internet, yang mereka maksud adalah membuat publikasi menggunakan bahasa markup dokumen hypertext HTML. Penggunaan alat khusus (editor HTML) memungkinkan Anda tidak hanya membuat dokumen HTML interaktif individual yang berubah secara dinamis menggunakan data multimedia, tetapi juga mengedit seluruh situs.

Bahasa pemrograman adalah sistem notasi yang digunakan untuk mendeskripsikan program atau algoritma komputer secara akurat. Bahasa pemrograman adalah bahasa buatan. Mereka berbeda dari bahasa alami dalam jumlah “kata” yang terbatas dan aturan yang sangat ketat untuk menulis perintah (operator). Oleh karena itu, ketika digunakan untuk tujuan yang dimaksudkan, mereka tidak mengizinkan interpretasi bebas atas ekspresi karakteristik bahasa alami.

Dasar. Ini dikembangkan pada tahun 1963 oleh profesor Dartmouth College Thomas Kurtz dan John Kemeny. Bahasa tersebut dimaksudkan untuk pengajaran pemrograman dan tersebar luas dalam berbagai dialek, terutama sebagai bahasa untuk komputer rumah. Delapan hal berikut digunakan saat merancang bahasa: prinsip: 1. Mudah digunakan bagi pemula 2. Menjadi bahasa pemrograman yang bertujuan umum 3. Memberikan ekstensibilitas yang dapat diakses oleh pemrogram berpengalaman 4. Interaktif 5. Memberikan pesan kesalahan yang jelas 6. Bekerja dengan cepat pada program kecil 7. Tidak memerlukan pemahaman perangkat keras 8 .Lindungi pengguna dari sistem operasi. Bahasa ini sebagian didasarkan pada Fortran II dan sebagian lagi pada ALGOL-60, dengan tambahan yang membuatnya cocok untuk berbagi waktu dan, kemudian, pemrosesan teks dan aritmatika matriks. Sintaks bahasanya mengingatkan pada Fortran, dan banyak elemen yang jelas dipinjam darinya. Bahasa ini dirancang untuk pembelajaran, sehingga strukturnya sesederhana mungkin. Seperti pada bahasa pemrograman lainnya, kata kuncinya diambil dari bahasa Inggris. Ada dua tipe data utama: string dan angka. Mendeklarasikan variabel tidak memerlukan bagian khusus (tidak seperti Pascal misalnya). Mendeklarasikan suatu variabel adalah yang pertama kali digunakan.

C Tajam - C#(diucapkan si sharp) adalah bahasa pemrograman berorientasi objek. Dikembangkan pada tahun 1998-2001 oleh sekelompok insinyur yang dipimpin oleh Anders Hejlsberg di Microsoft sebagai bahasa pengembangan aplikasi untuk Microsoft.NET Framework. C# termasuk dalam keluarga bahasa dengan sintaks mirip C, yang sintaksisnya paling dekat dengan C++ dan Java. Bahasa ini diketik secara statis, mendukung polimorfisme, kelebihan operator (termasuk operator casting eksplisit dan implisit), delegasi, atribut, peristiwa, properti, tipe dan metode generik, iterator, fungsi anonim dengan dukungan untuk penutupan, LINQ, pengecualian, komentar dalam format XML. Banyak mengadopsi dari pendahulunya - bahasa C++, Java, Delphi. C#, berdasarkan praktik penggunaannya, mengecualikan beberapa model yang terbukti bermasalah saat mengembangkan sistem perangkat lunak, misalnya, C# tidak mendukung pewarisan banyak kelas (tidak seperti C++).


bahasa pemrograman C++ - bahasa pemrograman tujuan umum yang dikompilasi, diketik secara statis. Ini mendukung paradigma pemrograman yang berbeda, tetapi dibandingkan dengan pendahulunya - bahasa C - perhatian terbesar diberikan untuk mendukung pemrograman berorientasi objek dan umum. Nama "C++" berasal dari C, di mana operator unary ++ menunjukkan kenaikan suatu variabel. Pada tahun 1990-an, bahasa ini menjadi salah satu bahasa pemrograman tujuan umum yang paling banyak digunakan. Saat membuat C++, mereka berusaha menjaga kompatibilitas dengan bahasa C. Sebagian besar program C akan bekerja dengan baik dengan kompiler C++. C++ memiliki sintaks berdasarkan sintaks C.

Keuntungan C++ adalah bahasa yang sangat kuat yang berisi alat untuk membuat program yang efektif untuk hampir semua tujuan, mulai dari utilitas dan driver tingkat rendah hingga sistem perangkat lunak yang kompleks untuk berbagai tujuan. Secara khusus: Kompatibilitas tinggi dengan bahasa C, memungkinkan penggunaan semua kode C yang ada (kode C dapat dikompilasi dengan sedikit modifikasi oleh kompiler C++; pustaka yang ditulis dalam C biasanya dapat dipanggil dari C++ secara langsung tanpa biaya tambahan apa pun, termasuk pada level fungsi panggilan balik, memungkinkan perpustakaan yang ditulis dalam C untuk memanggil kode yang ditulis dalam C++). Berbagai gaya dan teknologi pemrograman didukung, termasuk pemrograman direktif tradisional, OOP, pemrograman generik, metaprogramming (templat, makro). Dimungkinkan untuk bekerja pada tingkat rendah dengan memori, alamat, dan port. Kemampuan untuk membuat wadah umum dan algoritma untuk tipe data yang berbeda, spesialisasi dan perhitungannya pada tahap kompilasi menggunakan templat. Lintas platform. Kompiler tersedia untuk sejumlah besar platform, dan program dikembangkan dalam C++ untuk berbagai platform dan sistem. Efisiensi. Bahasa ini dirancang untuk memberikan kendali maksimum kepada pemrogram atas semua aspek struktur program dan urutan eksekusi. Kekurangan Sebagian, kekurangan C++ diwarisi dari bahasa leluhurnya - C - dan disebabkan oleh persyaratan yang ditentukan pada awalnya untuk kompatibilitas semaksimal mungkin dengan C. Ini adalah kelemahan seperti: Sintaks yang menyebabkan kesalahan: Praprosesor, yang diwarisi dari C, sangat primitif. Dukungan modularitas yang buruk (pada kenyataannya, dalam C klasik tidak ada modularitas pada tingkat bahasa; ketentuannya didelegasikan ke linker). Menghubungkan antarmuka modul eksternal melalui penyisipan file header praprosesor (#include) sangat memperlambat kompilasi saat menghubungkan sejumlah besar modul (karena file yang dihasilkan, yang diproses oleh kompiler, ternyata sangat besar).

Pascal. Bahasa Pascal, yang muncul pada tahun 1972, dinamai menurut ahli matematika besar Perancis abad ke-17, penemu mesin aritmatika pertama di dunia, Blaise Pascal. Bahasa ini diciptakan oleh ilmuwan komputer Swiss Niklaus Wirth sebagai bahasa untuk mengajarkan metode pemrograman. Pascal adalah bahasa pemrograman tujuan umum. Fitur bahasanya adalah pengetikan yang ketat dan adanya alat pemrograman struktural (prosedural). Pascal adalah salah satu bahasa pertama. Menurut N. Wirth, bahasa harus berkontribusi pada disiplin pemrograman, oleh karena itu, seiring dengan pengetikan yang ketat, kemungkinan ambiguitas sintaksis dalam Pascal diminimalkan, dan sintaksisnya sendiri bersifat intuitif bahkan ketika Anda pertama kali mengenal bahasa tersebut. Bahasa Pascal mengajarkan tidak hanya bagaimana menulis suatu program dengan benar, tetapi juga bagaimana mengembangkan metode untuk memecahkan suatu masalah dengan benar, dan memilih cara untuk merepresentasikan dan mengatur data yang digunakan dalam masalah tersebut. Sejak tahun 1983, Pascal telah diperkenalkan ke dalam kursus ilmu komputer di sekolah menengah Amerika.

Bahasa pemrograman Delphi (Delphi)- lingkungan pengembangan, menggunakan bahasa pemrograman Delphi (mulai dari versi 7, bahasa dalam lingkungan tersebut disebut Delphi, sebelumnya Object Pascal), dikembangkan oleh Borland dan awalnya diimplementasikan dalam paket Borland Delphi, dari mana ia menerima namanya saat ini pada tahun 2003 . Object Pascal pada dasarnya merupakan penerus bahasa Pascal dengan ekstensi berorientasi objek. Delphi menyediakan desain antarmuka pengguna visual dan memiliki bahasa berorientasi objek yang dikembangkan Objek Pascal(kemudian berganti nama menjadi Delphi) dan alat akses database yang unik dalam kesederhanaan dan kekuatannya. Bahasa Delphi telah secara signifikan melampaui bahasa Dasar dan bahkan bahasa C++ dalam beberapa hal, namun pada saat yang sama ternyata sangat andal dan mudah dipelajari (terutama dibandingkan dengan bahasa C++). Hasilnya, lingkungan Delphi memungkinkan pemrogram dengan mudah membuat komponen mereka sendiri dan membangun program profesional dari komponen tersebut.

Jawa- bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems - 23 Mei 1995. Program Java diterjemahkan ke dalam bytecode, yang dijalankan oleh Java Virtual Machine (JVM), sebuah program yang memproses bytecode dan meneruskan instruksi ke perangkat keras sebagai penerjemah. Keuntungan dari metode menjalankan program ini adalah independensi penuh bytecode dari sistem operasi dan perangkat keras, yang memungkinkan Anda menjalankan aplikasi Java pada perangkat apa pun yang memiliki mesin virtual terkait. Fitur penting lainnya dari teknologi Java adalah sistem keamanannya yang fleksibel karena eksekusi program sepenuhnya dikendalikan oleh mesin virtual. Operasi apa pun yang melebihi izin yang ditetapkan program (misalnya, upaya mengakses data secara tidak sah atau menyambung ke komputer lain) menyebabkan gangguan langsung. Seringkali untuk kekurangan Konsep mesin virtual berarti bahwa eksekusi bytecode oleh mesin virtual dapat menurunkan kinerja program dan algoritma yang diimplementasikan dalam bahasa Java. Baru-baru ini, sejumlah perbaikan telah dilakukan yang sedikit meningkatkan kecepatan eksekusi program Java: penggunaan teknologi untuk menerjemahkan bytecode ke dalam kode mesin secara langsung saat program sedang berjalan (teknologi JIT) dengan kemampuan untuk menyimpan versi kelas dalam kode mesin , meluasnya penggunaan kode berorientasi platform (kode asli) di perpustakaan standar, perangkat keras yang menyediakan pemrosesan bytecode yang dipercepat (misalnya, teknologi Jazelle, didukung oleh beberapa prosesor ARM).

Fitur utama: manajemen memori otomatis; kemampuan penanganan pengecualian tingkat lanjut; seperangkat alat pemfilteran I/O yang kaya; satu set koleksi standar seperti array, daftar, tumpukan, dll.; ketersediaan alat sederhana untuk membuat aplikasi jaringan (termasuk penggunaan protokol RMI); alat bahasa bawaan untuk membuat aplikasi multi-utas; eksekusi program secara paralel.

Jadi, di zaman kita ini terdapat banyak sekali bahasa, dan masing-masing bahasa memiliki ciri khasnya masing-masing.

Pemrograman berorientasi objek

Pemrograman berorientasi objek adalah teknologi pemrograman di mana suatu program dipandang sebagai sekumpulan objek terpisah, yang pada gilirannya berisi kumpulan struktur data dan prosedur yang berinteraksi dengan objek lain.

Pascal, Visual Basic, Java

Dilihat dari prinsip pemrogramannya, bahasa pemrograman dapat dibagi menjadi 3 kelompok: prosedural, fungsional, dan logis

Dasar dari semua bahasa pemrograman adalah bahasa prosedural, karena dasar pengoperasian komputer (pemroses pusat) pada tingkat paling bawah adalah kemampuan untuk hanya menjalankan perintah primitif yang dengan jelas menunjukkan apa yang harus dilakukan prosesor. Jenis bahasa lain dapat dianggap sebagai superstruktur dari bahasa pemrograman prosedural. Bahasa-bahasa ini (fungsional dan logis) berisi dan mengimplementasikan model matematika tertentu yang memungkinkan pemrograman yang lebih efisien untuk jenis masalah tertentu. Namun penerjemah (compiler), perpustakaan dan alat-alat lain dari bahasa pemrograman tersebut masih diimplementasikan menggunakan bahasa pemrograman prosedural.

Bahasa pemrograman prosedural

Program ini terdiri dari serangkaian perintah penting (secara eksplisit menentukan transformasi apa yang harus dilakukan pada data). Data disimpan dalam bentuk variabel.

Bahasa pemrograman logika

Bahasa pemrograman jenis ini didasarkan pada logika formal dan aljabar Boolean. Program ini tidak berisi algoritma eksplisit. Deskripsi kondisi masalah dan hubungan logis ditentukan, yang dengannya sistem pemrograman membangun pohon inferensi dan menemukan solusi untuk masalah tersebut.

Bahasa pemrograman fungsional

Pemrograman fungsional didasarkan pada penggunaan daftar dan fungsi. Variabel mungkin tidak ada sama sekali.

Contoh bahasa prosedural adalah bahasa pemrograman Pascal. Bahasa Prolog adalah bahasa pemrograman logis, dan bahasa Lisp adalah bahasa pemrograman fungsional.

Program dalam bahasa pemrograman logis dan fungsional memiliki kinerja yang relatif rendah karena rumitnya implementasi.

Bahasa tingkat rendah (kode mesin dan assembler) merupakan bahasa pemrograman prosedural sesuai dengan prinsip pengoperasiannya. Tapi ini adalah bahasa dengan tingkat yang sangat rendah sehingga istilah "prosedural" bahkan tidak berlaku untuk bahasa tersebut. Sebaliknya, lebih baik menyebutnya bahasa pemrograman imperatif.

Sebagian besar bahasa pemrograman prosedural modern berkembang ke arah pemrograman berorientasi objek.



Pemrograman berorientasi objek

Variabel dan fungsi dikelompokkan menjadi objek dan kelas. Berkat ini, tingkat penataan dan abstraksi program yang lebih tinggi dapat dicapai. Beberapa objek (kelas) dapat dihasilkan dari objek (kelas) lain. Dalam bahasa berorientasi objek, konsep seperti pewarisan, polimorfisme, dan pengikatan akhir terjadi.

Bahasa pemrograman Java menempati tempat khusus. Hal ini disebabkan oleh dua sifat unggulannya. Pertama, penerapan bahasa ini tidak terikat pada arsitektur tertentu dari perangkat komputasi (komputer, ponsel, dll.) dan sistem operasi tertentu. Program Java diterjemahkan ke dalam kode perantara yang dapat dijalankan di komputer mana pun yang menjalankan mesin virtual Java. Untuk mem-porting program Java ke komputer jenis baru, Anda tidak perlu menulis ulang penerjemah bahasa Java dan alat pengembangan lainnya. Selain itu, tidak perlu memiliki kode sumber program Java dan mengkompilasi ulangnya. Cukup dengan menulis ulang mesin virtual Java untuk arsitektur komputer baru dan menjalankan aplikasi Java di dalamnya dalam kode perantara, sama untuk arsitektur komputer mana pun.

Kedua, dalam bahasa Java Anda tidak hanya dapat mengembangkan program standar, tetapi juga jenis aplikasi khusus, yang disebut applet dan servlet, yang secara alami tertanam dalam aplikasi Internet (halaman HTML dan server Web). Hal ini memberikan Java tingkat otonomi yang sangat tinggi dan menjadikannya bahasa pemrograman masa depan. Java adalah bahasa pemrograman prosedural dan berorientasi objek.

Bahasa pemrograman paralel dibedakan secara terpisah dari bahasa pemrograman prosedural. Bahasa-bahasa ini dirancang untuk membuat program yang dapat memanfaatkan potensi komputer multiprosesor secara lebih maksimal. Sebuah program dalam bahasa pemrograman paralel menggambarkan beberapa proses yang dijalankan secara independen satu sama lain pada prosesornya sendiri dan bertukar data pada waktu yang tepat. Contoh bahasa pemrograman tingkat rendah untuk transputer (jenis komputer paralel khusus) adalah bahasa pemrograman Occam. Contoh bahasa pemrograman tingkat tinggi yang mendukung paralelisme adalah bahasa pemrograman Modula-2. Rupanya, bahasa pemrograman paralel sudah ketinggalan zaman dan fungsinya untuk memparalelkan program diimplementasikan baik pada tingkat prosesor (prosesor multi-core), atau fungsi ini diambil alih oleh sistem operasi.

Script (ditandai)-bahasa pemrograman deklaratif

Baru-baru ini, bahasa yang diberi tag untuk mendeskripsikan berbagai struktur data, terutama yang terkait dengan transmisi informasi melalui Internet, telah tersebar luas. Salah satu bahasa tersebut adalah XML - bahasa yang diberi tag untuk mendeskripsikan struktur pohon dengan atribut, yang digunakan saat membuat berbagai jenis dokumen. XML secara bertahap menggantikan HTML, dan file MS Word dan PDF dibuat berdasarkan itu. Untuk mengubah file XML, misalnya untuk memformat ulang sesuai dengan template baru, bahasa penandaan XSLT dikembangkan kembali. Struktur file XSL (file transformasi XSLT) sepenuhnya sesuai dengan spesifikasi XML. Pada intinya, XSLT adalah bahasa pemrograman fungsional.

Pascal, seperti kebanyakan bahasa pemrograman, menyediakan alat yang memungkinkan Anda merancang algoritma tambahan sebagai subrutin. Hal ini diperlukan ketika suatu subalgoritma diulang berulang kali dalam suatu program atau dimungkinkan untuk menggunakan beberapa fragmen dari algoritma yang dikembangkan sebelumnya. Selain itu, subrutin digunakan untuk memecah program besar menjadi bagian-bagian terpisah yang bermakna sesuai dengan prinsip modular dalam pemrograman.

Untuk menggunakan subalgoritma sebagai subrutin, Anda perlu memberinya nama dan menjelaskan algoritmanya sesuai dengan aturan bahasa Pascal. Nantinya, jika perlu, panggil dalam program, panggil subrutin dengan menyebutkan di tempat yang tepat nama subalgoritma yang sesuai dengan daftar data input dan output. Referensi seperti itu mengarah pada eksekusi operator yang termasuk dalam subrutin yang bekerja dengan data yang ditentukan. Setelah menjalankan subrutin, pekerjaan dilanjutkan dengan perintah yang segera mengikuti panggilan subrutin.

Ada dua jenis subrutin di Pascal - Prosedur Dan fungsi.

Prosedur dan fungsi ditempatkan di bagian deskripsi program. Terdapat mekanisme pertukaran informasi antara prosedur dan fungsi serta blok program lainnya memasukkan Dan parameter keluaran. Parameter masukan adalah nilai yang diteruskan dari blok pemanggil ke subrutin (data masukan untuk subrutin), dan parameter keluaran adalah nilai yang diteruskan dari subrutin ke blok pemanggil (hasil subrutin).

Subrutin yang sama dapat dipanggil berulang kali, melakukan tindakan yang sama dengan kumpulan data masukan yang berbeda. Parameter yang digunakan saat menulis teks subrutin di bagian deskripsi disebut resmi, dan yang digunakan saat memanggilnya adalah sebenarnya.

Format untuk menjelaskan prosedurnya adalah:

Prosedur nama prosedur (parameter formal); bagian deskripsi prosedur mulai bagian prosedur yang dapat dieksekusi akhir;

Format deskripsi fungsi:

Fungsi nama fungsi (parameter formal):tipe hasil; bagian deskripsi fungsi mulai bagian fungsi yang dapat dieksekusi akhir;

Anda dapat mendeklarasikan variabel Anda sendiri dalam fungsi; lokal, artinya, mereka hanya dapat digunakan dalam fungsi di mana mereka dideklarasikan.

Saat fungsinya keluar, mereka dimusnahkan.

Jika Anda mendeklarasikan variabel di luar fungsi apa pun (variabel tersebut disebut global), maka dapat digunakan di semua fungsi tanpa deklarasi.

Struktur data menentukan klasifikasi data dan hubungan di antara mereka. Struktur bisa sederhana (dasar) atau kompleks (komposit). Struktur berikut dibedakan: konstanta, variabel, array, catatan, dan tabel. Konstanta dan variabel dapat dianggap sebagai data dasar, elemen tunggal yang tidak dapat dibagi lagi dari sistem organisasi data yang lebih kompleks.

Konstan- ini adalah angka, teks atau nilai logika yang tidak berubah selama implementasi algoritma, memecahkan masalah di komputer.

Variabel adalah unit organisasi data yang dapat diberi arti berbeda selama pemrosesan informasi. Variabel memiliki nama - pengidentifikasi dan tipe: numerik, simbolis (literal, string), logis. Variabel dapat disertai dengan kata-kata yang menunjukkan tipenya.

Himpunan - ini adalah sekumpulan elemen dengan tipe yang sama yang disatukan oleh satu nama (pengidentifikasi array). Parameter utama array meliputi tipenya (numerik, simbolik, logis), dimensi (satu dimensi, dua dimensi, dll.) dan ukurannya (jumlah elemen array di setiap dimensi).

Pengulangan- ini adalah organisasi algoritma di mana prosedur mengacu pada dirinya sendiri. Prosedurnya sendiri disebut rekursif.

Klasifikasi dan karakteristik perangkat lunak

Pengoperasian komputer dikendalikan oleh suatu program. Semua program komputer yang disimpan dalam bentuk memori eksternalnya perangkat lunak(OLEH).

Perangkat lunak
perangkat lunak sistem aplikasi perangkat lunak
sistem operasi Keperluan Sistem pemrograman Tujuan umum Program khusus Program profesional
dimuat ke dalam RAM dan mengatur eksekusi program lain, berinteraksi dengan komputer program sistem - mengoptimalkan memori disk, melindungi dari virus, dll. dirancang untuk membuat program baru tabel teks, grafik, musik, manajemen basis data sistem pakar, hypertext, multimedia AIMS - sistem manajemen informasi otomatis, CAD - sistem desain berbantuan komputer, sistem pelatihan, pencarian geoinformasi
Windows, UNIX, Linux, Burung Kolibri, dll. DASAR, Pascal, Delphi, Notepad, Word, Excel, Paint, Sound Forge, Akses "1C-Enterprise", "Kompas" - untuk menggambar,