Saya sedang melakukan pembicaraan kecil antara rekan tim tentang bagaimana Anda memilih bahasa pemrograman untuk digunakan dalam proyek yang membuat saya berpikir bahwa ada banyak kriteria untuk memilih satu di awal proyek tetapi tidak ada standar nyata.
Apakah Anda memilih bahasa pemrograman untuk sintaks dan semantik? Atau apakah Anda memilih satu karena memiliki dukungan terbaik untuk melakukan hal-hal tertentu? Atau karena Anda memiliki perpustakaan yang lebih baik? Atau apakah Anda memilihnya untuk paradigma?
Kriteria apa yang Anda gunakan untuk memilih satu bahasa ketika Anda akan melakukan proyek?
const Haskell :: [Constraint] -> ProgrammingLanguage
.Jawaban:
Kriteria saya, dalam urutan:
Apakah ini alat yang tepat untuk pekerjaan itu? Misalnya, jika Anda sedang membangun klien desktop grafis, jaringan, Anda ingin menggunakan bahasa yang mendukung hal semacam itu di luar kotak seperti Java atau C #. OTOH, jika Anda bekerja pada sistem waktu nyata, Anda menginginkan sesuatu yang memberi Anda lebih mudah diprediksi dan kontrol tingkat rendah (seperti C).
Apakah ini sesuai untuk lingkungan? Apakah kompiler / juru bahasa tersedia untuk platform target?
Apakah itu sesuatu yang sudah saya kenal, atau apakah itu bahasa yang bisa saya ambil dengan cepat? Misalnya, karena sebagian besar pengalaman saya adalah dengan C dan C ++, saya dapat dengan cepat mengambil bahasa dengan sintaks yang sama (sekali lagi, Java atau C #) dengan mudah. Sesuatu yang ada di keluarga yang sama sekali berbeda (seperti Haskell) akan membuat saya lebih banyak waktu untuk merasa nyaman.
Apakah itu sesuatu yang didukung dengan baik, dengan banyak referensi online dan di atas kertas?
sumber
Saya rasa banyak faktor yang muncul
Apakah bahasa tersebut cocok untuk jenis aplikasi yang akan Anda kode?
Seberapa mahir Anda dalam bahasa pemrograman? (Menjadi lebih penting karena tenggat waktu semakin kecil)
Fitur perpustakaan dan bahasa untuk area tertentu dalam aplikasi Anda.
Apakah ini bahasa baru? Apakah sudah diuji dan terbukti di domain saat ini?
Berapa banyak orang yang benar-benar kode di dalamnya? Penting jika Anda membutuhkan bantuan dan ada komunitas yang aktif dan besar
sumber
Kriteria penting bagi saya adalah:
Saya akan mengatakan sintaks dan paradigma tidak penting.
Saya tidak akan memilih bahasa baru karena saya menyukai sintaks atau paradigma tetapi memiliki alat yang berfungsi buruk dan perpustakaan minimal yang tidak bisa melakukan sebagian besar dari apa yang saya butuhkan.
sumber
Bahasa adalah alat. Seperti halnya alat apa pun, Anda harus mempertimbangkan beberapa hal:
1) Apakah Anda memiliki akses ke alat ini?
2) Apakah Anda tahu cara menggunakan alat ini?
3) Dari alat yang memenuhi kriteria 1 & 2, mana yang terbaik untuk pekerjaan Anda?
Jika Anda hanya memiliki satu alat, jawabannya sederhana. Jika Anda memiliki selusin alat, maka Anda perlu melihat hosting, biaya perawatan, dan masalah perangkat lainnya.
sumber
Ini mungkin akan membuat saya downvoted, tetapi yang paling penting bagi saya adalah sintaksis. Dengan program menghabiskan lebih banyak waktu dan upaya dalam pemeliharaan daripada dalam penulisan asli hari ini, kemampuan untuk mengambil sepotong kode asing (milik orang lain, atau milik saya jika saya menulisnya lebih dari 6 bulan yang lalu) dan dengan cepat menentukan maksudnya secara statistik adalah salah satu keterampilan paling penting yang dapat dimiliki oleh seorang programmer modern. Bahasa yang bersih dan mudah dibaca sangat membantu dalam hal ini.
Setelah itu, tanpa urutan tertentu,
sumber
Saya hanya menggunakan bahasa yang saya tahu paling baik:
Saya tidak mencoba belajar bahasa baru ketika saya memulai proyek baru yang serius. Saya menggunakan apa yang saya tahu.
sumber
Biaya untuk membangun aplikasi hampir sebanding dengan ukuran kode, jadi untuk meminimalkan biaya saya memilih bahasa yang paling kuat yang telah digunakan untuk memecahkan masalah yang sama. Saya tidak khawatir tentang jumlah programmer yang tahu bahasa karena saya tidak akan membutuhkan banyak. Saya juga mencoba menghindari vendor lock-in, jadi saya lebih suka solusi terbuka.
sumber