Saya selalu tertarik pada ide-ide berbeda tentang belajar pemrograman. Mungkin ini karena saya tetap menjadi siswa abadi di bidang ini. Tapi hari ini saya berkenalan dengan satu 
ide yang tidak terduga untuk saya - untuk mulai belajar dengan Java. Dan saya tidak bisa diam.
Saya bukan spesialis pedagogi yang hebat - mungkin dalam ilmu komputer adalah kebiasaan untuk melempar siswa ke dalam air, memilih tempat yang lebih dalam, dan di sana - mereka yang ditakdirkan untuk datang. Tetapi bagi saya masih terasa bahwa pelatihan akan paling efektif jika guru memperkenalkan siswa pada berbagai konsep pemrograman satu per satu, seiring meningkatnya kompleksitas. Oleh karena itu, persyaratan utama untuk PL "pelatihan" adalah kemampuan untuk menggunakan fitur Anda secara terpisah, dimulai dengan yang paling dasar.
Sekali lagi, menurut pendapat amatir saya, mudah untuk memeriksa apakah bahasa pemrograman memenuhi persyaratan ini. Cukup buka 
bagian "Hello World" pada Rosetta Code .
Mari kita coba daftar konsep yang diperlukan untuk memahami program-program dasar ini.
Ini dilengkapi atas permintaan pendengar radio. Brainfuck, PHP, C, Julia.
Python 2
print 'Hello world!' 
Saat mem-parsing kode ini, guru setidaknya harus menjelaskan secara singkat kepada siswanya apa 
kata kunci , 
operator, dan 
tipe data string . Tentu saja, bahkan tanpa penjelasan seperti itu, beberapa siswa (tetapi tidak semua!) Dapat dengan cepat mengembangkan pemahaman intuitif tentang fitur-fitur ini. Namun, lebih baik segera mencapai kepastian.
Ruthon 3
 print('Hello world!') 
Konsep 
fungsi ditambahkan 
ke kata kunci dan 
baris . Ya, fungsi 
print merupakan nilai tambah dari Python 3 sebagai bahasa industri. Tetapi pada saat yang sama, suatu fungsi adalah fitur level yang lebih tinggi daripada operator, dan ini mempersulit studi tentang Python 3 sebagai PL pertama. Ya, Anda sebagai guru dapat menunda penjelasan tentang perlunya menggunakan tanda kurung untuk salah satu kelas berikut, tetapi ini akan tetap menyebalkan di otak siswa Anda.
Julia
 println("Hello world!") 
Konsep dasar yang sama seperti dalam kasus Python 3. Tetapi Julia adalah Java dinamis kinerja tinggi yang dikompilasi ke dalam kode asli. Bravo!
Dasar
 10 PRINT "Hello world!" 
Kata kunci , 
string AP , 
operator , 
penomoran baris kode. Penomoran baris dalam Dasar adalah konsep tingkat rendah yang agak rumit yang meniru perangkat memori fisik komputer. Itu bisa menjadi batu sandungan bagi siswa jika guru tidak memperhatikannya.
Dalam dialek selanjutnya, seperti VisualBasic, baris kode menjadi 
label yang sederhana dan tidak dapat dikomputasi. Pada program pertama, tag tidak diperlukan. Karena itu, bahasa menjadi lebih mudah untuk pembelajaran dasar.
Pascal
 program HelloWorld(output); begin writeln('Hello, World!'); end. 
Kata kunci , 
string TD , 
operator , 
fungsi , dan apa lagi? Karena program ini mengambil beberapa baris, 
blok , 
pembatas (atau 
terminator ? Saya selalu membingungkan mereka) dan 
indentasi ditambahkan ke konsep pertama. Dan pernyataan 
program tidak sesederhana itu ... Tampaknya keramahan Pascal agak dilebih-lebihkan.
C
 #include <stdlib.h> #include <stdio.h> int main(void) { printf("Hello world!\n"); return EXIT_SUCCESS; } 
Kata kunci , 
string AP , 
operator , 
fungsi , 
blok , 
pembatas dan 
lekukan , serta 
arahan preprocessor dan 
makro . Itu mungkin dilakukan tanpa makro dalam contoh ini, tetapi 
return EXIT_SUCCESS dalam kasus ini sangat indikatif: C adalah bahasa pemrograman sistem tradisional, oleh karena itu disarankan untuk mempelajarinya berdasarkan pemahaman yang baik tentang 
pengoperasian sistem operasi dan dengan fokus pada 
portabilitas . Kalau tidak, PL ini tampaknya sedikit lebih rumit daripada Pascal.
Php
 <?php echo "Hello world!\n"; ?> 
Selain memahami 
kata kunci , 
string AP , 
operator dan 
pembatas (atau 
terminator ?), Contoh ini tidak dapat dipelajari tanpa pemahaman dasar tentang teknologi web tertentu seperti 
bahasa markup (HTML) dan 
mesin templat . Sebenarnya, PHP adalah bahasa templat, semacam DSL. Akibatnya, PHP adalah bahasa pembelajaran yang bagus untuk vendor front-end yang ingin mempelajari lebih dalam teknologi backend. Tetapi belajar PHP dari awal cukup sulit.
C ++
 #include <iostream> int main () { std::cout << "Hello world!" << std::endl; } 
Kata kunci , 
string AP , 
operator , 
fungsi , 
blok , 
pembatas dan 
lekukan , serta 
preprosesor dengan arahan, 
ruang lingkup , 
streaming input / output ... Ugh, apakah itu semua?
Jawa
 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello world!"); } } 
Kata kunci , 
string AP (bahkan dua string AP, tetapi Anda dapat tetap diam tentang hal itu), 
mengosongkan AP , 
array , 
blok , 
pembatas dan 
lekukan , serta 
kelas , 
objek (secara implisit, tetapi Anda tidak akan menjelaskan 
static sebaliknya), 
atribut , 
metode , 
pengubah akses ... Tuhan, aku sudah ingin melihat semua ini! Lagi pula, saya hanya ingin menulis mod untuk Minecraft!
C #
 namespace HelloWorld { class Program { static void Main(string[] args) { System.Console.WriteLine("Hello world!"); } } } 
Java yang sama, 
pengubah akses dikurangi, plus 
ruang nama . Tidak ada yang menarik, kami lewat.
Brainfuck
Saya tidak ingin mendaftar di sini - terlalu tebal dan monoton. Saya hanya akan mencantumkan konsep dasar yang perlu dipelajari untuk memahami contoh ini: 
kata kunci , 
operator , 
variabel , 
pointer , 
kondisi , 
loop , 
representasi numerik karakter (tabel ASCII). Ya, Brainfuck bukan bahasa yang paling mudah diakses untuk pemula.
Kesimpulan
Tentu saja, selain โentri cepatโ (kemudahan memahami program dasar), ada sejumlah faktor yang memengaruhi pilihan PL untuk pelatihan. Ini adalah ketersediaan lingkungan yang nyaman dan alat untuk pengkodean, dan kualitas dokumentasi, dan, akhirnya, penerapan praktis. Tetapi jika langkah-langkah pertama dalam belajar dihubungkan dengan rasa sakit dan kesalahpahaman, ini mungkin lebih penting dari semua argumen lainnya. Secara umum, belajarlah dengan mudah dan jangan repot-repot!