Mengenal static dan Dynamic Typing

Static vs Dynamic

25 April 2017

Well I know when you’re around cause I know the sound
I know the sound, of your heart
Well I know when you’re around cause I know the sound
I know the sound, of your heart

Lirik di atas adalah lirik lagu The Sound oleh 1975, ceritanya ini lagi ngahaleuang gegara sering didenger lagunya. Lagunya enak sih …

Di kesempatan kali ini saya ingin bercerita, jadi pada suatu hari seperti biasa obrolan di Pegelinux membahas masalah sehari-hari kemudian mencuatlah istilah static typing. Ketika saya belajar pemrograman pertama kali bahasa yang saya pelajari tidak mengharuskan deklarasi variabel, semua bebas sehingga saya pun terbiasa dengan kebebasan ini.

Namun sebuah pernyataan teman “Enjoy your TypeError: undefined is not a function” menyadarkan saya. Saya pun mulai meragukan kebebasan deklarasi variabel yang sering saya lakukan.

Static vs Dynamic

Contoh sebuah bahasa yang menggunakan static typed

package main

import "fmt"

func main() {

    // deklarasi string
    var a string = "initial"
    fmt.Println(a)

    // deklarasi integer
    var b, c int = 1, 2
    fmt.Println(b, c)

}

Dan berikut adalah bahasa yang dynamic typed

x = "initial"
print(x)

x = 5
print(x)

Dari contoh diatas dapat disimpulkan bahwa dynamic typing adalah sebuah mekanisme dimana variabel dapat dirubah secara on the fly ketika akan dibaca interpreter. Sedangkan static typing adalah dimana variabel yang telah dideklarasikan sebagai sebuah type tertentu tidak dapat dirubah dengan mudah kemudian.

Well .. sekarang saya sedang belajar Python, Ruby, dan Javascript. Dan semuanya dynamic typing, akan tetapi tidak masalah dengan terus belajar nanti pasti akan menemukan jalan ninja yang tepat.



blog comments powered by Disqus