Saya awalnya mencoba menanyakan hal ini pada StackOverflow, tapi itu terlalu subyektif :-(. Saya tertarik pada metode mendefinisikan kekuatan bahasa pemrograman. Turing kelengkapan adalah satu, tetapi hampir secara universal puas. Apa yang menyenangkan adalah mendefinisikan ukuran kekuatan yang membedakan antara bahasa pemrograman yang sebenarnya digunakan. Misalnya, adakah yang bisa mengusulkan metode non-subyektif yang akan membedakan antara perakitan dan Java?
Kelengkapan Turing berarti bahwa suatu bahasa sangat kuat dalam menghasilkan apa yang bisa dihasilkannya (yang artinya dapat melakukan apa saja yang tidak berbasis waktu di dunia nyata). Jadi jika kita ingin mendefinisikan ukuran kekuatan yang lebih kuat, kita perlu mengambil pendekatan lain. Kependekan disarankan dalam pertanyaan awal, tetapi ini tidak mudah untuk didefinisikan sama sekali. Adakah yang punya saran lain?
sumber
Jika saya memahami pertanyaan Anda dengan benar, Anda tetap mencari sesuatu yang relatif dapat diukur dan bukan hanya panggilan penilaian subyektif. Jika demikian, saya pribadi akan memilih jumlah waktu yang dibutuhkan untuk menyelesaikan masalah tertentu (rata-rata atas semua masalah dan semua programmer). Dalam ukuran ini, Anda mungkin perlu mempertimbangkan tidak hanya bahasa itu sendiri tetapi juga kerangka / API yang digunakan dengannya. Sintaks ringkas adalah faktor yang sangat kecil: yang jauh lebih penting adalah bahwa fungsi yang paling umum dibutuhkan mudah diakses.
Jika Anda mencari sesuatu yang lebih subjektif, saya akan mengatakan betapa menyenangkannya itu . Programmer cenderung menjadi orang yang ingin menyelesaikan masalah, sehingga bahasa pemrograman yang menyenangkan bagi para programmer untuk digunakan pasti akan menjadi salah satu yang akan memecahkan sebagian besar masalah. Ukuran ini memperhitungkan bahwa orang yang berbeda memiliki preferensi yang berbeda tentang cara menggunakan sesuatu, sehingga bahasa pemrograman "terbaik" akan menjadi bahasa yang paling menarik bagi para programmer. Namun, Anda mungkin perlu mempertimbangkan tidak hanya bahasa pemrograman dan API di sini, tetapi juga lingkungan (IDE), yang tentu saja apa yang sebenarnya berinteraksi dengan programmer.
sumber
Saya akan menentukan seberapa kuat suatu bahasa dengan seberapa produktif Anda bisa dengannya. Banyak orang cenderung berbicara tentang produktivitas dalam hal menulis kode dengan cepat, tetapi karena sebagian besar siklus hidup program adalah pemeliharaan, bukan pengembangan, ukuran yang lebih baik adalah seberapa mudah Anda dapat membaca dan men-debug kode, terutama ketika itu ditulis oleh seseorang lain. Bahasa yang paling kuat adalah bahasa yang paling mudah dibaca dan dipelihara.
sumber
Anda perlu mendefinisikan terminologi Anda dengan lebih baik.
Turing kelengkapan bukanlah tentang "kekuatan" dalam arti yang mungkin Anda maksudkan. Melainkan tentang komputabilitas; yaitu apakah bahasa yang diberikan dapat mengekspresikan program apa saja yang dapat diimplementasikan menggunakan mesin Turing. Ternyata hampir setiap bahasa pemrograman Turing lengkap.
Apa yang mungkin Anda kejar adalah ukuran dari apa yang disebut sebagai bahasa pemrograman "ekspresif". Saya tidak yakin apakah ada tindakan seperti itu, atau jika ada, apakah itu berguna. Pada dasarnya, berbagai bahasa pemrograman lebih baik dalam mengekspresikan solusi untuk berbagai jenis masalah.
EDIT
Hanya untuk mengejanya, bahasa pemrograman tidak memiliki properti yang dikenal sebagai "kekuatan". Ada konsep yang umumnya dikenal sebagai "ekspresifitas" atau "kekuatan ekspresif" dari bahasa pemrograman. Ekspresifif sebagian adalah tentang betapa mudahnya menulis program yang ringkas untuk mengatasi masalah tertentu. Tetapi ada juga ukuran yang cukup besar tentang betapa mudahnya untuk membaca dan menulis program. Ini semacam "keindahan". Saya akan mengetahuinya ketika saya melihatnya, tetapi jangan minta saya untuk mendefinisikannya.
Hanya membandingkan jumlah karakter tidak memberi Anda ukuran ekspresi yang memadai. Kalau tidak, Anda bisa membuat bahasa lebih ekspresif dengan mengompresi kode sumber ... dan itu omong kosong. Bahkan, saya tidak tahu ukuran obyektif dari ekspresi, dan saya sangat curiga bahwa tidak ada. Yang secara efektif menjadikan karakteristik tidak berguna, dan cukup tidak menarik.
sumber