Sesuatu fasilitas dari C yang perlu menjadi perhatian programmer adalah kemampuan dalam mengatur isi memori komputer.C Standar tidak menyediakan fasilitas array bounds checking yang dengan mudah akan menyebabkan bug dalam kaitannya dengan operasi memori, seperti buffer overflows, serta computer insecurity.
Beberapa fasilitas C adalah :
- Suatu bahasa dengan (kernel) inti yang sederhana, dimana fungsi-fungsi yang kurang penting tersedia sebagai kumpulan rutin-rutin pustaka (library) yang di standarisasi.
- Terfokus pada paradigma pemrograman procedural, dengan fasilitas pemrograman yang terstruktur.
- Memiliki suatu bahasa preprocessor.
- Memiliki perfomance O(1) untuk semua operator.
- Akses secara Low-level pada memori komputer melalui pointer.
- Parameter selalu dilewatkan ke function secara by value, bukan by reference.
Pengembangan C mula-mula dilakukan di laboratoriun AT&T Bell antara tahun 1969 dan 1973; menurut Ritchie, periode yang paling kreatif adalah 1972. Namanya C karena banyak fasilitasnya diambil dari bahasa sebelumnya yang disebut sebagai "B".
Pada tahun 1973, bahasa C menjadi cukup powerfull dimana biasanya kernel UNIX aslinya ditulis dengan menggunakan bahasa assembly PDP-11/20, telah ditulis kembali dengan menggunakan C. Ini merupakan pertama kali kernel suatu sistem operasi yang ditulis dengan bahasa selain assembly.
Pada tahun 1978, Ritchie dan Brian Kerhighan mempubikasikan suatu buku edisi pertama dengan judul The C Programming Language. Buku ini dikenal oleh para programmer C sebagai "K&R".
K&R mengenalkan fasilitas berikut pada bahasa tersebut :
- Type data struktur (struct).
- Type data long int.
- Type data unsigned int.
- Operator =+ diganti dengan +=, karena (=+ membingungkan lexical analyzer Compiler C).
Pada tahun setelah publikasi K&R C, beberapa fasilitas tambahan seperti :
- Void function dan void * data type.
- Fungsi pengembalian struct atau union type.
- Nama field struct dipisahkan dengan sebuah spasi setelah type struct.
- Assignment untuk type data struct.
- Const qualifier untuk membuat suatu object read-only.
- Suatu standard library yang terdiri dari banyak fungsi yang di sediakan oleh berbagai vendor.
- Enumerations.
- Type single-precision float.
Sejak tahun 1970, C mulai mengantikan BASIC sebagai pemimpin bahasa pemrograman mikrokomputer. Sejak 1980 mulai diadopsi pemakaiannya pada IBM PC, dan popularitasnya mulai bertambah secara nyata. Pada saat yang bersamaan Bjarne Stroustrup pada Bell Labs mulai bekerja untuk menambah konstruksi object-oriented pada C. Bahasa yang mereka produksi disebut sebagai C++, dan sekarang merupakan bahasa yang banyak dipergunakan pada sistem operasi Microsoft Windows; sedangkan C tetap merupakan bahasa yang poluler di Unix.
Pada tahun 1983, American National Standards Institute (ANSI) membentuk suatu komite, X3J11, untuk mengembangkan suatu spesifikasi standard untuk C. Melalui proses yang panjang, standard tersebut berhasil diselesaikan pada tahun 1989 (satu tahun setelah standard ANSI pertama untuk C++!) dan diratifikasikan sebagai ANSI X3.159-1989 "Programming Language C". Versi bahasa ini sering disebut sebagai ANSI C. Pada tahun 1990, ANSI C standard (dengan beberapa modifikasi kecil) telah diadopsi oleh International Standards Organization (ISO) sebagai ISO/IEC 9899:1990.
ANSI C didukung oleh kebanyakan compiler. Banyak kode C yang ditulis sekarang didasarkan pada ANSI C. Semua program yang ditulis dengan standard C dijamin akan berfungsi dengan baik pada platform lain yang memiliki C. Tetapi banyak juga program C yang hanya dapat di kompilasi pada platform tertentu dengan compiler tertentu sehubungan dengan library non standard, misalnya untuk graphic.
Setelah proses standarisasi oleh ANSI, sepesikasi bahasa C masih relatif statis untuk beberapa saat, sedangkan C++ terus berevolusi. (Normalnya penyempurnaan 1 telah menghasilkan suatu versi C yang baru pada tahun 1995, tetapi versi yang ini jarang diketahui.) Sedangkan, revisi standard tahun 1990, mengawali publikasi sebagai ISO 9899:1999 pada tahun 1999. Standard ini disebut sebagai "C99" telah diadopsi sebagai ANSI standard pada 2000.
Kemampuan baru C99 meliputi:
- Fungsi inline function.
- Membebaskan pembatasan terhadap tempat deklarasi variabel (seperti pada C++).
- Menambah beberapa type data baru, termasuk long long int (untuk mengurangi kesulitan transisi 32-bit ke 64-bit), type data boolean, dan suatu yang baru untuk bilangan complex.
- Array variable-length.
- Dukungan resmi terhadap one-line comment yang dimulai dengan //, dipinjam dari C++.
- Beberapa fungsi library baru, seperti snprintf().
- Beberapa header file baru, seperti stdint.h.
Dukungan terhadap C99 cukup beragam, dimana GCC dan beberapa compiler lainnya mendukung fasilitas C99, tetapi compiler yang dibuat oleh Microsoft dan Borland tidak.
lanjut ke Sejarah Pemrograman C++ part III
lanjut ke Sejarah Pemrograman C++ part III
0 komentar:
Post a Comment
Terimakasih sudah berkomentar dengan baik, sopan dan tidak spam.
Klik Subscribe by email jika ingin mengetahui update komentar pada artikel.