Karakteristik komparatif, tujuan dan kemampuan bahasa modern. Karakteristik komparatif, tujuan dan kemampuan bahasa pemrograman modern Tingkatan bahasa pemrograman

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: dalam 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. Kekhasan 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 didistribusikan

    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

Bahasa pemrograman apa pun penuh dengan berbagai kata kunci, fungsi, atau kelas. Biasanya, semuanya menggunakan bahasa Inggris, yang menjelaskan metode atau argumen. Di beberapa lingkungan, hanya ada singkatan dari fungsi mesin. Hal ini sangat menghambat jalannya pembangunan pada tahap awal. Untuk meningkatkan kecepatan pemahaman, serangkaian bahasa pemrograman algoritmik khusus diciptakan, yang terdiri dari kata-kata yang dapat dimengerti dan diakses serta kombinasinya, dapat dimengerti bahkan oleh orang yang tidak terlatih.

Sedikit sejarah

Untuk berkomunikasi dengan komputer pertama digunakan bahasa pemrograman yang sedekat mungkin dengan kode mesin, terdiri dari nol dan satu. Tentu saja, mengingat banyak perintah adalah tugas yang sangat sulit. Selain itu, metode alokasi memori selama pemrograman sepenuhnya berada di pundak pengembang. Dan jika dia melakukan kesalahan kecil, dia harus mengulang semuanya lagi.

Peran penting dalam transisi dari bahasa mesin ke bahasa yang lebih cocok untuk manusia dimainkan oleh assembler bahasa pemrograman tingkat rendah. Itu menggunakan mnemonik dan simbol. Hal ini menyederhanakan tugas pengembang, karena sekarang ia dapat lebih produktif membangun algoritmanya dari kombinasi instruksi kontrol dan kode numerik. Terlepas dari semua fleksibilitas dan kekuatannya, bahasa tersebut masih sulit untuk dikuasai.

Untuk mengajarkan pengembangan dan algoritma di lembaga pendidikan, pengenalan bahasa pemrograman BASIC dimulai. Sudah berisi banyak perintah dan kata kunci yang dapat dimengerti oleh pelajar. BASIC masih digunakan untuk mempelajari dasar-dasar pemrograman.

Dengan diciptakannya bahasa pemrograman algoritmik pertama, Algol, perkembangan algoritma meningkat secara signifikan.

Apa algoritmanya

Jika kita menjauh dari teori dan definisi kering, maka algoritma adalah serangkaian tindakan yang bertujuan untuk memecahkan masalah tertentu. Terlepas dari semua ekspresi yang berkembang, seseorang menemukan konsep ini setiap hari. Misalnya untuk minum teh, Anda perlu mengikuti urutan berikut:

  1. Letakkan ketel di atas kompor.
  2. Tunggu sampai mendidih.
  3. Tuangkan air mendidih ke dalam air.
  4. Tempatkan kantong teh ke dalam cangkir.
  5. Tambahkan jumlah gula, susu atau madu yang dibutuhkan.

Urutan ini sangat disederhanakan, tetapi mewakili algoritma yang paling sederhana.

Sama seperti manusia, komputer mampu melakukan serangkaian tugas tertentu. Namun, agar dapat memahaminya dengan jelas, harus diingat bahwa komputer tidak memiliki banyak konsep yang jelas bagi manusia. Selain itu, algoritme harus menjelaskan secara akurat semua tindakan yang diperlukan. Bahasa algoritmik memenuhi tujuan ini, menciptakan semacam jembatan antara mesin dan manusia.

Properti dan fitur bahasa algoritmik

Algoritma adalah bahasa formal yang menjelaskan algoritma yang dimaksudkan untuk dieksekusi pada komputer. Biasanya, ini tidak terikat pada arsitektur mesin apa pun. Ini membantu meningkatkan dan mempercepat pengkodean secara signifikan. Contoh yang mencolok adalah bahasa algoritmik BASIC. Pascal dan C juga terbukti populer karena sintaksisnya yang sederhana dan kecepatan belajarnya.

Strukturnya diimplementasikan sedemikian rupa sehingga prosedur yang dijelaskan dalam kode dijalankan satu demi satu. Artinya, satu algoritma - satu tugas. Ini mirip dengan membuat fungsi atau metode di C dan Java.

Semua kode dibangun dari kata kunci yang menggambarkan suatu peristiwa atau variabel.

Perbedaan antara bahasa mesin dan bahasa algoritmik

Perwakilan mencolok dari bahasa yang bergantung pada mesin adalah assembler. Pemrogramannya bertujuan untuk menunjukkan kepada penerjemah dengan tanda khusus apa yang perlu dipindahkan dan ke mana atau area data apa yang harus diisi. Karena sintaks assembler lebih mirip dengan sintaks mesin, cukup sulit untuk mempelajari dan menulis kode di dalamnya. Di bawah ini Anda dapat melihat seperti apa tampilan perintah untuk prosesor yang berbeda.

Oleh karena itu, bahasa formal atau algoritmik dibuat dengan sejumlah besar kata kunci dan nama yang dapat dipahami manusia.

Kata kunci

Bahasa algoritma terdiri dari kata kunci yang merupakan singkatan dari penunjukan lengkap suatu tindakan atau variabel. Hal ini memungkinkan Anda mengurangi panjang kode sekaligus menjaganya agar tetap dapat dimengerti.

  • Alg. Algoritme apa pun dimulai dengan kata kunci ini. Ini menjelaskan nama dan menyatakan dalam tanda kurung argumen apa yang diperlukan untuk perhitungan dan apa hasilnya.
  • Arg. Menunjukkan argumen algoritma. Mencerminkan tipe dan nama nilai yang akan digunakan dalam kode.
  • Res. Kata kunci ini berfungsi untuk menunjukkan jenis dan nama variabel yang akan ditempatkan hasil perhitungannya.
  • Awal Menunjukkan segera dimulainya eksekusi algoritme. Berlangsung hingga kata kunci con. Seluruh interval dari “awal” hingga “akhir” disebut badan algoritma saat ini.
  • Menipu. Menunjukkan bahwa algoritma telah menyelesaikan eksekusi.
  • Diberikan. Berbicara tentang beberapa fitur dan nuansa penggunaan algoritma atau batasannya. Misalnya, di sini Anda dapat menentukan bahwa panjang string yang dibandingkan harus sama. Penggunaan kata kunci “diberikan” bersifat opsional.
  • Diperlukan. Penjelasan lebih rinci tentang apa yang seharusnya diperoleh sebagai hasil dari eksekusi algoritma. Sama seperti "diberikan", ini dapat dihilangkan, tetapi untuk membuat kode yang lebih mudah dipahami dan mendetail, disarankan untuk menggunakannya.

Daftar kata kunci ini mengacu pada judul dan isi algoritma. Dan seperti inilah tampilan token untuk variabel:

  • Cel. Tipe variabel integer. Kisarannya harus bervariasi dari -32768 hingga 32767.
  • Benda. Bilangan nyata. Misalnya dengan bagian eksponen atau pecahan.
  • Catatan. Kata kunci ini berarti akan digunakan variabel Boolean yang hanya dapat menerima "ya" atau "tidak".
  • Sim. Ini termasuk nilai dengan karakter tunggal, seperti "a", "3".
  • menyala. Variabel string yang dapat berisi seluruh string teks.
  • tab. Menunjuk tabel dengan tipe data tertentu. Ini adalah analog dari array dari bahasa pemrograman lain.

Kata-kata fungsi tambahan

Daftar kata berikut digunakan untuk mengatur mekanisme percabangan dan perulangan.

  • Untuk. Digunakan untuk mengulangi semua nilai dalam rentang tertentu. Digunakan untuk siklus, yaitu eksekusi berkelanjutan dari setiap prosedur dengan data.
  • Dari dan ke. Menunjukkan rentang nilai spesifik mana yang harus diulangi dalam loop "untuk".
  • Selamat tinggal. Juga digunakan untuk mengulangi beberapa nilai. Digunakan untuk bekerja sampai kondisi tertentu terpenuhi.
  • Nts dan kts. “Nts” dalam bahasa algoritmik berarti awal dari badan perulangan, dan “kts” berarti akhir. Di antara kedua kata kunci ini terdapat prosedur yang diperlukan untuk penghitungan.
  • Jika. Kata ini mengimplementasikan struktur percabangan. Dengan cara ini, kemajuan program dapat ditentukan ke arah yang diinginkan, dengan mempertimbangkan kondisi.
  • Apa pun yang terjadi. Dua kata yang cocok dengan "jika". Mekanisme percabangan juga dibangun.
  • Pilihan. Alat yang mudah digunakan untuk melakukan percabangan dari beberapa nilai dengan tipe yang sama. Bekerja bersama dengan kata kunci "di" dan "sebaliknya".
  • Semua. Menunjukkan akhir dari mekanisme percabangan.
  • Memasuki. Kata kunci ini memungkinkan pengguna memasukkan nilai variabel selama operasi program untuk pemrosesan selanjutnya.
  • Kesimpulan. Menampilkan data di layar.

Struktur bahasa dasar

Bahasa pemrograman algoritmik membantu membangun berbagai struktur yang menghasilkan fungsi komputasi dalam bentuk yang mudah. Secara umum, bahasa apa pun dapat menggunakan beberapa mekanisme spesifik dan kombinasinya.

Struktur berikut

Saat merancang struktur jenis ini, eksekusi kode terjadi secara langsung baris demi baris. Contoh umum dapat diungkapkan sebagai berikut:

alg Jumlah dua bilangan (arg int a, b, res int S)

keluaran "S = ", S

Dalam contoh ini, jumlah dua angka yang dimasukkan oleh pengguna dihitung. Pada awalnya, kata "alg" menunjukkan bahwa algoritme sedang dimulai dan menjelaskan secara singkat apa sebenarnya yang dilakukannya. Argumen yang diperlukan agar program dapat berjalan dan variabel yang akan berfungsi sebagai wadah untuk menyimpan hasilnya ditentukan dalam tanda kurung. Berikutnya adalah kata kunci “mulai”, yang menunjukkan dimulainya segera eksekusi ekspresi dan prosedur. Di samping "mulai" Anda juga dapat mendefinisikan beberapa variabel perantara.

