| kefukar | 12.05.2005 - 17:52:04 |
| Umarım doğru yerdir. Değilse taşıyınız lütfen... Afalladım.. Şoku atamadım üzerimde...
Arkadaşlar biraz önce int.te bir arkadaşın şöyle bir iddasını okudum.. ufak bir hatırlatma: .net uygulamaları (c#,vb.net,vs) kodları arka planda java ya çeviyor.
Şok oldum. İlk defa duydum böyle birşey. Siz duydunuz mu? Doğru mu bu? Mümkün mü? | |
| fahrettin | 12.05.2005 - 18:11:05 |
| Bence mantıklı değil.... Java ile .net rakip zaten... Microsoft bile bu kadar rakibe bagimli bir strateji gudemez. ki malum Microsoft un en iyi oldugu konulardan biridir strateji.... | |
| t-hex | 12.05.2005 - 18:12:04 |
| direk uydurma, .NET kodu CIL olarak değiştiriliyor ama javanın bytecode, ikisi farklı | |
| doganzorlu | 12.05.2005 - 21:32:03 |
| Selam,
CIL Java nin bytecode u gibi açık bir standartdır. Microsoft tekelinde de değildir. Bunun böyle olduğunu mono projesiyle geliştirilen CLR ın farklı bir versiyonunun da (Hem windows hem de değişik *nix lerde çalışan) varlığından da anlayabilirsiniz. Javada bir derleyici ve bir runtime olmak üzere iki bileşen vardır. İçinde yerleşik bir kütüphane bulundurur. Derlenen kodlar bytecode a çevrilir ve runtime bu bytecodeu işlertir. Böylelikle runtime ı bir yere taşıdığınızda onun çalıştırdığı kodları da taşımış olursunuz (JNI kullanamdınızsa tabi, bunu kullanmadan da performans gerektiren yerleri yönetemiyorsunuz genelde). .Net le gelen konsept de bunun aynısıdır neredeyse. CLR adlı environment, kodlarınızı derler ve CIL kodlara dönüştürür. Aynı environment bu kodları interpret de eder. CLR ı taşırsanız kodları da taşımış olursunuz. Kullandığınız bir kütüphane (java daki gibi) burada da var. Kütüphaneyi extend edebilirsiniz ama dikkat, javadaki problem burda da kendisini gösterir. Eğer uygulamalar windows API larına vs erişmişse bunu diğer sistemlere taşıyamazsınız. Belki de en değişik özelliği CTS dir. Değişik dillerde dağişken sınıfları ortak bir yöneticiden kullanmasıdır. Bence sarsılmak yerine araştırmalı ve okumalısınız. Zira internette "birisinden duymak" tan çok öte yazılı kaynak mevcut. İyiliği kötülüğü performansı vs tartışılabilir lakin temelde olay budur. Kolay gelsin, EK: Mono ne alemde bu aralar diye sitesini inceliyordum ve ecma sitesinde yayınlanan temel standardın linkine rast geldim; http://www.ecma-international.org/publications/standards/Ecma-335.htm | |
| t-hex | 12.05.2005 - 21:38:49 |
| Merhaba,
Aradaki bir farka değinmek istiyorum: CIL kodu ilk çalışma anında native koda çevirilir JIT compiler tarafından ama Java'nın byte kodunda böyle değil, bu yüzdendir ki .Net uygulamaları java uygulamalarına göre biraz daha hızlıdır. | |
| doganzorlu | 12.05.2005 - 21:54:35 |
| Selam,
Java için Just-in-time compiler içeren birsürü vm var. Sun ın VM i windows ve solaris için JIT içeriyor. Bu yeni bir buluş değil. Ve javadan hızlı çalışması konusunda referans alınabilecek bi özellik de değil görüldüğü gibi. Eğer kod küçük birşeyse JIT istenenin tersine sonuçlar verecektir bunu da ihmal etmemek gerekir. | |
| kefukar | 13.05.2005 - 08:47:08 |
| Verdiğiniz bilgiler için çok teşekkürler üsdatlar... | |