Saya ingin tahu apakah beberapa bahasa pemrograman utama sama sekali tidak dapat digunakan untuk membuat beberapa jenis perangkat lunak yang sangat spesifik.
Dengan bahasa pemrograman utama yang saya maksud adalah orang-orang seperti C ++, C #, Java, Ruby, Python. Dengan "tidak dapat dikembangkan" Maksud saya tidak dapat dikembangkan atau tidak realistis untuk melakukannya karena kinerja, kesulitan implementasi, dll.
Saya selalu berpikir bahwa bahasa pemrograman apa pun dapat digunakan untuk menyelesaikan masalah tetapi belakangan ini saya berpikir bahwa beberapa bahasa tidak cocok untuk beberapa proyek.
Jika Anda dapat memberikan contoh aplikasi semacam itu, itu akan dihargai. Terima kasih.
programming-languages
mbillard
sumber
sumber
task
keproject
. Semoga tidak terlalu membingungkan.Jawaban:
Bahasa tingkat yang lebih tinggi, terutama yang tidak menyediakan setiap sarana mengutak-atik memori secara langsung (dari daftar Anda: Java, Ruby, Python) tidak cocok untuk sistem pemrograman. Untuk memberikan contoh nyata, saya tidak akan mengimplementasikan (bagian dari - misalnya driver) sistem operasi atau mesin virtual / juru bahasa di Python.
Kebalikannya hampir tidak mendekati "tidak mungkin", tetapi menulis misalnya skrip utilitas atau prototipe untuk perangkat lunak yang kompleks dan rumit seperti kompiler dalam misalnya C ++ (dua kali lipat dalam C) dapat menjadi sangat rumit sehingga menjadi pembunuh motivasi, mengingat bahwa Anda mendapatkan banyak beban yang lebih kecil di atas masalah yang sebenarnya.
sumber
Tentu saja, itu semua tergantung pada perangkat keras yang mendasarinya
Sebagai contoh, jika saya akan memprogram alat tenun Jaquard , saya tidak akan dapat menggunakan C ++ untuk melakukannya karena tidak ada kompiler untuk perangkat keras itu. Saya berpendapat bahwa tidak ada kompiler yang mungkin karena perangkat keras tidak mendukung banyak persyaratan yang diperlukan C ++ agar dapat berfungsi sebagai bahasa.
Perpanjangan dari ini adalah ke dunia komputer analog yang bekerja dengan cara yang sama sekali berbeda dengan yang digital yang lazim saat ini.
Namun, Anda dapat mempertimbangkan waktu yang cukup Anda dapat datang dengan kompiler / assembler untuk mesin von Neumann (input-> prosesor / penyimpanan-> output). Tetapi beberapa mesin von Neumann, seperti MU0 , terlalu mudah untuk dijalankan. Info lebih lanjut tentang MU0 untuk pembaca yang tertarik .
sumber
Ya, ada beberapa hal yang tidak dapat dilakukan dengan berbagai bahasa. Berikut adalah beberapa kriteria utama yang mempengaruhi itu:
Itulah beberapa hal yang bisa saya pikirkan. Saya yakin masih ada lagi. Tetapi poin penting adalah bahwa ya ada persyaratan membatasi kunci yang akan mencegah penggunaan bahasa.
sumber
restrict
implementasi pra- C.Ya, itu benar dan selalu demikian. "Ketidakmampuan" dan "Tidak Cocok" sangat berbeda.
Anda bisa menggedor paku ke papan dengan ujung obeng. Anda bisa menggerakkan sekrup dengan ujung palu. Tetapi palu jauh lebih cocok dan merupakan alat yang lebih baik untuk membenturkan paku, dan obeng adalah alat yang lebih baik untuk pengencang berulir.
Bahasa pemrograman adalah alat. Alat-alat tertentu lebih baik dalam tugas-tugas tertentu.
sumber
Satu-satunya hal yang saya anggap tidak realistis adalah pengembangan driver perangkat tingkat rendah dalam bahasa yang sangat tervirtualisasi seperti Java atau C # - jika Anda mencoba memanipulasi perangkat keras, VM paling mengagumkan (yang membuat begitu banyak hal menjadi begitu bagus dan sederhana) akan menghalangi Anda. Saya yakin itu bisa dilakukan, jika Anda BENAR-BENAR menginginkannya, tetapi itu akan melibatkan banyak adaptasi VM untuk membuatnya bekerja.
Hal lain dapat dilakukan dalam bahasa apa pun yang Anda suka.
sumber
Sistem tertanam datang ke pikiran. Tidak realistis untuk memprogram router misalnya, atau beberapa jenis robotika menggunakan bahasa seperti C #. Meskipun ada proyek-proyek seperti netduin memanfaatkan kerangka mikro jadi saya mungkin telah membantah poin saya sendiri.
sumber
Bahasa 4GL disebut dibatasi oleh lingkungan pemrograman mereka terikat. Anda tidak dapat memprogram GUI dengan ABAP, misalnya. Yang dapat dilakukan adalah jenis seperti GUI di lingkungan terbatas klien SAP (dan ini hanya dapat berjalan terhubung ke instance SAP).
sumber