Yakut teklifi Üst 3 iyileştirmeler?

8 Cevap php

Ben HTML öğrenirken zaman geri, ben bu sayfaları oluşturmak ve her şeyi ben tabloları kullanarak istediğim şekilde düzenlemek için nasıl kolay ekledi.

Sonra CSS taşındı ve hızlı bir şekilde sayfanızı Recoding olmadan tasarımlar takas olabilir öğrendim. Sadece birkaç CSS HTML tasarımları başka bir tema gidebiliriz değiştirir ve herhangi bir unsuru diğer herhangi haline gelebilir ile! CSS ile ben resim gibi görünüyordu açıklıklı tasarım olabilir!

Sadece MVC gibi - CSS HTML hareket ne daha sonra öğrenecekti şeyler modularizing edilir uygulayarak tasarım benim kavramını genişletti.

Şimdi Ruby düşünmeye bir çok yetkili bir PHP programcısı yaşıyorum. Ben google yukarı çekin şeylerin çoğunu gerçekten hiçbir şey yardımcı yoktur Yakut rants vs PHP. Bunlar iki farklı dil ve farklı noktalardan kendi stil almak. PHP benziyor C + + strlen($string) Ruby sunucu tarafı JavaScript gibi görünüyor ise. str.len()

Ben gerçekten bir programcı olarak gözlerimi açmak ve bunu pikap almak ve yeni bir dil, ana biliyorum zaman haklı olabilir yakut hakkında ilk 3 şey bilmek istiyorum.

Please, no mention of abstract things like language maturity, or obvious library's like AR which exist in both languages.

MVC is now used in almost every web programming language so it doesn't count either. It is also not sufficiant in and of it's self to cover everything. MVCLLCC (Model/View/Controller/Library/Locale/Cache/Config) is more accurate.

: GÜNCELLEME:

Görünüşe göre Ruby yeni çok kullandığım diğer dillere göre yoktur. Bloklar farklı bir adla işlevleri daha fazla bir şey olarak görünür. kaçırmamasını bir kanca sistemi gibi olurdu geri çağrılarla bloklar gibi görünüyor. MVC, AR, ve her şey diğer dillerde zaten.

Ancak, ben gördüğüm en heyecan verici şey olduğuna inanıyorum yapabilirsiniz ki open up classes at runtime and add new methods! Bu çok önemli bir kavramdır ve gerçekten PHP olan bazı engelleri kaldırır. Artık sadece bir üst sınıf için birkaç yöntem eklemek için alt sınıfları uzatmak gerekiyor.

8 Cevap

Peki, Ruby gerçekten eğlenceli hale şeyler birkaç kesip, bu yüzden kalan listesi biraz keyfi olacak düşünüyorum. I Ruby, PHP daha çalışmak daha güzel olduğunu düşünüyorum neden İşte:

  1. Çift sayılar - Consistency: Ruby, everything bir amacıdır. Siz aynı şekilde bir nesne üzerinde bir yöntemi çağırmak - herhangi bir "özel durumlar" gerçekten yok. Ayrıca, standart kütüphane (ve en çok 3. parti kütüphaneler) tutarlı bir adlandırma düzenleri ve stilleri var. PHP kütüphanesi ... organically büyüdü, ve gibi, isimleri, vb çizgi, kullanımı, kaotik olduğunu.
  2. Functional-style programming: Ruby, Lisp gibi fonksiyonel dillerden yapılarının bir sürü ödünç. Bu oldukça keyfi bir nedendir, ama çok map ve Lisp ve Haskell adlı fold* yöntemlerin benim için bir artı gibi işlevlerine kolay erişim sahip, işlevsel programlama gibi. Ayrıca bazı çok güzel programlama stillerini açmak değil, sadece bloklar (aka "kilitler") yoğun kullanımını yapar, ancak aynı zamanda sizin ihtiyaçlarınıza bağlı olarak, çok özel bir şekilde kullanılabilecek bazı çok genel kod yazmak için izin verir.
  3. True OOP: Ruby'nin OO modeli Smalltalk'tan ağır borç ve oldukça yöntem-arama tarzı çok ileti geçen stili kullanır. Bu eksik yöntemleri için kendi gerçeklemenizi gibi oldukça serin şeyler yapalım. Yakut da doğada dinamik, ve böylece yöntemlerini tanımlamak sağlar - ve hatta tüm sınıfları - anında, zamanında. Ayrıca sınıfları "açık" ve sadece rot13 yöntemi eklemek için String sınıfını genişleterek, kendinize örneğin, güçlük kaydedebilirsiniz kendi yöntemleri sağlayabilir.
  4. RubyGems: RubyGems Yakut taşlar (üçüncü parti Ruby modüller) için bir paket yöneticisidir. Bu yükleme, yönetme ve üçüncü parti modülleri (ve onların bağımlılıkları) bir esinti kaldırarak yapar. (Ben bir bonus nedeni olarak bu bir attı.)
  1. Lambda'larý (blok).
  2. Katmalar.
  3. Standart kitaplığındaki yukarıdaki iki kavram Ağır kullanımı.

