Baru-baru ini saya mulai bertanya-tanya kapan pengembang harus membayar untuk kompiler. Compiler tersedia secara gratis dengan sebagian besar platform atau ada versi gratis yang mudah didapat.
Contoh:
OS X - GCC dan Dentang / LLVM datang dengan alat pengembang. Tidak ada batasan di sini untuk bagaimana dan apa yang dapat Anda lakukan bersama mereka.
Linux - GCC dan saya yakin lebih. Saya tidak tahu keadaan kompiler linux saat ini. Tidak ada batasan di sini untuk bagaimana dan apa yang dapat Anda lakukan bersama mereka.
Windows - MinGW dan Microsoft memang menawarkan Visual Studio versi gratis. Tidak ada batasan dengan MinGW tapi saya pikir dengan Visual Studio gratis ada batasan yang parah.
Namun, sebagai contoh, Intel menghasilkan kompiler C / C ++. Mereka cukup mahal harganya. Secara pendidikan saya pikir orang bisa mendapatkan versi OS X seharga $ 49 dan Windows / Linux masing-masing seharga $ 129. Mereka kemudian menawarkan produk "Studio" yang lengkap juga. Jelas menggunakan harga pendidikan ada batasan yang dikenakan.
Tapi yang saya ingin tahu adalah kapan seseorang harus mempertimbangkan membayar kompiler. Salah satu contoh yang bisa saya pikirkan adalah video game. Jika Anda menggunakan kompiler yang berfungsi pada platform utama, tidak akan ada lagi alat switching untuk platform tersebut. Tampaknya akan ada tingkat kemudahan dalam beralih di antara platform jika alatnya sama.
Adakah yang bisa menjelaskan pembayaran kompiler seperti kompiler Intel dan manfaat lintas platform sejati yang mungkin didapat dari menggunakannya? Apakah kode seseorang menjadi kurang portabel bahkan berusaha sangat keras untuk tidak melakukan teknik spesifik platform?
Jawaban:
Dalam pengalaman saya, kemampuan platform lintas host adalah pertimbangan kecil untuk memilih kompiler. Padahal, justru sebaliknya. Orang-orang jauh lebih sering memilih kompiler untuk itu dukungan unggul untuk satu platform target spesifik.
Ambil contoh kompiler Intel. Orang biasanya membelinya ketika mereka ingin menambah setiap ons kinerja terakhir dari chip Intel terbaru yang berdarah. Lagi pula, sulit untuk merancang kompiler lebih baik daripada orang-orang yang bisa berjalan di aula dan berbicara dengan orang-orang yang merancang chip.
Itulah alasan yang sama mengapa orang membeli alat dari Microsoft untuk dikembangkan di platform Microsoft. Itulah yang mendapat dukungan pertama dan terutama.
sumber
Setelah bekerja pada kompiler berbayar, saya percaya alasan utama untuk membayar kompiler adalah untuk kontrak dukungan. Jika pelanggan memiliki masalah dengan kode mereka dan mencurigai bug penyusun, mereka dapat meminta vendor penyusun untuk menyelidiki solusi yang mungkin (pada sepeser pun vendor, bukan milik mereka), mungkin dengan tenggat waktu untuk respons / solusi. Ini dapat dilakukan tanpa harus merilis kode sumber untuk proyek-proyek yang mungkin berisi informasi sensitif, dan biasanya kontrak mengikat vendor ke kerahasiaan tentang kode sumber apa pun yang dibagikan. Umumnya, perusahaan besar bersedia membayar untuk tingkat dukungan ini, sementara toko kecil tidak menganggapnya sepadan dengan uang atau terlalu mahal.
Selain itu, vendor ingin menyenangkan pelanggan (yang membayar tinggi), sehingga permintaan fitur diprioritaskan oleh pelanggan yang menginginkannya. Mungkin juga bagi pelanggan untuk menyarankan fitur yang lebih disesuaikan dengan kebutuhan mereka, hal-hal yang lebih spesifik perusahaan yang tidak akan banyak digunakan. Ini tidak mungkin bagi pengguna GCC atau kompilator openource lainnya di mana fitur dapat diimplementasikan oleh mereka yang bersedia melakukannya dalam urutan apa pun yang mereka rasakan sesuai jadwal mereka sendiri.
sumber
Terkadang bukan kompiler yang dibayar orang, itu adalah runtime yang berfungsi dengannya. Intel khususnya memiliki tradisi menyediakan perpustakaan yang sangat baik untuk hal-hal seperti multithreading, dukungan media (SSE, dll) dan matematika dengan ketepatan yang diperluas.
sumber
Saya telah bekerja dengan beberapa orang yang menggunakan kompiler berbayar.
Mereka melakukan data-crunching serius dalam sebuah cluster. Seharusnya, kompiler Intel berhasil menghasilkan kode sedikit lebih cepat untuk mereka, dan membayar untuk kompiler lebih murah daripada menjalankan lebih banyak node. Pemahaman saya adalah bahwa perbedaannya sangat kecil, tetapi dikalikan dengan biaya listrik yang diperhitungkan di dalamnya dianggap sepadan.
Untuk efek itu, saya tidak akan terkejut jika sebagian besar komputer super HPC berjalan pada kompiler khusus yang disediakan oleh produsen chip.
sumber
Saya dengan Karl Bielefeldt dalam hal ini.
Saya sebenarnya tidak akan mempercayai kompiler yang menawarkan kemampuan lintas platform. Karena, jujur saja kita semua tahu alat / kompiler asli dan bertarget selalu memiliki kelebihan seperti mengetahui platform target lebih baik.
Dan saya percaya, ketika perangkat lunak Anda menjadi kompleks dan kinerja diperlukan, Anda dapat mulai berpikir untuk beralih ke kompiler berbayar.
Dan selain itu, saya percaya kompiler Microsoft sangat bagus. Dan seperti semua orang katakan, mereka gratis selamanya.
sumber
Kompiler gratis GNU (gcc) hadir dengan lisensi GNU (GPL) yang berarti Anda dapat menggunakan hanya untuk proyek sumber terbuka. Didukung oleh nama-nama besar dalam perangkat lunak.
Dentang (gratis) adalah upaya untuk menghindari batasan GPL membuat kompiler yang baik. Juga, didukung oleh Apple, Google, dan banyak lainnya.
VC ++ Express (gratis) terbatas pada platform Windows (omong-omong, mereka membuatnya gratis di saat terakhir, karena banyak orang dari komunitas Open Source bertanya kepada mereka tentang hal itu) dan tidak memiliki sebagian besar alat profesional dan fitur. Seperti profiler, misalnya.
Jadi, semua alat ini gratis untuk kita, tetapi didukung oleh industri.
Intel (komersial), seperti yang disebutkan Karl, untuk proyek yang menargetkan kinerja paling banyak pada platform Intel.
sumber