it-swarm-id.com

Ruby atau Python?

Pertanyaan ini sangat subyektif dan terbuka. Bahkan mungkin terdengar seperti sesuatu yang harus saya teliti sendiri dan membuat keputusan sendiri. Tapi saya ingin meletakkannya di sana dan mendapatkan beberapa pemikiran dari orang lain.

Singkat cerita - Saya sangat lelah dengan perlombaan tikus dan sedang menjalani cuti panjang yang didanai sendiri tahun ini. Sebagian besar untuk mengambil istirahat dari Grind perusahaan dan berkeliling, tetapi saya juga ingin bermain-main dengan teknologi baru dan melakukan beberapa proyek belajar mandiri, untuk tetap mempercepat pemrograman, dan yah - Saya hanya suka bermain-main dengan pemrograman, ketika tidak ada tekanan!

Inilah masalahnya: Saya seorang programmer C/C++/Java seumur hidup. Saya sedikit sombong braket berlekuk sejak saya telah bekerja dengan keluarga bahasa ini untuk seluruh karir pemrograman saya. Jadi saya ingin belajar bahasa yang tidak berhubungan erat secara sintaksis dengan grup ini. Apa yang saya cari pada dasarnya adalah bahasa yang memiliki tujuan yang relatif umum, menyenangkan untuk dipelajari, memiliki beberapa konsep baru yang berbeda dari C++/Java, dan memiliki komunitas yang baik. Pertimbangan kedua adalah bahwa ia memiliki kerangka pengembangan web yang bagus. Pertimbangan tersier adalah bahwa itu tidak sepenuhnya akademis (baca: ada pekerjaan dunia nyata di luar sana menggunakannya).

Saya mempersempitnya menjadi Ruby atau Python. Kesan saya tentang Ruby adalah sangat berorientasi web - bahwa satu-satunya aplikasi nyata adalah sebagai bahasa scripting sisi server untuk melakukan hal-hal web (terutama Ruby on Rails). Saya tidak memiliki banyak kesan Python sama sekali, kecuali bahwa tampaknya memiliki basis penggemar yang bersemangat dan tampaknya menjadi bahasa yang cukup fleksibel.

TL; DR dan menjelaskannya sejelas mungkin: yang mana di antara yang lebih baik bagi seorang pria C++/Java untuk belajar mendapatkan perspektif baru tentang pemrograman? Dan tujuan mana yang lebih terbuka dan umum serta dapat diterapkan pada serangkaian aplikasi yang lebih luas? Saya condong ke arah Ruby saat ini, tapi saya khawatir sampai-sampai sepertinya itu tidak digunakan selain bahasa web sisi server.

24
Bobby Tables

Jangan biarkan fakta bahwa Ruby naik ke bahasa umum sebagian besar karena Rails (kerangka aplikasi web) menipu Anda. Ini adalah tujuan umum bahasa pemrograman, dan Anda bisa menggunakannya untuk apa pun yang bisa Anda gunakan untuk bahasa lain.

Bermain-main dengan Ruby dan lihat apakah Anda jatuh cinta padanya. Anda akan mau atau tidak mau. Ini seperti musik Grateful Dead; Anda suka atau tidak bisa tahan.

Ruby akan meregangkan otak Anda. Dalam banyak hal, ini jauh dari C++/Java yang Anda bisa dapatkan. Saya berasal dari latar belakang C dan C #, dan saya menemukan dinamika dan kekuatan meta-pemrograman Ruby sangat memabukkan.

Yang sedang berkata, Python adalah bahasa yang benar-benar luar biasa, dan itu akan menghancurkan Anda dari keriting keriting Anda.

Kenapa tidak belajar keduanya? Saya menggunakan keduanya secara teratur: Ruby untuk pemrograman dengan Rails dan Python untuk bekerja dengan Google AppEngine.

35
Adam Crossland

Saya hampir tidak pernah menggunakan Ruby, tapi ini kesan saya tentang Python:

  • ketika saya menulis pseudocode untuk menuliskan sebuah fungsi, saya menemukan bahwa apa yang saya tulis secara praktis adalah Python, dan kadang-kadang sangat sedikit penulisan ulang diperlukan untuk menjadikannya kode aktual . Anda bahkan dapat melewatkan kodesemu bersama-sama dan hanya mengekspresikan pikiran Anda secara langsung dengan Python
  • ketika saya perlu melakukan sesuatu yang tampak seperti tugas umum, Python cenderung memiliki fungsi yang diperlukan (pada tingkat tinggi) dibangun ke dalam perpustakaan standarnya. Misalnya, sejak awal ketika saya ingin buka file dan pindai baris demi baris, jawabannya sesederhana 'untuk baris di myFile: dostuff (baris)'. Ini saya percaya mereka menyebut pendekatan 'termasuk baterai', dan berbeda dari beberapa bahasa lain saya sudah digunakan di mana operasi sehari-hari jauh lebih baik

Dua hal itu menonjol bagi saya.

17
Andrew M

