ElhakimZ Bl0gz

Hi, this is my rants regarding computer sciences and socials. Currently my profession is a software developer, I love creating things that purposeful using computer , and to boldly go where no man has gone before. Delights? I am ..mostly caffeinated ;)

Sunday, September 23, 2007

 
"Silver Bullet"

Silver Bullet atau peluru perak (yang di dalam film horror sering digunakan untuk membunuh serigala jadi-jadian) keberadaannya dianggap hal yang mustahil dalam dunia pengembangan software (atau jika dengan teori kemungkinan, keberadaan "Peluru Perak" bisa dianggap nol). Sekitar setahun yang lalu saya membaca artikel yang ditulis oleh ilmuwan dan filsuf mbalelo bernama Dr. Jaron Lanier (juga dikenal sebagai bapaknya Virtual Reality) bahwa "dengan menghindari pengembangan software berdasarkan algoritma, silver-bullet bisa ditemukan". Masalah terbesar kegagalan pengembangan software yang stabil karena kita menggunakan metode algoritma, bukan dengan metode pengembangan instrumen yang menngunakan signal dan reseptor. Dogma "There is No silver-bullet" dianggap oleh oom Jaron sebagai indoktrinasi yang dilakukan oleh para ilmuwan yang dibayar oleh korporasi demi kepentingan bisnis mereka, bayangkan kerugian yang mereka hadapi jika "Silver-Bullet" ditemukan, persis seperti komentar: "Bayangkan jika Saddam Hussein jual minyak dengan Euro".

Solusi yang ditawarkan Lanier membutuhkan perubahan radikal dalam cara kita mengembangkan software: Yaitu pindahnya paradigma pengembangan software yang menggunakan algoritma ke arah pengembangan software berbasis signal, tersinkron yang tidak hanya menjamin peningkatan produktifitas tapi juga program-program yang dijamin bebas dari defect, terlepas dari kerumitannya.

Paradigma kuno yang dikembangkan dari model matematika Muhammad Al-Khowarizmi(825), Jacquard (1802) dengan Punch-Card hingga pengembangan mesin analitik oleh Charles Babbage bersama Lady Ada Lovelace (1842) menjadi dasar teknik konstruksi software saat ini, disamping para programmer dahulu adalah para ahli matematik yang memandang komputer sebagai alat untuk memecahkan masalah matematik dengan teknik algoritma hingga pada tahun 1950an datanglah generasi komputer elektronik yang berdasarkan ide Alan Turing yang mensyaratkan bahwa program mesti dijalankan pada UTM (Universal Turing Machine). Namun meskipun begitu model Turing adalah model sequential yang berbeda dengan apa yang sebenarnya terjadi di alam ini dimana setiap kejadian memerlukan komputasi simultan, tepatnya suatu program mestilah merupakan suatu sistem otomatis yang mendeteksi perubahan pada lingkungan dan menghasilkan perubahan sebagaimana halnya sistem syaraf dan IC.

Kesimpulan dari Lanier, bahwa dogma "There's no silver-bullet" hanya berlaku pada sistem software yang menggunakan teknik algoritma, yang artinya bahwa serigala jadi-jadian yang menjadi target adalah software berbasis algoritma, bukan kompleksitas dari software itu sendiri, dan peluru perak itu mesti digunakan untuk membunuh sang serigala sekaligus, bukan sekedar menjadi obat penenang yang hanya menghentikan sang serigala secara sementara. Untuk itu kita mesti mengetahui bahwa terjadi pembusukan pada inti dari pembuatan software. Kita mesti mengetahui bahwa menggunakan algoritma sebagai basis pemrograman komputer adalah halangan besar terakhir yang dalam pencapaian desain serta konstruksi software yang reliable sebagaimana pada hardware. Untuk mengakhiri krisis kita mesti mengadopsi model software yang sinkronis dan berbasis-signal, hanya dengan itu kita bisa menghasilkan software yang terjamin bebas dari defect tanpa perlu peduli akan kompleksitas.

Rebel Science

Labels: ,


 
Bahasa Pemrograman Untuk NASA

