IronPython 1.0 Yayınlandı

0
zekzekus
5 Eylül 2006 tarihinde Python programlama dilinin Microsoft .NET Platformu üzerinde çalışan sürümünün 1.0 versiyonunun hazır olduğu açıklandı ve kaynak kodları ya da runtime kütüphaneleri olarak indirilmeye hazır. Buradan projenin ana sayfasına ulaşabilirsiniz.
Projenin yaratıcısı ve şu an Microsoft firmasında çalışmakta olan Jim Hugunin'in konu ile ilgili blog girdisi ise şurada.

IronPython, dünyada olduğu kadar ülkemizde de, projeyi başlatan kişinin Microsoft'a geçmesiyle açık kaynak çevrelerinde tartışmalara neden olmuştu. Hatta sırf bu yüzden "ölü" proje olarak anıldığı oldu. Oldukça aktif bir şekilde geliştirilen projeninin ne kadar ölü ne kadar canlı olacağını zaman gösterecek.

Görüşler

0
dfix
Ben bu perl php ve python'nun .net platformuna taşınma işini pek anlamıyorum. amaç sadece ne olur ne olmaz ön koltuklarda yerimizi alalım meselesinden başka bişey değil daha önceden bu dilleri kullanmayan hatta varlığından haberdar olmayanların c# yerine python kullanmalarını düşünmek bana pek inandırıcı gelmiyor ayrıca bu diller zaten .net ten ayrı olduğu zaman gerçek yeteneklerini gösteriyorlar. Mono yu bir kenara brakırsak bu tip çalışmalar şimdilik dilleri ptalform bağımlı hale etiriyor.
yoksa benim bilmediğim bir şeymi var.
0
zekzekus
Olayın teknik altyapısı hakkında çok çok detaylı bilgim yok ama eğer Mono tam bir .NET implementasyonu olmayı hedef seçtiyse kendine ve IronPython'un Mono ile iletişiminde ciddi sorunlar olmazsa (ki böyle bir problemin olduğunu okumuştum bi yerde linkini bulamadım) bence değerli bir proje .Tabii Microsoft'un elinde proje ne hale gelecek nasıl bir sonuca ulaşacak bilemiyorum ama IronPython ile "oynamak" bile bana haz veriyor.
0
newman
Python ortadan kalkiyor da yerini Iron Python aliyor degil: dilin platform bagimlisi filan oldugu da yok yani. Platform ile daha iyi ve etkin bir entegrasyon metodu olarak dusunun: C ile yapilan bindingler yerine boyle yapiyorlar, bunun da .NET sozkonusu oldugunda onemli avantajlari var. Darisi Lisp'in basina (hobi projeler veya laboratuvar deneyleri degil: profesyonel bir urunu kasdediyorum).
0
dfix
"Python ortadan kalkiyor da yerini Iron Python aliyor degil: dilin platform bagimlisi filan oldugu da yok yani" bunun bende farkındayım.
0
newman
Sorun ne peki?
0
FZ
Sorun insanların MS lafını duyunca pek çok haklı sebepten ötürü tüylerinin diken diken olması :) Öte yandan .NET platformunda çalışmak zorunda olup da diğer dünyaları bilenler ve oradaki gücü kullanmak isteyenler için IronPython ve benzeri gelişmeler sevindirici. Bilen biliyor olacak ve gayet de güzel kullanacak. Neden daha azı ile yetinsinler ki? Benzer bir çalışma Ruby.NET olarak da mevcut:

"We are pleased to announce the preliminary Beta release of the Gardens Point Ruby.NET compiler. Note: this is not just a Ruby/.NET bridge, nor a Ruby Interpreter implemented on .NET, but a true .NET compiler. The compiler can be used to statically compile a Ruby source file into a verifiable .NET v2.0 assembly or it can be used to directly execute a Ruby source file (compile, load and execute). Our implementation is not yet fully complete, but it is the only Ruby compiler that we know of for either the .NET or JVM platforms that is able to pass all 871 tests in the samples/test.rb installation test suite of Ruby 1.8.2."

Ruby ve Python gibi bir hayli esnek ve kestirmeden iş güç yapılmasına izin veren ve geliştiricileri hammallıktan kurtaran dillerin Java ve .NET implentasyonlarının heyecan yaratması dünyadaki yazılımcıların ortak bazı eğilimlerine işaret ediyor: Ne kadar az kod yazıp istediğimizi yaptırabilirsek o kadar iyi çünkü daha halletmemiz gereken bir sürü iş güç var ve vakit kaybetmek istemiyoruz.

