Miguel de Icaza zakłada firmę do rozwoju Mono

Xamarin – tak się będzie nazywać nowa firma Miguela de Icazy, zajmująca się rozwojem Mono i MoonLight oraz sprzedająca komercyjne rozwiązania związane z platformą Mono.

Po przejęciu firmy Novell przez Attachmate i zwolnieniu większości pracowników rozwijających Mono wielu zaczęło wróżyć śmierć tej platformy.

De Icaza, który jest też twórcą GNOME, widzi jednak przyszłość w stworzonej przez siebie platformie, będącej otwartym odpowiednikiem microsoftowego .NET. Do głównych zadań stojących przed nową firmą zalicza:

  • stworzenie komercyjnej implementacji .NET dla iOS
  • stworzenie komercyjnej implementacji .NET dla Androida
  • kontynuować rozwój otwartoźródłowego Mono oraz Moonlight
  • eksplorować możliwości dla Moonlight w świecie mobilnym oraz Mac store

Xamarin pozyskał już finansowanie od aniołów biznesu oraz zatrudnił pierwszych pracowników. Czas pokaże czy bez wsparcia dużego partnera jakim był Novell, poradzi sobie z dalszym szybkim rozwojem Mono i zapewni środki finansowe na funkcjonowanie nowej firmy.

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

