16.09.2024
Rumah / Ulasan / Bahasa pemrograman komputer. Memprogram permainan arcade dan mengajarkan ilmu komputer. Bahasa pemrograman tingkat tinggi: daftar

Bahasa pemrograman komputer. Memprogram permainan arcade dan mengajarkan ilmu komputer. Bahasa pemrograman tingkat tinggi: daftar

1. Pendahuluan

Pengenalan komputer ke dalam semua bidang aktivitas manusia memerlukan spesialis dari berbagai profil untuk menguasai keterampilan menggunakan teknologi komputer. Tingkat kepelatihan mahasiswa semakin meningkat, yang sejak tahun pertama sudah dikenalkan dengan penggunaan komputer dan metode numerik sederhana, belum lagi dalam menyelesaikan tugas kuliah dan proyek diploma, penggunaan teknologi komputer sudah menjadi hal yang biasa. sebagian besar universitas.

Teknologi komputer sekarang digunakan tidak hanya dalam perhitungan teknik dan ilmu ekonomi, tetapi juga dalam spesialisasi tradisional non-matematika seperti kedokteran, linguistik, dan psikologi. Berkaitan dengan hal tersebut, dapat dikatakan bahwa penggunaan komputer sudah meluas. Sejumlah besar spesialis telah muncul - pengguna komputer yang membutuhkan pengetahuan tentang penggunaan komputer di industri mereka - keterampilan dalam bekerja dengan perangkat lunak yang ada, serta membuat perangkat lunak mereka sendiri yang disesuaikan untuk memecahkan masalah tertentu. Dan di sini deskripsi bahasa pemrograman membantu pengguna.

2. Apa yang dimaksud dengan bahasa pemrograman

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

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

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

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

· Tugas: Bahasa pemrograman berbeda dari bahasa alami karena dirancang untuk mengirimkan perintah dan data dari seseorang ke komputer, sedangkan bahasa alami hanya digunakan agar manusia dapat berkomunikasi satu sama lain. Pada prinsipnya, kita dapat menggeneralisasi definisi "bahasa pemrograman" - ini adalah cara untuk menyampaikan perintah, perintah, panduan tindakan yang jelas; padahal bahasa manusia juga berfungsi untuk bertukar informasi.

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

3. Tahapan penyelesaian suatu masalah pada komputer.

VT telah menemukan kegunaannya yang paling efektif ketika melakukan perhitungan padat karya dalam penelitian ilmiah dan perhitungan teknik. Saat menyelesaikan suatu masalah di komputer, peran utama tetap berada di tangan manusia. Mesin hanya menjalankan tugasnya sesuai program yang dikembangkan. Peran manusia dan mesin mudah dipahami jika proses penyelesaian suatu masalah dibagi menjadi beberapa tahapan di bawah ini.

Pernyataan masalah. Tahap ini terdiri dari perumusan masalah (fisik) yang bermakna dan penentuan solusi akhir.

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

Perkembangan Piala Dunia. Karena komputer hanya dapat melakukan operasi yang paling sederhana, ia “tidak memahami” rumusan masalah, bahkan dalam rumusan matematika. Untuk mengatasinya, harus ditemukan metode numerik yang memungkinkan untuk mereduksi masalah menjadi beberapa algoritma komputasi. Dalam setiap kasus tertentu, perlu untuk memilih solusi yang sesuai dari solusi standar yang telah dikembangkan.

Pengembangan algoritma. Proses penyelesaian suatu masalah (proses komputasi) ditulis sebagai rangkaian operasi aritmatika dan logika dasar yang mengarah pada hasil akhir dan disebut algoritma pemecahan masalah.

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

Penyesuaian program. Program yang dikompilasi mengandung berbagai macam kesalahan, ketidakakuratan, dan kesalahan administrasi. Debugging meliputi pemantauan program, diagnosis (mencari dan menentukan isi) kesalahan, dan menghilangkannya. Program diuji dengan memecahkan masalah kontrol (tes) untuk mendapatkan keyakinan akan keandalan hasil.

Melakukan perhitungan. Pada tahap ini data awal untuk perhitungan disiapkan dan perhitungan dilakukan dengan menggunakan program yang telah ditetapkan. Pada saat yang sama, untuk mengurangi tenaga kerja manual dalam memproses hasil, bentuk penerbitan hasil yang mudah dalam bentuk teks dan informasi grafis, dalam bentuk yang dapat dimengerti manusia, dapat digunakan secara luas.

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

4. Untuk apa bahasa pemrograman?

Proses pengoperasian komputer terdiri dari pelaksanaan suatu program, yaitu serangkaian perintah yang sangat spesifik dalam urutan yang sangat spesifik. Bentuk mesin dari instruksi, yang terdiri dari nol dan satu, menunjukkan dengan tepat tindakan apa yang harus dilakukan oleh prosesor pusat. Ini berarti bahwa untuk memberikan komputer urutan tindakan yang harus dilakukan, Anda perlu menentukan urutan kode biner untuk perintah terkait. Program kode mesin terdiri dari ribuan instruksi. Menulis program seperti itu adalah tugas yang sulit dan membosankan. Pemrogram harus mengingat kombinasi angka nol dan satu dari kode biner setiap program, serta kode biner dari alamat data yang digunakan dalam pelaksanaannya. Jauh lebih mudah untuk menulis sebuah program dalam beberapa bahasa yang mendekati bahasa alami manusia, dan mempercayakan pekerjaan menerjemahkan program ini ke dalam kode mesin ke komputer. Beginilah asal mula bahasa yang dirancang khusus untuk menulis program - bahasa pemrograman.

