Hari ini saya mengembangkan pada komputer yang cukup kompleks, ia memiliki beberapa core, drive SSD dan yang tidak. Namun, sebagian besar waktu saya memprogram komputer dengan santai tidak melakukan apa-apa. Ketika saya perlu mengkompilasi dan menjalankan / menggunakan proyek yang agak rumit di terbaik masih membutuhkan beberapa detik. Mengapa? Sekarang kita hidup semakin dalam "zaman instan" mengapa saya tidak bisa menekan F5 di Visual studio dan meluncurkan / menggunakan aplikasi saya secara instan?
Beberapa detik mungkin kedengarannya tidak terlalu buruk, tetapi masih ada gesekan kognitif dan waktu yang bertambah, dan terus terang itu membuat pemrograman kurang menyenangkan. Jadi bagaimana kompilasi bisa instan?
Orang cenderung mengedit file dalam majelis yang berbeda, bagaimana jika Visual Studio / IDE terus melakukan kompilasi / dan membangun semua yang saya modifikasi kapan saja yang mungkin sesuai. Heck jika mereka ingin benar-benar maju mereka bisa melakukan kompilasi per kelas. Kompilasi mungkin tidak berfungsi tetapi kemudian hanya bisa diam-diam tidak melakukan apa-apa (kecuali menambahkan pesan kesalahan ke jendela kesalahan).
Tentunya saat ini komputer dapat mendedikasikan satu atau dua inti untuk tugas ini, dan jika seseorang merasa hal itu dapat dinonaktifkan dengan opsi. Saya tahu mungkin ada seribu masalah teknis dan beberapa penyalinan bayangan mewah yang perlu diselesaikan agar ini lancar dan praktis tetapi tentu saja akan membuat pemrograman lebih mulus.
Adakah alasan praktis mengapa skenario ini tidak mungkin? Apakah keausan dari binary terus menulis terlalu banyak? Tidak bisakah majelis disimpan dalam memori sampai dikerahkan / dijalankan?
sumber
Jawaban:
Eclipse melakukan kompilasi dan pembangunan otomatis. Anda mungkin ingin memeriksa bagaimana mereka melakukannya. Ini adalah open source. Saya pikir itu mengkompilasi setiap kali Anda menyimpan file.
sumber
Pernahkah Anda berpikir tentang berapa banyak penekanan tombol yang Anda buat sebelum Anda mendapatkan file ke kondisi yang dapat dikompilasi? Serius, lihat apa yang akan terjadi jika Anda mencoba mengkompilasi kelas f, class fo, class foo, dll. Kapan Anda ingin IDE memberitahu Anda untuk memperbaiki kesalahan ketik versus hanya membiarkan satu selesai mengetik? Saya akan bertanya seberapa baik Anda memikirkan ini dalam menciptakan sesuatu dari awal karena di situlah saya bisa melihat ini menjadi sangat menyakitkan.
sumber
Visual Studio belum memberikan fasilitas kompilasi automatice. Tapi ya beberapa IDE seperti Eclipse melakukan kompilasi otomatis ketika Anda menyimpan file apa pun. Harapan di Visual Studio versi mendatang Microsoft akan menambahkan fitur ini.
sumber
Coba tebak ... jika Anda menggunakan IDE modern yang memberi Anda peringatan, itu adalah kompilasi latar belakang. Itulah sebabnya ia tahu bahwa barang-barang itu tidak akan dikompilasi seperti apa adanya.
sumber
Anda selalu dapat memecah proyek menjadi komponen yang dikompilasi. Saya lebih suka kompilasi komputer saya berdasarkan perintah. Gesekan kognitif seorang pria adalah waktu pria lain untuk berefleksi dan mendapatkan kopi.
sumber
Jika Anda menggunakan Visual Studio dan mengembangkan dalam c # atau VB Reshaper dapat melakukannya untuk Anda. http://www.jetbrains.com/resharper/ Saya menghemat banyak waktu dengan mengetahui semua tempat di mana perubahan saya pada antarmuka merusak kode tanpa harus melakukan kompilasi ulang secara manual.
(Juga saya pikir Resharper adalah omong kosong karena banyak alasan lain juga.)
sumber
Saya tidak tahu, saya agak suka harus mengkompilasi. Ini semacam saya memegang kode saya dan mengatakan pada komputer, " Hah! Mari kita lihat Anda menolak INI! "
Lalu saya mendapatkan kesalahan kompilasi, memperbaikinya, lalu, " Hah! Sekarang mari kita lihat Anda menolak INI! "
Kemudian kompilasi dan saya mengambil kopi. Terasa baik. :)
sumber
Catatan: Ini diambil dari pengalaman saya dengan Netbeans (Java), jadi ini mungkin tidak berlaku untuk Visual Studio
TMK ini dilakukan agak di latar belakang ketika Anda mulai mengedit file. Kecuali jika IDE tahu setiap kesalahan kompilasi tunggal dan bagaimana cara mendeteksinya saya akan berasumsi bahwa ia mengkompilasi kelas di latar belakang kemudian melaporkan kesalahan.
Masalahnya adalah ketika Anda ingin membangun seluruh proyek Anda. Kadang-kadang saya kira tidak semua kesalahan dapat ditangkap dengan kompilasi "langsung" ini, jadi itu hanya membangun kembali semuanya. Mungkin juga kelas live yang dikompilasi berisi informasi tambahan yang dibutuhkan IDE tetapi tidak boleh didistribusikan dalam biner.
sumber