75 odpowiedzi na „Miguel de Icaza zakłada firmę do rozwoju Mono”
  1. Awatar anonim
    anonim

    Trzymam kciuki. Mimo wielu opinii typu "Mono to chwast w świecie Linuxa" uważam, że jest świetną inicjatywą. Znam kilka rozwiązań enterprise (głównie webservices), które działają z wykorzystaniem Mono.

    1. Awatar Tomasz Woźniak
      Tomasz Woźniak

      wymienisz jakieś?

      1. Awatar anonim
        anonim

        Wiecie ile stron w ASP.NET jest hostowanych na Mono? Masa… Wiecie ile gier/aplikacji w Appstore/Android Market jest napisana w c#? Też masa… Nikt na to nie zwraca uwagi, bo takie aplikacje/strony nie różnią się niczym od pozostałych.

        Co do rozwiązań enterprise, są to głównie aplikacje/usługi pisane pod klienta, dlatego ciężko podać jakieś przykłady.

        1. Awatar o_O
          o_O

          > Wiecie ile gier/aplikacji w Appstore/Android Market jest napisana w c#?

          Do niedawna 0. Teraz może z 10.

          1. Awatar Piotrek
            Piotrek

            Troll 😉 Poczytaj: http://www.mono-project.com/Software

            "There are some 500 applications written using Unity and Mono on the iPhone AppStore"

          2. Awatar Piotrek
            Piotrek

            ZombieVille – swego czasu 33 miejsce w AppStore
            FEIST – Independent Game Festival Nominee (Finalist)

            "A number of video games such as The Sims 3 and Second Life's scripting language, LSL (although not an official .NET language itself), along with many games based on the Unity game engine also make use of Mono."

        2. Awatar o_O
          o_O

          > Nikt na to nie zwraca uwagi, bo takie aplikacje/strony nie różnią się niczym od pozostałych.

          Poza katastrofalnie powolnym działaniem to faktycznie niczym.

          1. Awatar Piotrek
            Piotrek

            Trolla prosimy o przykłady;)

    2. Awatar MiL999
      MiL999

      Tylko powiedz mi co daje to mono poza spadkiem wydajności?

      1. Awatar jrusinek
        jrusinek

        Świetne oprogramowanie jak Banshee, które Rhythmbox bije na łeb i jest skłonne stać się linuksianym iTunes. Zdaję sobie sprawę, że to zabrzmi kontrowersyjnie, bo i samo iTunes ma sporo przeciwników dzięki wydajności (szczerze w tym mnie), ale ostatecznie PC dążą do coraz większej ilości pamięci RAM, więc nie powinno dziwić, że Banshee ze wszystkimi bajerami odpalonymi będzie się zacinał na komputerze z 1GB RAM-u (jak mój :> ).

        Nie zmienia to faktu, że jest to odtwarzacz wygodny i wyjątkowy pod względem obsługi urządzeń przenośnych.

        1. Awatar megaloman
          megaloman

          Banshee jest fajne, ale zbyt niestabilne – Rhythmbox potrafi grać cały dzień bez żadnego problemu, gdy banshee przy próbie wybrania kolejnego albumu popełnia seg fault.

          1. Awatar Livio
            Livio

            Błędy w oprogramowaniu open source to się zgłasza, wspomagając tym samym jego rozwój.

        2. Awatar o_O
          o_O

          Przeczytaj jeszcze raz co napisałeś o tym ramie i zrozum jakie to żałosne.

      2. Awatar esio
        esio

        Łatwość kodowania?
        Nie zawsze najważniejsza jest wydajność. Czasami liczy się czas wdrożenia, wprowadzenie czegoś szybciej niż konkurencja uzasadnia użycie mocniejszej maszyny albo dołożenie kolejnej, dlatego tak bardzo popularna jest java. Do tego .net ma ogromne wsparcie ze strony M$.

        Tak btw to co i w czym piszesz, że wydajność jest najważniejsza?

        1. Awatar michuk
          michuk

          "dlatego tak bardzo popularna jest java."

          Java to akurat jeden z wydajniejszych języków. Z tych popularnych szybsze są tylko C/C++.

          1. Awatar konski_pytong
            konski_pytong

            a mono to jest wolne i silverlight? przecie bije to na głowę pytonga i ruby

          2. Awatar buba
            buba

            mylisz jeżyki skryptowe z kompilowanymi nie wiń pythona ze nie jest super wydajny bo za jego pomocą tworzy się programy nie kompilowane a uruchamiane ze pomocą interpretera

          3. Awatar bart2
            bart2

            Właśnie, taki JRuby jest wiele razy szybszy niż Ruby.

          4. Awatar Budyń
            Budyń

            Ale Jython w stosunku do reszty rodziny (CPython, IronPython, PyPy) wypada smętnie.

          5. Awatar wladca_kodu
            wladca_kodu

            Tiaa, szczególnie w przypadku kodu równoległego. Sprawdź zanim napiszesz.

          6. Awatar _mc_
            _mc_

            Może ktoś z tutejszych wymiataczy oświeci mnie jaka to ogromna różnica jest między językami kompilowanymi a interpretowanymi, ze szczególnym uwzględnieniem różnic w przypadku, gdy C# i Javę uznajemy za języki kompilowane a Pythona i Perla za interpretowane?

          7. Awatar ak47
            ak47

            JIT kolego -> możliwość przekompilowania warunkowego pod konkretne dane (usuniecie niepotrzebnych ifow i wywołań funkcji, spłaszczenie pętli zamiana dalekich skoków do funkcji na inline, jest wiele technik )

            Języki posiadajace Jit (prekompilacja do bytecod'u) dostosowują się do danych.
            Języki interpretowane wywołują program tak jak leci i nie dostosowując sie do tego jaki dane dostałeś .

          8. Awatar jag
            jag

            "Języki interpretowane wywołują program tak jak leci i nie dostosowując sie do tego jaki dane dostałeś ."
            A tak z ciekawości spytam. Dlaczego interpreter z definicji nie może dostosować kodu do danych? Jest to po bariera technologii, niemożliwość zaimplementowania?Z tego co czytałem gdzieś (nie wiem czy te informacje są wiarygodne) to kompilator dla np javy odwala bardzo mało roboty i w zasadzie całą robotę robi jvm, więc niezabardzo w tym momencie widzę wyraźną różnicę pomiędzy interpreterem a przykładowym jvm.

          9. Awatar mikolajs
            mikolajs

            W sumie to Python też najpierw kompiluje pliki do swojego bytecodu, jednak ze względu na to, że jest to język dynamicznie typowany, kompilator działa w locie bo nie musi ustalać wielkości i zajętości pamięci dla danych. Co jednak spowalnia działanie interpretera bo musi to wszystko wykonywać w czasie działania programu.

          10. Awatar jaa
            jaa

            ak47: bzdurzysz, przeczytaj trochę zanim się wypowiesz. Java jest tak samo intepretowana jak Python – oba języki uruchamiają bytecode na maszynie wirtualnej, są też maszyny Pythona posiadające JIT.

        2. Awatar o_O
          o_O

          Tak, na serwerach, gdzie nie ma problemu postawić kolejnej albo lepszej maszyny.

          A nie do tworzenia aplikacji GUI dla użytkowników ważna jest właśnie szybkość działania a nie łatwość kodowania. Jak się ma słabych programistów, co nie poradzą sobie z C++ to najlepiej od razu biznes zamknąć.

          1. Awatar Budyń
            Budyń

            @o_O
            Słaby programista, to taki który potrzebuje C++ do napisania wydajnego kodu 🙂
            Przyjmij do wiadomości, że poza projektami akademickimi, o wydajności będą decydować:
            – zastosowane wzorce projektowe i algorytmy, biblioteki
            – projekt bazy danych i konfiguracja danego serwera
            – wybrany model współbieżności dla całej aplikacji / systemu

            Rodzaj języka oprogramowania jest daleko, daleko… na tej liście.

          2. Awatar Budyń
            Budyń

            Acha – i czasem postawienie kolejnej maszyny JEST problemem, a co więcej – jeżeli "programujący szybko i bezbłędnie w C++" schrzanią współbieżność, to nawet postawienie serwera problemu nie rozwiąże.

          3. Awatar wladca_kodu
            wladca_kodu

            Jak się ma słabych programistów, co nie poradzą sobie z C++

            Jak się ma słabych programistów, to z każdym językiem będzie porażka. A znaleźć słabych programistów C++ jest bardzo łatwo. C++ jest nauczany niemal na każdej uczelni i byle studentowi wydaje się, że jak liznął C++, to umie już programować. A samo programowanie w C++ nie powoduje, ze z automatu jakikolwiek program będzie działał jak rakieta. Poczytaj sobie co najlepsi programiści sądzą o C++. Np. tacy goście jak D. Knuth, P. Norvig, G. Steele, J. Zawinski. W wielu sytuacjach wydajnościowo C++ daje mocno ciała w porównaniu z językami na JVM. Szczególnie w przypadku kodu wielowątkowego.

          4. Awatar mikolajs
            mikolajs

            " W wielu sytuacjach wydajnościowo C++ daje mocno ciała w porównaniu z językami na JVM. Szczególnie w przypadku kodu wielowątkowego. "
            W C++ zawsze można napisać kod który będzie działać wydajniej niż na jakiejkolwiek maszynie wirtualnej. Nawet w przypadku kodu wielowątkowego. Problem w tym, że napisanie takiego programu w C++ jest o wiele trudniejsze i w wymaga o wiele więcej pracy i wiedzy niż przy użyciu Java (a jeszcze prościej użyć aktorów Scali lub Erlanga). Stąd często duże systemy napisane na JVM są szybsze niż ich odpowiedniki C++. Jeżeli nie jesteś skłonny poświęcić połowy życia na pisanie aplikacji to lepiej poskładać ją z dużych klocków.

      3. Awatar anonim
        anonim

        – Multiplatformowość: pisząc aplikację działa na Windows/Linux/Mac lub Android/WindowsMobile/iOs
        – Pod windowsem aplikacja działa w .NET
        – Ogromny wybór bibliotek, frameworków, itd w c#
        – Visual Studio + jetbrains resharper + wiele narzędzi do profilowania

        Kiepska wydajność to też mit z epoki .Net Framework 1.0. Od tamtego czasu sporo się zmieniło. Wydajność kodu zarządzanego zwiększyła się, także Mono w testach idzie łeb w łeb z .Net. Przykład: http://developers.sones.de/2010/09/09/benchmarkin…

        Fakt faktem na desktopach dominuje Windows, dlatego dzięki takim projektom jak Mono/Java wiele aplikacji które nie miałyby nigdy odpowiedników na inne systemy jednak się pojawia. Nie rozumiem o co tyle szumu, każdy developer wykorzystuje takie narzędzia jakie mu odpowiadają. Nie podoba się aplikacja? Nie korzystaj, nie instaluj 😉 Chyba lepiej jest jak jest wybór?

  2. Awatar xdxd
    xdxd

    Czemu mono jest niby takie złe (pomijając że ma byc zgodne z .net za co teoretycznie ms moze probowac sie dobrac do tylka)?

    1. Awatar ak47
      ak47

      mniej więcej powody są try:
      -patenty -> mono jest klonem dotnieta (mimo że projekt jest wolny to i tak jednym słowem od MS zostanie anihilowany)
      -rozwój -> społeczność nie ma wpływu na rozwój dotnet.
      -integracja ->dotniet nie był i nigdy nie będzie projektowany pod kątem systemów klasy unix.

      1. Awatar konski_pytong
        konski_pytong

        android też jest dotknięty patentami i jakoś OS fanatykom to nie przeszkadza… a sorry zapomniałem, MS jest zły a google jest dobry. Swoją drogą który język programowania jest projektowany z myślą o platformie?

        1. Awatar ak47
          ak47

          Tylko że patenty zawarte w androidzie nie należą do jednej jedynej firmy która w dodatku nie ma żadnego interesu we wspieraniu platformy defacto konkurencyjnej.
          O sytuacji porównywalnej z androidem mógłbyś mówić gdyby ktoś rozwijał dalvika na win7.
          Może najpierw uściślijmy dotnet nie jest językiem programowania tylko platformą dla całej gamy języków.

      2. Awatar houp
        houp

        Dwa z trzech Twoich powodów są bardzo mocno dyskusyjne. Po pierwsze patenty. Nie ma czegoś takiego jak patent na .NET. Jest cała masa patentów na małe pomysły/rozwiązania/techniki. Sprawa jest dyskusyjna o tyle, że podobne patenty ma każda duża (i sporo mniejszych) korporacja IT i tak na prawdę chyba nikomu nie zależy na rozpętaniu patentowej wojny. Bo mogłoby się na przykład okazać, że Microsoft też nie ma prawa używać i rozwijać .NET, bo koliduje z patentami Oracle, IBM, hp, Adobe czy kogoś tam jeszcze. Co ciekawe wcale nie jest powiedziane, że taki Python, Perl, Ruby czy cokolwiek innego nie narusza patentów Microsoftu (lub kogokolwiek innego). Sam fakt, że ktoś napisał sobie Pythona (który jest językiem programowani i jednocześnie platformą do uruchamiania programów napisanych w tym języku – z systemem pakietów/bibliotek itd) od początku sam i nie klonował w tym celu np. Visual Basica, nie znaczy, że nie narusza patentów kogoś tam.

        Co do integracji to też mocno subiektywna opinia. Sporo wiem o .NET i generalnie są kawałki zaprojektowane jako warstwa integracji z systemem Windows. Ale zdecydowanie nie jest tak, że cała platforma jest tym przesiąknięta. Co więcej sam Microsoft rozwija różne technologie około .NET na inne platformy niż własna – chociażby Silverlight na MacOSX. Z resztą pod różnymi postaciami te technologie działają też na XBox i telefonach Windows Phone/Mobile. Jednym słowem… .NET jest przenośny i da się go dostosować do różnych światów.

        Co do rozwoju i wpływu społeczności to .. oczywiście .NET to nie jest to typowy projekt open-source. Ale wszystko zależy od punktu widzenia. Wbrew pozorom jest coś takiego jak społeczność .NET. Co więcej jest wiele momentów w których Microsoft słucha głosu tej społeczności i konsultuje rozwój technologii. Z resztą nic w tym dziwnego. Z reguły firmy słuchają swoich klientów. Nie mniej zdecydowanie to jest najistotniejsza "wada". Ale ma ją sporo innych projektów, które są dużo bardziej "popularne" od .NET/Mono. Chociażby większość rzeczy robionych przez Google lub Oracle.

        Reasumując … wolność oznacza, że każdy jest wolny – do tego stopnia, że może robić rzeczy, które się nam nie podobają. Jeśli Mono to zły pomysł to niech rynek to zweryfikuje – firma Miguela upadnie, projekt pójdzie w zapomnienie. A jeśli jednak są gdzieś na świecie osoby, które uznają to za coś przydatnego i fajnego… to ja nie mam z tym problemu.

        Jak dla mnie Mono to fajny kawałek technologii. Ma setki potencjalnych fajnych zastosowań… A dla zwykłych programistów .NET może być niesamowicie pożyteczny do lepszego zrozumienia tego co siedzi w środku .NET i tego jak to wszystko może sobie działać. Jak w każdej technologii jest grupa problemów, których nie opisze żadna dokumentacja i pozostają eksperymenty z kodem.

        1. Awatar user
          user

          "Co do integracji to też mocno subiektywna opinia. Sporo wiem o .NET i generalnie są kawałki zaprojektowane jako warstwa integracji z systemem Windows. Ale zdecydowanie nie jest tak, że cała platforma jest tym przesiąknięta. Co więcej sam Microsoft rozwija różne technologie około .NET na inne platformy niż własna – chociażby Silverlight na MacOSX. Z resztą pod różnymi postaciami te technologie działają też na XBox i telefonach Windows Phone/Mobile. Jednym słowem… .NET jest przenośny i da się go dostosować do różnych światów.
          "

          sam sobie zaprzeczasz 🙂 tylko do produktow MS i Mac OS X, toz to na prawde dla roznych swiatow.

          Mnie osobiscie jako programiste .net nie interesuje, mialem z tym stycznosc i ciesze sie ze juz nie mam.

          1. Awatar konski_pytong
            konski_pytong

            bo taki był z ciebie programista..

          2. Awatar Budyń
            Budyń

            To uruchom np. KDE – aktualną wersję – poza Linuksem.
            Wot, przenośność…

          3. Awatar o_O
            o_O

            Uruchamiam na BSD. I na windowsie kilka aplikacji (kate, konsole).

          4. Awatar ak47
            ak47

            A kto powiedział że KDE jest przenośne ?

  3. Awatar jag
    jag

    "Xamarin pozyskał już finansowanie od aniołów biznesu .."
    A kim są te anioły biznesu?

    1. Awatar SeeM
      SeeM

      To są bogaci ludzie, którzy dają kasę na rozwój nowej firmy, która im się spodoba. To pewien rodzaj mecenatu, w Polsce też są i pomagają.

  4. Awatar ak47
    ak47

    może lepiej że społeczność nie ma wpływu na twoje projekty, skoro nie potrafisz odróżnić platformy od biblioteki. Nie chciało ci się dowiedzieć żę kde zapewniło sobie ochronę od zamknięcia Qt oraz tego że Nokia wypuściła Qt nawet na dużo bardziej liberalnej licencji niż licencjonował trolltech.

  5. Awatar peiner
    peiner

    Ja uważam że MONO to dobry projekt, frameworka NET + C# uczą na politechnikach, chyba jednak w jakimś celu. O wymaganiach przy podejmowaniu pracy już nie wspomnę. Jedyną przeszkodą może być twórca pierwowzoru.

    1. Awatar mikolajs
      mikolajs

      "Ja uważam że MONO to dobry projekt, frameworka NET + C# uczą na politechnikach, chyba jednak w jakimś celu. "
      Tak w celu pisania na platformę Windows, która jest najbardziej popularną wśród użytkowników. Równie dobrze można by pisać w Javie i zachować możliwość pełnej mutliplatformowości. Faktem jest jednak, że na Windowsach .NET jest wydajniejszy niż Java (a widziałem wyniki testów które wykazują, że jest niewiele wolniejszy niż natywny VC++), jednak na Linuksie jest odwrotnie.
      Choć sam język C# jest nieco lepszy niż, Java to nie ma szans w porównaniu do Scali. Sam programowałem trochę w C# i bardzo nie chciało mi się przechodzić na Javę, na szczęście na JVM są inne języki. Odpowiednik Scali z .NETu F# jak na razie wygląda na porażkę 😉
      Czasem odnoszę wrażenie, że programujący w MONO chcą się ogrzać przy blasku chwały MS, wierzą że to ta firma wyznacza standardy i chcą sobie zostawić furtkę do powrotu na łono prawdziwych wyznawców (MS).

  6. Awatar bart2
    bart2

    "Ci od Javy których jest pełno? Nie… Ja tam jestem nastawiony na kasę i dzięki mojej specjalizacji będę nielicznym,"

    Raczej bardzo licznym, chciałeś napisać…

    1. Awatar generator_hejtów
      generator_hejtów

      czytaj uważnie – 'specjalizacji'. Jakie uczelnie szkolą specjalistów od Dynamicsa?

      1. Awatar wladca_kodu
        wladca_kodu

        A jakie uczelnie szkolą specjalistów od np. Java Real Time System? Albo JEE?
        Uczelnie nie są od kształcenia zawodowego. Od kształcenia w zawodzie są technika, zawodówki, szkoły policealne i firmy szkoleniowe.

  7. Awatar jag
    jag

    "I teraz pytanie: kto będzie miał lepiej jako programista? Ci od Javy których jest pełno?"
    Argument nie trafiony. Idąc dalej tym tropem: jeszcze bardziej warto uczyć się języka Brainfuck bo nie ma programistów którzy by w tym pisali, więc będziesz miał 100% monopolu 😉

  8. Awatar mikolajs
    mikolajs

    "kto będzie miał lepiej jako programista? Ci od Javy których jest pełno? "
    To zostań programistą Lispa ich jest jeszcze mniej 🙂
    "pecjalizacji będę nielicznym, "
    Uważasz że w przyszłości popularność .NET spadnie? Bo obecnie C# jest całkiem popularny (choć dużo mniej niż Java) Ponoć najlepiej zarabiają programiści Perla, mogę się tylko domyślać dlaczego. Programiście Java łatwiej znaleźć pracę, a różnic w pensjach raczej nie ma, więcej zależy od tego co umiesz.

  9. Awatar juz nie koder
    juz nie koder

    Znajomość języka czy platformy programistycznej nie czyni z człowieka programisty. Dobry programista przestawi się na dowolny język lub platformę w kilka tygodni. To jest problem większości polskich uczelni – nie uczą programowania, nie uczą myślenia abstrakcyjnego tylko języków programowania. Na pęczki jest koderów znających C# czy Javę, którzy nie potrafią wyjść poza klepanie standardowego kodu, bo nie potrafią myśleć.

    1. Awatar MiL999
      MiL999

      Święte słowa i 100% racji.

    2. Awatar Konon
      Konon

      Dlatego taki Google ma troszkę inny proces rekrutacyjny niż inne (większość) firmy;)

  10. Awatar mariusz
    mariusz

    @ak47: analogicznie de Icaza zalatwil sobie poparcie Microsoftu, do tego podeszli do sprawy takze liberalnie. http://arstechnica.com/microsoft/news/2009/07/mic…

    "Jak .NET będzie miał otwarty kod to będziemy go porównywać do QT ;)"
    Mono ma otwarty kod 😉

    "Jako programista dobrze jest wiedzieć, że platforma dla której pisze projekty nie zniknie"
    _jako_programista_. Nikt nikomu nie karze w tym pisac, a skoro ktos chce to komu to przeszkadza? Wolisz aby istniala aplikacja XYZ na Linuksa napisana w Mono, czy lepiej zeby jej w ogole nie bylo? Ogolnie chodzi mi o sam fakt siania paniki, ze de Icaza chce rozwijac Mono, a ktos inny stworzyl w tym aplikacje. Potencjalni programisci .net, ktorzy chcieliby zapewnic support swoim aplikacjom takze na alternatywnych systemach napewno beda zacheceni tym jak ich spolecznosc traktuje 😉

    1. Awatar ak47
      ak47

      deklaracja a umowa prawna to dwie różne sprawy ….
      Twój punkt widzenia nie ma wiele wspólnego z 'programistą' jest to punk widzenia użytkownika. Programista przewiduje że program będzie serwisował i rozwijał, a tego platforma która może z dnia na dzień zniknąć nie oferuje.

  11. Awatar arek
    arek

    Anioły biznesu nic nie dają, lecz inwestują. To odpowiednik funduszy typu Private Equity, tylko że dla małych biznesów, startupów itp. Widać parę osób stwierdziło że komercyjne Mono może zaskoczyć w przyszłości, a firma przyniesie w długim terminie zyski.

    1. Awatar tomasz kubacki
      tomasz kubacki

      konkretnie chodzi o monotouch (c# dla iOs) i monodroid (c# dla androida), które mają potencjał żeby przynieść konkretne zyski – nie jest to też bezpośrednia konkurecja dla Microsoftu.

  12. Awatar Konon
    Konon

    Z tym, że Scala, Clojure korzystają z dobrodziejstw JVM, więc mimo wszystko porównanie może być. Mamy szybkość, biblioteki javowe, ale też składnie wyższego poziomu, będącą ułatwieniem dla programisty (no może nie dla wszystkich:D). Gdzieś tam "na górze" rozmowy chłopaki smucą nt. jaki to Python jest wolny (nie jest szybki), zapominając, że to syntaktyka tylko, a liczy się również środowisko uruchomieniowe. Na szczęście kilka osób, m.in. mikolajs, dobrze odpowiedziało.

  13. Awatar wladca_kodu
    wladca_kodu

    Można porównywać je pod względem konkretnych cech. Np. możliwości biblioteki standardowej w obszarze kolekcji albo wsparcia dla współbieżności. Albo ogólnie zwięzłości kodu – spróbuj zakodować coś nietrywialnego w C# i w Scali to poczujesz dużą różnicę. Jedyny obszar w którym Scala dostaje bęcki od C# i Javy to narzędzia programistyczne, które jeszcze są nieco w tyle. Ale nie na tyle, aby sprawiało to jakiś poważny problem, szczególnie że narzędziom dla Javy i C# zajęło znacznie dłużej dojście nawet do takiego poziomu jaki obecnie mają IDE dla Scali (np. pamiętam, że ok. roku 2004 takie rzeczy jak autocomplete i podkreślanie błędów w locie jeszcze kulało).

  14. Awatar mikolajs
    mikolajs

    "to stwierdzenie "nie ma szans w porównaniu do Scali" już jest trudniejsze do przyjęcia"
    Ok. Jako autocentryk miałem na myśli samego siebie 🙂

  15. Awatar peiner
    peiner

    Przykład z Brainfuckiem trochę nietrafiony. Nie chodzi o popularność C#, tylko o REALIA. A są one takie, że coraz częściej wymagana jest przez pracodawców umiejętność programowania w tym języku oraz obsługa frameworka .NET. A to, że na windowsie jest wydajnieszy jest całkiem zrozumiałe, jednak dzięki MONO istnieje w ogóle możliwość programowania oraz nauki tego języka na linuksie. I nie rozchodzi się o to, czy popieramy tutaj M$+C#+.NET, tylko o możliwość wykorzystania tego języka na linuksie poprzez mono. A skoro ona istnieje, to co jest złego w samym MONO ? Pretensje kierujcie do M$, nic nie poradzimy, że oni poprzez to że są gigantem dyktują pewne warunki na rynku. Bo wydaje mi się że część tutaj nie rozumie w ogóle co jest przedmiotem dyskusji. Jest nim MONO, a nie znienawidzony przez was C#/.NET.

    1. Awatar mikolajs
      mikolajs

      Ale się zakręciłeś 😉 Niby nie chodzi o popieranie .NET, ale według Ciebie MONO ma służyć jako nauka C# na Linuksie, po to aby móc programować na Windows? Taki pogląd od razu dyskredytuje MONO jako realną platformę. Aby MONO było rozszerzeniem umożliwiającym .NETowi stanie się mutliplatformowym MONO musiałoby być zupełnie inaczej rozwijane. W JVM wszystkie wspierane systemy są równo traktowane i mają identyczną funkcjonalność.
      "Nie chodzi o popularność C#, tylko o REALIA. A są one takie, że coraz częściej wymagana jest przez pracodawców umiejętność programowania w tym języku oraz obsługa frameworka "
      W jakim znaczeniu popularność? Jakby nie był popularny to nie było by ofert pracy. Ale jeśli w taki sposób na to patrzysz to lepiej uczyć się Javy i PHP, bo jak na razie jest więcej ofert pracy.
      "Pretensje kierujcie do M$, nic nie poradzimy, że oni poprzez to że są gigantem dyktują pewne warunki na rynku."
      A szary człowiek nie ma nic do gadania tylko musi słuchać co powie i nakaże mu władza 😉
      Warunki na rynku dyktują klienci.

      Sama sytuacja porzucenia MONO przez Novela, też nie zachęca do korzystania niego.

    2. Awatar wladca_kodu
      wladca_kodu

      A to, że na windowsie jest wydajnieszy jest całkiem zrozumiałe

      Nie zauważyłem jakiś wielkich różnic. Przynajmniej w microbenchmarkach idą łeb w łeb. Tylko wielu zapomina, że na Windows Java domyślnie instaluje tylko kliencki HotSpot, który jest ok. 2-3 razy powolniejszy niż HotSpot serwerowy. Zwykle po zainstalowaniu JDK i wrzuceniu opcji -server, JVM jest szybsza na Windows od .NET CLR. I ma też znacznie więcej opcji konfiguracyjnych dotyczących wydajności np. GC. CLR w ogóle ma jakiś odpowiednik G1 GC, tj. odśmiecacza, który potrafi sobie poradzić ze stertami wielkości 32GB i więcej bez powodowania lagów?

    3. Awatar bart2
      bart2

      Problemem jest uruchamianie w środowisku MONO takich sztandarowych aplikacji napisanych w C# jak Paint.NET.
      W tym sensie problemem nie jest samo MONO jako takie, ale fakt, że programiści C# na .NET nie tworzą oprogramowania z myślą o uruchamianiu pod MONO.
      W przypadku Javy używanie programów korzystających z JVM nie sprawia trudności, jeśli chodzi o użycie różnych platform.
      Z jakichś więc względów pisanie w Javie (czy innym języku JVM) nie tyle wymusza (można bowiem napisać programy, który np. uruchamia się tylko pod Windowsem), ile zachęca do wieloplatformowości,
      a w przypadku środowiska .NET (jak widać na wielu przykładach) już zdecydowanie niekoniecznie,
      choć ciężko jest mi sobie wyobrazić, aby MS nie było w stanie stworzyć całkowicie przenośnego rozwiązania.

  16. Awatar revcorey
    revcorey

    C# uczą w zasadzie na każdej uczelni. Po drugie nikt się jeszcze programować z książek i wykładów nie nauczył bo to tylko narzędzia dydaktyczne. Co ty myślisz że może nie ma ludzi szkolących się w różnorodnych językach?

  17. Awatar mikolajs
    mikolajs

    "Na jednego programistę Java przypada jakieś 3-5 klepaczy."
    Tak się mówi o każdym bardziej popularnym języku, bo jest większa konkurencja 🙂
    "Nie perl ale COBOL.
    Perl wbrew pozorom jest bardzo prosty (wystarczy załapać co i kiedy jest zmienną domyślną ) i popularny, jeszcze sporo osób w tym pisze. Za to COBOL to umarły język na którym chodzą, systemy bankowe których nikt nie chce tknąć kijem. "
    Pewnie dałoby się znaleźć jeszcze jakiś przykład języka który zna 5 osób i średnio zarabiają więcej niż programiści innych języków. 🙂
    Perl do przy pisaniu jest dość prosty, ale czytanie tego języka to katorga. Nie przez przypadek są zawody w napisaniu jak najbardziej nieczytelnego kodu,.

    1. Awatar ak47
      ak47

      e tam
      w każdym języku jestem w stanie napisać ci program który jest dla przeciętnego programisty niezrozumiały.
      Perl Golf jest popisem możliwości użycia języka. Tak samo możesz psioczyć na programy w C napisane jako ASCII ART.

      1. Awatar mikolajs
        mikolajs

        Ale np w Pythonie będzie to trudniejsze
        A jak myślisz dlaczego Python zyskuje na popularności a Perl traci?

        1. Awatar ak47
          ak47

          Wcale nie jest trudniejsze przez ostatni rok przebijałem się przez kod pythona w którym wszelkie importy leciały przez gwiazdkę. W funkcjach wykorzystywało się zmienne przekazane niejawnie do niej lub/i niejawnie zwracane. Zmienne nazywane w klasycznym a,a1,a4 (i to zwykle nie są zmienne lokalne funkcji), funkcje ciągnące się po paru ekranach (naliczony max to 16), składnia ?: zapisana w pythonie , order zrobiony słownikiem itp ,większość bez jakiegokolwiek komentarza.
          Sam programuje w pythonie od paru lat, znam perla, dodatkowo mniej lub bardzie kilka innych języków.
          W pythonie ważne są paradygmaty (sławne PLEP'y) które wymuszają pewne rzeczy od tworzących paczki. Choćby jedna droga do osiągnięcia pożądanego wyniku. Czy wymuszenie wcięć w kodzie zamiast gaszczu klamerek.
          To wlaśnie uczy od początku dobrych praktyk.
          Perl natomiast pozwala na dużo większą swobodę, podbnie jak ruby ale perl nie posiada railsów bez których ruby pozostałby pewnie jedynie ciekawostką.

  18. Awatar darek
    darek

    .NET i MONO leżą pod jednym względem – totalny brak libów, pisałem dwa bliźniaczo podobne systemy – 1 w javie 2 w Mono z założeniem wieloplatformowości,
    na .NET/mono nie istnieją natywne biblioteki, rozwiązania klasy enterprise, gdzie wszystko jest może i rozwija się miło, ale pisanie demona, który ma działać pod różnymi systemami i wykrozystywać specyficzne protokoły jest katorgą

    1. Awatar edek
      edek

      A jakiego języka/platformy użyłeś do napisania tego? Pytam na serio, bo nie miałem doświadczenia z systemami tego typu.

  19. Awatar peiner
    peiner

    Mało którego klienta interesuje jaki framework jest wybrany oraz język programowania. Chyba że ma jakieś blade pojęcie o programowaniu. Poza tym pracodawca powinien zapewnić narzędzia pracy, więc bez obaw – nikogo nie będzie się zmuszać do używania MONO. Jak już pisałem, uważam go za dobre przedsięwzięcie, bo może pomóc w nauce tym, którzy nie zamierzają się przesiadać na M$ Windows, mimo iż na większości uczelni mamy MSDNa. Popularność C# leży w ofertach pracy i w niczym więcej, bo wiadome jest że wspomniana Java czy PHP są lepiej rozpoznawane i więcej ludzi umie się w nich poruszać.

    1. Awatar mikolajs
      mikolajs

      "Jak już pisałem, uważam go za dobre przedsięwzięcie, bo może pomóc w nauce tym, którzy nie zamierzają się przesiadać na M$ Windows, "
      Ale uczą się aby pracować na Windows? 🙂 Więc chyba lepiej od razu się przesiąść.
      Przy pracy w JVM, pisząc aplikację webową pracuje na Kubuntu, kolega na Macu a pozostali na Windows i nikt z tym nie ma problemu. Czy to samo można powiedzieć o MONO i .NET?

  20. Awatar mix
    mix

    Mono ma strasznie niedopracowaną maszynę wirtualną w porównaniu z windowsową maszyną i z JVM.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *