NZemberek 0.1 Çıktı

0
FZ
Zemberek blogundaki habere göre .NET için C# ile geliştirilen açık ve özgür kodlu yazım kılavuzu NZemberek çıktı:

"17 Kasım 2006'da Mehmet'e gönderdiğim bir e-posta ile başlayan çalışmamızın ilk ürününü bugün ortaya çıkardık. Zemberek projesinin .NET "port"u olan NZemberek'in 0.1 sürümü bugün itibariyle yayınlandı. 17 Kasım'dan sonra kodların .NET (C#) karşılıklarını oluşturduk. Bu iş, bazı araçları ya da otomatikleştirilmiş komutları kullanarak ne kadar hızla yapılsa da birçok zorlukla karşılaşılabiliyor. Zemberek ekibinin de desteğiyle şu anda Zemberek2 projesinin işlevlerini neredeyse tamamıyla yerine getiren bir sürüm mevcut.
Mehmet ve Ahmet'e çok teşekkür ediyoruz. Onlar, tek amacımızın bu projeyi .Net platformuna taşımak olmadığını, bilgi ve deneyimimiz ölçüsünde her iki kanatta da elden gelen katkıyı yapmak istediğimizi biliyorlar.

NZemberek için bundan sonraki hedefimiz bir MS Office "add-in"i sayesinde Office Proofing Tools dışında da sözcük denetimini yapabilmek. Gelişmeleri yine Zemberek ekibinin bizimle paylaştığı bu blogdan sizlerle paylaşmaya devam edeceğiz.

Proje sayfası: http://code.google.com/p/nzemberek/

Görüşler

0
mdakin
Bir kaç küçük düzeltme,
NZemberek yazım kılavuzu değil Zemberek kütüphanesinin doğrudan ikizi, yanlış anlaşılmasın.
Bir de NZemberek Geliştiricileri Tankut Tekeli ve Mert Derman, adları geçmiyor hiç bir yerde, ben söyleyeyim :).
0
towsonu2003
1.
"Gelişmeleri yine Zemberek ekibinin bizimle paylaştığı bu blogdan sizlerle paylaşmaya devam edeceğiz."

hangi blog?

------------------------

2.
http://code.google.com/p/nzemberek/wiki/NZemberekKullanim

:rar dosyasını açtığınız klasördeki NZemberek.dll kütüphanesini ekleyin:

:projenizi build ettiğinizde oluşan exe dosyasını çift tıklayıp çalıştırabilirsiniz:

dll? exe? OMG PONIES! ;)

------------------------

3.
neden java'dan .net'e tasimislar?
0
towsonu2003
1. nm...
0
mdakin
Haber biraz eksik olunca böyle sorular gelmesi doğal tabi.

1. http://zembereknlp.blogspot.com

2 ve 3. NZemberek, zemberek projesinin .net klonu. ve farklı bir ekip tarafından yürütülüyor. .net'e taşınma diye bir şey yok. Şimdilik windows altında çalışıyor, dll ve exe muhabbeti o yüzden. zemberek projesi aynen devam ediyor.
0
spinodal
towsonu2003 her 3 sorunuzu da yanıtlamaya çalışyaım:

1. Haberin başında verilen bağlantının hedefi olan blogdan sözediliyor. Haberi buraya yazan arkadaş blogdaki yazıyı olduğu gibi aldığı için anlaşılmıyor olabilir. Ancak bağlantıyı izleyip yazı okunduğunda sanırım yanlış anlama ya da karışıklık gider.liyor.

2. NZemberek kullanımı için hazırlanmış rar uzantılı dosyanın içeriğindeki .dll (kütüphane) kullanım belgesinde anlatılan örnek konsol uygulamasına referans olarak tanıtılıyor. Konsol uygulaması da oluşturulduğunda (build edşkdiğinde) ortaya .exe uzantılı çalıştırılabilir bir dosya çıkıyor. .Net platformuna bir miktar aşina olanların izleyeceği bir yönerge olarak düşünüldüğünden detaya girilmedi.

3. Sadece Zemberek projesine de destek verebilirdik (ki bunu elimizden geldiğince yapacağız zaten) ancak, Zemberek projesini farklı bir perspektiften yaklaşarak daha kolay anlayabileceğimizi hem böylece farklı br platformda kullanmak isteyecek geliştiricilere hazır bir yapı üretmiş olacağımızı düşündük. Bundan böyle her iki yönde de elimizden gelen desteği sürdürmeyi istiyoruz. .Net portuna ilgi oluşmazsa zaten ömrü uzun olmayacaktır, ama ben öyle olmayacağına inanıyorum.

