Relativitas linguistik adalah gagasan bahwa bahasa membentuk cara kita berpikir. Pertanyaan saya adalah, berapa banyak, dan sejauh mana, ini berlaku untuk pemrograman?
- Apakah beberapa bahasa asli dan alami lebih cocok untuk berpikir tentang pemrograman daripada yang lain? Misalnya, dapatkah hal-hal berikut dinyatakan lebih ringkas dalam bahasa non-Inggris?
Select a pivot. Move all the items less than the pivot to one side of the list, and all the items greater than the pivot to the other side.
- Apakah programmer yang berbicara bahasa Cina melihat pemrograman dalam lensa yang sangat berbeda dari programmer yang berbahasa Inggris, atau apakah perbedaannya menghilang ketika keduanya tenggelam dalam subjek?
- Apakah beberapa bahasa dan domain pemrograman lebih mudah dipikirkan dalam satu bahasa atau lainnya. Misalnya, apakah lebih mudah untuk grok Ruby jika Anda orang Jepang karena pembuat Ruby adalah orang Jepang?
Perhatikan bahwa pertanyaan ini tidak berfokus pada "bagaimana bahasa pemrograman memengaruhi cara orang berpikir tentang pemrograman", melainkan "bagaimana bahasa alami memengaruhi cara orang berpikir tentang pemrograman".
Untuk menghindarinya, satu bahasa yang jelas memiliki keunggulan pragmatis adalah bahasa Inggris . Saya pikir keuntungan memiliki sedikit hubungannya dengan bahasa pemrograman memilih kata kunci Inggris seperti if
, for
, while
, dan do
, seperti musisi yang tidak berbicara bahasa Italia tidak tersandung oleh kata-kata seperti forte . Ini lebih berkaitan dengan komunikasi ide dengan programmer lain, karena bahasa Inggris adalah bahasa pergaulan akhir-akhir ini, setidaknya di dunia pemrograman. Misalnya, untuk mengajukan pertanyaan di StackOverflow, Anda benar-benar perlu tahu bahasa Inggris dan mengetahuinya dengan cukup baik jika Anda menginginkan jawaban yang baik. Walaupun ini kedengarannya seperti sikap imperialis, itu benar dalam praktiknya.
Selain itu, bagaimana sifat intrinsik bahasa memengaruhi cara pemrogram yang berbicara tentang struktur data, algoritme, dll.? Apakah ada bahasa tertentu yang ringkas ketika berbicara tentang logika dan pemrograman, yang memungkinkan penutur asli bahasa tersebut untuk berpikir lebih cepat?
Implement quick sort
.