2010-08-30 25 views
7

Oracle, Dalvik VM üzerinden Google'a dava açtığı için, Oracle'ın lisansı olmadan bir Java VM uygulayamayacağınız anlaşılıyor (EDIT: Matthew Flaschen, Oracle'ın iddialarının geçerli olmayabileceğine işaret ediyor. Neyse, şu anda bir durumumuz var. Oracle'ın VM uygulamalarını tehdit ettiği yer.). Bu, Java'nın Açık Kaynak uygulamalarının ölümü olabilir (Apache Harmony gibi).Java VM'ye alternatifler nelerdir?

Bu davanın etkisini veya meşruiyetini tartışmak istemiyorum. ama bir Java programcısı olarak her duruma hazırlanmak için alternatiflere daha derin bir bakış atmak istiyorum. Derleyicinin küçük bir sorun olarak ortaya çıktığını gördüğümden beri, benim ana ilgi alanım, JVM ile benzer bir amaca hizmet eden alternatif VM uygulamaları. Açık-Kaynak-uygulama optimizasyonlar için

  • potansiyeli var
  • patent sorunları/iyi performans
  • ait

    • serbest:

      VM bazı koşulları yerine getirmeli, arıyorum bağımsız platform (VM, daha büyük engellere sahip olmayan farklı platformlara taşınabilir)

    Lütfen biraz ekleyin benim için övgüler.

  • +0

    IBM'in kendi JVM'leri vardır, ancak ilk iki noktanızı karşılayıp karşılamadığını bilmiyorum (son ikisini de karşıladığını düşünüyorum). – FrustratedWithFormsDesigner

    +3

    Yüzlerce patenti ihlal etmeden * herhangi bir önemsiz olmayan program (ve kesinlikle bir Sanal Makine) yazamayacağınız bana açık. – Ken

    +0

    @FrustratedWithFormsDesigner, Microsoft'a göre kendi JVM'lerine sahipler. –

    cevap

    5

    LLVM gerçekten iyi bir iyileştirme, düşük düzey sanal bir makinedir. C ve C++ gibi dilleri destekleyebilir ve çöp toplama gibi üst düzey özellikler için destek sağlamamıştır.

    VMKit, Java ve CLI sanal makinelerinin LLVM üzerine uygulanmasıdır. Java bayt kodu kullandığından, bu muhtemelen patent sorunlarına yardımcı olmaz.

    HLVM, LLVM üzerine kurulu bir başka ilginç yüksek düzey sanal makinedir. En iyi bilinen patentlerden kaçınmak için muhtemelen farklıdır, ancak temel olarak sayısal hesaplama ve fonksiyonel programlamada hedeflenmiştir.

    Dinamik olarak yazılan tarafta, Parrot var.

    Aslında kendi tasarımımın bir dili için bir derleyici ve VM üzerinde çalışıyorum, ancak işin bitmesine gerek yok. Herhangi bir büyük yazılım parçasının çok sayıda patenti ihlal edeceğini aklınızdan çıkarmayın, önemli olan bunların ne kadar iyi bilindikleridir (ve patent sahiplerinin ne kadar aktif bir şekilde ihlal edeceğini). Tabii ki, tüm patent sistemi saçmadır ve ondan kurtulmaktan çok daha iyi oluruz.

    +0

    "En iyi bilinen patentlerden kaçınmak için muhtemelen farklıdır" Ve bilinen olmayan binlerce patentten ne haber? "Tüm patent sistemi saçma" Ben katılıyorum emin değilim - Bence patentler bazen yararlıdır - Eğer kanser için bir tedavi icat ederseniz, onu patent almasına izin verilmelidir. Ancak, patentler çift tıklama gibi önemsiz şeyler için verilmemelidir. Patent sisteminin orada olması gerekiyor, ancak reform ihtiyacı ve gerçek inovasyon üzerinde daha sıkı kontroller gerekiyor. –

    +1

    @Mark Byers: HLVM Hakkında, Java ve benzeri VM teknolojisindeki (ör. CLI) çoğu patentin geçerli olmayacağı kastım. Elbette, bu tamamen güvenli olduğu anlamına gelmez, ama hiçbir şey değildir. Patent sistemine gelince, yazılım patentleri en açık saçma kısımdır, fakat sistemin geri kalanının yararlılığını da sorgularım - herhangi bir faydası olduğuna dair hiçbir kanıt yoktur. Ve eğer birisi kanser için bir tedavi icat ettiyse, patentli olmasaydı hoş olurdu, çünkü daha ucuz olurdu. Soru şu ki, patentsiz, bu tedavi icat edildi mi? Kimse bilmiyor. – Zifre

    +0

    HLVM büyük bir aday gibi görünüyor, başka bir papağan gibi. Bu alternatifleri biraz daha kontrol edeceğim. Önerileriniz için teşekkürler. :-) – Mnementh

    4

    Patent sorunları olmayan önemli bir yazılım parçası olduğunu düşünmüyorum.

    Eğer bağımsız bir geliştiriciyseniz ya da daha küçük bir şirket için çalışıyorsanız, muhtemelen sorunlardan doğrudan etkilenmeyeceksiniz. Patent tutan büyük şirketlerin pek çok küçük iddiadan sonra gitmesi olası değildir - bu pahalı bir süreçtir ve çok fazla öfke yaratır. SCO böyle bir şey denedi ve onlar için çok iyi çalışmadı.

    Patent konuları hakkında çok fazla endişe duymadan iş için en iyi aracı bulmaya konsantre olurdum, aksi takdirde hiçbir zaman hiçbir şey yapamazsınız.

    +0

    SCO hiçbir zaman patent haklarını, sadece telif haklarını ve sözleşmeyi iddia etmemiştir. –