Read/WriteWeb membuat sebuah artikel menarik yang berjudul “The Future of Software Development“. Pada artikel tersebut dibahas bagaimana pengembangan perangkat lunak di masa depan dengan sedikit meninjau kembali metode software development yakni waterfall dan agile. Rasanya seperti kuliah RPL lagi. Kesimpulan yang diambil pada tulisan tersebut adalah pengembangan perangkat lunak di masa depan akan menggunakan bahasa pemrograman high level, dukungan library, dan metode agile.
Untungnya, berbeda dengan kuliah RPL, kali ini saya nggak ngantuk.
Sepertinya, apa yang ada di tulisan tersebut mulai saya rasakan di lingkungan sekitar.
Mengenai pemilihan bahasa pemrograman high level, menurut saya banyak benarnya. Mengambil contoh diri sendiri, saat ini saya lebih tertarik ‘bergaul’ dengan Java atau C# daripada memakai C lagi. Sepanjang mata memandang, teman-teman saya sepertinya juga begitu. Mainan teman saya C# kok. Pemrograman high level itu rasanya seperti memakai fasilitas mewah.
Kalau ditarik lebih luas lagi, saya melihat ada kecenderungan kurangnya peminat untuk mempelajari hal-hal yang low level pada teman-teman saya. Kuliah Pemrograman Sistem, Jaringan Komputer, Sistem Operasi, Organisasi dan Arsitektur Komputer jadi momok. Saya nggak tahu apakah ada ‘faktor lain’. Tapi yang jelas, salah seorang dosen di kampus saya pernah mengeluhkan hal itu di kelas. Apa hal ini disebabkan oleh perkembangan zaman atau karena mahasiswa sekarang malas-malas? Mungkin ini menjadi sesuatu yang harus disayangkan. Tapi apa perlu? Saya suka bertanya-tanya sendiri. Emang perlu ya mendalami semua itu? Kalau berpikir secara ideal sih, pasti perlu. Setiap ilmu pasti ada manfaatnya. Lihat tulisan saya di sini mengenai pentingnya kuliah Informatika.
Kembali ke topik awal, bagaimana dengan library yang udah banyak tersedia? Menurut saya itu bener banget. Mengambil contoh diri sendiri lagi, kemarin saya baru aja minta kode sebuah aplikasi bikinan temen saya, Apung, buat suatu bagian di program buat tugas akhir. Saya berpikir, daripada bikin sendiri, mending pakai yang udah ada. Contoh lain, saat tulisan ini dibuat, teman saya yang lain, Ridwan, juga menemukan framework yang bakal ngurangin sebagian besar kerjaannya. Hal-hal seperti ini sering terjadi. Sepertinya segalanya udah ada diciptakan, tinggal bagaimana kita membuat kolaborasinya dan nambah-nambahin sedikit.
Terakhir, terkait agile, saya gak terlalu banyak komentar. Agile erat kaitannya dengan iterasi. Saya belum pernah merasakan iterasi yang bener-bener iterasi, tapi mengenai requirement yang terus berubah saya beneran pernah ngerasain. Dari situ saya kenal refactoring. Senang rasanya melihat fitur itu kepasang di sejumlah tools.
Untuk tugas kuliah, saya belum pernah benar-benar melakukan iterasi. Ga ada perencanaan kok. Yang ada reverse engineering. Hehehe.. Tugasnya juga baru beres beberapa jam sebelum pengumpulan (atau berapa menit?) dengan satu iterasi. Begitulah… Kami adalah para deadliners.
Melihat tulisan tersebut, saya jadi berpikir bahwa open source bakal sangat penting. Penggunaan bahasa high level jadi lebih penting daripada low level, untuk kepraktisan. Tapi jangan sampai kehilangan konsep dasar yang penting. Selain itu, kemampuan kita untuk mempelajari teknologi baru juga jadi penting banget. Kita harus bisa cepat belajar.
Gimana menurut Anda?

