it-swarm-id.com

Mengapa ada begitu banyak bahasa pemrograman? Mengapa bahasa baru masih dibuat?

Mengapa ada begitu banyak bahasa pemrograman?

Dan apa yang mendorong seseorang untuk membuat bahasa pemrograman terlepas dari kenyataan bahwa bahasa lain sudah ada?

51
Moshe

Bahasa pemrograman berkembang

Bahasa pemrograman baru sering belajar dari bahasa yang ada dan menambah, menghapus, dan menggabungkan fitur dengan cara baru. Ada beberapa paradigma yang berbeda seperti berorientasi objek dan fungsional dan banyak modern bahasa mencoba menggabungkan fitur dari keduanya.

Ada juga masalah baru yang perlu dipecahkan, mis. peningkatan CPU multi-core. Solusi paling umum untuk itu adalah utas, tetapi beberapa bahasa pemrograman mencoba menyelesaikan masalah konkurensi dengan cara yang berbeda mis. Model Aktor. Lihat Erlang - Perangkat Lunak untuk Dunia Serentak

37
Jonas

Itu adalah sebuah siklus. Anda memulai bahasa baru, dan Anda bebas untuk menjauh dari semua sintaksis buruk dan pilihan buruk dari para pendahulu Anda. Dalam versi 1, bahasanya tampak hebat karena tidak memiliki bagasi apa pun, dan menyelesaikan pekerjaan. Kemudian, dalam versi yang lebih baru, Anda mulai bereksperimen dengan fitur-fitur yang mungkin tidak berhasil, atau Anda membawa fitur-fitur dari bahasa lain yang lebih baru yang menyebabkan sintaksis Anda sedikit kludgey. Lihatlah, setelah beberapa versi lagi, Anda menyadari bahwa bahasa Anda sekarang sama rumitnya dengan yang Anda ganti, dengan masalah sintaksis yang konyol dan warisan bawaan. Dan tiba-tiba, Anda menyadari bahwa jika Anda membuat bahasa bar, Anda dapat memperbaiki semua itu ...

23
RationalGeek

Untuk alasan yang sama ada palu, obeng, gergaji tangan, gergaji pita, jackhammers, linggis, dan sejumlah alat lainnya: tidak setiap bahasa sempurna untuk setiap tugas. Beberapa bahasa ditargetkan pada domain masalah tertentu: R sangat baik untuk analisis statistik, C sangat baik untuk menulis kernel sistem operasi, Haskell sangat baik untuk perhitungan matematika atau keuangan, Erlang sangat baik dalam pemrograman bersamaan, dll.

Juga, untuk alasan yang sama bahwa kemeja datang dalam warna berbeda: beberapa orang hanya menyukai "gaya" dari satu bahasa ke bahasa lain.

Dan, tentu saja, banyak programmer merasa senang untuk menciptakan bahasa baru, hanya untuk melihat apa yang terjadi, atau mungkin karena mereka memiliki pengetahuan tentang bahasa dan ingin menghilangkan rasa gatal, atau mencoba beberapa ide.

11
mipadi

Karena mereka semua payah (dengan satu atau lain cara).

Saat ini, kami telah membuat sekitar 5.000 bahasa untuk menggambarkan masalah alam dan tidak ada satupun dari mereka yang tersedia untuk menulis program (contohnya adalah "Bahasa Inggris").

Sampai seseorang menemukan cara untuk membuat bahasa pemrograman yang dapat mengekspresikan apa yang dapat Anda ungkapkan dalam kalimat dalam bahasa alami, mereka akan terus berdatangan.

8
Aaron Digulla

Jelas satu motivasi penting untuk menciptakan bahasa baru adalah untuk mencapai sesuatu yang lebih baik daripada bahasa yang sudah ada. Dan karena selalu ada ruang untuk perbaikan, akan selalu ada bahasa baru.

Kepentingan komersial adalah alasan besar lainnya. Saya percaya penting bagi Microsoft misalnya bahwa mereka dapat menawarkan bahasa untuk setiap kebutuhan sehingga perusahaan dan pengembang lebih menyukai platform mereka.

6
Carlos

Kode Warisan. Jika Anda memulai bahasa baru, Anda tidak harus mendengarkan/mempertimbangkan semua keluhan saat Anda mengubah bahasa lama. Bahkan jika semua orang setuju bahwa implementasi baru lebih baik, itu tidak dapat merusak kode lama. Dan ada banyak kode lama di luar sana.

6
JeffO

karena itu menyenangkan untuk membuat bahasa baru bahkan jika mereka tidak memiliki penggunaan nyata

Bahasa pemrograman esoterik (terkadang disingkat menjadi esolang) adalah bahasa pemrograman yang dirancang untuk menguji batas-batas desain bahasa pemrograman komputer, sebagai bukti konsep, atau sebagai lelucon.

4
jk.

Membuat bahasa pemrograman agak menyenangkan. Sangat dekat dengan karya kreatif murni, karena Anda tidak terbatas pada persyaratan sebelumnya. Ini tidak sulit untuk diimplementasikan lagi, karena Anda selalu dapat mengkompilasi ke C dan mengkompilasi kode C untuk kinerja yang memadai jika Anda menulis kompiler di tempat pertama.