Umarım aydınlatıcı olmuştur.
0
FZ
Şu anda yapmış olduğunuz işin .NET ortamında alternatifi yok bu bakımdan ilgi olacağını düşünüyorum. Bu sayede Türkçe metinle iş yapan her .NET uygulaması ister VB, ister C# ister Perl yahut Ruby ile yazılmış olsun kolayca Türkçe yazım denetleme özelliğine kavuşacaktır. Yolunuz açık olsun!
0
tongucyumruk
Yakın zamanda Java'nın GPL olarak yayınlanmış olduğunu gözardı ederek birşeyler yazmam gerekirse:

Her ne kadar üzerinde yazılım geliştireceğim bir platform olarak gerek .Net gerekse Java bana çok sevimli platformlar olarak gözükmüyor. Öte yandan .Net'in uzun süredir özgür bir gerçeklemesi (implementasyon) bulunması sebebiyle bilgisayarımda hiç Java uygulaması yokken az da olsa Mono ile geliştirilmiş birkaç uygulama var.

Java'nın GPL olmasıyla Java uygulamaları kullanma oranım nasıl değişir bilmiyorum fakat eğer NZemberek Mono üzerinde sağlıklı bir biçimde çalışıyorsa (ki çalışmaması için aklıma bir sebep gelmiyor) en azından kısa vadede yazım denetleme için tercih ettiğim sistem haline gelebilir diye düşünüyorum.

Çalışmalarınızda başarılar dilerim.

Not: Aramızda hem doğal dil işleme, hem de Common Lisp ile uğraşan birileri olsa, CL-Zemberek diye birşeyler falan yazsa, Java kodunu Common Lisp'e port ederek başlayıp sonra Common Lisp tarzına uygun hale getirecek şekilde refactor etse, hatta ECLM 08'de bunu sunsa ne de güzel olurdu değil mi?
0
FZ
MS Windows ortamını düşündüğümde, daha önce belirttiğim gibi pek çok uygulama geliştirici, bunlar gerek VS.NET gerek Delphi yahut benzeri şeyleri kullansınlar, ellerinin altında böyle bir otomatik Türkçe yazım denetleyici olmasından epey memnun olacak ve uygun olan her yerde yoğun olarak kullanacaklardır diye düşünüyorum.

Diğer yandan, Türkiye'de de yavaş yavaş CL ile ilgili profesyonel olarak uğraşmaya başlayan bir kitle oluşmaya başladı ve bunların arasında daha önce Java ile epey uğraşmış yazılımcılar var. Yani doğal dil ile uğraşmadan da Java'daki sistemi CL'ye aktarmak söz konusu olabilir tabii buradaki dezavantaj özgün projedeki gelişmeleri takip edip sürekli yeniden uygulamak, hataları düzeltip senkronu tutturmak olacaktır.
0
mdakin
Burada küçük bir uyarı yapayım, NZemberek'in yazıldığı C# dili java'nın neredeyse kopyası gibi olsa da NZemberek ekibinin çalışması sırasında zaman kaybına neden olan pek çok küçük sorun çıktı. CL gibi Java ile neredeyse hiç ilgisi olmayan bir dile port etmek kat be kat daha zor olacaktır. Uyarmadı demeyin.