Ada banyak bahasa pemrograman berbeda yang tersedia. Faktanya, Anda dapat menggunakan salah satu dari mereka untuk menyelesaikan sebagian besar masalah. Pemrogram berpengalaman mengetahui bahasa mana yang terbaik untuk digunakan untuk memecahkan setiap masalah tertentu, karena setiap bahasa memiliki kemampuannya sendiri, orientasi terhadap jenis masalah tertentu, dan caranya sendiri dalam mendeskripsikan konsep dan objek yang digunakan dalam memecahkan masalah.

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

Bahasa tingkat rendah termasuk bahasa assembly (dari bahasa Inggris toassemble – assemble, assemble). Bahasa assembly menggunakan perintah-perintah simbolik yang mudah dimengerti dan cepat diingat. Alih-alih urutan kode biner perintah, sebutan simbolisnya ditulis, dan alih-alih alamat biner dari data yang digunakan saat menjalankan perintah, nama simbolis dari data yang dipilih oleh programmer ditulis. Bahasa rakitan kadang-kadang disebut kode mnemonik atau kode otomatis.

Kebanyakan programmer menggunakan bahasa tingkat tinggi untuk menulis program. Seperti bahasa manusia pada umumnya, bahasa tersebut memiliki alfabetnya sendiri - seperangkat simbol yang digunakan dalam bahasa tersebut. Simbol-simbol ini digunakan untuk membentuk apa yang disebut kata kunci bahasa tersebut. Masing-masing kata kunci menjalankan fungsinya masing-masing, seperti dalam bahasa yang kita kenal, kata-kata yang terdiri dari huruf-huruf alfabet dari bahasa ini, dapat melakukan fungsi bagian yang berbeda pidato. Kata kunci dihubungkan menjadi satu kalimat menurut kaidah sintaksis bahasa tertentu. Setiap kalimat mendefinisikan urutan tindakan tertentu yang harus dilakukan komputer.

Bahasa tingkat tinggi bertindak sebagai perantara antara manusia dan komputer, memungkinkan seseorang berkomunikasi dengan komputer dengan cara yang lebih familiar bagi manusia. Seringkali bahasa seperti itu membantu memilih metode yang tepat untuk memecahkan suatu masalah.

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

Jika Anda ingin belajar pemrograman komputer dan sedang mencari panduan cepat, menjelaskan cara mempelajari seni ini, artikel ini hanya untuk Anda.

Di sini saya akan memberi Anda tips tentang cara belajar menulis program komputer sendiri.

Pemrograman komputer adalah salah satu bidang yang paling menarik dan bermanfaat untuk dikerjakan. Jutaan baris kode ditulis setiap hari, di seluruh dunia, menghasilkan aplikasi dan perangkat lunak baru. Jika Anda senang berpikir analitis dan memecahkan segala jenis teka-teki dan masalah, pemrograman adalah pilihan Anda. Kunci dalam mempelajari pemrograman adalah menguasai bahasa pemrograman dan mempelajari cara menggunakannya untuk memecahkan masalah yang kompleks.

Cara standar untuk belajar coding, kuliah, dan mendapatkan gelar di bidang ilmu komputer. Namun, banyak orang yang belum pernah belajar di institusi, namun meskipun demikian, mereka memiliki keterampilan dan bakat berpikir analitis. Artikel ini saya tulis untuk Anda yang belum belajar menjadi seorang programmer, namun sudah menemukan keindahan pemrograman dan ingin menguasai ilmu tersebut. Internet telah menciptakan budaya pengkodean yang dapat memandu Anda melalui proses ini. Dengan disiplin diri dan ketekunan, Anda dapat belajar memprogram dan menulis perangkat lunak Anda sendiri. Ini bukan hanya metode untuk melatih pikiran Anda, tetapi juga cara yang bagus untuk menghasilkan uang dengan menjual perangkat lunak Anda sendiri, atau mencari pekerjaan di perusahaan khusus jika Anda benar-benar ahli dalam hal itu.

Bagaimana cara belajar memprogram?

Ilmu Komputer adalah bidang utama yang harus dikuasai, ini akan memberi Anda pengetahuan dan pengalaman minimal dalam pemrograman. Berikut adalah beberapa rekomendasi tentang cara menjadi seorang programmer.

Pelajari bahasa pemrograman

