Ruby ne yaptı (ya da Rails)? [kapalı]


13

Çoğu programlama dili, kullanımlarını ve uygulanabilirliklerini etkileyen bazı tasarım kararlarına sahiptir.

Örneğin:

  • Python, kodun sürdürülebilirliği / okunabilirliğine odaklandı ve girinti dilin kendisinin bir parçasıydı.
  • Java'nın amacı çapraz platform OOP'u C ++ 'dan' daha kolay 've' daha dost 'olmaktı
  • Objective-C, C ++ 'ın geleceğini bilmeden C'nin etrafında bir OO sargısı olarak inşa edildi
  • Erlang yüksek hata toleranslı ve eşzamanlı sistemler için tasarlanmıştır
  • Web sayfalarının dinamik oluşturulması için tasarlanmış PHP
  • Javascript'in iyi kısımlarını ortaya çıkarmak ve OOP sözdizimsel şeker eklemek ve JS'nin nüanslarını (globaller vb.) 'Sahne arkasında' gizlemek için tasarlanmış CoffeeScript .

Her programlama dili belirli bir niş IMHO'dan yararlanmaya ve bunlardan yararlanmaya çalıştı. Yukarıdakiler, programlama dillerinin kurucu ilkeleri ve bunların evrimini ve yaygın kabul edilebilirliklerini yöneten bakış açılarımdı. Tabii ki, çok daha fazlası var, ancak liste sadece örnek amaçlıdır

Ancak, Ruby'nin dayandığı kurucu ilkeleri ve artan popülaritesini anlamaya çalıştım. Bugün onu popüler yapan Ruby'nin kuruluş ilkeleri nelerdi? Yoksa Rails çerçevesini tasarlayan bir adamın dehası mı? İkincisi, Ruby Rails'ın tasarımını daha iyi / daha kolay / daha hızlı yaptıysa? Ne anlamda?

Yaratıcısına göre en yaygın olarak belirtilen neden '... eğlenceli, zayıf yazılan bir programlama dili istedim' - bunu tamamen yeni bir programlama dili yaratmanın bir nedeni olarak görmüyorum! Programlama, dilden bağımsız olarak tamamen eğlenceli IMHO'dur (her dilin bazı kötü bölümleri vardır, ancak biri ya etrafta ya da onunla birlikte yaşar).

Peki şu anki diller tarafından kullanılmayan hangi niş kullanılmakta (ya da kullanmaktadır)? Ruby'nin yaygın olarak benimsenebilirliğine yol açan 'güçlü noktası' (USP) nedir? Ruby daha önce yapılmayan (ya da aşırı zor olan) ne yaptı?

Ben bir Ruby programcısı değilim, sadece bir Ruby noob ve dolayısıyla karışıklık.

Yasal Uyarı : Bu bir alev savaşı DEĞİLDİR ve Ruby vs Programlama dili cevap tiplerini aramıyorum. Ruby'nin dayandığı ve yaygın olarak benimsenmesine yol açan tasarım kararlarını arıyorum. Ruby popüler olmak için hangi nişi tatmin ediyor ya da bu sadece Rails'e mi bağlı?

Yanıtlar:


11

Sanırım Ruby birçok nedenden dolayı yola çıktı:

  • Rails çerçevesi. Rails, web uygulamalarının geliştirilmesini kolaylaştırmak ve geliştiricinin verimliliğini artırmak için birçok yararlı modeli bir araya getirdi. Bunu Java'nın ayrıntılı ve sıkıcı web geliştirme ve "tek kişilik gösteri" .NET platformu ile karşılaştırın. Dakikalar içinde weblog web uygulamaları oluşturmak bir çene düşmesi oldu.
    Grails, Play! Gibi birçok yeni JVM web çerçevesi üzerinde "Rails efektleri" ni görebilirsiniz. ve Spring Roo.
  • Twitter ve Github gibi başarı öyküleri. Startup'ların mümkün olan en kısa sürede pazara girmesi gerekiyor ve Rails ile bu mümkün. Başarı öyküleri bir delildir.
  • Ruby programlama dilinin kendisi güzel, güçlü ve etkileyici. IMHO, Ruby, Rails başarısının gizli sosu.
    Salatalık ve Sinatra'nın güzelliğine, DSL'lerin güzelliğine bakın.
  • Denemek ve yenilik yapmaktan korkmayan hevesli ve cesur topluluk.
  • (Kişisel görüş ve hayati neden olmayabilir) Japonya'da yaratılmıştır. Hiçbir şey "Made in Japan" imajını yenemez.
    Bana göre, farklı ülkelerde oluşturulan programlama dillerini öğrenmek yeni insanlarla tanışmakla aynı şeydir. Eğlenceli ve eğitici.
    Yakut / Japonya, OCaml / Fransa, Lua / Brezilya, Lisp / Mars :)