Bu arada IronPython ve benzeri uygulamalar için çok güzel bir uygulama alanı var: Geliştirdiğiniz uygulamayı programlanabilir kılmak! Bunun için tekerleği yeniden keşfedip kendi .NET dilinizi, falanca filanca "parser"ı filan geliştirmek yerine sistemle tam entegre ve gömülü olarak çalışan Python yorumlayıcısından neden yararlanmayasınız ve misal C# ile geliştirdiğiniz uygulamanızı kullanıcılar ve kendi açınızdan daha esnek hale getirmeyesiniz ki?

Başka bir alandan örnek vermek gerekirse, yani MS Win kullananlar da aptal değil ki, yıllarca tanıdığım pek çok aklı başında sistem yöneticisinin Perl sayesinde MS Win ortamlarında epey hammallıktan kurtulduğunu biliyorum. Ufku birazcık geniş bilgisayarcılar başka platformlardaki en güçlü araçları kendi platformlarında da kullanmak için mümkün olan hiçbir fırsatı kaçırmıyorlar ve bu şekilde bilinç seviyesinde bir artış da olsa olsa desteklenmesi gereken bir şey (hemen her platformun birbirlerinden öğreneceği şeyler olduğunu unutmamak lazım).
0
newman
Ben biraz bu VM'ler nasil calisir, nasil dizayn edilir filan diye web'i taramistim: orada gordugum kadariyla .NET sisteminin bazi ilginc ozellikleri vardi. En hos yanlarindan biri de esasta stack machine vs. register machine ikilemini asmasiydi (eger kod byte koda donusturulurse -- java gibi-- kaynak koddan yorum baska: ama o zaten her durumda yavas). JIT'leme sayesinde VM aradan cikiyor. Java'da oyle degil, ama onlar da zorlayici kod bloklari icin ayni seyi yaparak bir cesit optimizasyona gidiyordu. Kisacasi, .NET, Java, vs. sizi kendi byte kodunuzu dizayn etmekten de kurtariyor. Bu benim ilgimi cekmisti.

Ama butun bunlarin otesinde, sadece son derece genis windows sistem kutuphane ve kaynaklarini rahatlikla kullanabiliyorsunuz! Daha ne olsun yani :).
Microsoft hakkinda insanlarin duygu ve dusunceleri kendi bilecekleri is: ama ozgurluk sadece sevdiginiz insanlar/kurumlar icin olmamali degil mi? Zaten Iron Ptyhon'u da FSF yapmiyor herhalde (Python'u da yapmadiklari gibi :)... Yani zaten windows ortaminda calisan (hatta bir microsoft calisaniydi sanirim) bir adam kalkip bir araci windowsa tasidi diye elestirmek biraz garip oluyor: o kisinin bundan dolayi "aman ben ne yaptim!" diyecegini de sanmam :)
0
numb
Belli ki Microsoft ve Sun yeni interpreted diller oluşturup desteklemek yerine Ruby ve Python gibi dilleri framework'lerine entegre edip geliştiricileri cezbetmeye çalışıyorlar ve bu işe oldukça ciddi yaklaşıyorlar. Öyle ki Sun IronPython projesine cevabını JRuby geliştiricilerini işe alarak gösterdi.

The potential for Ruby on the JVM has not escaped notice at Sun, and so we'll be focusing on making JRuby as complete, performant, and solid as possible. [..] I'm also making it a personal priority to continue growing the JRuby community, foster greater cooperation between the Java and Ruby worlds, and work toward a "whole-platform" Ruby-on-JVM strategy for Sun.

JRuby kodu haberlere göre yine açık olarak dağıtılacak, ama Sun tarafından. Ben Microsoft ve Sun'ın bu hareketlerini oldukça olumlu buluyorum, özellikle Python IronPython'ın kullanımının hızlanmasıyla daha da popülerleşecek, bu Python gibi güçlü ama bu vakte kadar pek popülerlik kazanamamış bir dil için bence iyi haber. Sun'ın Mustang (Java 6) ile JavaScript'i JVM üzerinde desteklemeyi düşündüğünü duymuştuk, Ruby gibi bir dil Sun'ın elini daha da güçlendirecektir. Kazanan yine biz developer'lar olacağız sanırım :)
0
bio
Zaten bildigim kadariyla IronPython'un gelistiricileri ile Jython projesininkiler ayni (ya da bir kismi ortak).