Pertama, Anda memerlukan komputer desktop atau laptop yang memungkinkan Anda membaca dan menjalankan program Anda. Pemrograman adalah kemampuan untuk berkomunikasi dengan konfigurasi perangkat keras komputer untuk melakukan berbagai tugas komputasi. Komputer hanya memahami bahasa mesin, yang ditulis dalam angka 1 dan 0. Bagi kita manusia untuk berkomunikasi dengan komputer, telah diciptakan bahasa pemrograman yang kodenya dapat diubah menjadi bentuk yang dapat dibaca mesin oleh compiler. Ada sejumlah bahasa pemrograman yang berbeda-beda penerapannya. Anda harus mempelajari setidaknya selusin bahasa pemrograman utama, termasuk C, C++, Java, Perl, Lisp, dan Python.

Untuk mempelajari dasar-dasar pemrograman, mulailah belajar C atau Python dari awal. Gunakan sumber daya online dan buku pemrograman untuk memahami dasar-dasarnya. Instal program pengkodean dan jalankan di komputer Anda. Kerjakan dari contoh dan soal yang disediakan di buku dan buku teks elektronik untuk menulis kode Anda sendiri. Salah satu buku terbaik untuk mulai belajar "C" adalah "". Buku bagus lainnya "".

Dapatkan keterampilan "C" dan kemudian lanjutkan ke pemrograman berorientasi objek, yang dimungkinkan oleh C++. Kemudian dapatkan keterampilan dalam Java, Perl dan , yang banyak digunakan untuk pengembangan web. Pelajari HTML jika Anda berencana untuk bekerja dalam pengembangan web. Seperti yang Anda lihat, ada banyak materi yang harus dipelajari dan dibutuhkan setidaknya 5 - 6 tahun untuk menguasai sebagian besar bahasa.

Mulailah menulis kode

Ini cara terbaik praktikkan apa yang telah Anda pelajari. Tulis kode Anda, buat kesalahan, pelajari, debug kode. Ikut serta dalam kompetisi coding online dan uji keterampilan pemrograman Anda. Dapatkan itu perangkat lunak open source, baca kodenya dan pahami bagaimana program yang bagus ditulis. Pelajari bagaimana programmer master mencapai penghematan kode dan kejelasan logika. Kenali komputer Anda dan perangkat keras utama. Pelajari cara kerja komputer pada tingkat dasar dengan memori dan prosesor.

Belajar menjalankan Linux atau Unix

Anda tidak dapat menyebut diri Anda seorang programmer sampai Anda menguasai sistem operasi Linux dan Unix. Instal distribusi Ubuntu di komputer Anda dan kenali. Ini akan memberi Anda semua alat pemrograman yang Anda perlukan, bersama dengan kompiler.

Compiler adalah program yang melakukan kompilasi (penerjemahan suatu program yang dikompilasi dari kode sumber).

Siswa - Pakar - Programmer

Temukan mentor yang baik yang dapat mengarahkan Anda untuk menjadi seorang programmer ulung. Dengarkan nasihat dan belajarlah darinya.

Baca aturan penulisan kode dan terus tingkatkan

Teruslah menulis kode komputer Anda sendiri dan pikirkan bagaimana Anda dapat memperbaikinya. Bergabunglah dengan gerakan open source dan analisis anatomi program yang bagus. Buat situs web Anda dan terus perdalam pengetahuan Anda. Ingatlah bahwa selalu ada ruang untuk perbaikan!

Jangan ada ilusi bahwa pemrograman bukanlah tugas yang mudah. Setidaknya diperlukan waktu sepuluh hingga lima belas tahun untuk mencapai titik di mana Anda dapat mulai menyebut diri Anda seorang programmer penuh. Keberhasilan Anda dalam pemrograman berbanding lurus dengan dedikasi dan ketekunan Anda dalam mengejar pembelajaran.

Tujuan artikel ini adalah memberi Anda dorongan ke arah yang benar. Saya berharap tujuan ini dapat tercapai sampai batas tertentu. Bebaskan pikiran Anda dan masuki dunia pemrograman dengan menyenangkan!

Pemrograman adalah keseluruhan ilmu yang memungkinkan Anda membuat program komputer. Ini mencakup sejumlah besar operasi dan algoritma berbeda yang membentuk satu bahasa pemrograman. Jadi, apa itu dan apa saja bahasa pemrogramannya? Artikel ini memberikan jawaban dan juga memberikan gambaran umum tentang bahasa pemrograman.

Sejarah kemunculan dan perubahan bahasa program harus dipelajari seiring dengan sejarah perkembangannya teknologi komputer, karena konsep-konsep ini berhubungan langsung satu sama lain. Tanpa bahasa pemrograman, tidak mungkin membuat program apa pun untuk dioperasikan oleh komputer, yang berarti membuat komputer akan menjadi sia-sia belaka.

Bahasa mesin pertama ditemukan pada tahun 1941 oleh Konrad Zuse, penemu Analytical Engine. Beberapa saat kemudian, pada tahun 1943, Howard Aiken menciptakan mesin Mark 1, yang mampu membaca instruksi pada tingkat kode mesin.