Di badan algoritme, kata kunci "input" menerima data dari pengguna dan menuliskannya ke variabel. Mereka kemudian dijumlahkan dan jumlahnya ditetapkan ke S. Sebelum algoritma berakhir, hasil program ditampilkan di layar menggunakan kata kunci "output". Notasi dalam bahasa algoritmik ini khas untuk banyak lingkungan pemrograman lainnya.

Struktur percabangan

Alur suatu program tidak selalu harus dijalankan baris demi baris. Terkadang Anda perlu menentukan atau mengubah nilai variabel tertentu tergantung situasinya. Misalnya x = 0, jangan dibagi dengan x.

Bahasa pemrograman algoritmik melakukan hal ini dengan menggunakan beberapa konstruksi varian dan kata kunci “jika”, “maka”, “lainnya”, atau “pilihan”. Setelah "jika" suatu kondisi ditetapkan dimana kriteria untuk berpindah ke cabang lain akan ditentukan. Misalnya seperti ini:

Dengan cara ini Anda dapat mengubah nilai variabel bergantung pada faktor lainnya. Contoh ini tidak sepenuhnya mencakup semua kemungkinan implementasi. Oleh karena itu, selain konstruksi, digunakan kata kunci “sebaliknya”. Hal ini memungkinkan Anda untuk pindah ke cabang lain jika kondisinya tidak memenuhi kriteria yang dipilih.

jika tidak, y = 0

Artinya, jika x tidak sama dengan nol, y juga akan disetel ulang ke nol, berapa pun nilainya sebelumnya.

Cara yang lebih mudah untuk membuat pilihan ganda adalah konstruksi “pilihan”. Ini memungkinkan Anda memilah beberapa kondisi. Ketika salah satu dari mereka dipicu, tindakan yang ditentukan untuknya akan dilakukan.

pada x = 0: y = 0

pada x = 1: y = 1

pada x = 2: y = 2

Contoh ini menunjukkan ketergantungan variabel y pada x. Program menjalankan semua data dan membandingkan nilai x saat ini dengan nilai yang ditentukan dalam kondisi. Ketika kecocokan ditemukan, ia melakukan tindakan berikutnya. Konstruksi ini juga dapat digabungkan dengan kata kunci "lain" untuk solusi yang lebih fleksibel ketika tidak ada kondisi yang terpenuhi.

Siklus

Loop memainkan peran yang sangat penting dalam pemrograman. Hampir tidak ada pembangunan yang dapat dilakukan tanpa penerapan desain ini. Secara umum, loop menyelesaikan masalah melakukan tindakan serupa dengan beberapa variabel berulang kali. Ini berguna, misalnya, saat mengisi array dengan data menggunakan rumus yang diketahui, mengurutkannya, atau menghitung beberapa nilai.

Kata kunci "sementara" memungkinkan Anda mengatur perulangan di mana tindakan tertentu akan diulang hingga kondisi tertentu terpenuhi. Misalnya:

tidak sampai jumpa x<= 3

Dalam contoh ini, y akan bertambah hingga x menjadi lebih besar dari 3. Agar perulangan tidak berakhir, x perlu diubah ke atas di setiap lintasan, misalnya dengan 1, yang dilakukan oleh baris kode kedua.

Kata kunci "untuk" diterapkan pada rentang angka tertentu yang perlu diulangi secara berurutan, melakukan beberapa tindakan dengannya. Konstruksi ini digunakan ketika sejumlah elemen diketahui.

Sintaksnya terlihat seperti ini:

nc untuk x dari 1 hingga 3

Kata layanan "dari" dan "ke" menunjukkan rentang nilai yang perlu diulang. Jadi, pada iterasi pertama x = 1, sebagai hasil dari pass tersebut, y juga akan memperoleh nilai 1. Kemudian kontrol akan kembali ke awal, dan x sekarang akan sama dengan 2, masing-masing, y akan menjadi 3.

Dengan menggunakan konstruksi gabungan loop dan percabangan, Anda dapat membangun algoritma paling sederhana untuk memecahkan masalah mudah dan memperoleh pengetahuan tentang pengoperasian bahasa pemrograman.

Fitur standar

Bahasa algoritmik memiliki fungsi standar yang sudah ada di dalamnya. Mereka dapat membuat beberapa operasi rutin dengan angka dan ekspresi menjadi lebih mudah. Fungsi standar bahasa algoritmik dapat menghitung akar kuadrat, logaritma, modul, sinus, kosinus, dll.:

  • modul absolut - abs(x);
  • akar kuadrat - akar kuadrat(x);
  • logaritma natural dan desimal - ln(x) dan log(x);
  • minimum dan maksimum dua angka - min(x,y), max (x,y);
  • sinus, cosinus, tangen, kotangen - sin(x), cos(x), tan(x), ctg(x).

Fitur standar ini memungkinkan Anda menghindari pembuatan “sepeda” dengan membantu mengimplementasikan fungsi paling sederhana menggunakan alat standar.

Ekspresi Boolean

Ekspresi Boolean mencerminkan apakah suatu operasi tertentu memenuhi suatu kondisi. Misalnya, x > 0 akan dinilai benar jika x adalah 1, 2, 25, atau bilangan lain yang lebih besar dari nol. Bahasa algoritmik berisi ekspresi logika yang, selain operasi matematika standar, dapat menggunakan kata kunci dan operator berikut:

  • DAN. Berarti ekspresi di mana kata kunci berada harus memenuhi kondisi tertentu: (x>0) dan (y>0);
  • Atau. Salah satu ekspresi mungkin tidak memenuhi kondisi, misalnya (x>0) atau (y>0);
  • Bukan. "Membalik" nilai logis dari sebuah ekspresi. Misalnya saja desain ini Bukan(x>0), berarti x harus tetap tidak lebih dari nol.

Ada juga operator perbandingan -<, >, =, yang dapat digabungkan untuk membuat ekspresi seperti lebih besar dari atau sama dengan.

Sebuah program kecil untuk bahasa algoritmik

Untuk memahami prosesnya, Anda dapat mengatur program yang berinteraksi dengan pengguna. Ia akan meminta nomor, dan mesin akan mengkuadratkannya.

Komponen bahasa algoritmik mengandung banyak kata kunci. Hal pertama yang dimulai dengan program ini adalah pengumuman tentang algoritma - alg.

alg Kuadratkan angka ()

Dalam tanda kurung Anda perlu menentukan argumen yang akan mewakili nilai dari pengguna dan hasilnya. Juga, jangan lupa mendeklarasikan tipe data ini.

Sekarang mesin akan mengetahui bahwa ia harus berinteraksi dengan variabel bertipe integer, dan hasil kerjanya adalah S.

Hal pertama yang perlu Anda lakukan adalah memasukkan data. Hal ini dilakukan dengan menggunakan kata kunci "input".

Sekarang, langsung di badan algoritme, Anda perlu menjelaskan sejumlah perintah yang akan digunakan untuk menghitung kuadrat bilangan.

keluaran "S = ", S

Bahasa algoritmik, perintah yang memungkinkan pelaksanaan tugas, ditulis dalam bentuk: =. Jadi, variabel S berisi nilai hasil kali x dan dirinya sendiri. Garis keluaran menunjukkan hasilnya di layar. Nah, semua ini diakhiri dengan kata kunci “con”. Kode lengkapnya sekarang akan terlihat seperti ini:

alg Kuadratkan suatu bilangan (arg bilangan bulat x, res bilangan bulat S)

keluaran "S = ", S

Beginilah cara algoritma menghitung kuadrat dari bilangan yang dimasukkan diimplementasikan dengan cara yang sederhana. Program ini dapat menjadi rumit dengan menambahkan jumlah semua operasi ke dalamnya. Dan kemudian akan terlihat seperti ini:

alg Mengkuadratkan suatu bilangan dan menghitung jumlahnya (arg integer x, res integer S)

diberikan | x > 0

perlu | S = 1*1 + 2*2+ … + x*x

mulai utuh

masukan x; S:=0

nc untuk a dari 1 sampai x

keluaran "S = ", S

Opsi ini menggunakan loop, variabel perantara a, dan indikasi singkat tugas di bagian “diberikan” dan “harus”. Sekarang, jika Anda memasukkan angka tertentu ke program, program akan mengkuadratkannya dan menampilkan jumlah kuadrat semua angka sebelumnya.

Penggunaan dan pengembangan bahasa algoritmik

Bahasa algoritmik umum digunakan dalam lingkungan belajar untuk memahami norma dasar dan aturan pemrograman. Misalnya BASIC yang diajarkan di banyak sekolah. Ini dengan sempurna mencerminkan semua paradigma istilah seperti bahasa pemrograman imperatif, di mana semua perintah dijalankan secara berurutan satu demi satu.

Karena kedekatan konstruksi dan kata kunci yang dijelaskan dengan bahasa manusia, menulis kode menjadi lebih mudah daripada menggunakan model yang sepenuhnya bergantung pada mesin atau mesin. Keluarga bahasa pemrograman ALGOL telah berkembang paling jauh, karena sintaksisnya disajikan di beberapa lokalisasi. Dimungkinkan untuk menulis kode bahkan dalam bahasa Rusia.

Secara umum, perkembangan bahasa algoritmik sangat mempengaruhi pemrograman secara umum dan memungkinkan banyak orang untuk menjadi pengembang. Sarana modern menjadi lebih mudah diakses dan dimengerti. Bahasa pemrograman tingkat tinggi mengandung lebih banyak fungsi dengan nama dan judul yang bermakna. Batasan penggunaannya menjadi semakin kecil. Dengan demikian, implementasi pembangunan yang lebih mudah dipahami dan alami dapat dilakukan di masa depan.

Mengirimkan karya bagus Anda ke basis pengetahuan itu sederhana. Gunakan formulir di bawah ini

Pelajar, mahasiswa pascasarjana, ilmuwan muda yang menggunakan basis pengetahuan dalam studi dan pekerjaan mereka akan sangat berterima kasih kepada Anda.

Diposting di http://www.allbest.ru/

Kementerian Pendidikan Khusus TinggiFederasi Rusia

Badan Federal untuk Pendidikan

OGIET

ABSTRAK

disiplin: Ilmu Komputer

pada topik: “Analisis komparatif bahasa pemrograman”

Perkenalan

Kode mesin prosesor

Algoritma dan program

Apa itu bahasa pemrograman

Kompiler dan juru bahasa

Tingkatan bahasa pemrograman

Generasi bahasa pemrograman

Ikhtisar Bahasa Pemrograman Tingkat Tinggi

Bahasa pemrograman basis data

Bahasa pemrograman untuk Internet

Bahasa pemodelan

Bahasa pemrograman lainnya

Kesimpulan

Bibliografi

Perkenalan

Munculnya komputer pertama memunculkan pemrograman sebagai ilmu. Teori matematika pertama tentang pemrosesan informasi, cara membuktikan kebenaran program, optimasi kode, pembuatan kompiler yang efektif, pengujian formal, dll dikembangkan.Kemudian, dengan munculnya bahasa pemrograman universal generasi ketiga, aspek-aspek ini menjadi kurang relevan - penelitian terus berlanjut dan berlanjut terutama di bidang pembuatan teks sumber secara otomatis dan meningkatkan efisiensi penyusun. Pemrograman telah menjadi sebuah seni - jutaan orang yang tidak memiliki pendidikan khusus diberi kesempatan untuk menggunakan komputer untuk memecahkan masalah terapan mereka sendiri, yang mengharuskan mereka untuk menguasai kemampuan membuat program yang berfungsi dengan benar. Pemrograman tetap menjadi seni saat ini bagi pengembang profesional dan amatir yang membuat program sendiri atau di perusahaan kecil, di mana keterampilan individu menentukan segalanya.

Kode mesin prosesor

Prosesor komputer adalah sirkuit terintegrasi yang besar. Ia menerima semua perintah dan data dalam bentuk sinyal listrik. Faktanya, prosesor dapat dianggap sebagai kumpulan besar elemen elektronik yang cukup sederhana - transistor. Transistor memiliki tiga terminal. Dua terminal ekstrim disuplai dengan tegangan yang diperlukan untuk menghasilkan arus listrik pada transistor, dan terminal tengah disuplai dengan tegangan, yang dapat digunakan untuk mengontrol resistansi internal transistor, dan oleh karena itu mengontrol arus dan tegangan. di terminalnya.

Dalam elektronik, transistor memiliki tiga kegunaan: untuk membuat amplifier, dalam rangkaian elektronik yang memiliki sifat berosilasi sendiri, dan dalam sakelar elektronik. Metode terakhir digunakan dalam komputasi digital. Dalam prosesor komputer, transistor dikelompokkan menjadi elemen mikro yang disebut flip-flop dan gerbang. Pemicu memiliki dua keadaan stabil (terbuka - tertutup) dan berpindah dari satu keadaan ke keadaan lainnya melalui sinyal listrik. Keadaan stabil ini sesuai dengan konsep matematika 0 atau 1. Gerbang sedikit lebih kompleks - gerbang dapat memiliki beberapa masukan (tegangan keluaran bergantung pada kombinasi tegangan pada masukan) dan digunakan untuk operasi aritmatika dan logika sederhana.

Perintah yang masuk ke prosesor melalui busnya sebenarnya adalah sinyal listrik, tetapi dapat juga direpresentasikan sebagai kumpulan angka nol dan satu, yaitu angka. Tim yang berbeda memiliki nomor yang berbeda. Oleh karena itu, program sebenarnya yang digunakan prosesor adalah rangkaian angka yang disebut kode mesin.

Algoritma dan program

Anda perlu mengontrol komputer sesuai dengan algoritma tertentu. Algoritme adalah deskripsi yang didefinisikan secara tepat tentang suatu metode untuk memecahkan suatu masalah dalam bentuk rangkaian tindakan yang terbatas (dalam waktu). Deskripsi ini disebut juga formal. Bahasa pemrograman digunakan untuk menyajikan algoritma dalam bentuk yang dapat dimengerti oleh komputer. Pertama, algoritma tindakan selalu dikembangkan, dan kemudian ditulis dalam salah satu bahasa tersebut. Hasilnya adalah teks program - penjelasan lengkap, lengkap dan rinci tentang algoritma dalam bahasa pemrograman. Kemudian teks program ini diterjemahkan ke dalam kode mesin atau dieksekusi oleh aplikasi utilitas khusus yang disebut penerjemah.

Apa itu bahasa pemrograman

Sangat sulit untuk menulis sendiri program dalam kode mesin, dan kompleksitas ini meningkat tajam seiring dengan bertambahnya ukuran program dan kompleksitas pemecahan masalah yang diinginkan. Secara konvensional, kita dapat berasumsi bahwa kode mesin dapat diterima jika ukuran program tidak melebihi beberapa puluh byte dan tidak diperlukan operasi input/output data secara manual.

Oleh karena itu, saat ini hampir semua program dibuat menggunakan bahasa pemrograman. Secara teoritis, suatu program dapat ditulis menggunakan bahasa manusia (alami) biasa - ini disebut pemrograman dalam metabahasa (pendekatan serupa biasanya digunakan pada tahap kompilasi suatu algoritma), tetapi program semacam itu belum dapat diterjemahkan secara otomatis. ke dalam kode mesin karena tingginya ambiguitas bahasa alami.

Bahasa pemrograman adalah bahasa buatan. Mereka berbeda dari yang alami dalam jumlah "kata" yang terbatas, yang artinya jelas bagi penerjemah, dan dalam aturan penulisan perintah (operator) yang sangat ketat. Totalitas persyaratan tersebut membentuk sintaksis suatu bahasa pemrograman, dan makna setiap perintah dan konstruksi bahasa lainnya membentuk semantiknya. Pelanggaran bentuk penulisan program menyebabkan penerjemah tidak dapat memahami tujuan operator dan menampilkan pesan tentang kesalahan sintaksis, dan penggunaan perintah bahasa yang ditulis dengan benar, tetapi tidak sesuai dengan algoritma, menyebabkan kesalahan semantik (juga disebut kesalahan logis atau kesalahan run-time).

Proses menemukan kesalahan pada suatu program disebut pengujian, proses menghilangkan kesalahan disebut debugging.

Kompiler dan juru bahasa

juru bahasa kompiler bahasa pemrograman

Dengan menggunakan bahasa pemrograman, yang dibuat bukanlah program jadi, melainkan hanya teksnya saja, yang menjelaskan algoritma yang dikembangkan sebelumnya. Untuk mendapatkan program yang berfungsi, Anda perlu menerjemahkan teks ini secara otomatis ke dalam kode mesin (program kompiler digunakan untuk ini) dan kemudian menggunakannya secara terpisah dari teks sumber, atau segera menjalankan perintah bahasa yang ditentukan dalam teks program (program penerjemah melakukannya ini).

Penerjemah mengambil pernyataan bahasa berikutnya dari teks program, menganalisis strukturnya dan kemudian segera mengeksekusinya (biasanya, setelah analisis, pernyataan tersebut diterjemahkan ke dalam beberapa representasi perantara atau bahkan kode mesin untuk eksekusi lebih lanjut yang lebih efisien). Hanya setelah pernyataan saat ini berhasil diselesaikan, penerjemah akan melanjutkan ke pernyataan berikutnya. Terlebih lagi, jika operator yang sama harus dieksekusi beberapa kali dalam suatu program, interpreter akan mengeksekusinya setiap kali seolah-olah operator tersebut ditemui untuk pertama kalinya. Akibatnya, program yang memerlukan perhitungan berulang dalam jumlah besar mungkin berjalan lambat. Selain itu, untuk menjalankan program semacam itu di komputer lain, penerjemah juga harus diinstal di sana - lagipula, tanpanya, teks program hanyalah sekumpulan karakter.

Dengan cara lain, kita dapat mengatakan bahwa penerjemah memodelkan komputer virtual tertentu, yang instruksi dasarnya bukanlah perintah prosesor dasar, tetapi operator bahasa pemrograman.

Kompiler memproses seluruh teks suatu program (terkadang disebut kode sumber). Mereka memindainya untuk menemukan kesalahan sintaksis (terkadang beberapa kali), melakukan beberapa analisis semantik, dan kemudian secara otomatis menerjemahkan (menerjemahkan) ke dalam bahasa mesin—menghasilkan kode mesin. Seringkali, optimasi dilakukan dengan menggunakan serangkaian metode yang meningkatkan kinerja program (misalnya, menggunakan instruksi yang ditargetkan pada prosesor tertentu, dengan menghilangkan instruksi yang tidak perlu, perhitungan perantara, dll.). Program lengkap yang dihasilkan kompak dan efisien, berjalan ratusan kali lebih cepat dibandingkan program yang dijalankan menggunakan penerjemah, dan dapat ditransfer ke komputer lain dengan prosesor yang mendukung kode mesin yang sesuai.

Kerugian utama dari kompiler adalah sulitnya menerjemahkan bahasa pemrograman yang berfokus pada pemrosesan data dari struktur yang kompleks, seringkali tidak diketahui sebelumnya atau berubah secara dinamis selama pengoperasian program. Kemudian Anda harus memasukkan banyak pemeriksaan tambahan ke dalam kode mesin, menganalisis ketersediaan sumber daya sistem operasi, menangkap dan melepaskannya secara dinamis, membentuk dan memproses objek kompleks dalam memori komputer, yang cukup sulit dilakukan pada tingkat kesulitan. - instruksi mesin berkode, dan untuk sejumlah tugas hampir mustahil.

Sebaliknya, dengan bantuan penerjemah, dimungkinkan untuk menghentikan program kapan saja, memeriksa isi memori, mengatur dialog dengan pengguna, melakukan transformasi data yang rumit secara sewenang-wenang, dan pada saat yang sama terus memantau keadaan. lingkungan perangkat lunak dan perangkat keras di sekitarnya, sehingga mencapai keandalan operasi yang tinggi. Saat menjalankan setiap pernyataan, penerjemah memeriksa banyak karakteristik sistem operasi dan, jika perlu, memberi tahu pengembang sedetail mungkin tentang masalah yang muncul. Selain itu, penerjemah sangat nyaman digunakan sebagai alat untuk mempelajari pemrograman, karena memungkinkan Anda memahami prinsip pengoperasian setiap operator dalam bahasa tersebut.

