Berpikir Ketika Memprogram dan Menguji Program

Setelah membaca posting reddit ini, saya teringat kembali pada buku Programming Pearl, terutama bagian yang dibahas dalam posting itu yaitu mengenai binary search. Dalam buku programming pearl dinyatakan bahwa para programmer professional yang diberi waktu 2 jam untuk menulis binary search, 90% memiliki bug (terutama di *boundary* condition). Penulis blog memberi tantangan pada pembacanya untuk… Continue reading Berpikir Ketika Memprogram dan Menguji Program

Published
Categorized as teknis, umum

Buktikan Anda hebat, bukalah source code Anda

Saya banyak mendengar orang yang merasa dirinya hebat dalam bidang programming, tapi tidak bisa membuktikan klaimnya. Jika ada yang bilang bahwa dirinya adalah penyanyi yang hebat, saya tinggal meminta dia menyanyi, jika dia adalah pelukis yang hebat, saya akan meminta dia melukis. Jika seseorang hanya memperlihatkan lukisan lalu bilang “saya melukis ini”, maka saya belum… Continue reading Buktikan Anda hebat, bukalah source code Anda

Published
Categorized as umum

System programming

Banyak orang yang terkesima dengan orang yang memprogram di level kernel sistem operasi; banyak juga yang menganggap wilayah kompilasi atau interpretasi itu sesuatu yang rumit, dan sebaiknya diterima saja, tidak perlu dipelajari. Sebagian orang bersifat tidak mau tahu. Misalnya ada yang bilang: mengapa belajar assembly atau C/C++, bahasanya nggak dipakai, mendingan belajar PHP, Ruby, Java… Continue reading System programming

Published
Categorized as c, hardware

Kritik PHP

PHP merupakan bahasa yang kurang bagus, designnya tidak dipikirkan dengan matang. Banyak sekali keanehan PHP dibanding bahasa lain, dan meskipun PHP sudah mulai agak membaik di versi 5.3 (yang baru dirilis 3 minggu yang lalu), saya masih menunggu PHP6 untuk mencoba lagi. Kebanyakan orang tidak menyadari bahwa mereka butuh sesuatu, atau bahwa sesuatu itu jelek,… Continue reading Kritik PHP

DataStore di Google AppEngine (RDBMS bukan segalanya)

Google AppEngine adalah sebuah layanan Google, di mana kita bisa membuat aplikasi dalam Python atau Java (atau bahasa lain yang memakai virtual machine Java) di infrastruktur milik Google. Secara teori, Anda akan bisa melayani 5 juta pengunjung per bulan secara gratis. Anda bisa membayar ekstra jika ingin mendapatkan resource yang lebih banyak. Saya akan menceritakan… Continue reading DataStore di Google AppEngine (RDBMS bukan segalanya)

Published
Categorized as teknis

Tutorial Membuat Interpreter/Compiler

Membuat sebuah interpreter/compiler masih merupakan misteri bagi sebagian besar orang. Setelah melihat-lihat aneka kurikulum, dan slide kuliah di berbagai tempat di Indonesia, saya mulai menyadari mengapa. Pertama: dasar teori untuk membuat sebuah compiler/interpreter kurang diajarkan dengan baik, dan yang kedua: mata kuliah kompilasi hanya berisi teori, padahal mempraktikkan pembuatan compiler/interpreter tidaklah sulit Proses interpretasi/kompilasi dimulai… Continue reading Tutorial Membuat Interpreter/Compiler

Published
Categorized as bahasa

Garbage Collection bukan Panasea

Para mahasiswa yang belajar C setelah belajar beberapa bahasa lain (seperti PHP dan Java) biasanya akan kesulitan, karena di C alokasi memori harus diperhatikan dengan sangat detail. Bahkan setiap string harus dialokasi manual. Anda juga harus tahu dengan tepat apakah suatu objek berada di heap atau stack (dalam C *objek* adalah suatu lokasi memori yang… Continue reading Garbage Collection bukan Panasea

Published
Categorized as bahasa

Pendidikan Pemrograman Yang Tidak Baik

Seperti telah saya tuliskan sebelumnya, belajar pemrograman secara formal itu perlu, tapi sayangnya beberapa tempat tidak mengajarkan pemrograman dengan baik. Berikut ini beberapa ciri pengajaran pemrograman yang tidak baik: Terlalu berfokus pada tools tertentu yang trend saat ini. Mahasiswa wajib memakai tools X (misalnya IDE-nya harus Microsoft Visual Studio, atau harus memakai Visual Prolog). Tools… Continue reading Pendidikan Pemrograman Yang Tidak Baik

Published
Categorized as bahasa, umum

Representasi Bilangan Desimal di Komputer

Dalam dunia komputer, biasanya kita menggunakan representasi floating point untuk menyimpan bilangan desimal. Namun itu bukan satu-satunya representasi yang ada. Ada beberapa representasi lain yang berupa fixed point, misalnya BCD (binary coded decimal), Chen-Ho, dan DCD (Densely Coded Decimal). Jika diperlukan Anda pun bisa membuat representasi sendiri, sesuai yang Anda mau. Metode penyimpanan yang ada… Continue reading Representasi Bilangan Desimal di Komputer

Struct vs Union

Posting ini merupakan jawaban saya pada sebuah pertanyaan di milis linux-programming (Juli 2007). Saya posting di sini karena mungkin akan berguna bagi pemula dalam C. Struct berguna untuk mengelompokkan data. Contoh: struktur mahasiswa mungkin memiliki NIM, nama, dst. Rasanya ini mudah dimengerti. Union: untuk memberi beberapa nama untuk satu lokasi memori. Ini yang biasanya yang… Continue reading Struct vs Union

Published
Categorized as bahasa, c