Pada tahun 1950-an, terdapat permintaan yang besar terhadap pengembangan perangkat lunak, dan bahasa mesin tidak dapat menangani kode dalam jumlah besar, sehingga diciptakanlah bahasa mesin. cara baru komunikasi dengan komputer. "Assembler" adalah bahasa mnemonik pertama yang menggantikan instruksi mesin. Dari tahun ke tahun, daftar bahasa pemrograman semakin bertambah, karena cakupan teknologi komputer semakin luas.

Klasifikasi bahasa pemrograman

Pada saat ini Ada lebih dari 300 bahasa pemrograman. Masing-masing memiliki karakteristik tersendiri dan cocok untuk satu tugas tertentu. Semua bahasa pemrograman dapat dibagi menjadi beberapa kelompok:

  • Berorientasi aspek (ide utamanya adalah pemisahan fungsionalitas untuk meningkatkan efisiensi modul perangkat lunak).
  • Struktural (berdasarkan gagasan untuk menciptakan struktur hierarki blok program individu).
  • Logis (berdasarkan teori perangkat logika matematika dan kaidah penyelesaiannya).
  • Berorientasi objek (dalam pemrograman seperti itu bukan lagi algoritma yang digunakan, tetapi objek yang termasuk dalam kelas tertentu).
  • Multiparadigma (menggabungkan beberapa paradigma, dan pemrogram sendiri yang memutuskan bahasa mana yang akan digunakan dalam kasus tertentu).
  • Fungsional (elemen utama adalah fungsi yang berubah nilainya tergantung hasil perhitungan sumber data).

Pemrograman untuk Pemula

Banyak orang bertanya-tanya apa itu pemrograman? Pada dasarnya, ini adalah cara untuk berkomunikasi dengan komputer. Berkat bahasa pemrograman, kita dapat menempatkannya sebelumnya berbagai perangkat tugas tertentu, menciptakan aplikasi khusus atau program. Saat mempelajari ilmu ini pada tahap awal, yang terpenting adalah memilih bahasa pemrograman yang sesuai (menarik bagi Anda). Daftar untuk pemula diberikan di bawah ini:

  • Basic ditemukan pada tahun 1964, termasuk dalam keluarga bahasa tingkat tinggi dan digunakan untuk menulis program aplikasi.
  • Python cukup mudah dipelajari karena sintaksnya yang sederhana dan mudah dibaca, namun kelebihannya adalah dapat digunakan untuk membuat program desktop biasa dan aplikasi web.
  • Pascal adalah salah satu bahasa tertua (1969) yang diciptakan untuk mengajar siswa. Modifikasi modernnya ditandai dan terstruktur secara ketat, tetapi Pascal adalah bahasa yang sepenuhnya logis dan dapat dipahami pada tingkat intuitif.

Ini tidak daftar lengkap bahasa pemrograman untuk pemula. Ada banyak sekali sintaksis yang mudah dipahami dan pasti akan diminati di tahun-tahun mendatang. Setiap orang berhak untuk secara mandiri memilih arah yang menarik bagi mereka.

Pemula mempunyai kesempatan untuk mempercepat pembelajaran pemrograman dan dasar-dasarnya berkat alat khusus. Asisten utamanya adalah lingkungan pengembangan terintegrasi untuk program dan aplikasi Visual Basic (“Visual Basic” juga merupakan bahasa pemrograman yang mewarisi gaya bahasa Basic tahun 1970-an).

Tingkatan bahasa pemrograman

Semua bahasa formal yang dimaksudkan untuk membuat, mendeskripsikan program dan algoritma untuk memecahkan masalah pada komputer dibagi menjadi dua kategori utama: bahasa pemrograman tingkat rendah (daftar diberikan di bawah) dan bahasa tingkat tinggi. Mari kita bahas masing-masing secara terpisah.

Bahasa tingkat rendah dirancang untuk membuat instruksi mesin untuk prosesor. Keuntungan utama mereka adalah bahwa mereka menggunakan notasi mnemonik, yaitu, alih-alih urutan nol dan satu (dari sistem bilangan biner), komputer mengingat kata singkatan yang bermakna dari bahasa Inggris. Bahasa tingkat rendah yang paling terkenal adalah "Assembler" (ada beberapa subtipe dari bahasa ini, yang masing-masing memiliki banyak kesamaan, tetapi hanya berbeda dalam satu set arahan tambahan dan makro), CIL (tersedia di .Net platform) dan Bytecode JAVA.

Bahasa pemrograman tingkat tinggi: daftar

Bahasa tingkat tinggi diciptakan untuk kenyamanan dan efisiensi aplikasi yang lebih besar, mereka adalah kebalikan dari bahasa tingkat rendah. Ciri khasnya adalah adanya konstruksi semantik yang secara ringkas dan padat menggambarkan struktur dan algoritma program. Dalam bahasa tingkat rendah, deskripsinya dalam kode mesin akan terlalu panjang dan tidak jelas. Bahasa tingkat tinggi tidak bergantung pada platform. Sebaliknya, kompiler menjalankan fungsi penerjemah: mereka menerjemahkan teks program ke dalam instruksi mesin dasar.