Jython icin Sun'dan destek bulamayinca Microsoft tarafina gectiler anlasilan.
0
zekzekus
Jython ve IronPython geliştircelri aynı kişi: Jim Hugunin.Ama bildiğim kadarıyla Jython, Ironpythona nazaran daha eski bi proje ve Jim Hugunin'in Microsoft'a geçmesi ile bir alakası olduğunu sanmıyorum Jython'un.Microsoft'un JVM altına implemente edilecek bir proje üstünde çalışacağını sanmıyorum.Zaten Jim Hugunin de Microsoft'un CLR (Common Language Runtime) takımına girmiş .IronPython'un üstünde koştuğu sistemin yani.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

PISI Geliştirme Deposu

exa

PISI'nın yeniden canlandırılan geliştirilme dalına ait kaynak kodunu github'da bulabilirsiniz. Kaynakların şu andaki revizyonu 1.1_beta12'dir. Bu revizyonu yerel subversion çalışma kopyalarımdan yükledim, Pardus projesindeki en son idare ettiğim geliştirme dalı deposuna aittir. Dalla ilgili bilgileri aşağıda kendiniz görebilirsiniz.

$ svn info . Path: . Working Copy Root Path:...

Web Sitesi Performans İyileştirmeleri

muhuk

Yakın zamanda telvee'nin biraz daha hızlı yüklenebilmesi için django_compressor kullanarak ve arkaplan resimlerini düzenleyerek iyileştirmeler yaptım. İşin güzel yanı bunları gerçekleştirirken geliştirme ortamında veya tasarımda köklü değişiklikler yapmamın gerekmemesiydi. Detaylardan aşağıda bahsedeceğim. Daha önce konunun teorik kısmına kısaca değinmek istiyorum.

IronPython: .Net üzerinde Python - Bölüm - 1

zekzekus

Bu metin Jeff Cogswell'in bu adreste bulunan makalesinin çevirisidir.

IronPython'a ilk bakış: .Net ile Python'un buluştuğu yer.

Bir itirafta bulunuyorum. C++ hakkında bir sürü kitap ve makale yazmış olmama rağmen bir sırrım var: C++ benim en sevdiğim programlama dili değil. Değişik amaçlar için kullandığım bir sürü programlama dili var. Ama her zaman en sevdiğim dil Python olmuştur.

IronPython: .Net üzerinde Python - Bölüm - 2

zekzekus

Makalenin 1. bölümü için tıklayınız. Yazının özgün haline bu adresten ulaşabilirsiniz.

Python .NET ile buluşuyor.

Eğer hem Python hem de .NET'e aşinaysanız bazı problemleri hemen farkedebilirsiniz. Yeni başlayanlar için belirtelim Python, .NET içinde tam karşılığı olmayan -bahsettiğimiz liste tipi gibi- gömülü veri tiplerine sahiptir.

Merak etmeyin; bütün bunlar halledilmiş durumda. Ama önce bir örnek yapalım. IronPython, aynı klasik Python yorumlayıcısı gibi çalışan bir konsol programı ile birlikte gelir.

Django ORM ve SQLAlchemy üstünde Elixir karşılaştırması

muhuk

Django'yu işimde, Elixir'i (bu yazıdaki her Elixir'i Elixir+SQLAlchemy olarak okuyunuz) kendi projemde kullanıyorum. Dört veya beş yıl önce SQLObject ile başlayıp Unicode sorunları nedeniyle bende büyük hayal kırıklığı yaratan ORM macerama bir ay kadar önce FZ'nin önerisi üzerine bir şans daha verdim. Özellikle benim gibi aşırı titiz biri için SQL programlama belli bir karmaşıklıktan sonra işkence olabiliyor. ORM'ler de zamanla gelişmiş ve çok daha stabil hale gelmiş. Karşılaştırmasını yapacağım iki bileşen de yaygın kullanılan iyi projeler. Burada yazacaklarım tamamen benim fikirlerim, eğer hatalarım olursa veya farklı düşünceleriniz varsa lütfen yorum olarak paylaşınız.