Skip to main content

Software Jaman Sekarang Cenderung Rakus

Ini hanya pendapat ngawur, tidak ada survey yang ilmiah. Menurutku, kebanyakan software jaman sekarang dibuat dengan tidak terlalu mempertimbangkan penggunaan memory dan efisiensi. Yang penting cepat diselesaikan, toh memory makin murah, storage juga makin murah, processor makin cepat. Gak terlalu pusing dengan optimasi. Kalau software dirasa berjalan lambat, bukan softwarenya yang diperbaiki, tapi spec hardwarenya yang harus diupgrade. Tambah memory, upgrade processor, dan sebagainya.

Aku memang tidak pernah merasakan bikin sofware jaman cobol, fortran, C dsb. Tapi setidaknya aku pernah mengalami berbagai keterbatasan saat belum ada Windows, processor masih 133Mhz, memory 32Mb :) Jaman dimana software diusahakan sangat optimal, karena banyaknya keterbatasan hardware. Ada tuntutan software yang optimal, agar kinerja tidak terlalu tergantung dengan kemampuan hardware. Seiring dengan munculnya berbagai visual tools, yang cukup dengan drag and drop, dan perkembangan hardware tentu saja, kurasa masalah optimasi dalam pemrograman mulai ditinggalkan. Aku sendiri mengalami.

Benarkah? Mungkin sebagian besar iya. Apalagi bagi yang hanya bekecimpung dalam pemrograman desktop. Tapi dalam dunia web, dan mungkin juga cloud computing, sepertinya programmer yang bagus harus kembali memikirkan optimasi dalam source code yang ditulisnya. Kadang aku gak habis pikir waktu baca di forum, CSS saja harus dioptimalkan, apalagi Javascript. Soalnya ketika bicara website, loading yang terlalu lama meskipun menghasilkan website yang ciamik, tetap saja bisa segera ditinggalkan pengunjung. Rendering javascript juga sedikit banyak tergantung kemampuan browser, tidak hanya mengandalkan hardware. Tentu, kondisi hardware tidak bisa dikesampingkan. Pokoknya urusan web programming gak bisa sembarangan lagi. Belum lagi ketika bicara pemrograman untuk mobile, yang notabene hardwarenya masih serba terbatas.

Nah, kalau di cloud computing, aku pernah kepergok. Oke lah, menggunakan istilah cloud computing jelas terlalu luas. Aku batasin, coding di salesforce.com. Sekarang aku dibuat puyeng karena salesforce.com menerapkan apa yang mereka sebut sebagai "governor limit". Batasan jumlah query, batasan jumlah baris, batasan jumlah memory, batasan jumlah data yang diakses, dan sebagainya. Ini diperlukan karena sistem mereka yang multi-tenant, dimana harus melayani banyak sistem dalam satu infrastruktur. Segala batasan itu diterapkan agar tidak ada system yang rakus dan mendominasi penggunaan resource.

Jadi gak bisa sembarangan, harus benar-benar memikirkan optimasi program waktu coding di salesforce.com. Bukan karena keterbatasan hardware, tapi karena batasan-batasan yang mereka terapkan, yang sering menjengkelkan. Bosku pernah bilang, mungkin kalau clientnya perusahaan besar batasan itu akn dikurangi. Mungkin juga, tapi aku lebih memilih mengambil hikmahnya saja -- demi membuat program yang lebih optimal, lebih efisien dan handal. Amin :))))

Comments

Popular posts from this blog

PostGreSQL :: Hitung Umur

Ternyata untuk menghitung umur dari data yang disimpan di PostGreSQL sangat gampang. PostGreSQL sendiri sudah menyediakan fungsi yang mendukung. Beberapa fungsi yang bisa dipakai adalah AGE dan EXTRACT. AGE dipakai untuk menghitung umur dari sebuah data, dibandingkan dengan hari ini, atau dengan data lain (tipenya timestamp). Misal: age(timestamp '1980-09-27'), akan menghasilkan nilai (bertipe interval) "24 years 1 mon 25 days". Nah, kalau mau mengambil nilai tahunnya saja, tinggal menggunakan EXTRACT Contoh: EXTRACT(year FROM AGE(timestamp '2001-09-27')), hasilnya akan jadi 24.

PHP :: Selisih Jam

Setelah kemarin kesulitan untuk melakukan increment ataupun decrement terhadap variabel waktu (date/time) di PHP, kali ini nemuin masalah untuk mencari selisih waktu (dari satu jam ke jam tertentu), yang perlu untuk ngitung lembur karyawan. Tadinya kepikiran untuk buat fungsi sendiri, yang flow -nya kira-kira begini: - masing-masing dipisah menjadi jam, menit, detik - bandingkan antara keduanya. - lakukan pengurangan terhadap masing-masing komponen (jam, menit dan detik) - gabungkan hasil perhitungan ... (selisih jam + selisih menit + selisih detik) Tapi waktu aku ingat kasus Next Date, ... muncul ide untuk menggunakan cara yang sama, yaitu memanfaatkan format UNIX timestamp, terus nyoba mencari selisihnya. TERNYATA BERHASIL !!! Flownya seperti ini: - masing-masing dipisah menjadi jam, menit,detik - ubah masing-masing ke format timestamp, gunakan fungsi mktime() - kurangkan kedua jam - hasilnya dibagi 60 (karena satuannya pakai menit), sementara selisih timestamp itu dalam detik Algori

Delphi :: Split String

Akhirnya ketemu juga cara untuk melakukan split string. (Terbiasa pakai PHP sih, yang sangat memanjakan dalam pengelolaan string.) Di sini memanfaatkan TStringList, unit Classes. // procedure untuk split string procedure Split (const Delimiter: Char; // delimiter charachter Input: string; // input string const Strings: TStrings) ; // list of string result begin Assert(Assigned(Strings)) ; Strings.Clear; Strings.Delimiter := Delimiter; Strings.DelimitedText := Input; end; // contoh pemakaian procedure TForm1.Button1Click(Sender: TObject) ; var A: TStringList; begin A := TStringList.Create; try Split(' ', 'your delphi guide', A) ; ShowMessage(a[0]) ; //your ShowMessage(a[1]) ; //delphi ShowMessage(a[2]) ; //guide finally A.Free; end; end; Source : http://delphi.about.com/cs/adptips2002/a/bltip1102_5.htm Wheew .. akhirnya. One step ahead!!