Daftar bahasa pemrograman berikut: C ("C"), C# ("C-sharp"), "Fortran", "Pascal", Java ("Java") - adalah salah satu sintaksis tingkat tinggi yang paling banyak digunakan. Ia memiliki properti berikut: bahasa-bahasa ini bekerja dengan struktur yang kompleks, mendukung tipe data string dan operasi dengan informasi I/O file, dan juga memiliki keuntungan karena lebih mudah digunakan karena keterbacaan dan sintaksis yang dapat dimengerti.

Bahasa pemrograman yang paling banyak digunakan

Pada prinsipnya, Anda dapat menulis program dalam bahasa apa pun. Pertanyaannya adalah: apakah ini akan berjalan efisien dan tanpa kegagalan? Itu sebabnya Anda harus memilih bahasa pemrograman yang paling cocok untuk menyelesaikan berbagai masalah. Daftar berdasarkan popularitas dapat digambarkan sebagai berikut:

  • Bahasa OOP: Java, C++, Python, PHP, VisualBasic dan JavaScript;
  • kelompok bahasa struktural: Basic, Fortran dan Pascal;
  • multi-paradigma: C#, Delphi, Curry dan Scala.

Ruang lingkup program dan aplikasi

Pilihan bahasa di mana program tertentu ditulis sangat bergantung pada ruang lingkup penerapannya. Jadi, misalnya untuk bekerja dengan perangkat keras komputer itu sendiri (menulis driver dan program pendukung), pilihan terbaik adalah C (“C”) atau C++, yang termasuk dalam bahasa pemrograman utama (lihat daftar di atas) . Dan untuk pengembangan aplikasi seluler, termasuk game, Anda sebaiknya memilih Java atau C# (“C-sharp”).

Jika Anda belum memutuskan ingin bekerja di bidang apa, kami sarankan untuk mulai belajar dengan C atau C++. Mereka memiliki sintaksis yang sangat jelas dan pembagian struktural yang jelas ke dalam kelas dan fungsi. Selain itu, dengan mengetahui C atau C++, Anda dapat dengan mudah mempelajari bahasa pemrograman lainnya.

Bab 2: Apa itu bahasa komputer?

Video: Apa itu bahasa komputer?

Apa inti dari bahasa komputer? Mengapa komputer membutuhkannya? Mengapa ada begitu banyak bahasa komputer di dunia?

Sama seperti Anda tidak perlu mengendarai mobil untuk memahami cara kerja mesin, Anda tidak perlu memprogram untuk memahami jawaban atas pertanyaan-pertanyaan ini. Namun untuk meningkatkan pengetahuan Anda tentang topik tersebut, Anda perlu memahami cara kerja komputer. Penjelasan singkat diberikan di sini.

2.1 Sejarah singkat pemrograman

Komputer adalah elektronik digital. Persepsi mereka terhadap data adalah ada tidaknya tegangan pada kabel. Tidak adanya tegangan tampak seperti nol bagi komputer, adanya tegangan tampak seperti satu. Faktanya, komputer tidak mengetahui angka lain, jadi dia akhirnya harus menggabungkan angka 0 dan 1 untuk membuat angka.

Sebelumnya, sakelar khusus digunakan untuk memuat satu dan nol ke dalam memori komputer. Gambar ini, milik Wikimedia Commons, menunjukkan Altair 8800. Tombol di panel depan digunakan untuk memuat program. Lampu menunjukkan hasilnya. Tidak ada monitor.

Setiap rangkaian sakelar mewakili nomor. Setiap angka mewakili data atau instruksi yang harus dilakukan komputer dengannya. Sistem yang hanya menggunakan angka nol dan satu untuk menyatakan bilangan ini disebut sistem bilangan biner. Bahasa komputer jenis ini disebut 1GL, atau bahasa pemrograman generasi pertama.

Angka dalam sistem biner paling sering direpresentasikan dalam kombinasi empat digit. Misalnya:

1010 0010 0011

Peningkatan pada peralihan input adalah pengenalan kode heksadesimal. Angka desimal yang digunakan dalam kehidupan sehari-hari terdiri dari angka 0-9. Sistem bilangan heksadesimal terdiri dari angka 0-9, serta karakter A hingga F untuk mewakili sekumpulan empat sakelar, dengan kemungkinan nilai 0-15.

BinerDesimalHeksadesimal
0 0 0
1 1 1
10 2 2
11 3 3
100 4 4
101 5 5
110 6 6
111 7 7
1000 8 8
1001 9 9
1010 10 A
1011 11 B
1100 12 C
1101 13 D
1110 14 E
1111 15 F
1 0000 16 10
1 0001 17 11

Video berikut menjelaskan lebih banyak tentang cara kerja sistem bilangan: Video: Sistem desimal, biner, dan heksadesimal

Untuk mempermudah entri program, komputer kemudian mengizinkan program dimasukkan menggunakan bahasa assembly. Setiap perintah menggunakan mnemonik, dan program yang disebut compiler mengubah mnemonik menjadi angka yang mewakili perintah. Jenis bahasa ini disebut 2GL, atau bahasa generasi kedua.

Di bawah ini adalah bagian dari program dalam bahasa assembly, milik Wikimedia Commons.
Gambar 2.2: Contoh bahasa assembly