0
FZ
Mutlaka fark olacaktır kıyaslarsak. Ancak daha önce ciddi Java deneyimi olan ve orta seviyede Common Lisp bilen birisi eğer yarı zamanlı yahut tam zamanlı bu işe emek harcarsa tahminim 3-4 ayda konunun %90'ını halleder.
0
mdakin
Olsa bile bu emeğe değer mi şüpheliyim. NZemberek için bile yeni değişikliklerle senkronizasyon ciddi bir sorun çünkü.
0
mdakin
Olsa bile bu emeğe değer mi şüpheliyim. NZemberek için bile yeni değişikliklerle senkronizasyon ciddi bir sorun çünkü.
0
FZ
Eşzamanlılaştırma mutlaka bir sorun olacaktır bu tür farklı ortamlara aktarmada. Diğer yandan, değip değmeyeceğine tabii ki öyle bir yükü üstlenmeyi göze alan kişi karar verecektir. Tıpkı NZemberekçilerin yaptığı gibi. Diğer yandan NZemberek ve belki olursa cl-zemberek gibi projelerle uğraşanların geliştirdikleri birtakım şeyler, yapacakları yenilikler de Zemberek'e aktarılabilir. Özgür ve açık kodlu yazılımın doğasındaki bu çok seslilik ve inisiyatif kullanma tavrı zaman zaman garip dallanmalara, budaklanmalara yol açsada zorunlu olarak verimsizlik getirdiği söylenemez.
0
afsina
C++ ya da C# aktarimini anlarim (ki Nzemberek calismasini destekliyoruz) ama Lisp bana biraz mantiksiz geldi (Javaya en uzak dillerden. pythondan bile uzak ). yanlis anlamayin, lispin gucu malum, ama ciddi bir yazilim yaklasim farki var. Aslinda var olan prolog, perl ile yazilmis cozumleyici yapilari belki daha kolay olurdu lisp acisindan. Ayrica ugrasmak isteyenler icin daha hafif oldugunu dusundugum imla denetimi amacli Hunspell gibi eklemeli diller icin C++ kutuphaneler de mevcut. sirf yapmis olmak icin bu konuda calismak bana da biraz eziyet gibi geldi.
0
FZ
Common Lisp'in farklı bir dil olması, bu tür bir çalışmayı "mantıksız" kılmaz diye düşünüyorum. Daha önce belirttiğim gibi üstlelinelecek yük tamamen üstlenecek kişiye bağlı. Sonuç itibarı ile Zemberek'te kullanılan veriyapıları ve algoritmalar belli. Meraklı ve hevesli biri bunları Common Lisp, Scheme, Prolog yahut Haskell gibi kendi favorisi olan üst seviyeli dillerden biri ile uygulayabilir ve böyle bir çalışmanın sonucunda elimizden çok güzel bilgiler istatistikler oluşmuş olur ve çeşitli performans testleri, kıyaslamalar, vs. yapılabilir.

Diğer yandan daha üst seviyeli (sözdizim, semantik, vs.) işler yapmak isteyen birisi için seçeceği dilde yerel olarak yazılmış bir sözcük çözümleyici bir problem değil bir avantaj olacaktır. Tonguç'un vurguladığı gibi bu tür bir çabaya girişen kişi hem anadilinin yapısı üzerine çok daha farklı bir bilince kavuşacak, hem uğraştığı dilde kapsamlı bir uygulama geliştirmiş olmanın içsel "know-how"ına erişecektir ki bu da o kişi için az buz kazanç değildir. Üstelik sonuç olarak ortaya çıkan ürün de işe yaramaz bir şey olmayacaktır. Özgür yazılım dünyasında ne kadar acayip "hadi bunu yeni baştan yazalım, filanca dilde yeniden yazalım" vakaları olduğunu düşündüğümde (bkz. birçok zırva Yet Another XXXXXX türü yazılım) doğrusu Zemberek gibi yapının farklı diller ve yaklaşımlarla yeniden uygulanması (ve belki ileri götürülmesi) bana nispeten çok daha anlamlı geliyor.

Son olarak: "Hani bu üst seviyeli diller (CL, Scheme, Prolog, Haskell, OCaml, vb.) güzel soyutlama sağlıyor, çok daha rahat iş yapmamıza müsaade eder" denir ya, işte meraklıların bu durumu anlamaları için bence çok güzel bir bitirme projesi olabilir bu ölçüdeki kapsamlı bir uygulama.
0
tongucyumruk
Genel olarak insanlığa hizmet adına ne kadar faydalı olacağı tabiiki tartışılır. SOnuçta aynı şeyin birde fazla defa tekrarlanması anlamsız olabilir, hatta CL altında yazım denetimi ihtiyacı varsa zemberek sunucu modunda çalışıyor yanılmıyorsam, ona bir soket açıp sormak daha verimli olabilir.

Öte yandan böyle bir port işleminin, işlemi gerçekleştiren kişiye sağlayacağı fayda oldukça yüksek olacaktır. Eğer bunu yapan kişi, biraz da kodu ezbere CL'e aktarmak yerine kodu okuyup anlamaya çalışarak bu işi yaparsa gerek Java gerekse Common Lisp (özellikle de CLOS) hakkında derinlemesine bilgi sahibi olacaktır. Üstelik bu, Zemberek'in iç işleyişi konusunda oldukça detaylı bilgiye sahip bir kişinin daha ortaya çıkmasıı sağlayarak Zemberek'in geliştirilmesine de yardımcı olacaktır diye düşünüyorum.
0
FZ
Şimdi düşündüm de bu konudan çok güzel bir bitirme ödevi çıkabilir hem de işe yarar bir şey olur, burayı takip eden üniversite öğrencilerinin ve hocalarının dikkatine ;-)
0
hb
Hmm... challenge... ;)
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Design Patterns: Tasarım Şablonları ve Programlama Dillerinin Kötü Yönleri

FZ