5
" One man show .NET platformunu" ne demek istediğinizi merak ediyorsanız , daha önce duyduğum bir ifade değil mi?
Carson63000 13:12

2
Lisp / Mars için +1. Haskell nerede?
Adam

2
Haskell, dünyanın
dört bir yanından

1
@Adam "Atlantis Uygarlığı"
Chiron

13

Bu, başlık sorusuna doğrudan cevap vermez, ancak bazı noktalara değinir (yani Ruby'nin neden yaratıldığı)

Ruby'nin yaratıcısı Yukihiro 'Matz' Matsumoto'dan alıntılar, yaratılışına neyin ilham verdiğini açıklamaya yardımcı olabilir:

  • "Perl'den daha güçlü ve Python'dan daha nesne yönelimli bir komut dosyası dili istedim"
  • "Ruby'nin dünyadaki her programcının üretken olmasına, programlamanın keyfini çıkarmasına ve mutlu olmasına yardımcı olmasını umuyorum. Ruby dilinin temel amacı budur."

Matz, temel olarak, programcı mutluluğu için tasarlanmış son derece nesneye yönelik bir dil istedi.


1
Son derece nesne yönelimlidir. Yani +in 1+1bir yöntemdir.
bpromas

5

Ruby (raylarla birlikte) konfigürasyon konvansiyonunu popüler hale getirdi .

Eski (raylar üzerinde yakut olmayan) yol

  • "Birthday" adlı bir alana sahip bir veritabanı tablosu "kişiler" tanımlayın
  • "Doğum günü" özelliğine sahip bir işletme sınıfı "kişi" tanımlayın
  • veritabanı ve businessclass arasında veri aktarımı için bir yardımcı sınıf yaz
  • listedeki kişilerin nasıl
  • bir kişinin özelliklerini düzenlemek için bir GUI oluşturun

Konfigürasyon konvansiyonu ile bunun temel işi otomatik olarak yapılır:

  • koddaki bir kişiyi tanımlarsınız
  • veritabanı tablosu, haritalama, gui-elemanları, sizin için otomatik olarak güçlü bir tercüman veya kod oluşturucu tarafından oluşturulur

contras: tüm cenvent'ları öğrenmelisiniz, bu yüzden ilk çalıştırmada raylarda yakut öğrenmek daha zordur.

Artıları: Sözleşmeleri öğrendikten sonra, ray geliştiricileri üzerindeki diğer yakutun kodunu anlamak oldukça kolaydır, çünkü her biri aynı sözleşmeleri takip etmek zorunda kalır.

bu arada yapılandırma konvansiyonu birçok kodlama eko-sistemine girdi


4

Birincisi, Ruby bir "şimdiki dil" dir. Belki "1995'te Ruby oluşturulduğunda popüler olan diller" demek istediniz.

Ben Perl sevdim aynı nedenlerle Ruby seviyorum:

  1. Güçlü ve etkileyici. Beş satır Java veya C ++ yerine Ruby kodunun bir satırını yazabilirim. Minimum telaş ile çarpanlarına ayrılamayan bir tekrar yoktur.

  2. Dinamik. Yöntemler ve özellikler çalışma zamanında oluşturulabilir, bu nedenle nesneleri veritabanı tabloları gibi harici olarak tanımlanan şeylerin etrafına, bu şeylerin tanımını çoğaltmadan ve uygulamayı yeniden oluşturmadan sarabilirim.

  3. Hem okunabilir hem de kapsamlı bir dil ( Programlama Ruby ) hakkında mükemmel bir kitap var .

  4. Ortak etki alanı paketleri için tek bir havuz ve depo için uygun bir komut satırı arabirimi vardır.

Ama Ruby'yi Perl'den daha çok seviyorum çünkü daha okunabilir.

Ruby ile Python'u karşılaştıran çok sayıda sayfa var. İkisini de beğeniyorum. Ruby'yi tercih ederim, ama Python ile sınırlı deneyimim var.


Okuduğumu hatırlıyorum (Ruby olacak olanın) Ruby Programlama önsözünde Perl'in yerini alacak kadar iyi olacağını umuyordum.
Rig

@kevin: Bunlar dilin bazı özellikleri ve bunların farkındayım. Ancak, "Eğlenceli / zayıf yazılmış bir dil istiyorum" dışında 'Ruby oluşturma nedenini' bilmek istiyorum (veya bu nedenle kendisi yeterince büyük mü ??
doktora

1
@ Nabul: Bunlar komite tarafından yapılmıyor. Matz bir fikir aldı ve Ruby yazdı. Bir süre sonra başkalarına gösterdi ve bazıları hoşuna gitti. LISP, Smalltalk, C, C ++, Pascal, Perl, Ruby ve Python böyle yaratıldı. Bence çoğu programlama dili için aynı. Sadece birkaçı komite veya kurumsal girişim tarafından oluşturulmuştur.
kevin cline
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.