Meskipun ini merupakan peningkatan, namun masih belum cukup untuk membuat pemrograman menjadi mudah. Bahasa generasi berikutnya menyediakan abstraksi tingkat yang lebih tinggi. Bahasa generasi ketiga pertama: (COBOL, FORTRAN dan LISP) lebih mudah dipahami dan diprogram.

Bahasa generasi kedua dan ketiga menggunakan program yang disebut penyusun. Kompiler mengambil program yang dimasukkan oleh pengguna (yang disebut kode sumber) dan mengubahnya menjadi kode mesin. Pemrogram menjalankan kode mesin. Kode sumber asli tidak berjalan.

Jika suatu program menggunakan kode sumber dari sumber yang berbeda, maka kode tersebut dapat dihubungkan menjadi satu menggunakan program yang disebut penghubung (penghubung, editor tautan, penghubung). Linker bekerja dengan kode mesin yang dihasilkan oleh kompiler untuk membuat versi final program. Versi final inilah yang dijalankan pengguna. Tidak diperlukan kode sumber untuk ini.

Kekurangan bahasa mesin adalah program hanya akan berjalan pada jenis komputer tertentu. Program yang dikompilasi untuk komputer Windows kemungkinan besar tidak akan berfungsi di komputer Apple Macintosh dan sebaliknya.

Karena seluruh proses kompilasi dan penautan mungkin sulit bagi pemrogram pemula, beberapa bahasa sudah mulai digunakan penerjemah. Program-program ini melihat kode sumber dan mengubahnya menjadi kode mesin dengan cepat. Hal ini juga memungkinkan program yang sama untuk berjalan di komputer Windows, Mac, dan Unix, selama masing-masing platform ini memiliki akses ke penerjemah.

Kerugian menggunakan juru bahasa adalah lebih lambat dibandingkan bahasa mesin aslinya.

Gambar 2.4: Penerjemah

  1. Python adalah contoh bahasa yang ditafsirkan. Lebih mudah menulis dengan Python daripada C, tetapi Python lebih lambat dan membutuhkan juru bahasa agar dapat dijalankan dengan sukses.
  2. Berikan contoh bilangan dalam sistem biner. (Meskipun angka "1" dapat berupa biner, desimal, atau heksadesimal, cobalah memberikan contoh yang menunjukkan perbedaan antara sistem bilangan tersebut.)
  3. Berikan contoh bilangan dalam sistem desimal.
  4. Berikan contoh bilangan dalam notasi heksadesimal.
  5. Ubahlah bilangan 1, 10, 100, 1000 dan 10000 dari biner ke desimal.
  6. Apa itu kompiler?
  7. Apa itu kode sumber?
  8. Apa itu bahasa mesin?
  9. Apa itu bahasa pemrograman generasi pertama?
  10. Apa itu bahasa pemrograman generasi kedua?
  11. Apa itu bahasa pemrograman generasi ketiga?

Apa itu penerjemah?

Anda belum masuk. Masuk dan lacak kemajuan Anda.

Bahasa pemrograman Bahasa pemrograman - sistem tanda formal yang dirancang untuk merekam program komputer. Bahasa pemrograman mendefinisikan seperangkat aturan leksikal, sintaksis dan semantik yang mendefinisikan penampilan

  • Fungsi: program dan tindakan yang akan dilakukan oleh pelaku (komputer) di bawah kendalinya.
  • Tugas: Bahasa pemrograman berbeda dari bahasa alami karena dirancang untuk mengirimkan perintah dan data dari seseorang ke komputer, sedangkan bahasa alami digunakan untuk berkomunikasi antar manusia. Kita dapat menggeneralisasi definisi "bahasa pemrograman" - ini adalah cara menyampaikan perintah, perintah, panduan tindakan yang jelas; padahal bahasa manusia juga berfungsi untuk bertukar informasi.
  • Eksekusi: Bahasa pemrograman dapat menggunakan konstruksi khusus untuk mendefinisikan dan memanipulasi struktur data dan mengontrol proses komputasi.

Standarisasi bahasa pemrograman

Bahasa pemrograman dapat direpresentasikan sebagai sekumpulan spesifikasi yang menentukan sintaksis dan semantiknya.

Standar internasional telah diciptakan untuk banyak bahasa pemrograman yang banyak digunakan. Organisasi khusus secara teratur memperbarui dan mempublikasikan spesifikasi dan definisi formal dari bahasa terkait. Dalam kerangka komite tersebut, pengembangan dan modernisasi bahasa pemrograman terus berlanjut dan masalah perluasan atau dukungan terhadap konstruksi bahasa yang ada dan yang baru sedang diselesaikan.

Tipe Data

Komputer digital modern biasanya berbentuk biner dan menyimpan data dalam kode biner (walaupun implementasi dalam sistem bilangan lain juga dimungkinkan). Data ini biasanya mencerminkan informasi dari dunia nyata (nama, rekening bank, pengukuran, dll.) mewakili konsep tingkat tinggi.

