Minggu, 22 April 2007

life can be harsh, but everything happens for a reason

ni sebuah post yang bicara pada diri saya sendiri, curhat lah.

menjalani kehidupan, aq sering berpegang bahwa mau seperti apa kehidupan kamu, kamu sendiri yang tentuin. kamu mau makan apa, pakai baju apa, tidur jam berapa, sekolah di mana, kamu yang tentuin. kalo kamu dah tau apa yang kamu mau, you make that happen. kamu usahain biar yang kamu mau kesampaian. aku pikir kalo aq pegang pendapatq ini, aq adalah orang yang bisa selalu maju ke depan.

tapi setelah melihat dan mendengar, apa yang terjadi di kehidupanq, kehidupan orang-orang lain, faktor "kamu" ternyata nggak seberapa penting. bahkan kalau terlalu fokus dan yakin di faktor "kamu", yang ada kamu merasa tertipu. tertipu sama.... hidup. hehehe. aneh ya?

ibaratnya di kehidupan programming, kamu adalah sebuah variabel yang di instantiate, dibikin pada sebuah scope tertentu, by certain event, dalam sebuah sistem yang sangat kompleks dan melibatkan milyaran variabel yang lain. proses pembentukan variabel "kamu" ini sendiri aja melibatkan banyak fungsi, procedure, dan variabel lain yang kamu sendiri nggak pernah tahu.

yang kamu tahu, kamu adalah sebuah variabel, yang dibentuk di scope ini, oleh event apa dan kapan, dan bahwa kamu menyimpan suatu nilai. and that's it. kamu nggak tahu, kenapa si programmer mau instantiate kamu, dan kenapa dia ngasih nilai segitu ke kamu. kamu tahu bahwa kamu ada.

ketika sistem berjalan, kamu mulai mengalami perubahan nilai, di parsing ke beberapa fungsi, dan kamu mulai dapat gambaran, bahwa kamu tuh variabel yang dipake buat apaan. trus kamu mulai terbiasa dengan kegunaan kamu, dan mungkin berasumsi bahwa kamu akan terus digunakan untuk hal yang sama sampai sistem ini nggak membutuhkan kamu lagi.

tapi sebenarnya, si variabel nggak pernah tau maunya si programmer. gimana kalo si programmer meng-cast si variabel ke tipe data yang lain? gimana kalo si programmer memutuskan untuk mendispose si variabel hanya 3 baris setelah variabel tadi di-instantiate? kamu nggak pernah tau. jadi, suatu waktu ketika sistem berjalan, suatu variabel bisa dibekukan buat waktu yang lama, bisa dikasih nilai yang sangat besar, atau sangat kecil, di-parse ke sekian banyak procedure/funsgi, atau bahkan diganti tipe data-nya. si variabel cuma bisa nurutin apa maunya programmer dengan menuruti code-nya. apa yang terjadi di suatu saat pada suatu variabel, pasti punya pengaruh atau dipengaruhi variabel lain yang bekerja dalam sistem. semua pasti ada alasannya, kenapa variabel ini punya nilai segini. kalo nggak, sistemnya nggak akan jalan dengan bener.

yang jelas, suatu variabel, nggak akan eksis selamanya di sistem. suatu saat dia akan di-dispose, perannya bakal diganti variabel yang lain, ketika memang itu perlu. yang menentukan, ya si programmer.

kesimpulannya, sadarilah siapa kamu sebenarnya, yang cuma sekedar variabel di sistem yang guedhenya luar biasa. lagian, kamu cuma variabel yang bisa di-dispose sewaktu-waktu. kegunaan kamu buat sepanjang sistem, cuma programmer yang tahu, yang jelas baik2lah sebagai variabel, jangan suka corrupt seenakmu sendiri. walaupun kalo kamu variabel yang corrupt, si programmer dah menyiapan error handling yang rapi, so the system will always run. tapi sesingkat apa lifetime kamu sebagai variabel, sebesar apapun nilai yang di-assign ke kamu sebagai variabel dalam sistem, pasti ada impactnya buat sistem. programmer yang baik nggak akan menginstantiate variabel tanpa tujuan.


nggak salah kalo kamu menentukan goals buat kamu sendiri. harus malahan. tapi jangan berpegang pada itu. berpeganglah bahwa kamu variabel, yang akan di-assign oleh programmer untuk hal-hal yang kamu belum tahu. apapun itu, pasti programmer dah tau seberapa sih daya tampung kamu sebagai variabel. nggak mungkin dia ngasih nilai 65536 buat variabel boolean tanpa cast yang layak. yakinlah bahwa kamu punya impact terhadap sistem, walaupun kamu nggak jelas apa aja impact yang disebabkan buat kamu.


di kehidupan, Allah swt ngasih kelebihan buat si variabel, buat masukin nilai-nilai yang dia pilih sendiri, dengan guideline yang udah dia kasih. tapi, kita tetap buatan Dia, yang nggak bisa keluar dari coding-an Beliau.



sometimes we just don't understand what is going on, but everything has it's own time and reason. be a good human, and variable... because we don't know nothing. the Programmer knows how the system works.

Tidak ada komentar: