Langsung ke konten utama

Postingan

Menampilkan postingan dari Mei, 2025

JIT vs AOT di Java: Mana yang Lebih Cocok untuk Aplikasi Kamu?

Pendahuluan Dalam dunia pengembangan perangkat lunak, terutama di Java, proses kompilasi kode ke bahasa mesin adalah langkah penting agar program dapat dijalankan oleh komputer. Java memiliki dua pendekatan utama untuk mengonversi bytecode ke bahasa mesin: Just-In-Time (JIT) dan Ahead-Of-Time (AOT). Masing-masing memiliki karakteristik, kelebihan, dan kekurangan yang berbeda. Memahami perbedaan keduanya sangat penting bagi seorang Java Developer untuk menentukan strategi proyek pengembangan aplikasi  terutama saat menangani kebutuhan seperti startup time, portabilitas, dan optimasi performa. JIT JIT adalah bagian dari Java Virtual Machine (JVM) yang secara default digunakan untuk mengeksekusi aplikasi. Dalam pendekatan ini, bytecode Java dikompilasi menjadi bahasa mesin pada saat runtime — artinya proses kompilasi terjadi sambil aplikasi berjalan. Kekurangan JIT: Startup aplikasi membutuhkan waktu yang lama. Aplikasi hanya bisa dijalankan di atas JVM. Kelebihan JIT: Kompilasi cepa...

Timeline Perkembangan Software Engineering: Dari Mesin ke Microservices

📍 Pendahuluan Banyak dari kita bekerja sebagai developer modern, tetapi sering lupa bahwa dunia software engineering yang kita kenal sekarang adalah hasil evolusi panjang. Dari pemrograman mesin hingga arsitektur microservices dan AI — semuanya berkembang karena kebutuhan akan scalability , performance , dan reliability . Berikut ini adalah rangkuman sejarah penting dunia software engineering yang bisa memperluas perspektif kita. 🏛️ 1950–1960: Era Awal — Machine Code & Assembly Programmer menulis langsung dalam kode mesin Tidak ada profesi "software engineer", hanya ilmuwan komputer Setiap program dibuat spesifik untuk satu perangkat keras 🧠 Tokoh penting: Alan Turing, John von Neumann ⚠️ 1968: Lahirnya Istilah “Software Engineering” Diangkat dalam Konferensi NATO karena banyaknya proyek software yang gagal ( cost overrun , unmaintainable ) "Software Engineering" lahir sebagai respon terhadap krisis pengembangan perangkat lunak 🧱 1...