Seperti yang mungkin Anda perhatikan dari judul, ini bukan pertanyaan "PHP atau Ruby", atau "PHP vs Ruby". Ini adalah pertanyaan tentang bagaimana memanfaatkan PHP + Ruby di bisnis yang sama.
Saya sendiri adalah pengembang PHP, saya suka bahasa karena kemudahannya dan saya khususnya menyukai ekosistem sumber daya yang mengelilinginya: Joomla, Drupal, Wordpress, Symfony2, Doctrine2, dll. Namun, bahasa itu sendiri terkadang sedikit mengecewakan kadang-kadang .
OTOH, Ruby terlihat seperti bahasa yang sangat indah dan —dari mempelajarinya secara dangkal dalam beberapa aspek — saya bisa mengatakan itu lebih ramping daripada Python sebagai bahasa semata. Namun, dari apa yang saya lihat hanya ada banyak RoR yang membuat noise, dan saya tidak terlalu suka RoR (terutama karena model layer-nya).
Sebagai Co-CEO dan CTO di perusahaan saya, saya mencoba untuk berpikir di luar kotak karena saya ingin mulai fokus pada sisi teknologi manusia dan melihat apakah waras menggunakan PHP dan Ruby. Berikut ini beberapa pemikiran acak:
- Ruby folk tampaknya secara umum lebih cocok sebagai programmer daripada PHP folk (dalam hal rata-rata), saya tahu pernyataan sebelumnya agak basi karena PHP yang sangat bagus dan dirancang dengan baik dapat ditulis, tetapi saya akan mengatakan budaya programmer Ruby lebih baik daripada PHP.
- Hal tentang Ruby adalah sepertinya lebih cocok untuk pengembangan yang cepat, saya tidak benar-benar tahu apakah ini hanya berlaku untuk RoR, tetapi saya tahu bahwa ada praktik tertentu (mungkin tidak begitu baik) seperti penambalan monyet yang memungkinkan bisnis kebutuhan akan dipuaskan lebih cepat.
- Dari sudut pandang pemasaran (ya, terkadang Anda perlu meningkatkan BS pemasaran demi perusahaan Anda) Ruby tampak lebih baik sementara PHP membawa beberapa stigma.
- PHP 5.4 membawa sifat , dan itu lebih baik / bersih daripada mixin. Itu benar-benar dapat membuat PHP sama rampingnya dengan Ruby —atau lebih banyak — untuk hal-hal tertentu.
Sekarang, secara konkret, pertanyaan saya:
- Apakah seorang programmer PHP ingin belajar Ruby ?, saya tahu saya tahu, tetapi sebaliknya, apakah seorang programmer Ruby ingin belajar PHP ?.
- Jenis proyek atau situasi apa yang lebih cocok untuk Ruby yang tidak cocok untuk PHP ?.
- Apa sebenarnya ekosistem Ruby ?, selain dari RoR, saya belum melihat teknologi / kerangka kerja hyped lainnya (saya pernah melihat RSpec, tapi saya akui sebagai noob total tentang apa BDD sebenarnya terdiri dan implikasinya).
- Andaikata ada beberapa jenis proyek yang ideal untuk Ruby, akankah ada saat yang lebih baik untuk memindahkannya ke PHP ?. Saya tahu PHP dapat menangani banyak hal, tetapi saya telah membaca bahwa Ruby memiliki keterbatasan ketika melakukan penskalaan (atau apakah itu RoR ?, atau apakah itu omong kosong untuk keduanya?).
- Akhirnya dan yang paling penting, apakah waras untuk mempertahankan proyek dalam dua bahasa ?, atau apakah itu hanya bodoh. Seperti yang saya katakan, sepertinya Ruby lebih ramping dalam jangka pendek dan itu dapat membuat proyek terjadi dan berhasil, tetapi saya tidak begitu yakin tentang itu dalam jangka panjang.
Saya mencari wawasan terutama dari orang-orang yang tahu betul kekuatan dan kelemahan bahasa — lebih baik keduanya — dan ekosistem Ruby dalam praktik nyata, artinya: kerangka kerja dan aplikasi seperti yang saya kutip dari ekosistem PHP.
sumber
Terus terang pertanyaan Anda tampaknya tidak jelas bagi saya, tetapi saya akan mencoba menjawabnya.
Jangan tersinggung, tetapi pertanyaan ini tidak bisa dijawab. Itu benar-benar tergantung pada terlalu banyak faktor, banyak di antaranya terkait dengan kepribadian programmer. Jawaban mudah: Tentu saja, mengapa tidak? Ini satu alat lagi untuk membangun situs web.
Sedangkan untuk proyek, keduanya sama-sama cocok (jika saya ingat betul, ruby berjalan lebih lambat, meskipun ini perlu sedikit garam sejak
AFAIK, stackchange dibangun dengan RoR[Saya tidak pernah membaca tolok ukur yang sebenarnya]). Situasi yang akan cocok satu lebih dari yang lain adalah jika Anda bermaksud menggunakan kerangka kerja tertentu, atau jika tim Anda terdiri dari orang-orang yang memiliki lebih banyak pengalaman dalam salah satu dari dua bahasa. Saya benar-benar tidak berpikir ada jenis proyek tertentu yang "ideal" untuk bahasa tertentu. Itu benar-benar bermuara pada spesifikasi masing-masing proyek (dan bahkan kemudian, perbedaannya akan halus).Ruby on Rails adalah bagian besar dari kesuksesan Ruby. Ruby tetap menggunakan bahasa yang tidak dikenal sampai RoR diluncurkan. Ada banyak proyek menarik yang dibangun di Ruby, tetapi tidak ada yang mendekati dalam hal keberhasilan & penerimaan oleh komunitas. Ada CMS yang dibangun di atas RoR yang cukup dikenal. Lovd by Less misalnya.
Satu-satunya kasus yang dapat saya bayangkan adalah setelah melakukan prototipe dengan Ruby, jika Anda merasa PHP akan menghasilkan pengembangan yang lebih cepat. Tetapi begitu sebuah proyek dimulai, bagaimana Anda bermaksud "memindahkannya ke PHP"? Port semua kode yang sudah ditulis?
Jika Anda tidak memiliki bazoka mengarah ke kepala Anda, sama sekali tidak.Jika Anda bermaksud mempertahankan dua proyek yang sama sekali berbeda dalam dua bahasa yang berbeda, maka tentu saja. Saya tidak berpikir Anda akan pernah pergi untuk jangka waktu yang lama dengan bahasa yang sama. Sebagai contoh, saya terus-menerus berpindah dari satu bahasa ke bahasa lain. Saya hanya menguasai sedikit, tetapi saya cukup tahu yang lain untuk keluar dari situasi apa pun (sampai sekarang). Saya pekerja lepas sehingga orang yang bekerja di perusahaan mungkin memiliki pengalaman yang berbeda. Tapi maksud saya adalah, mempertahankan proyek yang berbeda dalam bahasa yang berbeda adalah mudah (cukup) dan menyenangkan.
sumber
Jika Anda ingin melakukan pengembangan aplikasi desktop dan ingin menggunakan bahasa pemrograman yang sama, maka Ruby (terutama JRuby) akan lebih cocok daripada PHP. /programming/1129383/non-trivial-desktop-apps-that-use-ruby
sumber
Saat membaca, ingatlah bahwa saya adalah Pengembang Ruby on Rails, dan menjawab dari sistem ramah lingkungan itu. Pandangan saya akan miring ke arah itu.
Sama sekali tidak, dalam banyak kasus. Bukan hanya karena saya tidak suka PHP (saya tidak, tapi saya menggunakannya), tetapi karena set alat memiliki perbedaan ideal mendasar. Ada banyak alat seperti rake dan rspec yang membantu beberapa untuk TDD di dunia ruby. Dalam kebanyakan tutorial tutorial ruby (dan tentu saja rails) yang lebih dulu. Itu tidak berarti Anda tidak dapat melakukan ini di PHP, hanya saja konvensi berbeda. Dan perbedaan konvensional antara kedua bahasa itu, secara umum, langsung bertentangan.
Aplikasi desktop, skrip shell, aplikasi MVC (rails lagi), dan aplikasi konsol kecil. Bukannya semua ini tidak dapat dilakukan dengan php, Ruby hanya memiliki dukungan yang lebih baik. Saat menulis aplikasi Rails (maaf) saya sering menulis satu skrip di ruby. Hal ini memungkinkan skrip deployment atau setup saya dalam bahasa yang sama dengan aplikasi saya, di mana dengan PHP saya bahkan tidak akan pernah mencoba untuk menulis skrip shell dalam PHP. Saya hanya akan menggunakan bash. Saya telah menulis aplikasi Ruby QT, dan aplikasi MVC (keduanya Rails dan bukan) dan ruby dan itu sekitar lib hanya "bekerja lebih baik" untuk kasus-kasus itu.
Ini semacam kesalahpahaman. RoR populer karena melakukan pekerjaannya dengan baik, tetapi mungkin ada alat / tumpukan lain yang menggunakan ruby pada intinya. Mereka kurang populer karena sedang memasuki ruang yang sudah memiliki alternatif. Saya suka menulis aplikasi GUI cepat di ruby. Tapi python, C #, VB, LISP, dll dll sudah bisa melakukan ini. RoR adalah game changer. Jadi itu populer. Hal yang sama dapat dikatakan untuk PHP, beri nama kerangka kerja PHP yang populer. Ada beberapa, tetapi hapus produk (seperti wordpress) dari daftar, dan Anda tidak pergi dengan banyak.
Ini adalah pertanyaan yang sulit dan Anda harus bertanya, bahasa apa yang lebih baik untuk proyek saya? Saya tidak akan pernah menulis blog di Rails. Saya tahu itu contoh tutorial standar, tetapi jika Anda ingin blog maka wordpress adalah alat yang tepat. Hal yang sama berlaku di sini. Jika Anda mengalami contoh yang kuat tentang perlunya beralih bahasa dari ruby, batasan teknis yang akan Anda hadapi akan menghalangi PHP juga.
Ruby sangat bagus dalam jangka panjang. Kendala terbesar untuk kesuksesan jangka panjang bukanlah bahasa, tetapi pengembang. Untuk mempertahankan dua bahasa, itu tergantung pada bagaimana Anda mendefinisikan suatu proyek. Saya memiliki beberapa proyek yang memiliki aplikasi berat di rel, dan situs blog atau penjualan menggunakan wordpress / dupral / beberapa php. Saya menganggap mereka proyek yang terpisah. Saya akan mengatakan bahwa semakin banyak bahasa yang akhirnya Anda dukung, semakin sulit untuk menemukan pengembang yang baik di semua bahasa. Sebagai contoh, saya menggunakan dan merekomendasikan wordpress, tapi saya tidak berada di dekat "baik" dalam PHP seperti saya di RoR. Jika seorang klien benar-benar menginginkan setengah dari produk inti mereka dalam PHP dan setengahnya dalam RoR saya benar-benar harus mencari tahu mengapa, dan tergantung pada jawaban mereka kemungkinan akan menolak pekerjaan.
sumber