Dalam sistem pemrograman nyata, teknologi kompilasi dan interpretasi digabungkan. Selama debugging, program dapat dieksekusi selangkah demi selangkah, dan kode yang dihasilkan tidak harus berupa kode mesin - bahkan dapat berupa kode sumber yang ditulis dalam bahasa pemrograman lain (ini sangat menyederhanakan proses penerjemahan, tetapi memerlukan kompiler untuk penyelesaian akhir. bahasa), atau kode perantara mesin yang tidak bergantung pada prosesor abstrak yang, dalam berbagai arsitektur komputer, akan dieksekusi menggunakan penerjemah atau dikompilasi ke dalam kode mesin yang sesuai.

Tingkatan bahasa pemrograman

Berbagai jenis prosesor memiliki set instruksi yang berbeda. Jika suatu bahasa pemrograman difokuskan pada jenis prosesor tertentu dan memperhatikan fitur-fiturnya, maka disebut bahasa pemrograman tingkat rendah. Dalam hal ini, “tingkat rendah” tidak berarti “buruk”. Ini berarti bahwa operator bahasa dekat dengan kode mesin dan fokus pada perintah prosesor tertentu.

Bahasa tingkat terendah adalah bahasa rakitan, yang hanya mewakili setiap instruksi kode mesin, bukan sebagai angka, tetapi menggunakan konvensi simbolik yang disebut mnemonik. Konversi yang jelas dari satu instruksi mesin menjadi satu instruksi perakitan disebut transliterasi. Karena set instruksi untuk setiap model prosesor berbeda, arsitektur komputer tertentu memiliki bahasa rakitannya sendiri, dan program yang ditulis di dalamnya hanya dapat digunakan di lingkungan tersebut.

Bahasa tingkat rendah membuat program yang sangat efisien dan ringkas karena pengembang memiliki akses ke semua kemampuan prosesor. Di sisi lain, memerlukan pemahaman yang sangat baik tentang komputer, sulit melakukan debug pada aplikasi besar, dan program yang dihasilkan tidak dapat ditransfer ke komputer dengan jenis prosesor berbeda. Bahasa seperti itu biasanya digunakan untuk menulis aplikasi sistem kecil, driver perangkat, dan modul antarmuka dengan peralatan non-standar, ketika kekompakan, kinerja, dan kemampuan untuk mengakses sumber daya perangkat keras secara langsung menjadi persyaratan yang paling penting. Di beberapa bidang, seperti grafik komputer, perpustakaan ditulis dalam bahasa rakitan untuk mengimplementasikan algoritma pemrosesan gambar yang intensif secara komputasi secara efisien.

Bahasa pemrograman tingkat tinggi lebih dekat dan lebih mudah dipahami oleh manusia dibandingkan dengan komputer. Fitur arsitektur komputer tertentu tidak diperhitungkan di dalamnya, oleh karena itu program yang dibuat pada tingkat teks sumber dapat dengan mudah dipindahkan ke platform lain di mana penerjemah bahasa ini telah dibuat. Jauh lebih mudah untuk mengembangkan program dalam bahasa tingkat tinggi menggunakan perintah yang jelas dan kuat, dan kesalahan yang dilakukan jauh lebih sedikit saat membuat program.

Generasi bahasa pemrograman

Bahasa pemrograman biasanya dibagi menjadi lima generasi. Generasi pertama mencakup bahasa yang dibuat pada awal tahun 50-an, ketika komputer pertama baru saja lahir. Itu adalah bahasa assembly pertama yang dibuat berdasarkan prinsip "satu instruksi - satu baris".

Masa kejayaan bahasa pemrograman generasi kedua terjadi pada akhir tahun 50an dan awal tahun 60an. Kemudian assembler simbolik dikembangkan, di mana konsep variabel muncul. Ini menjadi bahasa pemrograman lengkap pertama. Berkat kemunculannya, kecepatan pengembangan dan keandalan program telah meningkat secara signifikan.

Kemunculan bahasa pemrograman generasi ketiga biasanya dikaitkan dengan tahun 60an. Pada saat ini, bahasa tingkat tinggi universal lahir, dengan bantuan mereka dimungkinkan untuk memecahkan masalah dari bidang mana pun. Kualitas bahasa baru seperti kesederhanaan relatif, kemandirian dari komputer tertentu, dan kemampuan untuk menggunakan struktur sintaksis yang kuat telah memungkinkan peningkatan produktivitas pemrogram secara dramatis. Struktur bahasa-bahasa ini, yang dapat dimengerti oleh sebagian besar pengguna, menarik sejumlah besar spesialis dari bidang non-komputer untuk menulis program kecil (biasanya yang bersifat teknik atau ekonomi). Sebagian besar bahasa generasi ini berhasil digunakan saat ini.

Sejak awal tahun 70-an hingga sekarang, periode bahasa generasi keempat terus berlanjut. Bahasa-bahasa ini dirancang untuk mengimplementasikan proyek-proyek besar, meningkatkan keandalan dan kecepatan pembuatannya. Mereka biasanya berfokus pada bidang penerapan khusus, di mana hasil yang baik dapat dicapai dengan menggunakan bahasa yang tidak universal, tetapi berorientasi pada masalah yang beroperasi dengan konsep spesifik dari bidang subjek yang sempit. Biasanya, operator yang kuat dibangun ke dalam bahasa-bahasa ini, memungkinkan satu baris untuk mendeskripsikan fungsionalitas yang memerlukan ribuan baris kode sumber untuk diimplementasikan dalam bahasa-bahasa yang lebih muda.

Kelahiran bahasa generasi kelima terjadi pada pertengahan tahun 90an. Ini juga mencakup sistem untuk membuat program aplikasi secara otomatis menggunakan alat pengembangan visual, tanpa pengetahuan pemrograman. Ide utama di balik bahasa-bahasa ini adalah kemampuan untuk secara otomatis menghasilkan teks yang dihasilkan dalam bahasa pemrograman universal (yang kemudian perlu dikompilasi). Instruksi dimasukkan ke dalam komputer dalam bentuk paling visual menggunakan metode yang paling nyaman bagi orang yang tidak terbiasa dengan pemrograman.

Ikhtisar Bahasa Pemrograman Tingkat Tinggi

FORTRAN(Fortran). Ini adalah bahasa kompilasi pertama yang dibuat oleh Jim Backus pada tahun 50an. Pemrogram yang mengembangkan program secara eksklusif dalam bahasa assembly menyatakan keraguan serius tentang kemungkinan bahasa tingkat tinggi yang berkinerja tinggi, sehingga kriteria utama ketika mengembangkan kompiler Fortran adalah efisiensi kode yang dapat dieksekusi. Meskipun Fortran memelopori sejumlah konsep pemrograman penting, kemudahan penulisan program dikorbankan demi kemampuan menghasilkan kode mesin yang efisien. Namun, sejumlah besar perpustakaan telah dibuat untuk bahasa ini, mulai dari kompleks statistik hingga paket kontrol satelit, sehingga Fortran terus digunakan secara aktif di banyak organisasi, dan sekarang pekerjaan sedang dilakukan pada standar Fortran P2k berikutnya, yang akan muncul di 2000. Ada versi standar Fortran yang disebut HPF (High Performance Fortran) untuk superkomputer paralel dengan banyak prosesor.

SOVOL(Kobol). Ini adalah bahasa yang dikompilasi untuk digunakan dalam masalah ekonomi dan bisnis, yang dikembangkan pada awal tahun 60an. Hal ini ditandai dengan "verbositas" yang hebat - pernyataannya terkadang terlihat seperti frasa bahasa Inggris biasa. Cobol menyediakan alat yang sangat ampuh untuk bekerja dengan data dalam jumlah besar yang disimpan di berbagai media eksternal. Banyak sekali aplikasi yang dibuat dalam bahasa ini, yang masih aktif digunakan sampai sekarang. Cukuplah dikatakan bahwa programmer COBOL menerima gaji tertinggi di Amerika Serikat.

Algol(ALGOL). Bahasa terkompilasi yang dibuat pada tahun 1960. Ini dimaksudkan untuk menggantikan Fortran, namun karena strukturnya yang lebih kompleks, ia tidak banyak digunakan. Pada tahun 1968, versi Algol 68 dibuat, yang dalam kemampuannya masih mengungguli banyak bahasa pemrograman saat ini, namun karena kurangnya komputer yang cukup efisien, tidak mungkin membuat kompiler yang baik untuk itu di a secara tepat waktu.

Paskal(Pascal). Bahasa Pascal, yang dibuat pada akhir tahun 70an oleh pendiri banyak ide pemrograman modern, Niklaus Wirth, dalam banyak hal mengingatkan pada Algol, namun telah memperketat sejumlah persyaratan untuk struktur program dan memiliki kemampuan yang memungkinkannya berhasil. digunakan saat membuat proyek besar.

Dasar(DASAR). Ada kompiler dan juru bahasa untuk bahasa ini, dan bahasa ini menempati urutan pertama di dunia dalam hal popularitas. Itu dibuat pada tahun 60an sebagai bahasa pendidikan dan sangat mudah dipelajari.

C (Si). Bahasa ini dibuat di Bell Laboratory dan awalnya tidak dianggap sebagai bahasa massal. Direncanakan untuk menggantikan bahasa assembler agar dapat membuat program yang sama efisien dan kompaknya dan pada saat yang sama tidak bergantung pada jenis prosesor tertentu.

C mirip dengan Pascal dalam banyak hal dan memiliki fasilitas tambahan untuk bekerja secara langsung dengan memori (pointer). Pada tahun 70-an, banyak program aplikasi dan sistem serta sejumlah sistem operasi terkenal (11pgx) ditulis dalam bahasa ini.

