Microfirma programistyczna a galąź technologiczna Ruby

Witam
Chcałbym za około 2 lata wystartować ze swoją działalnością gospodarczą (ewentualnie ja i kolega). Zastanawiam się w jaką technologię zainwestować (czego się uczyc ) i tutaj pytanie do osób, które rozpoczęły i piszą aplikacje w Rubym (oraz technologiach pokrewnych). Bardzo miło widziany komentarz od właścicieli firm.
Czy Ruby jest dobrym pomysłem na własną firmę programistyczną? Obecnie pracuje jako programista .NET ale mam drobny uraz do M$-u i z tego szukam czegoś innego. Konkretniejsze pytania:

  • jak Ruby sobie radzi z okienkami, czy bezproblemowo robi sie GUI pod najpopularniejszy system swiata?
  • jak jest z stablinością, skalowalnością, wydajnoscią aplikacji w Ruby (.net momentami niezle muli)?
  • czy jest zapotrzebowanie na aplikacje napisane w Ruby, czy raczej trzeba sie chwytac czego popadnie (zapotrzebowanie na .net jest spore, a z czegoś rodzine utrzymac trzeba)
  • jakie problemy napotykają programiści Ruby
  • czy Ruby będzie rozwijany? (.net na ten przykład jest rozwijany bardzo dynamicznie)
  • i najwazniejsze: czy programowanie w Ruby sprawia wam przyjemnosc, czy sadzicie ze ta technologia jest fajna, przyjemna, ciekawa, zaje!#ta?

Wujków dobra rada głoszących hasła typu: “użyj google”/“jesteś zakałą informatyki” od razu proszę o nie zabieranie głosu.

ps: poza Ruby rozważam jeszcze Pythonie. Java odpada. Jeśli macie inne propozycje także są bardzo miło widziane.

Generalnie mało tworzy się aplikacji okienkowych w Ruby. Przyjemność w programowania w Ruby jest spora. :slight_smile: Jakiś czas temu powstał ciekawy raport “Ruby ecosystem …”, tytulu z glowy nie pamietam.

Krótka odpowiedź: nie warto.

Długa odpowiedź: Java + JRuby lub .NET + IronRuby.
Bo z natywnymi aplikacjami (RubyQT, swoją drogą rewelacyjne) jest taki problem, że oddajesz soft w formie kodu źródłowego i na komputerze musi być zainstalowany interpreter z gemami. Który pod Windows niby chodzi, ale jest to średnia frajda.

Bardzo dobrze!
Tzn. wydajnościowo jest to najwolniejszy z popularnych obecnie języków do tworzenia aplikacji webowych (Ruby1.9 ma wydajność porównywalną z Pythonem), ale do aplikacji webowych jak znalazł.

Jest i rośnie, a niewiele ludzi się jeszcze za to zdążyło wziąć (ceny, podaż vs. popyt!).
Na .NET jest nieporównanie większy popyt, ale – AFAIK – stawki dla programistów od jakichś dwóch lat (tj. od kiedy w .NET zaczął się ładować co drugi programista) są bardzo niespecjalne.

Chyba tylko przekonanie klienta do technologii :slight_smile:

Łomatko, co za pytanie :smiley:
Oczywiście że będzie. Jest. I ma najszybciej rosnący ekosystem (programiści, biblioteki, firmy).

Po stokroć tak! Zresztą właśnie po to powstała. Poczytaj o genezie Ruby oraz Rails – twórcy tych technologii byli zorientowani od początku na frajdę programisty.

Właściwie do Pythona pasuje większość powyższych odpowiedzi, z tą różnicą że w Pythonie jest trochę lepsze wsparcie dla Windows. Niestety jest mniej popularny. Czyli jeszcze trudniej przekonać klientów do Pythona niż do Ruby, programistów i pracy też niewiele.

Jeśli szukasz czegoś zarówno do webu, jak i desktopu, myślałeś może o Groovy (ekosystem Javy)?

To ja może wtrące swoje 3 grosze.
Z tego co widzę, masz zamiar pisać aplikacje desktopowe w Ruby - ok, nie ma problemu. Domyśliłem się jednak, że planujesz w jakikolwiek sposób łączyć windows i ruby… kilka miesięcy temu pisałem, że jak programista chce, to niech sobie tak łączy- gdybym miał to wydrukowane, zjadłbym tą kartkę, z prostego powodu - nigdy nie musiałem tego robić. Teraz (o zgrozo!) mam zastępczego laptopa w windows vista i tworzę (a raczej próbuję tworzyć) railsową aplikację w pożal się boże windowsowym ekosystemie. To nawet nie jest fail - to jest epic fail. Kocham rubego właśnie za przyjemność tworzenia w nim czegokolwiek - ale pod windowsem tej przyjemności nawet krzty nie ma, bo trzeba niemal na głowie stawać, żeby coś wogóle chodziło.
Wracając jednak do tworzenia desktopowych aplikacji to moje spostrzeżenie jest takie: Albo (jak napisał Tomash java + jruby) albo nic. czysty ruby średnio się imho nadaje do pisania takich aplikacji (no, wyjątkiem tu niech będzie macruby).

[quote=F4k3]Witam

Wujków dobra rada głoszących hasła typu: “użyj google”/“jesteś zakałą informatyki” od razu proszę o nie zabieranie głosu.[/quote]
Takich tekstów to nie wypisuj. Wartościowi ludzie nie mają czasu na wypisywanie takich tekstów a opiniami niewartościowych nie należy się przejmować. Jak to w Buddyzmie :slight_smile:

A co do Twoich rozterek to napiszę tylko tyle, że 90% moich klientów nie wie w czym ja im piszę soft. 5% mówi, że chciało by w jakiejś konkretnej technologii ale nie wiedzą dlaczego, ostatnie 5% to nie pamiętam kto to jest. IMHO dzisiaj liczy się czas. W Ruby a właściwie w Rails tworzy się szybko, ale nie wszystkiego się nadaje. Web tak, desktop raczej nie. Ja przeszedłem c, c++, Perl, Javę, PHP i teraz zaczynam z Ruby właściwie tylko dlatego, że istnieje Ruby on Rails, chociaż pisałem kilka aplikacji na railsopodobnych frameworkach w PHP, ale z PHP się wynoszę bo mnie wkur^%$^%# maksymalnie ta obiektowość/nieobiektowość.

Na Twoim miejscu poszedłbym w kierunku Pythona, bo jak pisał Tomash, Ruby się średnio do tego nadaje. W Pythonie powstało wiele fajnych projektów na desktopy, a nawet gier (Frets on Fire).

Java + JRuby to na prawdę fajne rozwiązanie. Jakoś zawsze lubiłem Swing, może dla tego że na studiach sporo w nim pisałem w Javie.

Monkeybars (http://kenai.com/projects/monkeybars) wygląda na kompletne rozwiązanie do pisania aplikacji okienkowych w Rubym, do tego potrafi zbudować sobie exe dla windowsa (tfu) i aplikacje też daje się uruchomić na innych systemach (gdzie jest JVM).