JRuby 1.1 final

Posted by Jarosław Zabiełło Sun, 30 Mar 2008 22:51:00 GMT

Jest w końcu oczekiwana wersja stabilna JRuby 1.1. W chwili pisania tej notki, nie ma o tym jeszcze informacji na stronie głównej, ale jest już do pobrania. To bardzo dobra wiadomość, bo JRuby 1.1 już w wersjach rozwojowych był znacznie szybszy od poprzedniej 1.0, a w wielu testach bił wydajnością nie tylko Ruby 1.8.6 i 1.9, ale także Pythona 2.5.1. Dzięki JRuby webowe frameworki takie jak Rails czy Merb uzyskują pełny dostęp do bibliotek Javy i tym samym jakiekolwiek uwagi co do (nie)dojrzałości bibliotek Rubiego stają się nieistotne.

Tags , ,  | 1 comment

Merb 0.9.2 i Sake

Posted by Jarosław Zabiełło Tue, 25 Mar 2008 06:11:00 GMT

Merb wchodzi w końcową fazę przed wydaniem wersji “1.0 (RailsConf)” . Właściwie nie zdziwiłbym się jakby lada dzień ta wesja wyszła bo prawie wszystkie tickety z problemami są już wyczyszczone. Rozproszony system wersjonowania kodu – Git – sprawdza się doskonale. Rozproszony Rake – Sake – także. Nowy Merb wspiera Ebb. Jest on szybszy od Mongrela, to najszybszy serwer HTTP dla Rubiego wykorzystujący interfejs Rack.

Read more...

Tags , , , ,  | 2 comments

RadRails 1.0

Posted by Jarosław Zabiełło Thu, 13 Mar 2008 02:47:00 GMT

Pogłoski o śmierci RadRails były chyba trochę przedwczesne. Firma Aptana wypuściła przedwczoraj nowy RadRails 1.0. Wewnętrznie używany jest JRuby 1.11RC2. RadRails pozwala na uruchamianie Rubiego, JRuby i … Rubiniusa. Chwalą się nawet, że mają więcej funkcji niż Netbeans 6. Aptana dodatkowo zapewnia integrację z Jaxerem, wsparcie do Adobe AIR, i jak zwykle bardzo dobry parser do HTML, CSS i debugger JavaScript. Mimo wszystko, nie wiem czy to wszystko wystarczy, bo Netbeans 6 ma znacznie bardziej inteligentny, kontekstowy analizator kodu Rubiego, podczas gdy RadRails używa znacznie mniej wyrafinowany plugin RDT (o którym poza tym chodzą od dawna pogłoski że przestał być rozwijany). W każdym razie takie współzawodnictwo i obecność dwóch tak dobrych IDE to na pewno dobra wiadomość dla wszystkich sympatyków Ruby on Rails.

Tags , , , , , ,  | 4 comments

Szalejące frameworki Rubiego i Rack/WSGI

Posted by Jarosław Zabiełło Tue, 04 Mar 2008 21:56:00 GMT

Merb w wersji 0.9 poszedł na całość i oparli swój midleware na Rack’u. Jej twórcy nie kryją się że wzorowali się na pythonowej bibliotece WSGI. Biblioteka ta robi niezłą furorę w kręgach Rubiego. Powstaje sporo różnych mikroframeworków lub szybkich serwerów HTTP pracujących asynchronicznie i wykorzystujących Rack. Niedawno powstał świetny Thin, a już można przeczytać o 2x szybszy Ebb. Co ciekawe, Ebb chce docelowo obsługiwać zarówno frameworki Rubiego jak i Pythona! Jestem ciekaw czy będzie w stanie zdetronizować serwer Paste... Rack doczekał się już swojej implementacji w JRuby! Umożliwia to tym samym odpalanie w JRuby wszystkich frameworków które korzystają z Rack’a.

Read more...

Tags , , , , , , , , , , ,  | 9 comments

Wściekły Zed i dyskusja wokół Rubiego i Railsów

Posted by Jarosław Zabiełło Sun, 06 Jan 2008 22:49:00 GMT

Ostatnio jest trochę szumie w branży po bezpardonowym (i niewybrednym) ataku Zeda Shaw uderzającym w kilka znanych postaci z kręgów Rubiego i Rails. Pewnie nikt by na to nie zwrócił uwagi gdyby nie to, że Zed jest autorem znanego projektu Mongrel. Choć wpis się źle czyta (bo jest rozwlekły i niepotrzebnie przeplatany ciągłymi przekleństwami autora) to zwrócił uwagę na kilka istotnych problemów.

Read more...

Tags , , , , , , , , ,  | 17 comments

JRuby 1.0

Posted by Jarosław Zabiełło Wed, 13 Jun 2007 09:24:00 GMT