Sistem khusus dimana data diatur dalam suatu program adalah tipe sistem bahasa pemrograman; pengembangan dan studi sistem tipe dikenal sebagai teori tipe. Bahasa dapat diklasifikasikan sebagai sistem dengan pengetikan statis dan bahasa dengan pengetikan dinamis.

Bahasa yang diketik secara statis dapat dibagi lagi menjadi bahasa dengan deklarasi wajib, di mana setiap deklarasi variabel dan fungsi memiliki deklarasi tipe yang diperlukan, dan bahasa yang digunakan tipe yang disimpulkan. Bahasa yang diketik secara dinamis terkadang disebut diketik secara laten.

Struktur data

Sistem tipe dalam bahasa tingkat tinggi memungkinkan definisi tipe gabungan yang kompleks, yang disebut struktur data. Biasanya, tipe data struktural dibentuk sebagai produk Cartesian dari tipe dasar (atom) dan tipe komposit yang telah ditentukan sebelumnya.

Struktur data dasar (daftar, antrian, tabel hash, pohon biner, dan pasangan) sering kali diwakili oleh konstruksi sintaksis khusus dalam bahasa tingkat tinggi. Data tersebut disusun secara otomatis.

Semantik bahasa pemrograman

Ada beberapa pendekatan untuk mendefinisikan semantik bahasa pemrograman.

Varietas yang paling luas adalah tiga jenis berikut: operasional, derivasional (aksiomatik) dan denotasional (matematis).

  • Saat mendeskripsikan semantik di dalamnya operasional pendekatan, biasanya eksekusi konstruksi bahasa pemrograman diinterpretasikan menggunakan beberapa komputer imajiner (abstrak).
  • Turunan semantik menggambarkan konsekuensi dari melaksanakan konstruksi bahasa menggunakan bahasa logika dan menentukan kondisi sebelum dan sesudah.
  • Denotasi Semantik beroperasi dengan konsep-konsep khas matematika - himpunan, korespondensi, serta penilaian, pernyataan, dll.

Paradigma Pemrograman

Bahasa pemrograman dibangun sesuai dengan satu atau beberapa model komputasi dasar dan paradigma pemrograman.

Meskipun sebagian besar bahasa berfokus pada model komputasi imperatif yang ditentukan oleh arsitektur komputer von Neumann, ada pendekatan lain. Kita dapat menyebutkan bahasa dengan model komputasi tumpukan (Forth, Factor, PostScript, dll.), serta fungsional (Lisp, Haskell, dll.) dan pemrograman logis (Prolog) dan bahasa REFAL, berdasarkan model komputasi diperkenalkan oleh matematikawan Soviet A. A. Markov Jr.

Saat ini, bahasa pemrograman berorientasi masalah, deklaratif dan visual juga aktif berkembang.

Cara mengimplementasikan bahasa

Bahasa pemrograman dapat diimplementasikan baik dalam bentuk kompilasi maupun interpretasi.

Suatu program dalam bahasa yang dikompilasi, menggunakan kompiler (program khusus), diubah (dikompilasi) menjadi kode mesin (seperangkat instruksi) untuk jenis prosesor tertentu dan kemudian dirangkai menjadi modul yang dapat dieksekusi, yang dapat diluncurkan untuk dieksekusi. sebagai program tersendiri. Dengan kata lain, kompiler menerjemahkan kode sumber program dari bahasa pemrograman tingkat tinggi ke dalam kode biner instruksi prosesor.

Jika program ditulis dalam bahasa interpretasi, maka interpreter langsung mengeksekusi (menafsirkan) teks sumber tanpa terjemahan terlebih dahulu. Dalam hal ini, program tetap dalam bahasa aslinya dan tidak dapat diluncurkan tanpa penerjemah. Prosesor komputer, dalam hal ini, dapat disebut sebagai penerjemah kode mesin.

Pembagian ke dalam bahasa yang dikompilasi dan ditafsirkan bersifat kondisional. Jadi, untuk bahasa apa pun yang dikompilasi secara tradisional, seperti Pascal, Anda dapat menulis seorang juru bahasa. Selain itu, sebagian besar penerjemah “murni” modern tidak mengeksekusi konstruksi bahasa secara langsung, tetapi mengkompilasinya menjadi beberapa representasi perantara tingkat tinggi (misalnya, dengan dereferensi variabel dan ekspansi makro).

Kompiler dapat dibuat untuk bahasa apa pun yang ditafsirkan - misalnya, bahasa Lisp, yang ditafsirkan secara asli, dapat dikompilasi tanpa batasan apa pun. Kode yang dihasilkan selama eksekusi program juga dapat dikompilasi secara dinamis selama eksekusi.

Secara umum, program yang dikompilasi berjalan lebih cepat dan tidak memerlukan program tambahan, karena sudah diterjemahkan ke dalam bahasa mesin. Pada saat yang sama, setiap kali teks program berubah, teks tersebut perlu dikompilasi ulang, yang memperlambat proses pengembangan. Selain itu, program yang dikompilasi hanya dapat dijalankan pada jenis komputer yang sama, dan biasanya di bawah sistem operasi yang sama, yang dirancang untuk kompiler tersebut. Untuk membuat executable untuk jenis mesin yang berbeda, diperlukan kompilasi baru.