C++(C++). C++ adalah ekstensi berorientasi objek dari bahasa C yang dibuat oleh Bjarne Stroustrup pada tahun 1980. Sejumlah fitur baru yang kuat yang secara dramatis meningkatkan produktivitas pemrogram dikombinasikan dengan sifat tingkat rendah tertentu yang diwarisi dari bahasa C, menghasilkan pembuatan program yang kompleks dan andal yang memerlukan pelatihan profesional tingkat tinggi dari pengembang.

Jawa(Jawa, Jawa). Bahasa ini dibuat oleh 5ip pada awal tahun 90an berdasarkan C++. Ini dirancang untuk menyederhanakan pengembangan aplikasi berbasis C++ dengan menghilangkan semua fitur tingkat rendah darinya. Tetapi fitur utama dari bahasa ini adalah kompilasi bukan ke dalam kode mesin, tetapi ke dalam bytecode yang tidak bergantung pada platform (setiap perintah menempati satu byte). Bytecode ini dapat dieksekusi menggunakan penerjemah - JVM (Java Virtual Machine), versi yang dibuat saat ini untuk platform apa pun. Berkat ketersediaan banyak mesin Java, program Java dapat bersifat portabel tidak hanya pada tingkat teks sumber, tetapi juga pada tingkat bytecode biner, sehingga bahasa Java saat ini menempati urutan kedua dalam popularitas di dunia setelah BASIC.

Perhatian khusus dalam pengembangan bahasa ini diberikan pada dua bidang: dukungan untuk semua jenis perangkat seluler dan mikrokomputer yang terpasang pada peralatan rumah tangga (teknologi Jini) dan pembuatan modul perangkat lunak yang tidak bergantung pada platform yang mampu berjalan di server di jaringan global dan lokal. dengan berbagai sistem operasi (teknologi Java Beans). Sejauh ini kelemahan utama bahasa ini adalah kinerjanya yang rendah, karena Java adalah bahasa interpretasi.

DENGAN#(Laut Tajam). Pada akhir tahun 90an, bahasa C# dikembangkan di Microsoft di bawah kepemimpinan Anders Heilsberg. Ini mewujudkan ide-ide terbaik dari C dan C++, serta keunggulan Java. Benar, C#, seperti teknologi Microsoft lainnya, difokuskan pada platform Windows. Namun, secara formal bahasa ini tidak berbeda dengan bahasa universal lainnya, dan perusahaan bahkan berencana untuk membuat standarisasinya. Bahasa C# dirancang untuk perkembangan pesat. Aplikasi NET dan implementasinya di Microsoft Visual Studio. .NET berisi banyak fitur yang mengikat C# dengan arsitektur internal Windows dan platform .NET.

Bahasa pemrograman basis data

Kelompok bahasa ini berbeda dari bahasa algoritmik terutama dalam masalah yang dipecahkannya. Basis data adalah file (atau sekelompok file) yang merupakan kumpulan catatan terurut yang memiliki struktur seragam dan disusun menurut satu templat (biasanya dalam bentuk tabel). Basis data dapat terdiri dari beberapa tabel. Lebih mudah untuk menyimpan berbagai informasi dari buku referensi, lemari arsip, jurnal akuntansi, dll.

Saat bekerja dengan database, Anda paling sering perlu melakukan operasi berikut:

§ membuat/memodifikasi properti/menghapus tabel dalam database;

§ mencari, memilih, menyortir informasi sesuai permintaan pengguna;

§ menambahkan catatan baru;

§ modifikasi catatan yang ada;

§ menghapus catatan yang ada.

Basis data pertama kali muncul sejak lama, ketika ada kebutuhan untuk memproses informasi dalam jumlah besar dan memilih kelompok catatan berdasarkan karakteristik tertentu. Untuk tujuan ini, bahasa kueri terstruktur SQL (Structured Query Language) telah dibuat. Hal ini didasarkan pada teori matematika yang kuat dan memungkinkan pemrosesan database yang efisien dengan memanipulasi kelompok catatan daripada catatan individu.

DBMS (Sistem Manajemen Basis Data) telah dikembangkan untuk mengelola basis data besar dan memprosesnya secara efisien. Hampir setiap DBMS, selain mendukung bahasa SQL, juga memiliki bahasa uniknya sendiri, berfokus pada fitur DBMS ini dan tidak portabel untuk sistem lain. Saat ini ada tiga produsen DBMS terkemuka di dunia: Microsoft (SQL Server), IBM (DB2) dan Office. Produk mereka ditujukan untuk mendukung kerja simultan ribuan pengguna di jaringan, dan database dapat disimpan dalam bentuk terdistribusi di beberapa server. Masing-masing DBMS ini mengimplementasikan dialek SQL-nya sendiri, yang berfokus pada karakteristik server tertentu, sehingga program SQL yang disiapkan untuk DBMS berbeda biasanya tidak kompatibel satu sama lain.

Dengan munculnya komputer pribadi, apa yang disebut DBMS desktop diciptakan. Nenek moyang bahasa pemrograman database modern untuk PC dianggap sebagai DBMS dBase II, bahasa yang ditafsirkan. Kemudian kompiler dibuat untuk itu, dan DBMS FoxPro dan Clipper muncul, mendukung dialek bahasa ini. Saat ini, DBMS desktop yang paling umum adalah Microsoft Access.

Bahasa pemrograman untuk Internet

Dengan perkembangan aktif jaringan global, banyak implementasi bahasa pemrograman populer yang diadaptasi secara khusus untuk Internet telah dibuat. Semuanya berbeda dalam ciri khasnya: bahasa ditafsirkan, penerjemahnya didistribusikan secara gratis, dan program itu sendiri ada dalam kode sumber. Bahasa seperti ini disebut bahasa skrip.

HTML. Bahasa yang terkenal untuk persiapan dokumen. Ini sangat sederhana dan berisi perintah dasar untuk memformat teks, menambahkan gambar, mengatur font dan warna, mengatur link dan tabel. Semua halaman Web ditulis dalam HTML atau menggunakan ekstensinya.

Regaku. Pada tahun 80an, Larry Wall mengembangkan bahasa Perl. Ini dirancang sebagai sarana untuk memproses file teks besar secara efisien, menghasilkan laporan teks, dan mengelola tugas. Perl secara signifikan lebih kuat daripada bahasa C. Ini mencakup banyak fungsi yang sering digunakan untuk bekerja dengan string, array, semua jenis alat konversi data, manajemen proses, bekerja dengan informasi sistem, dll.

RNR. Rasmus Lerdorf, yang aktif menggunakan skrip Perl, memutuskan pada tahun 1995 untuk meningkatkan bahasa ini dengan menyederhanakannya dan menambahkan alat bawaan untuk mengakses database. Hasilnya adalah pengembangan Personal Content Page/Forms Interpreter (PHP/FI). Dalam beberapa tahun, program berdasarkan itu digunakan di 50 ribu situs. Pada tahun 1997, bahasa ini ditingkatkan secara signifikan oleh Andy Gutman dan Ziv Surasky, dan dengan nama PHP 3.0, bahasa ini dengan cepat mendapatkan popularitas di kalangan pembuat situs web dinamis di seluruh dunia.

Tcl/ karena. Pada akhir tahun 80an, John Austirout menemukan bahasa skrip Tcl yang populer dan perpustakaan Tk. Bersama Tcl, ia mencoba mewujudkan visi bahasa scripting yang ideal. Bahasa Tcl difokuskan pada otomatisasi proses rutin dan terdiri dari perintah kuat yang dirancang untuk bekerja dengan objek abstrak yang belum diketik. Ini tidak tergantung pada jenis sistem dan pada saat yang sama memungkinkan Anda membuat program dengan antarmuka grafis.

VRML. Pada tahun 1994, bahasa VRML diciptakan untuk mengatur antarmuka tiga dimensi virtual di Internet. Ini memungkinkan Anda untuk mendeskripsikan dalam bentuk teks berbagai pemandangan tiga dimensi, pencahayaan dan bayangan, tekstur (pelapisan objek), menciptakan dunia Anda sendiri, menjelajahinya, "terbang" dari semua sisi, memutar ke segala arah, menskalakan, menyesuaikan pencahayaan, dll.

XML. Pada bulan Agustus 1996, konsorsium WWW, yang bertanggung jawab atas standar teknologi Internet, mulai menyiapkan bahasa markup struktur dokumen universal berdasarkan teknologi SGML yang dibuat di IBM beberapa waktu yang lalu. Bahasa baru itu disebut XML. Saat ini, ini berfungsi sebagai dasar bagi banyak aplikasi sistem, jaringan, dan aplikasi, yang memungkinkan berbagai aspek struktur internal dokumen yang disusun secara hierarki disajikan dalam bentuk teks yang transparan bagi pengguna dan program. Dalam waktu dekat ini mungkin akan menjadi pengganti HTML.

Bahasa pemodelan

Saat membuat program dan membentuk struktur database, metode formal untuk merepresentasikannya sering digunakan - notasi formal yang dengannya Anda dapat secara visual merepresentasikan (menggambarkan dengan mouse) tabel database, bidang, objek program, dan hubungan di antara mereka dalam suatu sistem. yang memiliki editor khusus dan generator kode sumber program berdasarkan model yang dibuat. Sistem seperti ini disebut sistem CASE. Mereka secara aktif menggunakan notasi IDEF, dan baru-baru ini bahasa pemodelan grafis UML menjadi semakin populer.

Bahasa pemrograman lainnya

hal./ SAYA(PL/I). Pada pertengahan tahun 60an, IBM memutuskan untuk mengambil yang terbaik dari bahasa Fortran, Cobol dan Algol. Alhasil, pada tahun 1964 lahirlah bahasa pemrograman terkompilasi baru yang diberi nama Programming Language One. Bahasa ini telah mengimplementasikan banyak solusi unik, yang kegunaannya baru dapat dinilai 33 tahun kemudian, di era sistem perangkat lunak besar. Dalam hal kemampuannya, PL/I jauh lebih bertenaga dibandingkan banyak bahasa lainnya (C, Pascal). Misalnya, PL/I memiliki kemampuan unik untuk menentukan keakuratan perhitungan - bahkan C++ dan Java tidak memilikinya. Bahasa ini terus didukung oleh IBM hingga saat ini.