Jika Anda mengambil cuti setahun penuh, maka saya sarankan menghabiskan satu atau dua minggu belajar masing-masing dan kemudian memutuskan untuk diri sendiri yang paling Anda sukai. Saya memiliki pengalaman dengan keduanya dan menurut saya mereka berdua sangat mampu sehingga Anda benar-benar hanya perlu memutuskan mana yang Anda sukai.

9
Jason Webb

IMO, Anda harus menggunakan Python. Alasannya adalah karena lebih fleksibel, Anda dapat menggunakannya untuk hampir semua hal. Ruby, seperti yang Anda perhatikan, lebih banyak digunakan dalam pengembangan web karena kerangka webnya. Tidak seperti Python, Ruby tidak begitu baik untuk pengembangan aplikasi desktop gui , program numerik, statistik atau pemrosesan gambar.

7
Marcin

Ruby telah ada jauh lebih lama daripada Rails miliki, jadi saya letakkan di sana di dunia yang Ruby != web, meskipun ia melakukannya dengan sangat baik. Ada sejumlah sistem yang berhubungan dengan hal-hal yang dapat dan dilakukannya. Sepertinya seluruh kerangka Rails menelan seluruh dunia Ruby dunia. Dan ya, saya a Ruby = penggemar.

Python di sisi lain memiliki banyak hal untuk itu, dan telah terintegrasi dengan hampir semua hal di Linux. Itu memberitahu saya mungkin cukup mudah untuk dimasukkan ke dalam program yang lebih besar (dibandingkan dengan Ruby, Java, dll.). Ada cukup banyak infrastruktur Linux Ubuntu yang ditulis dengan Python, yang memberi tahu saya bahwa Python memiliki aplikasi dalam pemrograman sistem. Saya mendengar kerangka webnya benar-benar bagus, saya belum bermain dengannya.

Yang mengatakan, baik Ruby dan Python adalah bahasa yang sama-sama mampu, dan Anda akan menemukan mereka membuat hidup Anda jauh lebih mudah. ​​Ruby memiliki lebih banyak kepala web di komunitasnya, tetapi itu bukan keseluruhan komunitas. Saya telah menggunakannya pada sejumlah proyek infrastruktur juga.

6
Berin Loritsch

Ini adalah kasus khusus " rutan Pembelajaran Bahasa Pemrograman Ideal" dan pertanyaan serupa . Apa yang Anda butuhkan bukanlah "bahasa yang sempurna", Anda membutuhkan beberapa paradigma bahasa dan berbagai pengalaman belajar untuk membuka pikiran Anda.

Saya tahu Anda mengatakan Anda mempersempitnya menjadi Ruby dan Python, tapi saya sarankan Anda mulai dengan Racket (Skema populer). Ini dibangun untuk belajar dan itu akan meregangkan otak Anda ke arah pemrograman fungsional, pemrograman interaktif dan pengetikan dinamis. Tidak ada pekerjaan (secara harfiah nol), komunitas yang sangat kecil, terfragmentasi, dan tidak ada kerangka web utama, itulah sebabnya Anda tidak akan terjebak di dalamnya; goreng otak Anda untuk sementara dan kemudian lanjutkan .

Kedua, Anda ingin belajar Ruby atau Python untuk pekerjaan yang mungkin. Saya sarankan Anda mempelajari keduanya. Mempelajari yang kedua dari keduanya akan jauh lebih mudah daripada pertama terlepas dari perbedaan mereka. Adapun pekerjaan yang mungkin, firasat saya adalah bahwa ada lebih banyak Ruby bekerja karena Rails, tapi saya tahu ada juga beberapa pekerjaan Zope di bidang ini. Berinvestasi di setidaknya salah satunya, tetapi juga memeriksa yang lain setidaknya cukup lama untuk membangun sesuatu yang kecil.

Jujur, Anda mungkin akan belajar lebih banyak minggu pertama Anda di pekerjaan dengan salah satu dari mereka daripada yang pernah Anda pelajari sendiri; mereka berdua memiliki ekosistem besar dengan banyak alat, budaya, dan idiom.

tl; dr: Keduanya dan Skema.

5
Jesse Millikan

Saya juga berasal dari latar belakang Java/C++ dan telah memprogram dalam Python dengan kerangka Django selama 4 bulan terakhir dan ini sangat bagus. Setiap kali saya punya masalah atau pertanyaan, saya bisa menemukan penjelasan pada posting yang ada. Saya tidak dapat menjamin untuk Ruby karena saya belum menggunakannya, tapi saya pasti akan mencobanya ketika saya punya waktu .

Saya pribadi suka bagaimana Anda dapat melakukan hal-hal dengan sangat cepat dengan Python karena memiliki banyak fungsi berguna bawaan.

1
chiurox

Pilihan id untuk Ruby. Saya berasal dari .Net dan latar belakang C #, mencoba Python pertama, tetapi Ruby baru saja memikat saya =)
Saya menulis banyak hal sistem di dalamnya, dan beberapa Rails dev to. Ia mampu sebagai Python dalam pemrograman sistem, dan luar biasa di web. Dan rasanya lebih halus bagiku ..

1