Bahasa yang ditafsirkan memiliki beberapa fitur tambahan khusus (lihat di atas), selain itu, program di dalamnya dapat dijalankan segera setelah modifikasi, yang membuat pengembangan lebih mudah. Suatu program dalam bahasa yang ditafsirkan sering kali dapat dijalankan jenis yang berbeda mobil dan sistem operasi tanpa usaha tambahan.

Namun, program yang diinterpretasikan berjalan jauh lebih lambat dibandingkan program yang dikompilasi, dan program tersebut tidak dapat dijalankan tanpa program penerjemah.

Pendekatan ini, dalam arti tertentu, memungkinkan Anda untuk memanfaatkan keunggulan juru bahasa dan kompiler. Perlu disebutkan bahwa ada bahasa yang memiliki interpreter dan compiler (Forth).

Simbol yang digunakan

Bahasa pemrograman modern dirancang untuk menggunakan ASCII, yaitu aksesibilitas untuk semua grafis Karakter ASCII adalah kondisi yang diperlukan dan cukup untuk menulis konstruksi bahasa apa pun. Manajer Karakter ASCII digunakan secara terbatas: hanya carri return CR, line feed LF, dan tab horizontal HT (terkadang juga VT tab vertikal dan FF feed halaman) yang diperbolehkan.

Bahasa awal, yang muncul di era karakter 6-bit, menggunakan kumpulan karakter yang lebih terbatas. Misalnya alfabet Fortran memiliki 49 karakter (termasuk spasi): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ " :

Pengecualian penting adalah bahasa APL, yang menggunakan banyak karakter khusus.

Penggunaan karakter non-ASCII (seperti karakter KOI8-R atau karakter Unicode) bergantung pada implementasi: terkadang karakter tersebut hanya diperbolehkan dalam komentar dan konstanta karakter/string, dan terkadang dalam pengidentifikasi. Di Uni Soviet, ada bahasa yang semua kata kuncinya ditulis dalam huruf Rusia, tetapi yang paling populer bahasa serupa tidak menaklukkan (pengecualiannya adalah bahasa pemrograman bawaan 1C:Enterprise).

Perluasan kumpulan karakter yang digunakan dibatasi oleh kenyataan bahwa banyak proyek pengembangan perangkat lunak bersifat internasional. Akan sangat sulit untuk bekerja dengan kode yang nama beberapa variabelnya ditulis dalam huruf Rusia, yang lain dalam bahasa Arab, dan yang lainnya dalam karakter Cina. Pada saat yang sama, untuk bekerja dengan data teks, bahasa pemrograman generasi baru (Delphi 2006, Java) mendukung Unicode.

Kelas Bahasa Pemrograman

Lihat juga

Catatan

Literatur

  • Hal Abelson, Gerald Jay Sussman. Struktur dan Interpretasi Program Komputer
  • Robert W. Sebesta. Konsep Dasar Bahasa Pemrograman = Konsep Bahasa Pemrograman / Terjemahan. dari bahasa Inggris - edisi ke-5. - M.: Williams, 2001. - 672 hal. - 5000 eksemplar.
  • - ISBN 5-8459-0192-8 (Rusia), ISBN 0-201-75295-6 (Bahasa Inggris) Wolfenhagen V.E.
  • Konstruksi bahasa pemrograman. Teknik deskripsi. - M.: Pusat YurInfoR, 2001. - 276 hal. - ISBN 5-89158-079-9 Paronjanov V.D.
  • Bagaimana meningkatkan pikiran Anda. Algoritma tanpa pemrogram - sangat sederhana! - M.: Delo, 2001. - 360 hal. - ISBN 5-7749-0211-0 F.Biancuzzi, S.Worden.

Pelopor pemrograman. Dialog dengan pencipta bahasa pemrograman paling populer. - Sankt Peterburg. : Simbol-Plus, 2010. - 608 hal. - ISBN 978-5-93286-170-7

  • Tautan
  • Daftar Bahasa (Bahasa Inggris) - lebih dari 2500 bahasa dengan deskripsi singkat
  • Sejarah Bahasa Komputer (Bahasa Inggris) - sejarah bahasa pemrograman (dari 1954 hingga Mei 2004) (berisi bagan yang diperbarui secara berkala)
  • Contoh (Bahasa Inggris) - contoh pemrograman dalam 162 bahasa
  • Popularitas Bahasa Pemrograman (Bahasa Inggris) - studi popularitas bahasa pemrograman tahun 2004
  • Indeks Komunitas Pemrograman (Bahasa Inggris) - peringkat popularitas bahasa pemrograman yang diperbarui secara berkala
  • Tolok Ukur Adu Bahasa Komputer (Bahasa Inggris) - perbandingan bahasa pemrograman berdasarkan efisiensi
  • Bahasa Pemrograman yang Dicintai (Bahasa Inggris) - perbandingan bahasa pemrograman berdasarkan “cinta” dan “benci” terhadapnya

Yayasan Wikimedia.