Tentu saja, kebanyakan dari kita memiliki ide-ide bagus yang lebih sedikit daripada yang kita pikirkan, sehingga mereka sering mengecewakan, atau tidak dicintai oleh orang lain selain desainer asli.

Pikirkan tentang bahasa pemrograman yang Anda tahu. Anda dapat dengan mudah menemukan beberapa hal yang tidak Anda sukai, bukan? Anda mungkin memiliki ide bagaimana hal itu dapat diperbaiki. Dengan sedikit dorongan, dengan anggapan Anda tahu banyak tentang pembangunan kompiler (dan banyak orang melakukannya), Anda mungkin mulai merancang dan bahkan mengimplementasikan sendiri.

3
David Thornley

Jawaban Ringkas Cepat

Reinventing The Wheel ... Apa tren saat ini ...

Jawaban Panjang Boring

Banyak orang lupa bahwa "bahasa baru lain yang serupa untuk programmer lama" adalah "bahasa baru yang jelas untuk programmer baru".

Apa yang saya maksud untuk itu?

Nah, untuk programmer "beberapa tahun", Java atau C # dapat menjadi bahasa pemrograman tambahan untuk Cobol yang ada, (OO/Prosedural) Dasar, C/C++, sedangkan untuk programmer "baru", = Java atau C # adalah bahasa baru, sementara Cobol, (OO/Prosedural) Dasar, C/C++ tidak ada untuk mereka, jadi menciptakan kembali roda menjadi hal yang umum ...

Dan, jika ada tren baru pada teknologi, orang dapat membuat bahasa pemrograman baru berdasarkan tren itu, seperti ecmascript/javascript untuk web dan pemrograman fungsional ...

Bersulang.

2
umlcat

bahasa pemrograman baru dibangun karena berbagai alasan, sebagian besar karena ada paradigma pemrograman baru, atau karena kemajuan orang perangkat keras membuat bahasa baru untuk mengambil keuntungan dari fitur perangkat keras baru seperti multitasking, dll.

dalam kasus saya, saya biasanya membangun kompiler kecil (dengan bahasa pemrograman baru), untuk alasan khusus. jika saya membuat banyak game, dan saya percaya bahwa bahasa pemrograman yang khusus dibuat untuk pengembangan game akan menghasilkan kode yang lebih cepat lebih kecil dan pengembangan yang lebih cepat berbalik, maka saya membangunnya. dan pada akhirnya ternyata itu juga dapat digunakan untuk pemrograman tujuan umum lainnya.

Saya pikir sebagian besar orang yang membuat bahasa pemrograman memiliki tujuan tertentu dalam pikiran, ada orang yang menciptakannya untuk tujuan umum sejak awal. tetapi kebanyakan tidak.

Omong-omong, saya pikir ada terlalu banyak bahasa pemrograman, tetapi ratusan yang baru akan selalu keluar. beberapa karena kegembiraan, beberapa karena tujuan khusus, sebagai proyek sekolah, atau karena ratusan alasan lainnya. dan cepat atau lambat yang baru akan menjadi populer. Tidak akan pernah berakhir.

1
Sergio Fernandez

Ada beberapa alasan, sebagian besar karena orang berpikir bahwa apa yang ada tidak membuatnya mudah untuk menyelesaikan sejumlah masalah. Beberapa hanya untuk bersenang-senang atau untuk kepentingan akademis.

Saya pikir ada argumen yang kuat bahwa masalah bagaimana Anda mendesain bahasa yang sempurna belum terpecahkan (dan mungkin tidak akan pernah). Jadi, selama orang memiliki ide-ide baru tentang apa yang akan membuat bahasa yang hebat, orang akan terus berusaha. Beberapa dari percobaan tersebut akan memetakan ruang baru yang keren seperti Erlang dan beberapa akan gagal, tetapi selama ada sesuatu yang dipelajari dari kegagalan itu juga OK.

0
Zachary K

Untuk alasan yang sama, ada begitu banyak <apa saja> dan kami terus membuat <apa saja> baru

Ada selusin PHP kerangka kerja MVC, misalnya, tetapi orang akan selalu membuat yang baru untuk memenuhi kebutuhan spesifik, untuk menghindari ketergantungan pada beberapa tim lain, atau hanya untuk mencoba dan menciptakan sesuatu yang lebih baik. Hal yang sama berlaku pada dasarnya setiap jenis alat atau aplikasi.

Itu hal yang sangat bagus, cukup banyak win-win untuk semua orang menurut saya.

0
Fosco

Universitas berkontribusi banyak bahasa pemrograman, dan begitu juga perusahaan yang sangat besar seperti Ericsson (Erlang = bahasa Ericsson), Bell Labs (bahasa B dan C), Google (Bahasa Go beberapa bulan sebelumnya). Banyak dari yang ditulis sebagai bagian dari riset universitas tidak banyak digunakan. Ada beberapa pengecualian penting. Saya kira menulis bahasa Anda sendiri/kompiler membuat topik yang bagus untuk tesis PhD orang yang mempelajari Teori CS atau disiplin ilmu terkait. Itu mengejutkan saya bahwa Python adalah salah satu bahasa pertama yang lahir dari upaya online kolaboratif dari berbagai programmer di sekitar satu ide.

0
ixtmixilix