$theTitle=wp_title(" - ", false); if($theTitle != "") { ?>
One Stop Computer Science
12 Oct // php the_time('Y') ?>
1. Names
Jika terlalu pendek, nama tidak dapat memiliki arti.
Contoh bahasa:
Karakter spesial:
Case sensitive
Nama di C merupakan case sensitive. Kerugiannya adalah readability (nama yang serupa tapi tidak sama, contoh: a dengan A berbeda).
Special words
Bantuan untuk readability; digunakan untuk membatasi pernyataan klausa.
Reserved word adalah special word yang tidak digunakan sebagai nama. Potensi masalah menggunakan reserved word adalah jika terlalu banyak, banyak terjadi bentrokan (contoh: COBOL memiliki 300 reserved words).
Variabel
Variabel adalah abstraksi dari sel memori. Variabel terdiri dari enam atribut, yaitu:
2. Bindings
Binding adalah sebuah gabungan antara entitas dan atribut, seperti antara sebuah variabel dan tipe atau nilainya, atau antara operasi dan sebuah simbol.
Possible binding times:
Dynamic Type Binding
Digunakan pada JavaScript, Phyton, Ruby, PHP, dan C#.
Keuntungan: Flexibility
Kerugian: Type error sulit dideteksi oleh compiler dan memakan banyak memori.
Kategori variabel berdasarkan lifetime:
3. Scope
Scope dari sebuah variabel adalah jangkauan dari pernyataan yang kelihatan. Local variables dari sebuah program adalah semua yang dideklarasikan dalam unit tersebut, sedangkan nonlocal variables dari sebuah program adalah semua yang kelihatan dalam unit tersebut namun tidak dideklarasikan. Global variables adalah kategori spesial dari nonlocal variables. The scope rules dari sebuah bahasa menentukan bagaimana acuan nama terkait dengan variabel.
Static Scope
Berdasarkan program text. Untuk menghubungkan naam dengan acuan kepada sebuah variabel, compiler harus menemukan deklarasi terlebih dahulu.
Search process: mencari deklarasi, awalnya lokal, kemudian menyebar ke lampiran yang lebih luas hingga akhirnya ditemukan untuk sebuah nama.
Enclosing static scopes disebut static ancestors; static ancestor yang terdekat disebut static parent.
Global Scope
C, C++, PHP, dan Phyton mendukung sebuah struktur program yang terdiri dari sebuah urutan fungsi yang didefinisikan dalam file. C dan C++ memiliki deklarasi dan definisi.
Static Scoping
Bekerja dengan baik di banyak situasi. Masalahnya: dalam kebanyakan kasus, terlalu banyak akses yang mungkin terjadi dan sebagai program yang berkembang, struktur awal dihancurkan dan local variables terkadang menjadi global; subprogram juga tertarik menjadi global dibandingkan nested.
Dynamic Scope
Didasarkan oleh panggilan urutan dari sebuah unit program, bukan textual layout. Mengacu kepada variabel yang terhubung dengan deklarasi untuk pencarian panggilan ikatan subprogram yang terpaksa dieksekusi pada bagian ini.
Contoh:
function big() {
function sub1()
var x = 7;
function sub2() {
var y = x;
}
var x = 3;
}
–Static scoping
–Dynamic scoping
Leave a reply