Ben de devamlarını (callcc) aday olurdu, ama onlar (yazık) nispeten belirsiz gibi görünüyor, ve 1.9 olarak gitti.

Ben zevk Ruby hakkında Top 3 şey:

  • Bloklar ve kaçırmamasını
  • Metaprogramming
  • Enumerable modülü (müthiş Dizi güzellikler ton)

Onun için belki 3 durdurmak zor ama diğerleri daha ekleyebilirsiniz.

En iyi şey, kendiniz için bazı kod dışarı deneyin. İyi şanslar ve eğlenin.

İşte benim için geçerli en az bir nedeni (belki de) var: yakut nesne yönelimli programlama kolları yolu ben kodlama ve mimarlık düşünmek nasıl açısından çok aklımı "serbest" oldu. Everything yakut ile bir nesne ...

  1. Ruby okumak ve yazmak için eğlenceli
  2. Bloklar daha eğlenceli
  3. RUBY sadece saf eğlenceli

Ben bunu denemeye söyleyebilirim. Ben de bir zamanlar bir PHP kodlayıcı ve daha sonra Ruby geçti ve asla arkasına bakmadı. Sadece olumsuz (ben bile PHP iyilerinden biri vardır söyleyebilirim) PHP açıkça daha iyi bir dokümantasyon

Here are the three things I really like. I am not going to speak about the language itself but of what I like in the ruby world in general.

  1. Testler

    A lot of frameworks are available. If find them simple. Far easier than anything I have tried in JAVA. The ruby community is very test-centric and you can find very good screencasts and tutorial to get you started. It has changed the way I code.

  2. Rayları

    I believe I started (seems so long ago :)). With Html+tables then CSS then PHP etc. 2 years ago I discovered Rayları. And I really think It is an amazing framework. From my point of view it is the best by far if you do Web Development.

    Ben bu yüzden Zend vs Django, CakePHP, gibi diğer şeyler baktım ama raylar gibi iyi bir şey bulmak hiç merak ediyorum. Tabii ki zevk meselesi ama ben şiddetle bunu denemenizi tavsiye ederiz.

    Rayları is not only an MVC. It is an easy to use MVC.

    Ruby != Rayları. But Ruby gained an huge increase in popularity with Rayları

  3. Okunabilir sözdizimi

    exit unless "restaurant".include? "aura"
    

    Eğer sözdizimi gibi olmadığını görmek için this interactive online tutorial (15 dakika) almaya deneyebilirsiniz.

Ruby nispeten yeni.

Bu nedenle Ruby kullanarak en öğreticiler son iyi uygulamaları kullanıyor.

Bu farklı diğer dillere bir çok şey yapar, bu yüzden sevgi ya da nefret bir dil. Ben şahsen bunun bir hayranı değilim, ve ben bir Ruby hayranı yakında gelip avantajları uzun bir liste verecektir eminim. Ve kısa bir süre sonra, bu soru gibi subjektif kapalı olacaktır.

Ruby blok tamamen awesome!

Bunu ontop bir DSL oluşturmak ve anonim fonksiyonu ile elde edemez kod okunabilirliği artırır olabilir. Bir önemsiz bir örnek şöyle:

def it(expect)
    yield expect
end

it 'should do as I want it to be' do |this|
    puts this
end