Obrolan ringan(Smoltalk). Pengerjaan bahasa ini dimulai pada tahun 1970 di laboratorium penelitian XEROX Corporation, dan berakhir 10 tahun kemudian, diwujudkan dalam versi final penerjemah SMALLTALK-80. Bahasa ini asli karena sintaksisnya sangat kompak dan hanya didasarkan pada konsep suatu objek. Tidak ada operator atau data dalam bahasa ini. Segala sesuatu yang termasuk dalam Smalltalk adalah objek, dan objek itu sendiri berkomunikasi satu sama lain secara eksklusif menggunakan pesan (misalnya, kemunculan ekspresi 1 + 1 menyebabkan pesan “+”, yaitu, “tambah”, dikirim ke objek I, dengan parameter 1, yang dianggap bukan bilangan konstan, tetapi juga objek). Tidak ada struktur kontrol lain dalam bahasa ini, kecuali "operator" cabang (sebenarnya merupakan fungsi milik objek standar), meskipun dapat dimodelkan dengan sangat sederhana. Saat ini, VisualAge for Smalltalk sedang dikembangkan secara aktif oleh IBM.

PELAT(Pelat). Bahasa pemrograman yang ditafsirkan dibuat pada tahun 1960 oleh John McCarthy. Ini difokuskan pada struktur data dalam bentuk daftar dan memungkinkan Anda mengatur pemrosesan informasi teks dalam jumlah besar secara efisien.

Prolog(Prolog). Dibuat pada awal tahun 70an oleh Alan Colmeroe. Sebuah program dalam bahasa ini, yang didasarkan pada model matematika dari teori kalkulus predikat, dibangun dari serangkaian fakta dan aturan, kemudian dirumuskan suatu pernyataan yang akan coba dibuktikan oleh Prolog dengan menggunakan aturan yang diperkenalkan. Seseorang hanya menjelaskan struktur masalah, dan “mesin” internal Prolog sendiri mencari solusi menggunakan metode pencarian dan perbandingan.

Ada(Ada). Dinamakan untuk Lady Augusta Ada Byron, putri penyair Inggris Byron dan kerabat jauhnya Annabella Milbanke. Pada tahun 1980, ratusan ahli dari Departemen Pertahanan AS memilih bahasa khusus ini dari 17 pilihan, yang dikembangkan oleh tim kecil yang dipimpin oleh Jean Ishbia. Proyek ini memenuhi seluruh persyaratan Pentagon pada saat itu, dan hingga saat ini puluhan miliar dolar telah diinvestasikan dalam pengembangannya. Struktur bahasanya sendiri mirip dengan Pascal. Ini berarti membatasi secara ketat akses ke berbagai tingkat spesifikasi, dan kekuatan struktur kendali dibatasi.

KE DEPAN(Benteng). Hasil dari upaya Charles Moore di tahun 70-an untuk menciptakan bahasa dengan alat pemrograman yang kuat yang dapat diimplementasikan secara efisien pada komputer dengan jumlah memori yang kecil, dan kompilernya dapat menghasilkan kode yang sangat cepat dan ringkas, yaitu berfungsi sebagai pengganti perakit. Namun, kesulitan dalam memahami teks program yang ditulis dalam bentuk yang tidak biasa membuatnya sangat sulit untuk menemukan kesalahan, dan dengan munculnya C, bahasa Keempat dilupakan.

Kesimpulan

Program komputer dibuat oleh programmer – orang yang terlatih dalam proses penulisannya (pemrograman). Kita tahu bahwa program adalah urutan perintah yang diurutkan secara logis yang diperlukan untuk mengendalikan komputer (melakukan operasi tertentu), sehingga pemrograman bertujuan untuk membuat urutan perintah yang diperlukan untuk memecahkan masalah tertentu.

Bibliografi

1. Simonovich S.V. Kursus dasar ilmu komputer edisi ke-2 “Peter” M., St.

2.A.A. Stepanov Informatika edisi ke-4 “Peter” M., St. Petersburg, Rostov-on-Don, Kyiv-2005

3. B.V. Sobol, A. B. Galin Buku teks ilmu komputer Rostov-on-Don, “Phoenix” 2005

4. I.I. Sergeeva, A.R. Informatika Muzalevskaya, M. Forum-Infa-Moskow, 2006

5. E.L. Zhukova, mis. Burda Informatika, M. 2007, Nauka-Press

Diposting di Allbest.ru

Dokumen serupa

    Konsep pemrograman terstruktur dan algoritma pemecahan masalah. Sejarah singkat perkembangan bahasa pemrograman dari bahasa mesin ke bahasa assembly dan bahasa tingkat tinggi. Pemrograman prosedural dalam C#. Metode dan program pemodelan.

    tutorial, ditambahkan 26/10/2010

    Esensi dan fungsi bahasa pemrograman, evolusinya dan penilaian popularitas berbagai jenisnya. Fitur program komputer yang dikembangkan dalam bahasa yang dikompilasi, ditafsirkan, atau campuran. Kelas dasar dan hierarki bahasa pemrograman.

    presentasi, ditambahkan 23/01/2013

    Evolusi bahasa pemrograman dari tingkat rendah hingga zaman modern. Bahasa pemrograman generasi kedua - assembler. Bahasa imperatif, fungsional, logis dan berorientasi objek. Kemandirian mesin. Paradigma pemrograman.

    presentasi, ditambahkan 14/10/2013

    Klasifikasi bahasa pemrograman. Menggunakan konstruksi perulangan dan melakukan proses berulang. Struktur loop algoritmik dalam bahasa C, C++, Java, C#. Fitur bahasa pemrograman tingkat tinggi modern dan penerapannya.

    tugas kursus, ditambahkan 13/11/2009

    Ciri-ciri dan sifat-sifat bahasa pemrograman. Studi tentang evolusi bahasa pemrograman berorientasi objek. Konstruksi peta evolusi mekanisme OOP. Pengembangan model konseptual fungsi antarmuka pengguna.

    tugas kursus, ditambahkan 17/11/2014

    Tinjauan informasi umum dan level bahasa pemrograman. Pengenalan sejarah perkembangan dan penggunaan bahasa pemrograman. Review kelebihan dan kekurangan bahasa seperti Majelis, Pascal, C, C++, Fortran, Cobol, BASIC, SQL, HTML, Java.

    tugas kursus, ditambahkan 04/11/2014

    Konsep dasar bahasa pemrograman, mekanisme pengetikan data. Deskripsi bahasa pemrograman dan metode penerjemahannya. Mesin dan konverter terbatas. Metode penguraian umum. Metode formal untuk menggambarkan terjemahan bahasa.

    mata kuliah perkuliahan, ditambah 04/12/2013

    Dasar-dasar sistematisasi bahasa simulasi, pemodelan sistem dan bahasa pemrograman. Fitur penggunaan bahasa algoritmik, pendekatan pengembangannya. Analisis karakteristik dan efektivitas bahasa simulasi.

    tugas kursus, ditambahkan 15/03/2012

    Penilaian tahap perkembangan teknologi komputer saat ini. Sejarah perkembangan, klasifikasi, informasi dan tingkatan bahasa pemrograman. Tinjauan bahasa pemrograman modern: C, variasinya, Pascal, Fortran, BASIC - tren perkembangannya.

    tugas kursus, ditambahkan 22/12/2010

    Deskripsi bahasa pemrograman modern (Pascal, Majelis, C++, BASIC, Logo, Fort, Prolog, Refal dan Lex). Konsep, tujuan dan komponen sistem pemrograman (sistem pemrograman berorientasi mesin dan tidak bergantung pada mesin).

Ilmu komputer, sibernetika dan pemrograman

Ada dua tingkat bahasa berorientasi mesin: assembler pengkodean simbolik dan bahasa makro, macroassembler. Persyaratan ini berkurang secara signifikan ketika menggunakan bahasa yang tidak bergantung pada mesin. Struktur bahasa-bahasa ini lebih dekat dengan struktur bahasa alami, seperti struktur bahasa Inggris, dibandingkan dengan struktur bahasa berorientasi mesin.

15 Klasifikasi bahasa algoritmik

Saat ini, beberapa ratus bahasa algoritmik yang berbeda telah dibuat, yang biasanya diklasifikasikan menurut tingkat ketergantungannya pada jenis mesin dan jenis masalah yang dipecahkan.

Menurut tanda pertama, mereka dibagi menjadi dua kelompok besar:ketergantungan pada mesin Dan independen terhadap mesinbahasa. Bahasa yang bergantung pada mesin diklasifikasikan menjadi berorientasi mesin dan berorientasi mesin (autocode). Ada dua tingkat bahasa berorientasi mesin: pengkodean simbolik (assembler) dan bahasa makro (macroassembler).

Pada kode mnemonik, kode operasi digital diganti dengan kode alfabet (mnemonik), dan alamat digital diganti dengan nama alfabet.

Dalam bahasa makro, selain kode bahasa mnemonik, digunakan instruksi makro yang tidak memiliki analog langsung dalam bahasa mesin (termasuk beberapa perintah). Dengan mengurangi panjang program sumber, bahasa makro dapat sedikit meningkatkan produktivitas pemrogram.

Seorang programmer yang bekerja dengan bahasa yang bergantung pada mesin harus memiliki pengetahuan yang baik tentang fitur desain komputer yang programnya dibuatnya. Persyaratan ini berkurang secara signifikan ketika menggunakan bahasa yang tidak bergantung pada mesin.

Program yang ditulis dalam bahasa yang tidak bergantung pada komputer hampir tidak tergantung pada jenis komputernya. Struktur bahasa-bahasa ini lebih dekat dengan struktur bahasa alami, seperti struktur bahasa Inggris, dibandingkan dengan struktur bahasa berorientasi mesin. Oleh karena itu, bahasa-bahasa tersebut dapat digunakan oleh programmer non-profesional.