This thing has 17 Comments
Bram tulisannya berat-berat nih.. he..he..
gw setuju sih dengan kesimpulannya itu. Gw sendiri juga sering nyari library open source buat fitur-fitur tertentu di software apalagi dengan waktu pengerjaannya yang sering kali terbatas. Selain itu banyak library tersebut yang kualitasnya lebih terjamin, fleksibel, dengan fitur yang lebih lengkap, dan bisa banyak belajar juga apalagi rata-rata kan terdokumentasi dengan baik.
Akan tetapi karena fleksibel dan fitur yang lengkap itu kadang-kadang resource yang dihabiskan jadi terlalu besar dari yang dibutuhkan jadi perlu dimodifikasi
Kebanyakan kebutuhan software sekarang atau dimasa depan mungkin tidak terlalu bermasalah dengan resource jadinya pemrograman high level atau penggunaan library ga masalah. Tapi untuk kebutuhan khusus mungkin untuk hardware tertentu dan portable device atau aplikasi yang membutuhkan efisiensi resource yang seminimum mungkin pemrograman low level dibutuhkan.
Gw belum terbiasa nih pake refactoring pake tools, biasanya pake apa Bram?
Hehe, sekali-sekali tus nulisnya yang ginian. Yup low level emang perlu kalo ada urusan sama resource.
Mengenai refactoring, gw juga baru make dikit-dikit sih tus refactoring. Tapi yang kerasa sih, kalo kita pengen ngubah sesuatu, misalnya nama kelas, dia akan ngubah semua yang berkaitan dengan kelas itu. Misalnya ada kelas lain yang make kelas itu, file konfigurasi, dll. Jadi kita ga perlu ngubah manual.
Sejauh ini gw baru tahu dia buat itu. Hehe.. tapi buat gw udah cukup membantu. :p
Berat… Hehehehe… Gak bisa komen banyak2, emang gak skill
Setuju sama krisantus. Berat-berat nih postingannya bram..
Aku setuju sama pendapat di atas. Untuk perangkat lunak - perangkat lunak yang standar, bahasa high level dan library sangat membantu. Apalagi keadaan sekarang serasa ‘memaksa’ untuk menggunakan mereka.
Menurutku, bahasa low-level sekarang cocoknya memang ditempatkan pada bagian-bagian perangkat lunak yang membutuhkan resource tinggi atau pada resource yang terbatas, sehingga dapat berjalan dengan optimal pada resource yang terbatas. Misalnya saja untuk sistem operasi, rendering 3-D, multimedia processing, game engine, atau untuk mobile/embedded system. Bahkan, kalau mau lebih optimal, pilih yang paling low level: bahasa mesin/assembly.
mumpung postingannya berat, gw kasi komen yang berbobot juga deh…
Lah, kalo ada bahasa yang high level, ngapain musti belajar yang low level toh bram?? Wong, sekarang ini spek kerjaan juga makin banyak, berat dan bikin repot: mulai dari ngurus anak, nyuci, masak, bersih2 rumah.
Ga nyambung ya …
Duh, gw abis lulus ogah bikin perangkat lunak lagi ah T_T
@golas:
Apalagi kalo pembantu pergi lel. Hahaha..
Eh lo udah punya anak?
Mungkin perlu ada pendapat dari orang yang mendukung/menyukai Low-Level, biar tulisannya lebih kaya nih.
Ups, tapi sayangnya orang itu bukan gw… pas deh
Memang udah makin langka kali manusianya…
Bos, peramal bilang akan tiba suatu masa dimana coding ga akan lagi dibutuhkan baik high level atau low level. Kyknya klo ngeliat gelagat low level prog udh mulai ditinggalkan sih, kyknya ramalannya benar tuh. Hmmmm….
yeeeee… masuk sini..
iya nih, berat-berat tulisannya bram..
btw, kalo mo foto miyabi, coba telpon aja nomornya
udah punya kan???
@Syahdana:
Kalo pendapat ali gimana wen?
@dziki:
wah kalo masa itu tiba, jurusan kita ga perlu ada lagi dong. Hahaha.
Atau ada tapi lulusannya ga kepake? :p
@apung:
Udah bos. Gw nyimpennya di blog.apung.web.id aja ya? Bisa nyetak poster, spanduk, sama pamflet juga lagi.. Haha.. Komplit!
Makanya bos, kuliahnya jangan coding mulu. As time goes by, ilmu-ilmu coding itu cuman dijalankan ama operator-operator aja yang ga perlu mikir (gw jadi ngehina coder gini yak, padahal gw dulu coder juga :p). Yang paling penting ceuna, segala yang berkaitan dengan business processes and how to improve those things (padahal gw paling benci ilmu-ilmu kyk gitu pas kuliah, mungkin karena kuliah2 itu di IF rada2 boring kali yak?). Top lah klo orang bisa sampe tau business processes dan tau juga systemnya. Jadi tau coding nice to have biar ga bisa dibegoin anak stmik, but don’t forget the most important thing. Jadi open up your mind lah. Future belongs to everyone who enlarge? possibilities, hohoho..just mediocre thinking bos
@dziki:
Agree bos. Btw siapa yang koding mulu? Hahaha. Gw paling ga skill kalee :p. Artikel ini menarik buat gw.
Mengenai busniess process, haha.. kayaknya yang ada di kuliah emang ga match ama kenyataan (Sok tau). Emang business process yang dipelajari itu kayak apa? Kasitau dong.
wah… tulisan tentang IT nih.. nyambung banget sama ‘topik hot’ hahahahaha… xD
say hi aja deh ma kamu… secara otakku gak nyampe sama isi postingan mu kali ini
Kalo semua orang pinginnya di level atas, berkutat dengan bisnis proses dan tinggal make komponen, trus ndak ada yang mau bikin komponennya, ya tetep aja ndak jalan to. Tetep harus ada yang berkutat di low level untuk memudahkan hidup yang di high level. Agar bisa make Java, kan tetep ada yang harus bikin Java-nya dulu.
Agar yang high level tambah nyaman, yang di bawah juga pasti masih perlu diperbaiki lagi to?
Yang perlu ditanyakan sekarang sih, gajinya yang di high level ama low level ’sebanding’ ndak ya?
Ngomong-ngomong soal agile, bagaimanakah cara untuk mengukur agilitas suatu proyek pengembangan perangkat lunak? apa saja syarat-syarat minimal sehingga dapat disebut agile?
trackback from http://arenosoft.wordpress.com