Ukazała się finalna wersja JRuby 1.0 – implementacji języka Ruby w czystej Javie. Zespół JRuby zachęca do testowania Railsów na JRuby. Z tego co pamiętam, to wersji finalnej JRuby zapowiadano włączenie optymalizacji kodu. Zanim zatem wyjdzie w końcu Ruby 2.0, JRuby on Rails ma już teraz szansę przełamać stereotyp o słabszej wydajności Rubiego. Szczególnie może to mieć duże znaczenie dla platformy Windows, bo Ruby na systemach POSIX (Linux, BSD, Mac OS X) pracuje znacznie wydajniej.

Dla miłośników Mac OS X jest dostępny artykuł pokazujący jak skonfigurować całe środowisko Javy dla Rail. Ale do pracy z Rails, najprościej użyć Netbeans 6 który od jakiegoś czasu pozwala1 na uruchamianie Railsów na JRuby (można wybrać sobie opcję JRuby lub klasyczny CRuby).

Zobacz też artykuł “JRuby and the Java Platform” jaki ukazał się wczoraj na stronie firmy Sun.


1 Szkoda, że NB6 nie ma jeszcze zaimplementowanego kolorowania i podpowiadania helperów dla Haml. Jak ktoś ma siły i czas to tu jest opis jak dodać kolorowanie dla jakiegoś innego języka.

Tags , , ,  | 14 comments

Netbeans 6 - killer IDE dla Ruby on Rails?

Posted by Jarosław Zabiełło Fri, 16 Mar 2007 10:39:00 GMT

Jeśli chodzi o jakość podpowiadania składni i metod Rubiego, to najnowsza, szósta wersja flagowego edytora IDE – Netbeans, deklasuje RadRailsa i resztę “towarzystwa”.

Read more...

Tags , , , ,  | 14 comments

Sun zatrudnił programistów JRuby

Posted by Jarosław Zabiełło Fri, 08 Sep 2006 08:33:00 GMT

W środowisku javowców Ruby jest językiem który robi trochę zamieszania (jakoś tak się składa, że Ruby bardziej przemawia do programistów Javy niż Python). Cieszy zatem, że firma Sun podjęła decyzję o wsparciu projektu JRuby zatrudniając jego czołowych developerów. Powinno to znacznie przyśpieszyć prace nad tym projektem podobnie jak stało się z IronPythonem, gdy Microsoft zatrudnił jego twórcę.

Jestem ciekaw jak długo programiści zachowają entuzjazm dla swego języka, gdy będzie można generować taki sam bytecode Javy lecz w niezrównanie prostszy sposób. :)

Przykładowy kod Javy:

public class Filter {
  public static void main(String[] args) {
    List list = new java.util.ArrayList();
    list.add("Tim"); list.add("Ike"); list.add("Tina");
    Filter filter = new Filter();
    for (String item : filter.filterLongerThan(list, 3)) { 
      System.out.println( item ); 
    }
  }
  public List filterLongerThan(List list, int length) {
    List result = new ArrayList();
    for (String item : list) {
      if (item.length() <= length) { result.add( item ); }
    }
    return result;
  }
}

A oto odpowiadający mu kod w Ruby:

list = ['Tim', 'Ike', 'Tina']
list.select {|n| n.length > 3}.each {|n| puts n}

Oczywiście to nie wszystko. Dzięki JRuby można uzyskać efekty kompletnie nieosiągalne w standardowej Javie – np. można pracować z biblioteką Swing w sposób interaktywny, z poziomu interpretera zmieniając na żywo jej obiekty.

Wkrótce ma także być gotowa wersja Railsów działająca z JRuby (Zobacz prezentację w PowerPoint). Tym samym odeszłyby wszelkie uwagi co do wydajności Railsów, bo współczesna wirtualna maszyna Javy jest tak silnie zoptymalizowna że dorównuje językowi C++. Oczywiście model wątkowy JRuby jest zgodny z wydajnym i dojrzałym modelem wątkowym Javy – po prostu z niego korzysta.

Posted in ,  | Tags , ,  | 32 comments

JRuby on Rails - ruszył

Posted by Jarosław Zabiełło Sun, 14 May 2006 18:21:00 GMT

JRuby – projekt będący implementacją Rubiego w języku Java został przyśpieszony w związku z konferencją JavaOne. Developerom udało się w końcu uruchomić pełną aplikację Railsów działającą na wirtualnej maszynie Javy. Na razie jeszcze nie ma informacji o jakimś znaczącym przyśpieszeniu działania, ale pierwszy krok został dokonany. Zobacz więcej…

Zobacz też listę języków potrafiących pracować w javowskiej JVM – jest ich całkiem sporo. Kto by pomyślał, że nawet napisano assembler generujący klasy Javy. :)

Posted in ,  | Tags ,  | no comments