Bahasa yang tidak bergantung pada mesindalam beberapa tahun terakhir mereka biasanya dibagi menjadi dua kelompok. Kelompok pertama, yang paling luas mencakup bahasa-bahasa yang berorientasi prosedural. Kelompok kedua, yang paling kurang berkembang mencakup bahasa-bahasa yang berorientasi pada masalah.

Berorientasi proseduralbahasa digunakan untuk menggambarkan algoritma (prosedur) yang sudah jadi untuk memecahkan masalah. Mereka digunakan oleh para spesialis yang sangat menyadari rumusan masalah mereka dan metode penyelesaiannya, tetapi tidak mengetahui seluk-beluk pemrograman.

Berorientasi pada masalahbahasa dirancang untuk pengguna yang tidak terbiasa dengan metode untuk memecahkan masalah mereka. Dalam hal ini, pengguna harus merumuskan masalah, menetapkan data awal dan menunjukkan formulir yang diperlukan untuk mengeluarkan hasilnya. Berdasarkan informasi yang dimasukkan, program generator harus membuat program kerja untuk menyelesaikan masalah.

Setiap kelompok bahasa dicirikan oleh tingkatan tertentu. Diyakini bahwa semakin tinggi level suatu bahasa, semakin banyak bahasa tersebut diabstraksi dari bahasa mesin tertentu. Dengan kata lain, suatu bahasa termasuk dalam tingkat yang lebih tinggi jika operatornya menginisiasi instruksi mesin dalam jumlah yang lebih banyak dibandingkan operator bahasa lain.


Serta karya-karya lain yang mungkin menarik minat Anda

39480. Perhitungan program produksi tahunan ETS 103,5 KB
Armada peralatan listrik terus bertambah. Pengalaman elektrifikasi pertanian menunjukkan bahwa tanpa kerja yang baik dari pelayanan pemeliharaan teknis kelistrikan, peningkatan jumlah instalasi listrik saja tidak memberikan peningkatan efisiensi produksi yang diharapkan dan tidak memungkinkan penggunaan peralatan listrik secara maksimal. Keandalan operasional peralatan listrik belum cukup memenuhi kebutuhan produksi pertanian. Meningkatkan operasi...
39481. Keamanan hidup. Karakteristik kondisi kerja seorang programmer 1,09MB
Berkaitan dengan hal tersebut, ilmu keselamatan kerja dan kehidupan manusia diciptakan dan berkembang. Melindungi kesehatan pekerja, memastikan kondisi kerja yang aman, menghilangkan penyakit akibat kerja dan cedera industri adalah salah satu perhatian utama masyarakat manusia. Perhatian tertuju pada perlunya penggunaan secara luas bentuk-bentuk organisasi ilmiah ketenagakerjaan yang progresif untuk meminimalkan pekerjaan manual yang tidak terampil guna menciptakan lingkungan yang mengecualikan penyakit akibat kerja dan...
39483. Penggunaan bahan nano dalam ilmu bahan konstruksi 1,34 MB
"Nano" (dari kata Yunani "nanos" - katai) adalah awalan yang menunjukkan sepersejuta unit aslinya. Karena satuan SI untuk panjang adalah meter, maka nanometer berarti sepersejuta meter atau sepersejuta milimeter.
39484. Pengembangan sistem informasi pemeliharaan riwayat kredit nasabah 3,89MB
Menetapkan struktur dan bentuk data masukan dan keluaran. Perhitungan pencahayaan Perkembangan dan peningkatan teknologi komputer dan perangkat lunak yang terus-menerus menyebabkan munculnya semakin banyak teknologi pemrosesan data baru. Oleh karena itu, efisiensi sistem pemrosesan bergantung pada pengaturan arus informasi input dan output yang benar. Memberikan informasi keluaran dalam format elektronik dan dokumen cetak yang dibutuhkan oleh pengguna.
39485. Pengembangan sistem otomatis untuk memantau aktivitas organisasi olahraga "Vesna" 1,61 MB
Maksud dan tujuan utama dari tesis ini adalah untuk mengembangkan sistem pemantauan otomatis terhadap kegiatan organisasi olahraga “Vesna”, yang kegiatannya terdiri dari pembinaan fisik dan peningkatan kesehatan remaja yang baik.
39487. Pengembangan website untuk MKDOU No.17 3,14MB
Prinsip umum pembuatan halaman web Elemen dasar halaman web. Pendahuluan Dalam hal pengembangan dan pembuatan halaman Web di Internet, sejumlah besar metode dan teknologi telah terakumulasi, banyak di antaranya, sayangnya, sekarang dapat diterapkan secara kondisional. Oleh karena itu, tampaknya relevan dan praktis penting untuk mempertimbangkan masalah desain situs web dalam kondisi modern dengan menggunakan seluruh pencapaian yang dikumpulkan di bidang ini.
39488. Penciptaan sistem otomatis untuk mengoptimalkan biaya pengiriman kargo di perusahaan transportasi 882,5 KB
Organisasi logistik distribusi produk dalam praktiknya dilaksanakan sebagai proses yang teratur dan terarah untuk mempengaruhi di semua tingkatan dan di semua tahap perputaran barang dan jasa pada faktor dan kondisi yang menjamin pencapaian dan pemeliharaan proses fisik yang ekonomis dan efektif. promosi barang di pasar. Upaya organisasi yang bertujuan untuk meningkatkan efisiensi distribusi produk dapat direduksi menjadi dua aspek: operasional dan strategis.3] Pembentukan cara distribusi produk yang optimal dengan penyesuaian selanjutnya dalam...

anotasi. Relevansi penelitian ini dijelaskan oleh pentingnya memperoleh perkiraan berkualitas tinggi dari indikator keuangan utama dalam konteks tren modern, serta pengalaman sukses menggunakan jaringan saraf dalam meramalkan masalah, yang dapat dicapai dengan pilihan yang tepat. dari bahasa pemrograman. Ini mengaktualisasikan tujuan artikel ini - melakukan analisis komparatif bahasa pemrograman.
Kata kunci: bahasa pemrograman, lingkungan pemrograman, alat.

Bahasa pemrograman yang ada dirancang untuk memecahkan masalah yang cukup sempit. Bahasa tidak bisa menjadi obat mujarab; kualitasnya yang baik untuk beberapa tugas (atau orang) mungkin buruk bagi yang lain.

Penting untuk membedakan bahasa pemrograman (Basic, Pascal) dari implementasinya, yang biasanya disajikan sebagai bagian dari lingkungan pemrograman (Quick Basic, Virtual Pascal) - seperangkat alat untuk mengedit teks sumber, menghasilkan kode yang dapat dieksekusi, debugging, manajemen proyek, dll. Sintaks dan semantik suatu bahasa pemrograman ditetapkan dalam standar bahasa. Setiap lingkungan pemrograman menyediakan penerjemah atau kompilernya sendiri untuk bahasa ini, yang sering kali mengizinkan penggunaan konstruksi yang tidak ditetapkan dalam standar.

Tujuan pemilihan bahasa itu penting - baik untuk mengajarkan pemrograman atau untuk memecahkan masalah aplikasi tertentu. Dalam kasus pertama, bahasanya harus mudah dimengerti, tegas dan, jika mungkin, bebas dari jebakan. Yang kedua - meskipun rumit, tetapi merupakan alat yang efektif dan ekspresif untuk seorang profesional.

Tentu saja, dalam praktiknya, pembelajaran tidak dapat dipisahkan dari tugas-tugas kehidupan nyata. Apa yang disebut tugas-tugas pendidikan paling sering mengalami abstraksi yang berlebihan dan tidak dapat diterapkan dalam kehidupan. Menguasai suatu bahasa (atau lingkungan pemrograman) tidak dapat dianggap sebagai tugas tersendiri; lebih tepatnya, ini adalah pendekatan yang sangat tidak produktif. Pemerolehan bahasa yang efektif hanya mungkin dilakukan melalui contoh nyata. Di sisi lain, memprogram solusi untuk masalah penuh “dari kehidupan” pada tahap awal penguasaan bahasa ternyata menjadi beban yang tak tertahankan yang bisa membuat takut dan bukannya menarik.

Saat memecahkan masalah aplikasi tertentu, dalam banyak kasus, bahasa dan lingkungan pemrograman tidak dipilih, tetapi ditentukan secara eksternal - oleh pelanggan, manajer, dll. Dalam kasus yang jarang terjadi ketika suatu pilihan dimungkinkan, menurut pendapat saya, kondisi berikut (dalam urutan prioritas):

a) sifat tugas itu sendiri dan persyaratan teknisnya;

b) mengembangkan alat dan perpustakaan yang tersedia untuk lingkungan ini;

c) alat yang tersedia dalam bahasa dan lingkungan pemrograman.

Seringkali, ketika membuat pilihan seperti itu, mereka melakukan hal yang sebaliknya: pertama mereka memutuskan bahwa mereka akan memprogram objek, kemudian perpustakaan tertentu akan digunakan, dan kemudian mereka menyesuaikan persyaratan teknis dengan ini, menjelaskan semua ini dengan mengatakan bahwa pelanggan “tidak tahu apa yang dia inginkan.”

Penerapan suatu bahasa untuk tugas tertentu bergantung pada kumpulan konsep apa yang digunakan oleh seorang profesional, dalam konsep (paradigma) apa ia mengizinkannya bekerja, perpustakaan pengguna standar dan luas apa yang tersedia, dll.

Berdasarkan himpunan konsepnya, bahasa dibedakan menjadi bahasa tingkat tinggi dan bahasa tingkat rendah. Yang pertama memberikan abstraksi tingkat tinggi dari peralatan, yang terakhir memberikan tingkat rendah, dekat dengan abstraksi mesin.

Dari sudut pandang apakah objek khusus dan spesifik domain termasuk dalam kumpulan konsep, bahasa dibagi menjadi universal(prosedur) dan terspesialisasi. Yang terakhir termasuk Prolog, Lisp. Bahasa universal memungkinkan Anda mengimplementasikan algoritme apa pun menggunakan serangkaian konstruksi standar. Berkat ini, kode dalam bahasa seperti itu dapat dengan mudah ditransfer dari satu bahasa prosedural ke bahasa prosedural lainnya menggunakan perubahan konservatif.