Geçen sene Eylül ayında, Volkan Yazıcı programlama dünyasının sıcak konularından biri olan tasarım şablonlarına yani 'design patterns' konusuna değinmişti:

Merhaba, comp.lang.lisp listesinde "This may be a nonsensical question, but I was wondering if it is idiomatic to apply common design patterns to lisp applications." kaşıntısı ile başlayan bir tartışmalar dizisi oldukça ilgimi çekti -- şüphesiz ki bunda bu dönem almaya başladığım Aspect-Oriented Software Development dersinin de etkisi olmuştur -- ve sizin ile oradan çok ufak bir mesajı paylaşmak istedim.


Tasarım Şablonları, nam-ı diğer Design Patterns mevzusu epey bir süredir sıcak konular arasında. Bu gibi durumlarda sık sık karşılaştığımız gibi konu basit bir teknik konu olmaktan çıkıp pek çok yanlış anlamayı, çok çeşitli felsefi bakış açılarını, alakasız yerlere dallanıp budaklanmayı, düpedüz mantıksal hataları, politik ve ekonomik savaşları bünyesinde barındırmaya başlıyor. Acaba neden?

Geleceğin [Net-Enabled] Yazılımları - Bölüm I

anonim

Birkaç haftadır kafamda çözümünü aradığım (bu mesajı yazarken Sundance ile de tartıştığım) bir soru var: Geleceğin net-enabled yani internet üzerinde çalışan uygulamalarının geleceği, hangi temellerin üzerine oturacağı ve yazılım dünyasını nasıl etkileyeceği, tabii bilişim devlerinin (Microsoft, Sun, IBM vs.) bu gelişmenin neresinde duracağı. Ya da başka bir açıdan, böyle bir gelişim olacak mı?

Prototype Javascript Framework

tongucyumruk

Web bir uygulama geliştirme platformu olarak kendini kabul ettireli çok oldu. Şimdi Web 2.0 gibi konuar tartışılırken web'in her geçen gün artan popülerliği yanında gerçekleştirilmesi gitgide zorlaşan kullanıcı taleplerini yanında getiriyor. İnsanlar her geçen gün daha etkileşimli, daha hareketli web uygulamaları istiyor. Bu durumun her geçen gün programcıları daha fazla yorması sonucunda bugün ulaştığımız noktada artık JavaScript ile yazılmış etkileşimli web uygulamaları geliştirmeyi kolaylaştıran altyapı yazılımları da ortaya çıkmaya başlıyor. İşte Prototype Javascript Framework'te bu amaçla ortaya çıkmış bir altyapı yazılımı.

Masaüstleri Şenleniyor: İlk XGL LiveCD kororaa

halixus

İşletim sistemi cephesinde 3D desktop savaşı iyiden iyiye arttı. Bunun öncülüğünü ilk olarak sun, Looking Glass 3D ile yaptı. Ama hala kararlı sürümünü çıkartmış değil. Ardından Microsoft olaya el attı. Vista'ya benzer bir şey yerleştirdi. Benzer bir şey diyorum nedeni ise Vista'nın BETA sürümünü inceleme fırsatı olan varsa bu özelliği arayıp bulması bulduğunda da hüsrana uğramısı muhtemeldir. Windows tuşu + TAB tuşuna bastığınızda çıkan ekrandan ibaret. Alt + Tab kombinasyonunun biraz daha göze hitap eden şekli denebilir. Sırf yapmış olmak için yapmışlar gibi sanki. GNU/Linux cephesinde ise buna karşılık XGL ismini duymaya başladık. Çıktı çıkacak derken ilk demo LiveCD yayınlandı.

Dağıtımın ismi kororaa. Ekran görüntülerine buradan ulaşabilirsiniz. ISO dosyasına ise buradan indirebilirsiniz.

Muhasebeci 0.5 Kullanıma Hazır

qorkem

Uzunca bir süreden beri üzerinde çalıştığımız projemizin 0.5 sürümü nihayet bitmiştir. 0.5 sürümünün bu kadar gecikmesinde projenin baştan sona komple elden geçirilmesi, yeni bölümlerin eklenmesi, daha kolay kullanım olanağı sağlanması gibi sebepler neden olmuştur. Yeni sürüm hazıranırken eski sürümlerdeki pek çok hata giderilmiştir. Sorun yaratan kodlar silinip yeniden yazılmıştır. Stabilite için gerekli görünen herşey yapılmıştır. Daha kolay bir kullanım için fonksiyon tuşları, sağ-tıklama menüleri programın her tarafında rahatlıkla görülebilmektedir.

Diğer detaylar icin burayı ziyaret edebilirsiniz.