Selain kesal di whitespace sebagai sintaks, saya bukan pembenci, saya hanya tidak mendapatkan daya tarik dengan Python.
Saya menghargai puisi Perl, dan telah memprogram layanan web yang indah di bash & korn, dan shebang gnuplot
. Saya menulis dokumen troff
dan tidak keberatan REXX. Tidak menemukan tcl lagi yang berguna bertahun-tahun lalu, tapi apa masalah besar tentang Python ? Saya melihat daftar pekerjaan dan banyak kandidat dengan ini sebagai hadiah & trofi di resume mereka.
Saya kira pada kenyataannya, saya mencoba untuk secara pribadi dijual pada ini, saya hanya tidak dapat menemukan alasan.
0x09
, Anda mungkin tidak akan keberatan dan mungkin akan menggunakan Indentasi konsisten lebar indent pilihan Anda. Ini adalah hal yang sama yang diizinkan Python.Jawaban:
Python adalah bahasa yang dirancang dengan baik dengan sintaksis yang cukup bersih, pustaka standar yang komprehensif, dokumentasi pihak ketiga yang sangat baik disertakan, penyebaran luas, dan kedekatan bahasa gaya "scripting" (mis. Tidak ada langkah kompilasi eksplisit).
sumber
len
?__double_underscore_names__
, bercampuralllowercasefunctionames
denganmixed_underscore
danmixedCamelCase
nama. Itu membutuhkan:
pada akhirdef
atau loop. Ini menggunakan banyak singkatan yang anehstr
,dict
,islice
. Sepertinya tidak ada konvensi sama sekali. Ini benar-benar kekacauan. Peps, pips, zens ... lebih seperti agama python daripada bahasa. Ini mungkin memiliki beberapa fitur bagus tetapi tidak menjelaskan mengapa begitu banyak orang yang terlalu bersemangat tentangnya. Tidak ada yang istimewa tentang pyhon. Hanya produk yang dirancang dengan buruk.def
? Mengapa saya mendefinisikan fungsi dengan adef
dan bukanfunc
? Tidak ada bahasa lain yang tidak intuitif seperti python.Saya telah menemukan Python sebagai bahasa pemrograman paling alami yang pernah saya tulis kode. Saya telah mengkodekan dalam banyak bahasa sebelum dan sesudah Python, dan pada tingkat yang lebih besar atau lebih kecil, Anda harus berjuang melawan bahasa untuk mendapatkannya untuk melakukan apa yang Anda inginkan. Python mengurangi perjuangan ini secara besar-besaran. Eric S Raymond mengatakan itu jauh lebih baik daripada yang saya dapat di Why Python?
Sebagai titik terkait, Python mempertahankan kebersihannya bahkan saat berevolusi dengan cepat. Di sebagian besar bahasa yang saya gunakan, pengenalan fitur bahasa baru menimbulkan banyak kerutan. Tetapi dengan Python, bahkan fitur bahasa utama (penghias datang ke pikiran) ditambahkan setiap saat, tanpa merasa seperti peretasan yang buruk.
sumber
Saya harap ini tidak terdengar terlalu sinis, tetapi IMO Python sangat populer untuk alasan yang sama persis seperti Java, C # dan Objective-C. Bukan karena ada sesuatu yang spektakuler tentang bahasa itu sendiri, tetapi karena mereka masing-masing mendapat sponsor perusahaan yang mampu menghasilkan banyak hype, banyak iklan, dan banyak perpustakaan dan dukungan untuk bahasa pilihan mereka.
sumber
Pengalaman saya adalah bahwa orang-orang yang menemukan kebahagiaan sejati dalam pemrograman sering mencari bahasa yang lebih cocok untuk mereka daripada apa yang mereka pelajari di sekolah atau universitas. Pada dasarnya ini berarti bahwa mereka akan beralih dari PHP default / Visual Basic / C ++ / Java / C # ke sesuatu yang lebih eksotis (bisnis / karir) seperti Python, Ruby, Haskell dan bahkan perl (karena itu nilai hack yang sangat besar dan ketidakjelasan).
Jangan salah paham, ada programmer C # / VB.net yang sangat berpengalaman yang sangat bangga dan gembira dalam pekerjaan dan kode mereka (orang-orang StackOverflow adalah contoh yang sangat baik), tetapi Anda tidak menjadi programmer python hanya karena itulah yang mereka ajarkan di sekolah; itu harus menjadi keputusan Anda sendiri.
Saya pikir Jeff Atwoord memiliki posting blog tentang ini, tetapi saya tidak dapat menemukannya. Jika saya menemukannya saya akan memperbarui komentar ini.
sumber
Dibandingkan dengan Ruby, yang benar-benar keren dan menghasilkan Golf-off Code yang luar biasa, Python memiliki filosofi inti bahwa "Seharusnya ada satu - dan lebih disukai hanya satu - cara yang jelas untuk melakukan [hal-hal]," yang berarti cara Python idiomatis. Saya telah menemukan ini menjadi keuntungan besar dibandingkan dengan Ruby.
sumber
Saya mulai menyukai Python karena alasan yang sama seperti yang dijelaskan Eric S. Raymond: tindakan menulis program dengan Python secara konseptual sangat mirip dengan memikirkan tindakan merancang kode di kepala saya.
Belajar menjadi programmer Python yang baik membuat saya menjadi programmer C # yang jauh lebih baik. Itu membuat memahami LINQ jauh lebih mudah, misalnya. Saya mungkin tidak akan pernah menggunakan tipe suka
Dictionary<string, Func<T>>
, atau merasa nyaman menggunakanyield return
, jika saya tidak menggunakan kelas dan generator dengan Python. AOP jauh lebih mudah dipahami sekarang karena saya telah menggunakan dekorator Python. Daftarnya berlanjut.sumber
Pertama, kebiasaan bahasa yang sepele seperti lekukan paksa dalam Python tidak banyak berarti jika bahasa itu sendiri sangat ekspresif dan bermanfaat. Saya juga pada awalnya ditolak karena itu, tetapi segera belajar untuk melewatinya dan sekarang bahkan tidak merasakannya sebagai penghalang, karena bahasa ini jauh lebih mudah bagi saya untuk bekerja. Ini seperti sigils dalam variabel di Perl , kekhasan bahasa yang tidak berbahaya dan siapa pun yang nyaman dalam bahasa tersebut tidak merasa terganggu olehnya.
Untuk memahami alasan mengapa banyak orang berpikir Python hebat, coba saja dan pelajari bahasanya. Alasannya kebanyakan sama dengan Perl. Saya menemukan saya suka sintaks dalam Python (mis daftar pemahaman, sintaksis OOP, dll), tapi itu benar-benar subjektif dan pendapat Anda mungkin berbeda. Saya lebih suka Python untuk proyek yang lebih besar, sementara saya masih menggunakan Perl untuk skrip yang lebih kecil.
Dan itu adalah jawaban untuk pertanyaan Anda. Anda membandingkan Python dengan Perl, bash dan tcl. Masalahnya adalah itu bukan perbandingan yang adil. Bahasa seperti bash dirancang untuk menulis skrip kecil untuk mengotomatiskan tugas umum. Beberapa orang berpikir Perl juga menjadi sulit jika kode menjadi cukup besar (Perl tidak ditulis dengan baik, tetapi kode yang ditulis dengan baik sulit didapat dalam proyek besar). IMHO Python berbeda dari bahasa-bahasa 'scripting' lainnya dalam hal skala yang sangat baik untuk proyek-proyek besar serta skrip satu kali kecil. Saya pikir Ruby juga memiliki kualitas yang sama.
sumber
Filosofi bahwa Diktator Kebajikan harus menegakkan idenya tentang gaya yang baik [1], idenya tentang pemrograman yang baik, idenya tentang cara memprogram membuat saya frustrasi secara teratur. Saya tidak berpikir seperti van Rossum. Namun, bahasanya menentang upaya untuk mengekspresikan pemikiran non-van Rossum. Pemikirannya bekerja sangat baik untuk banyak programmer (kebanyakan?). Tapi sepertinya saya tidak cocok dengan model programnya.
Itu sebabnya saya percaya Perl adalah bahasa yang unggul.
[1] Lihat blognya tentang menghapus
reduce
.sumber
Saya pikir sedikit banyak Python adalah satu-satunya bahasa pemrograman yang Anda perlukan, kecuali jika Anda ingin menulis kernel OS. Sangat cocok untuk penggunaan interaktif, peretasan acak, administrasi sistem, aplikasi ilmiah, alat sistem operasi, aplikasi web, aplikasi GUI, penyematan, dll., Ini portabel, gratis, dan banyak digunakan. Tidak ada bahasa pemrograman lain yang benar-benar mencakup semua bidang dalam praktek. Ini adalah investasi strategis yang sangat baik untuk seseorang dan perusahaan.
sumber
Sejak 2004, saya menggunakan Python untuk mengembangkan:
Kembali pada tahun 2004, Python adalah bahasa pilihan karena skrip Python portabel di Windows, Linux dan Mac dengan sedikit modifikasi.
sumber
Bagi saya Python telah menjadi teman baik. Ini adalah bahasa scripting dan prototipe yang layak. Hal-hal kunci yang dapat saya pikirkan adalah:
sumber
Ini elegan dan sangat mudah dipelajari, dan begitu Anda terbiasa dengan tipe dasarnya (terutama daftar) produktivitas Anda tidak memiliki batas. Ini sempurna untuk membuat prototipe algoritma, atau untuk menuliskannya dalam bahasa pseudocode-like yang pada akhirnya dapat diletakkan langsung pada mesin, dan itu sangat bagus sebagai bahasa scripting untuk melakukan pekerjaan berulang atau melakukan operasi yang menjengkelkan pada file. Saya menggunakannya sebagai bahasa lem untuk membuat subproses berkomunikasi satu sama lain: tidak sekuat bash untuk beberapa tugas yang mudah, tetapi JAUH lebih mudah jika Anda perlu melakukan lebih dari sekadar satu baris kode.
Dan kemudian itu tidak membedakan antara fungsi dan subrutin, Anda tahu apa yang saya maksud.
sumber
Banyak pecinta Python yang saya lihat baru saja beralih dari lingkungan C dan terkesan dengan hal-hal seperti
"Hello "+ "World"
ini"Hello World"
. Jadi saya akan mengatakan ini adalah bahasa scripting pertama yang tidak mengumpulkan tag khusus / esoteris dan menyebar di antara orang-orang yang mati syahid seperti api di hutan kering. Dan fashion yang diciptakan sekarang hidup dengan sendirinya.sumber
Mengajukan kembali pertanyaan sekarang karena saya sedikit kurang lelah:
Python adalah bahasa yang saya temukan sangat cocok untuk tugas pemrograman ilmiah, yang merupakan salah satu tempat di mana popularitasnya tumbuh cukup kuat. Beberapa alasan mengapa:
Ini bukan akhir semua, semua-bahasa pemrograman, tetapi bahasa yang layak "Ya, saya mungkin memiliki alat untuk memecahkan masalah apa pun yang muncul" bahasa, yang mungkin mengapa itu menikmati popularitas saat ini.
sumber
Python adalah bahasa yang sangat 'webby' baik dalam kerangka yang tersedia (Django, Zope dll) dan di perpustakaan yang mudah diimpor, yang lagi-lagi mencakup banyak fungsi web.
Untuk pengembang web yang beralih dari hanya HTML, CSS + JS skillset (secara anekdot merupakan sumber besar programmer baru selama beberapa tahun terakhir), saya pikir ini membuatnya menjadi proposisi yang sangat menarik (selain Ruby).
Juga, Google bukan Microsoft ....
sumber
Saya pikir salah satu alasan utama adalah bahwa 90% google dibuat dari Python.
Namun, Python juga mudah dipelajari, bahasa pemrograman yang kuat. Ini memiliki struktur data tingkat tinggi yang efisien dan pendekatan yang sederhana namun efektif untuk pemrograman berorientasi objek. Sintaksis Python yang elegan dan pengetikan dinamis, bersama dengan sifatnya yang ditafsirkan, menjadikannya bahasa yang ideal untuk skrip dan pengembangan aplikasi yang cepat di banyak area di sebagian besar platform.
Penerjemah Python dan perpustakaan standar yang luas tersedia secara bebas dalam bentuk sumber atau biner untuk semua platform utama dari situs Web Python, http://www.python.org/ , dan dapat didistribusikan secara bebas. Situs yang sama juga berisi distribusi dan pointer ke banyak modul Python pihak ketiga gratis, program dan alat, dan dokumentasi tambahan.
Penerjemah Python mudah diperluas dengan fungsi dan tipe data baru diimplementasikan dalam C atau C ++ (atau bahasa lain yang bisa dipanggil dari C). Python juga cocok sebagai bahasa ekstensi untuk aplikasi yang dapat disesuaikan.
sumber