Pernah penasaran, bahasa pemrograman apa yang digunakan oleh NASA dalam pesawat ulang-alik? C++, Pascal, Java atau VB (yuxx)? anda mungkin bisa mendapatkan sedikit informasi mengenai hal tersebut pada blog ini, lumayan juga setelah melihat baris kode yang masih menggunakan GOTO (:o) dalam rutin yang dipergunakan untuk hal-hal yang selama ini kita anggap canggih.

Bahasa pemrograman itu antara lain HAL/S yang dirilis akhir tahun 1960 untuk keperluan pemrograman real-time yang sebelumnya menggunakan bahasa assembly atau interpreter. Bahasa ini didesain untuk meghadapi pengembangan sistem yang lebih kompleks dan merupakan turunan dari bahasa XPL. Dari syntaxnya terlihat seperti syntax Ada yang dipakai oleh militer USA.

Selanjutnya adalah bahasa pemrograman yang dinamakan GOAL, yang ditujukan untuk keperluan testing (saya melihat bahasa ini masih menggunakan statemen GOTO).

Ada lagi bahasa lain yang digunakan NASA (tapi untuk pesawat ulang-alik?..wallahualam) yaitu Python yang menurut situs resmi Python, bahasa ini "digunakan untuk keperluan CAD/CAE dsb.dsb."

Perkembangan terakhir tampaknya NASA sudah menggantikan bahasa HAL/S dengan Ada.

Labels:


 
ZOOEY

Link ini saya dapatkan ketika iseng-iseng mencari implementasi ZUI (Zoomable User Interface) untuk Flex, dan yang saya dapatkan baru implementasi dengan emaknya Flex yaitu Flash buatan timnya Joe Raskin (alm). Implementasi lainnya yang cukup menarik adalah FileMage oleh beberapa anak muda dari Italy, meskipun fitur cachingnya tidak terlalu sempurna, tapi sangat bagus dan hampir mirip dengan slideshow yang dihasilkan oleh aplikasi Preview di Mac OS X, cuma bedanya kita bisa melakukan zooming secara interaktif.

Contoh implementasi ZUI untuk Java saya dapatkan juga dari situs ini.

Hmm tampaknya mesti coba eksperimen di Flex. Atau apa contoh seperti ini bisa dijadikan titik awal?

Labels:


 
I AM BACK

Saya punya teman yang hobi menulis --terakhir saya melihat dia menulis ulasan MotoGP dalam waktu 30 menitan sepanjang 5 halaman--. Dalam hal ini jelas saya kalah dan kurang pengalaman (disamping nggak hobi). Tapi lumayan banyak juga keuntungan menulis (dalam arti mengetik) antara lain
1. Melancarkan ketrampilan mengetik.
2. Mengisi kekosongan blog pribadi
3. Mendapatkan teman yang mengkritik betapa amatirnya saya.

Hobi saya (excl. kelayapan, browsing, makan enak dan tidur) adalah mengeksplorasi fitur atau paradigma terbaru dalam dunia pengembangan perangkat lunak disamping sedikit belajar sejarah tentang "mengapa manusia rela saling tonjok demi Yang Satu itu" atau "cara-cara menghindari masalah nggak penting".

Sudah lama saya tiaak nulis di dunia per-blog-an karena terlalu sibuk.

Mungkin segini saja dulu..

Labels:


Archives

12/26/2004 - 01/02/2005   01/02/2005 - 01/09/2005   02/20/2005 - 02/27/2005   08/28/2005 - 09/04/2005   09/04/2005 - 09/11/2005   09/25/2005 - 10/02/2005   10/02/2005 - 10/09/2005   10/23/2005 - 10/30/2005   11/06/2005 - 11/13/2005   11/13/2005 - 11/20/2005   12/04/2005 - 12/11/2005   12/11/2005 - 12/18/2005   12/18/2005 - 12/25/2005   12/25/2005 - 01/01/2006   01/01/2006 - 01/08/2006   01/08/2006 - 01/15/2006   01/22/2006 - 01/29/2006   01/29/2006 - 02/05/2006   02/05/2006 - 02/12/2006   02/26/2006 - 03/05/2006   03/05/2006 - 03/12/2006   07/09/2006 - 07/16/2006   09/23/2007 - 09/30/2007  

This page is powered by Blogger. Isn't yours?