Sebagai seorang Software Engineer senior dan berpengalaman, Anda pasti sudah tidak asing lagi dengan platform yang bernama Stack OverflowNamun, apabila Anda adalah orang yang termasuk masih baru dalam mempelajari bidang pemrograman, mungkin ada yang masih bingung dengan istilah stack overflow ini. Nah, berikut adalah penjelasan mengenai Stack Overflow dan berbagai potensi yang dimiliki oleh platform kesukaan banyak para Software Engineer.

Apa Definisi ‘stack’?

Sebuah stack, dalam konteks ini, artinya adalah yang terakhir masuk namun pertama keluar (last in, first out) dari buffer tempat Anda menyimpan data saat program Anda sedang berjalan. Last in, first out (LIFO) berarti adalah hal terakhir yang Anda masukkan selalu merupakan hal pertama yang Anda dapatkan kembali — jika Anda menekan 2 item di tumpukan, ‘A’ dan kemudian ‘B’, maka hal pertama yang Anda keluarkan dari stack tersebut akan ada ‘B’, dan yang berikutnya adalah ‘A’.

Bila Anda mengintegrasikan fungsi ini ke dalam kode Anda, instruksi berikutnya setelah pemanggilan fungsi akan disimpan di stack, dan setiap ruang penyimpanan yang mungkin ditimpa oleh pemanggilan fungsi tadi. Fungsi yang Anda panggil bisa menggunakan lebih banyak stack untuk variabel lokalnya sendiri. Setelah selesai, variabel lokal dari ruang stack yang digunakannya akan dikosongkan, lalu kembali ke fungsi sebelumnya.

Apa Itu Stack Overflow?

Stack Overflow adalah ketika Anda telah menghabiskan lebih banyak memori untuk stack daripada yang seharusnya digunakan pada program Anda. Dalam embedded system Anda mungkin hanya memiliki 256 bytes untuk stack, dan jika setiap fungsi membutuhkan 32 bytes maka Anda hanya dapat memiliki fungsi panggilan berjumlah 8 deep.

Banyak programmer membuat kesalahan ini dengan memanggil fungsi A yang kemudian memanggil fungsi B, yang kemudian memanggil fungsi C, yang kemudian memanggil fungsi A kembali. Mungkin cara ini seringkali dapat berhasil, tapi begitu ada satu input yang salah, cycle yang sama akan terus terulang selamanya sampai komputer Anda menyadari bahwa stack yang dimilikinya berlebih.

Kekuatan Tersembunyi Stack Overflow

“Saya mengajar diri saya sendiri untuk mebuat kode di era pra-bootcamp,” Steve Harms, kepala kurikulum di Dev Bootcamp, pernah mengatakan, “dan bagaimana saya bisa mengatasi masalah stuck adalah dengan saya memposting ke beberapa forum PHP mengenai masalah saya ini. Jawabannya ada yang tidak bagus dan juga ada yang tidak benar serta tidak disajikan dengan baik. “Stack Overflow seolah-olah memperbaiki masalah ini dengan mengubah saran coder menjadi thread seperti Reddit, dengan dimunculkannya up-vote, down-votes, dan berbagai cuplikan bermanfaat. Tidak ada lagi argumen yang berkepanjangan tanpa adanya satu pemenang yang jelas; berkat Stack Overflow, solusi “terbaik” untuk masalah yang diberikan adalah – atau harus – dipilih untuk berada di paling atas pada daftar thread yang ada.

Dengan cara yang sama seperti ketika kita mencari via Google kata benda yang tepat akan membawa halaman Wikipedia-nya sebagai salah satu dari beberapa tautan pertama, atau mencari produk dan akan segera menampilkan Amazon, demikian pula halnya dengan proses pencarian kode yang akan membawa Anda masuk ke Stack Overflow. Mengingat jumlah kode yang saat ini diproduksi – belum lagi perpustakaannya yang memiliki fungsi penting dan juga kurang penting dalam kehidupan sehari-hari – Stack Overflow merupakan salah satu situs terpenting yang pernah dibuat.

Itu berarti bahwa di industri teknologi semi-kolaboratif, di mana setiap orang secara langsung atau tidak langsung membangun gagasan dan inovasi satu sama lain – seluruh kumpulan coder didorong oleh Google, ke sumber yang sama untuk masalah apa pun yang mereka coba pecahkan. Lebih jauh lagi, 90 persen devs “menemukan solusi yang memecahkan masalah pengkodean mereka di situs nymag.com beberapa kali dalam sebulan, dan setengah dari mereka menemukan cuplikan kode yang dapat mereka masukkan langsung ke karya mereka sendiri.” Dengan kata lain, Stack Overflow memberi daya pada semua program yang kuat lainnya.

 

Sumber artikel:

stackoverflow.com

nymag.com

Sumber gambar:

bypeople.com