Mari kita sajikan konsep dasar yang diperkenalkan ke dalam bahasa tertentu yang umum digunakan dan konsep terkait: pengetikan dan struktur data. Bahasa apa pun dicirikan oleh sekumpulan tipe dasar dan kemampuan untuk memperluas kumpulan ini menggunakan sejumlah konstruktor: array, record (struktur), union. Beberapa bahasa memiliki tipe generik (Varian dalam Delphi dan Visual Basic) yang dapat digunakan secara bebas sebagai tipe dasar apa pun. Tingkat pemeriksaan jenis bisa sangat bervariasi - dari tidak ada sama sekali hingga sangat ketat. Penting untuk memiliki (mungkin dalam bentuk perpustakaan) struktur data dengan panjang variabel, seperti array dinamis.

Perbedaan bahasa terletak pada cara mendefinisikan prosedur dan fungsi, opsi untuk meneruskan parameter, kemampuan untuk mendefinisikan prosedur rekursif, dan keberadaan tipe data prosedural.

Kehadiran dan klasifikasi jenis memori yang luas memungkinkan pengelolaan distribusinya secara efektif, tetapi juga menimbulkan kompleksitas yang memerlukan pendekatan yang lebih hati-hati dari pemrogram. Biasanya yang berikut ini dibedakan (spektrum maksimum): register, variabel global, lokal dan dinamis.

Kehadiran sarana untuk menggabungkan sekelompok prosedur, fungsi, dan variabel secara logis memungkinkan Anda bekerja dengan proyek besar, menyederhanakan strukturnya. Properti penting adalah kemampuan untuk menjelaskan prosedur untuk memulai dan mengakhiri modul.

Menggabungkan struktur dan metode pemrosesannya (enkapsulasi) menciptakan kemudahan pemrograman yang signifikan. Kemungkinan pewarisan memungkinkan Anda memasukkan sekumpulan struktur ke dalam sistem. Disebut secara otomatis konstruktor dan destruktor membuat hubungan mudah dilacak. Semua ini merupakan alat yang mudah digunakan untuk mendeskripsikan konsep dan tindakan program aplikasi.

Independensi perangkat keras, diimplementasikan menggunakan semantik yang tidak bergantung pada mesin dan memperkenalkan sejumlah konsep spesifik ke dalam bahasa - seperti tipe dasar dengan ukuran tidak tetap (int dalam C).

Dari sudut pandang efisiensi, penting bagaimana program dijalankan - interpretasi berurutan dari teks sumber ( penerjemah) atau eksekusi langsung dari kode yang sudah jadi ( penyusun). Dianjurkan untuk menggunakan juru bahasa hanya jika kecepatan interpretasi tidak terlalu mempengaruhi efisiensi program. Selain interpretasi dan kompilasi, opsi perantara dengan pembangkitan juga dimungkinkan kodesemu, yang berbeda dari teks sumber dalam kecepatan interpretasinya yang tinggi atau properti berguna lainnya (misalnya, kemampuan untuk mengeksekusi pada mesin dengan arsitektur berbeda - seperti Java).

Mari kita pertimbangkan bahasa populer dan lingkungan perangkat lunak dalam hal kesesuaian untuk berbagai kelas tugas.

Lahir pada tahun 60an di Amerika, BASIC dipahami sebagai bahasa sederhana untuk pembelajaran cepat. BASIC telah menjadi standar de facto untuk mikrokomputer karena kemudahan pembelajaran dan implementasinya. Namun, untuk mencapai kualitas ini, sejumlah keputusan diambil (kurangnya pengetikan, penomoran baris dan GOTO non-struktural, dll.), yang berdampak negatif pada gaya pemrograman siswa. Selain itu, kurangnya sarana ekspresif menyebabkan munculnya banyak dialek bahasa yang tidak cocok satu sama lain. Versi BASIC yang modern dan terspesialisasi (seperti Visual Basic), meskipun memiliki “struktur” yang diperoleh, masih memiliki kekurangan yang sama, pertama-tama, kelalaian dalam kaitannya dengan jenis dan deskripsi. Cocok untuk digunakan pada tahap awal pelatihan, sebagai alat otomatisasi (jika dibangun ke dalam sistem terkait) atau sebagai alat untuk membuat aplikasi dengan cepat.

Dikembangkan oleh ahli teori terkenal N. Wirth berdasarkan ide ALGOL −68, Pascal dimaksudkan terutama untuk pengajaran pemrograman. Dibangun berdasarkan prinsip "perlu dan cukup", ia memiliki kontrol tipe yang ketat, konstruksi untuk mendeskripsikan struktur data arbitrer, dan sekumpulan operator pemrograman terstruktur yang kecil namun cukup. Sayangnya, sisi lain dari kesederhanaan dan ketelitian adalah rumitnya deskripsi konstruksi bahasa. Implementasi yang paling terkenal, Turbo/Borland Pascal, meskipun berbeda dari standar Pascal, adalah lingkungan dan sekumpulan perpustakaan yang telah mengubah bahasa pendidikan menjadi sistem industri untuk mengembangkan program di lingkungan MS-DOS.

Perwakilan paling cemerlang dari bahasa tingkat rendah adalah Assembler, yang kumpulan konsepnya didasarkan pada implementasi perangkat keras. Ini adalah alat otomatisasi untuk pemrograman langsung dalam kode prosesor. Perintah mesin dijelaskan dalam bentuk operasi mnemonik, yang memungkinkan untuk mencapai kemampuan modifikasi kode yang cukup tinggi. Karena kumpulan perintah pada prosesor yang berbeda berbeda, tidak perlu membicarakan kompatibilitas. Penggunaan assembler disarankan jika diperlukan interaksi langsung dengan perangkat keras, atau untuk mendapatkan efisiensi yang lebih besar untuk beberapa bagian program karena kontrol yang lebih besar atas pembuatan kode.

Setelah perjuangan panjang di bidang perangkat lunak Windows, Borland pindah ke pasar sistem perusahaan. Delphi bukanlah penerus Borland Pascal / Borland C, ceruknya disebut-sebut. pembuatan aplikasi cepat (Rapid Application Developing, RAD). Alat semacam itu memungkinkan Anda dengan cepat membuat program kerja dari komponen yang sudah jadi, tanpa membuang banyak tenaga untuk hal-hal sepele. Tempat khusus dalam sistem seperti itu ditempati oleh kemampuan untuk bekerja dengan database.

Sebagai contoh utama spesialisasi, bahasa Java muncul sebagai jawaban terhadap kebutuhan akan bahasa portabel yang idealnya sehingga program dapat berjalan secara efisien di sisi klien WWW. Karena lingkungannya yang spesifik, Java dapat menjadi pilihan yang baik untuk sistem yang dibangun berdasarkan teknologi Internet/Intranet.

Bahasa C didasarkan pada persyaratan pemrogram sistem: akses penuh dan efisien ke semua sumber daya komputer, alat pemrograman tingkat tinggi, portabilitas program antara berbagai platform dan sistem operasi. C++, dengan tetap menjaga kompatibilitas dengan C, memperkenalkan kemampuan pemrograman berorientasi objek dengan mengekspresikan gagasan kelas (objek) sebagai tipe yang ditentukan pengguna. Berkat kualitas ini, C/C++ telah menjadi bahasa universal untuk tugas apa pun. Namun penggunaannya mungkin menjadi tidak efektif jika diperlukan untuk mendapatkan hasil yang siap digunakan dalam waktu sesingkat mungkin, atau jika pendekatan prosedural itu sendiri menjadi tidak menguntungkan.

Untuk mengimplementasikan proyek membangun model jaringan saraf untuk memperkirakan deret waktu data keuangan berdasarkan perceptron multilayer yang dilatih menggunakan algoritma propagasi mundur (serta memformalkan skema lengkap untuk menggunakan model ini untuk menganalisis dan memperkirakan deret waktu menggunakan contoh stok kutipan penerbit Rusia di MICEX ) lingkungan pengembangan C++ Builder 2010 dipilih, karena menggabungkan fungsionalitas dan kecepatan yang baik dari program yang dibuat dalam C++, dan juga memungkinkan Anda dengan cepat membuat program yang berfungsi dari komponen yang sudah jadi, tanpa membuang-buang waktu banyak usaha pada hal-hal sepele.

Perangkat keras dan sistem operasi berubah. Permasalahan baru muncul dari berbagai mata pelajaran. Mereka menjadi sesuatu dari masa lalu dan bahasa-bahasa baru bermunculan. Namun orang-orangnya tetap ada – mereka yang menulis dan mereka yang untuknya program-program baru ditulis dan yang persyaratan kualitasnya tetap sama terlepas dari perubahan-perubahan ini.

  1. Jarrod Holingworth, Bob Swart, Mark Cashman, Paul Gustavson Borland C++ Builder 6. Panduan Pengembang = Panduan Pengembang Borland C++ Builder 6. - M.: "Williams", 2004. - Hal.976.
  2. Dasar Visual Vik Kurilovich. − Rumah penerbitan "Solon-Press", 2006, −P. 384.
  3. Andreeva T. A. Pemrograman dalam Pascal. − Penerbit: Universitas Teknologi Informasi Internet, Binom. Laboratorium Pengetahuan, 2006 - Hal.240.
  4. Pilshchikov V. N. Perakit. Pemrograman dalam bahasa perakitan IBM. − Rumah Penerbitan PC: Dialog-MEPhI, 2005 − Hal.288.
  5. Zhelonkin A. Dasar-dasar pemrograman dalam lingkungan terintegrasi DELPHI. − Penerbit: Binom. Laboratorium Pengetahuan, 2004 - Hlm.240.
  6. Joshua Bloch Jawa. Pemrograman yang efektif Java yang efektif. Panduan Bahasa Pemrograman − Seri: Java Penerbit: Lori, 2002 − Hal.224.
  7. Lafore R. Pemrograman Berorientasi Objek dalam C++ Pemrograman Berorientasi Objek dalam C++ - Penerbit: Peter, 2011