Wednesday, October 20, 1999

Evolusi Scope Default di Visual Basic

Versi VBTahun RilisDefault Scope Sub/FunctionKeterangan
VB 3.0 93 Public Setiap Sub/Function dianggap bisa diakses dari luar modul/form. Developer harus eksplisit menulis Private jika ingin membatasi.
VB 4.0 95 Private Mulai ada transisi ke object-oriented thinking. Event-handler form otomatis Private agar tidak sembarangan dipanggil dari luar. Kalau mau diakses lintas modul, harus deklarasi Public.
VB 5.0 97 Private Scope lebih konsisten: semua Sub/Function default Private. Developer dituntut disiplin dengan deklarasi scope.
VB 6.0 98 Private Final version klasik VB. Tetap default Private, tapi mendukung Public untuk expose API (misalnya COM components).

Dengan pergeseran ini, jelas terlihat bahwa Microsoft ingin mendorong developer VB untuk lebih disiplin dalam desain program. Dari semua pintu terbuka (VB3) menjadi default pintu terkunci (VB4 ke atas). Kalau mau berbagi prosedur, developer harus dengan sadar menuliskan Public.

Kenapa Microsoft Melakukan Ini?
  1. Modularitas & Maintainability
    – VB sudah dipakai untuk aplikasi besar (ERP, database enterprise). Supaya code lebih terstruktur, default akses diperketat.
  2. Transisi ke OOP
    – VB4 mulai mendukung class module. Jadi prosedur diperlakukan seperti method dalam object → default-nya Private.
  3. Compatibility
    – Di VB3 banyak developer “secara tidak sengaja” mengekspos procedure. Di VB4 mereka “dibatasi” → kalau mau tetap Public, harus ditulis eksplisit.

Filosofi Lucu
  • VB3: “Semua boleh masuk rumah saya, pintu selalu terbuka.”
  • VB4: “Default pintu tertutup, kalau mau masuk tulis ‘Public’ dulu.” 🤣