MS Windows kullananlar daha mı özgürlükçü? Programcılar çok mu korkak?

0
FZ
Bir durum saptaması: Etrafımdaki bilgisayarcıların bir kısmı hayatlarının %99'unu MS Windows üzerinde, çoğunlukla kapalı kodlu sistemler kullanarak ve yazılım geliştirerek geçiriyorlar. Bir kısmı ise tamamen açık kodlu GNU/Linux sistemleri üzerinde yine açık kodlu araçlar ile programlar geliştirerek hayatlarını kazanıyorlar. Kapalı kodlu ve birtakım firmaların fikri mülkiyetinde olan sistemleri kullanan ve etrafımda bulunan bilgisayarcıların önemli bir kısmının son yıllarda şu tür cümleler kurduğunu duyuyorum:
- Alternatif teknolojileri inceleyelim.

- Şimdiye dek A, B, C dillerini kullandık ama X, Y, Z gibi de programlama dilleri varmış acaba bilmediğimiz başka ne vardır?

- Bu yeni dilleri ve platformları bir kurcalayalım, neleri bilmediğimizi öğrenelim, başkalarının bilgisini, ufkunu ve vizyonunu kapıp kullanalım, işimize nerede yarayabilir fikir sahibi olalım.

- Farklı yazılım geliştirme paradigmalarına, alternatif ortamlara da bakalım, hemen mevcut ortamımıza adapte edemesek dahi taklit edebileceğimiz güçlü ve güzel özellikler var mı inceleyelim, kendimizi geliştirelim.

Gelelim diğer gruba, açık kodlu ve özgür (!) yazılımla uğraşan insanların bir kısmı ise şuna benzer cümleler sarf ediyor:

- Bana sürekli yeni şeylerle gelmeyin.

- Neden yeni bir şey öğrenmekle uğraşayım ki? Bildiğim şey bana yeter.

- Zaten herkes (!) benim bildiğim şeyi kullanıyor. Yani çok popüler. Bu kadar insan yanılıyor olamaz. Evet, popüler demiştim değil mi? Evet, hayır, hayır ölçmedim ama popüler işte. O konu ile ilgili sitelere girdiğimde herkesin o konu ile ilgili olduğunu görebiliyorum.

- Şimdiye dek A, B, C dillerini kullandım. Bundan sonra da onları kullanacağım. Onları kullanarak her şeyi (!) yaptım, bundan sonra da her şeyi yaparım.

- Herkes A, B, C dillerini ve araçlarını kullansa aslında bir sorun kalmayacak. Böylece çok daha rahat, güvenli ve özgür bir ortam olacak. Keşke herkesi buna zorlayabilsek. Böylece gerçekten de özgürleştirmiş oluruz insanları.

- Kıyaslama yapmama gerek yok, zaten birkaç saatimi harcadım ve pek bir şey anlamadım. Gerçekten bir faydası olsaydı alternatiflerin, birkaç saat içinde anlaşılırdı. Dolayısı ile benim bildiğim bana yeter.

Soru: Acaba MS Windows ortamında çalışan yazılımcılar mı daha özgürlükçü yoksa GNU/Linux ortamında çalışanlar mı?

Soru: Yazılım geliştirme ortamları, araçları, süreçleri, paradigmaları düşünülürken programcıları "vasat" ve "korkak" mı var sayacağız? Bu şekilde var sayıp vasat zihinlerle belli bir minimumu mu tutturmaya çalışacağız? Araçlara ve süreçlere mi güveneceğiz? Yoksa aslolanın insan olduğunu ve vasat, yerine bir başkası takılıp çıkarılabilir yazılımcı anlayışının ötesine geçip daha iyi ve bilgili yazılımcı yani insan yetiştirmeye mi çalışacağız? İnsanı sıfırlamaya çalışan süreç ile bilgi denen şeyin ("information" değil "knowledge" anlamında) kolay kolay ele avuca gelmediğini ve bilgili, daha iyi insanlarla daha üst düzey, kaliteli ve hızlı geliştirme yapılabileceğini iddia eden yaklaşım arasındaki gerilimi ve yüzeysel çelişkileri aşıp geleceğe yönelik anlamlı yaklaşımlar geliştirebilecek miyiz?

Görüşler

0
resilence
Söylediğine göre bunlar kapalı kodlu sistemler kullanan ve kapalı yazılımlar geliştiren insanlar, alternatif sistemleri öğrenmek istemeleri onları özgürlük taraftarı yapmaz. Ya da özgür yazılım kullanan/geliştiren özgürlük taraftarlarının alternatifleri gözardı etmesi onları korkak yapmaz.
0
Zebani
"Ya da özgür yazılım kullanan/geliştiren özgürlük taraftarlarının alternatifleri gözardı etmesi onları korkak yapmaz."

özgür yazılım kullanmakta kimseyi özgürlükçü yapmaz! özgürlük yazılımdan kaynaklanan bir kavram değil, beynimizin kıvrımlarından gelen bir kavramdır ve bir varlığı özgür kılacak ilk şey o varlığın beynidir, bence!!!
0
resilence
sadece özgür yazılım kullananlar yazmıyor orda, dikkat edersen özgür yazılım kullanan özgürlük taraftarları yazıyor.
0
Zebani
özgür yazılım kullanmayanlar özgürlük taraftarı olmuyor yani? neden özgür yazılım kullanmakla özgürlük taraftarlığı bir arada olmak zorunda?
0
resilence
bunu nasıl çıkarabildin?
0
yenimo
Benim gözlemlerime göre, açık kaynak teknolojilerini kullanan arakadaşarlda futbol takımı tutar gibi bir fanatiklik var ve bu fanatiklerinden dolayı önlerindeki iyi olan şeyleri görmezden geliyor yada ön yargılı davranıp hiç ilgilenmiyorlar. MS teknolojileri kullanan arkadaşar ise; her zaman başka alternatiflerin var olduğunu ve bu alternatiflerin hali hazırda kullandıkları teknolojiden daha iyi olabileceğini düşünüp, öğrenme ve bilgilenme ihtiyacı duyuyorlar.
0
silentstorm
...ama bu onları daha iyi programcı ya da özgürlükçü yapmıyor çünkü, onlar için daha iyi teknoloji bir şeyler yapmalarına olanak veren ya d daha kısa sürede yapmalarına olanak veren şeyler oluyor. GNU/Linux Cephesinde sistemde her şey daha şeffaf olduğu için zaten daha primitif bir dil ile her şeyi yapmak mümkün.
0
DemensMagnet
MS tarafında programcılık bilinci var ama GNU felsefesi yok, GNU tarafındakilere de probramcılık bilinci yok, felsefe var diyebiliriz.

GNU Felsefesi ve programcılık bilinci olan kişileri özgürlükçü kabul edebiliriz bence.

Biraz kaba bir yaklaşım oldu ama bu durumu ince cümlelerle ifade etmek kendi adıma oldukça zor olacaktı :)
0
ismailasci
Haberdeki degerlendirmeleri kisitli bir cevrede yapildigi icin dogru bulmuyorum.Bende yazilanlardan neredeyse tersi bir durum soz konusu.MS ortamindan yazilim gelistiricilerin belki de yegane tutundugu dal .Net."Platform bagimsiz" dan anladiklari sey ise Pocket Pc uzerinde kurulu Win. Mobile'dan otesi degil.Diger taraftan acik kaynaga bakacak olursaniz neredeyse butun teknolojiler , butun sistemlere port edilmis durumda ve yine neredeyse butun programlama dilleri icin API'lar,language bindings vs yazilmakta... Bence kimin korkak ya da kimin muhafazakar olduguna daha genis cerceveden bakmak gerekiyor...
0
yilmaz
.net ortamı MS dunyasına yeni bir bakış getirdi. Bu da sanırım MS dunyasında iş yapan kişilerin ufkunu açtı. Buna ek olarak eski "vb" gibi dillerden aniden desteğin çekilmiş olması MS dunyasında aynı şey bizim de başımıza gelirmi endişhesini doğurdu. MS in son zamanlardaki yeni ürünleri yeni lisans bedelleri uygulamaları taşırken çıkan zorluklar sanırım insanları yeni arayışlar içerisine soktu. Bence MS dünyasındaki yeni arayışlar buyüzden. OS camiası ile ilgili proje deneyimim yok. Ama orda da bir çok uygulamanın java ile ilgili olması ve kendini götürüyo olması bir etken olabilir. java o tarafta güçlü bir etken ve gün itibariyle güncel bir yapı.
0
ahmetaa
Lisp kullanmayacagiz, kusura bakmayin :P
0
newman
:D
0
FZ


Aslında benim kast ettiğim .NET ortamına yönelik Boo, Nemerle gibi yeni dillerin yanısıra Smalltalk gibi köklü ve sağlam OOP dilleri ve Ruby gibi modern diller idi. Common Lisp ve Scheme, çektikleri ilgi bakımından biraz daha alt sıradalar ancak onlar da dikkat çekiyorlar kapalı kodlu ortamlarda çalışan geliştiriciler arasında.

Tabii ki yakın çevremdeki programcılardan bahsediyorum, yani onlarca programcı. Binlerce değil. Tabii ki bir genelleme yapamam bundan ama en azından kendi çevreme ve birkaç yıllık duruma bakarak bir saptamada bulunabilirim.

Yazımın sonundaki "süreç" - "insan kalitesi" gerilimi, "büyük projelerde yerine yenisi takılabilir vasat kod maymunu programcı", vb. gibi şeylere de dikkat çekmeye çalışıyorum ama sanırım bunda pek başarılı olamadım. Tartışma iki koldan paralel ilerleyebilecek (ve sonra belki bu kollar sentezlenebilir) bir tartışma diye düşünüyorum.
0
ahmetaa
bir kac hiperaktif yalniz kovboy programci haric kimesinin Boo gibi .Net dillerine dillerinin yuzune bakmasini beklemiyorum. Bu Ruby icinde kismen gecerli. Microsoft aleminde .Net = VBasic ve C#, web=ASP.net tir. Bu konuda soylenebilecek sey cok aslinda, ama ben gercek calisma ortamimizdan ornek vereyim. Orta-Buyuk capli yazilim gelistirme sirketlerinde bu tip "aykiri" ya da arkasinda fazla destegi olmayan programlama dilleri ve platformlarin yasama sansi hic yoktur. Bu da gayet normal, cunku elinizdeki insan kaynagi bu tip marjinal gecislere uygun degildir. Eger Java ile baslamissaniz buyuk ihtimal Java ile gidersiniz. .Net -Vb icin de ayni seyler gecerli. Ne yazikki bir dilin bir isi iki satir daha az komutla yapmasi gibi bir ustunluge sadece gulunur gecilir.
Eger kastettiginiz yalniz programcilar ya da kucuk yazilim gelistirme gruplari ise, evet bunlar belki yeni dillere ya da araclari daha kolaylikla deneyebilir, fakat benim tecrubem sizinkinin tam tersi acikcasi, .Net aleminde kimsenin baska teknolojileri denemeye tenezzul edecegini sanmiyorum.
gelistiricilerin cogu da zaten cok merakli degiller, soyle bir ornek veryim, is yerindeki .Net kullanilan (dayatma :P) bir projede Hibernate tecrubemiz oldugundan NHibernate kullanilmaya karar verildi.Ben acikcasi hem gelistiricilerin bu isi kiviramayacagindan hem de NHIbernate Hibernate gibi olgunlasmadigindan biraz burun kivirdim ama sesimi cikarmadim. Sonucta projeye dahil degildim ve soz hakkim yoktu. Tamam iyi guzel baslandi, oncelikle NHibernate o zamanlar daha 1.0 surumune yeni ulastigindan gelistiricileri epey bir surundurdu. iki ay sonra epey bir seyler ortaya cikmaya basladiktan sonra ana gelistirici isten ayrildi, diger iki gelistiriciden birisi de baska projeye yavasca kaydirildi ve iki tane yeni gelistirici projeye girdi. Bu yeni gleistiriciler zaten az bucuk oturmus yapiyi bozmadan ve hic anlamaya calismadan isin arayuz ve is mantigi konusunda calistilar. Kabul testlerine gelindiginde ise kabus gerceklesti. Uygulama iki-uc kullanici ile calistirilinca cokuyordu. Dahasi veri tabani sunucusu ve uygulama sunucusu resmen surunuyordu. uc kisi veri girisi yapmaya kalkisinca 4-5 dakikalik gecikmeler yasaniyordu. Tabi Hibernate adami olarak bilindigimden kabak .Net'in N'sinden anlamayan bana patladi. Uc dort gunluk geceli gunduzlu calisma sonunda lazy-loading , open session in view yapilarini adam gibi oturtumakla gecirdik. Kod icinde kabus denilecek yerler vardi ama fazla dokunmadan asil problemli yerleri cozduk. Sonucta oldu, ama acikcasi bezgin gelistiricilerin kullanilan araclar konusundaki bilgisizligi ve hevessizligi gercekten beni biktirdi. Bu arada IntelliJ IDEA-Eclipse ile kiyaslayinca Visual Studio'nun gelismis bir Notepad gibi oldugunu da gozlemlemis oldum.
sirketteki Java gelistiricileri bu konuda nispeten daha arastirici ve farkli araclari kullanma konusunda cesurlar. isletim sistemi konusunda zaten bir secenek yapmaya gerek yok. Ama onlar da yeni dilleri deneme konusunda biraz hevessizler (Bende dahil). Bunun ana nedenlerinden bazilarii Java aleminde hemen her konuda acik kodlu kutuphanelerin ve secenegin bol olmasi ayrica IDE konusunda diger dillerin yanina bile yaklasamamasi ve cogu yeni dilin Java'nin Tip guvenligi ozelliklerini sunmamasi sayilabilir. Tembellik, vurdumduymalzik da diger faktorler :).
bir arac ya da dili kullanmaya baslamak cok dikkatli alinmasi gereken bir karar. projenin gelisiminde karsilasilabilecek lojistik sorunlari onceden kestirmeden "cool" faktorune kanip atilmak bence yanlis.. neyse cok gevezelik edip pek az sey soyledim.. herkse selamlar.
0
FZ
Güzel bir yorum olmuş, teşekkür ederim. Yazımda bahsettiğim ve bahsetmediğim birkaç şeye değinmişsiniz. Benim de bazı yorumlarım ve sorularım olacak.

Öncelikle defaatle belirttim, tarif ettiğim durum bir süredir kendi çevremde (Microsoft tabanlı ve GNU/Linux tabanlı çalışan çevremdeki insanlar) gördüğüm bir durum. Zaten dikkat çekici olmasının sebebi de global olarak bakıldığından tersinin görülmesi / algılanması.

.NET alemi pek de küçük bir alem gibi görünmüyor. İnsanlar C# 3.0 gibi şu anda BETA olan şeylerdeki bazı kavramları görünce ve bunların Boo, Nemerle gibi dillerde (ve bazı şeylerin de Ruby'de bulunduğunu fark edince) görünce öyle ya da böyle alternatifleri değerlendiriyorlar. Tabii ki kimsenin C#'ı terk edip %100 başka bir yere geçeceğini ben de düşünmüyorum ama .NET öncesi duruma kıyasla çok daha fazla bir hareketlilik olduğu su götürmez.

Ne yazikki bir dilin bir isi iki satir daha az komutla yapmasi gibi bir ustunluge sadece gulunur gecilir.

Ben de yukarıdaki ifadeye gülüp geçerim çünkü o ifade çok daha temel bir meselenin ıskalanmasıdır. Kaynak kod uzunluğundan çok daha önemli bir nokta var. Problem alanının terimleri ile düşünmek. Nesne modelleme yapan pek çok deneyimli ekibin aslında farklı alışkanlıkarı buna dayattıkları ve zorlandıkları haller çok şaşırtıcı değil. Alanın terimleri ile modelleme yapma ve bunu uygulamaya geçirme mantalitesine bazı diller ve teknolojiler en baştan daha açık durumdalar. Bazıları ise hem ondan hem bundan, biraz ondan biraz bundan, taviz alma, taviz verme yaklaşımı dayatıyorlar ve buna "gerçekçilik" diyorlar. Bilgisayar gibi düşünmekten uzaklaşıp insanlarla iletişim kurmak için düşünmeye alıştığımızda bu alışkanlıklara uygun diller işleri zorlaştırmak şöyle dursun kolaylaştıracaklardır. İşte böyle bir durum söz konusu olduğunda kullandığınız dilin dile içkin özellikleri ne kadar esnekliğe müsaade ediyorsa işleri o kadar kestirmeden halletmek ve kodun alan ile uyumunu yüksek tutmak sağlamak mümkün olur. Aksi takdirde kod üretici yazılımlar, XML filan derken en baştan hiç oluşmayabilecek şeylere girişiyor duruma düşüyoruz. Ve sonuç itibari ile bunlar kütüphaneler eklenerek halledilebilecek şeyler değil, dilin tasarımı ile ilgili. Ya da sizin o tasarıma ne kadar müdahale edebildiğiniz ile.

NHibernate'den bahsetmişsiniz, bildiğim kadarı ile şu anda 1.0.2 sürümünde (15 Ocak 2006 çıkışlı, yani daha kararlı ve sağlam diye biliyorum, ayrıca .NET 2.0'daki Generics de 3rd party kitaplık olan NHibernate.Generics ile destekleniyor; bahsettiğiniz problemlerin ise daha ziyade yanlış uygulamaya örnek teşkil ettiğini düşünüyorum, yanlış anladı isem lütfen düzeltin) ancak yukarıda bahsettiğiniz kabus senaryosu hiç başıma gelmemiş olsa dahi beni korkutuyor. Bunun sebebi öncelikle araya bir katman daha girmesi. Bunun .NET ya da Java ile doğrudan alakası yok, çok daha temel bir şeyle, araya bir katman, bir soyutlama daha girmesi ve bu soyutlamanın sızdırması meselesi. Yani: The Law of Leaky Abstractions. Üstelik biraz daha ileri gidip NHibernate üzerine ActiveRecord bir katman daha bindirmek söz konusu. Doğru, katmanlar sızdırabilir, yazılımcılara olarak bunu farkındayız ya da sistem patladığında paşa paşa fark etmek durumunda kalıyoruz. Ancak bu katmanların ve soyutlamaların varlıklarını değil kalitelerini sorgulamaya yol açmalı diye düşünüyorum. Yoksa mesela kabus senaryolarına kadar gitmeden de NHibernate vb. ortamı zehir zemberek eleştiren OpenAccess gibi ürünler mevcut.

Son olarak, eğer üşenmezseniz (merak ettiğim ve cevapların da pragmatik olarak işime yarayacağını düşündüğüm için soruyorum), Eclipse ile VS.NET 2005 (son sürüm) kıyasladığınızda, VS.NET'i gelişmiş bir Notepad'e benzettiğinizi belirtmişsiniz. Acaba bir çırpıda sayabileceğiniz neler var Eclips'te olup hayatınızı kolaylaştıran ama VS.NET 2005 ortamında ciddi olarak eksikliğini hissettiğiniz?
0
ahmetaa
Ben de yukarıdaki ifadeye gülüp geçerim çünkü o ifade çok daha temel bir meselenin ıskalanmasıdır. Kaynak kod uzunluğundan çok daha önemli bir nokta var. Problem alanının terimleri ile düşünmek. Nesne modelleme yapan pek çok deneyimli ekibin aslında farklı alışkanlıkarı buna dayattıkları ve zorlandıkları haller çok şaşırtıcı değil. Alanın terimleri ile modelleme yapma ve bunu uygulamaya geçirme mantalitesine bazı diller ve teknolojiler en baştan daha açık durumdalar. Bazıları ise hem ondan hem bundan, biraz ondan biraz bundan, taviz alma, taviz verme yaklaşımı dayatıyorlar ve buna "gerçekçilik" diyorlar. Bilgisayar gibi düşünmekten uzaklaşıp insanlarla iletişim kurmak için düşünmeye alıştığımızda bu alışkanlıklara uygun diller işleri zorlaştırmak şöyle dursun kolaylaştıracaklardır. İşte böyle bir durum söz konusu olduğunda kullandığınız dilin dile içkin özellikleri ne kadar esnekliğe müsaade ediyorsa işleri o kadar kestirmeden halletmek ve kodun alan ile uyumunu yüksek tutmak sağlamak mümkün olur. Aksi takdirde kod üretici yazılımlar, XML filan derken en baştan hiç oluşmayabilecek şeylere girişiyor duruma düşüyoruz. Ve sonuç itibari ile bunlar kütüphaneler eklenerek halledilebilecek şeyler değil, dilin tasarımı ile ilgili. Ya da sizin o tasarıma ne kadar müdahale edebildiğiniz ile.

demissiniz. Bu konuda tam olarak ayni goruste degiliz. Domain spesific languages kavrami, yani konuya gore dil kurallarinin esneyebilmesi ya da mikro diller uretmek uzun suredir uzerinde konusulan bir sey. Bu konuda ki yaklasimlar saniyorum ayrildigimiz nokta. ilk yaklasimda dilin yazim kurallari genislemeye uygun bir yapidadir (lisp?) ya da her yeni surumde cuvalla yeni kod kelimesi-kural eklenir dile (C# - SQL sorgulama gibi) ve bu kurallar kodun icinde kutuphane seklinde degil dogrudan dil ozelligi seklinde yer alir, ya dil kurallari disarida tanimlanip kullanimi asil gelistirme dilinden soyutlanir ya da donusum gerceklestirilir. bu sekilde asil dil basitligini korur. ( HQL-SQL donusumu gibi.. Hibernate donusum icin antlr kullaniyor. antlr gibi ). sonucta hangisi daha iyi oldugu kisiel secime kalir gibi, ben acikcasi dillerin basitligini koruyup kutuphaneler ile genisletilmesi taraftariyim.

NHibernte'in kotu bir kutuphane oldugunu ifade etmedim yazimda, tahmin ettiginiz dogru, kutuphane kullaniminda genel olarak yapilmis yanlislar vardi, sonucta onlari duzelttik. Ozellikle lazy-loading ve kalici nesnlerin (persistent) web session'una koyulmasinda cok dikkatli olunmasi gerekiyor. Biz java projelerinde buyuk abisi Hibernate3'u kullaniyoruz ve genel olarak memnunuz. NHibernate'in bir kac eksi noktasi halen Hibernte2.1 kutuphanesinin ozelliklerini icermesi. Yani biraz geriden takip ediyor. Dokumantasyonu Hibernte ile kiyaslayinca yetersiz. Yazilim isleme sirasinda uretilen Exceptions ne yazik ki bazen cok yardimci olmuyor ve ot yolduabiliyor. nulllable tipler; .Net2 ile geldiginden o konudaki destek ancak ucuncu parti yazilimlar ile olabiliyor (projede .net1.1 kullaniliyor). Javada o sorun zaten yok. Ayrica .Net aleminde ne yazik ki Java daki kadar kabul gormedi henuz. NHiberntate'i gercek projede kullanan kisi sayisi bir elin parmaklari kadardir saniyoruz (sirketeki proje sanirim ilklerden). Elestirileri ben hakli bulmuyorum ama ne yazik ki genel olarak microsoft'un onaylamadigi bir yoldan gidis genellikle ender gorulen bir sey. Cogu kisi de NHibernate'in C# 3.0 ile devreden cikacagini da dusunuyor . Hibernate ise Java dunyasinda epey bir sarsintiya yol acti ve JEE5-EJB3 'un olusmasindaki en buyuk etkenlerden birisi olarak gorunuyor (Ki hibernate-annotations projesi EJB3 gerceklemesidir.). EJB3 Java5 ile calistigindan haliyle annotations ve genrics gibi ozelliklerin nimetlerinden sonuna kadar faydalaniyor. Hibernate'in kullanimini da zaten koru korune savunmuyorum. projeden projeye cok farkediyor. Eger cok az tablo mevcutsa dogrudan SQL'e girisilebilir, ya da eger amaciniz client tarafinda yazilim gelistirmekse hic iliskisel veri tabani ile kasmayip farkli bir tat-doku kullanmak en akillicasi olur. Ya da karisik kebap cozumler de olabilir, ki OpenAccess'in yaptigi da bundan pek farkli degil. .Net icin ticari pek cok ORM uygulamasi da zaten mevcut.

Oncelikle gelismis notepad yorumum VS 2003 icin gecerli. VS 2005 icin cok fazla kullanmadigim icin yorum yapmam guc olabilir, ama kullandigim kadari ile halen benim kullandigm IntelliJ IDEA ile ayni kulvarda olmadiklarini rahatca iddia edebilirim . Bugun cikan Eclipse 3.2' de sanirim IDEA'nin java ozellikleri ile basabas gibi ama xml, html, javscript konularinda biraz almasi gereken yol var henuz. Bu konuda bir noktayi aydinlatmakta yarar var, genellikle IDE kiyaslamasini kod yazimi - proje gelistirme- refactoring konusunda yapiyorum. Yoksa VS 2005'in WEB-GUI ozellikleri konusunda kiyaslama yapacak kadar bilgim yok. IDEA konusunda ise ben soylemeyeyim, siz bakin isterseniz.. Eclipse ise surada
0
newman
Ben hep dilin ifade yetenegi ve esnekliginin kutuphane genisliginden farkli bir kavram oldugunu dusundum. Halen de ayni fikirdeyim. Java, C# vs. gercekten genis ve kullanisli kutuphanelere sahip. Dil uzerindeki kisitlamalarin ise daha cok piyasa sartlari, mevcut insan gucunun ortalama yetenek ve/veya egitim duzeyi (ve buna bagli guvenlik ve otomasyon kaygisi) oldugunu saniyorum. Bir problemin ana hatlari ve insa bloklari netlestikten sonra, pronlemi buyuk olcude standard sablon ve tekniklerle cozmek en emin yoldur. Belli problem alanlarinda Java ve C# (ve sair)'in guclu olmasi, hazir cozumlerinden ve kutuphanelerinden kaynaklaniyor, ve benzer sebeplerden.
Maalesef benim dil esnekliginin neden farkli ve iyi oldugu ile ilgili verebilecegim gerekceler fazlasiyla akademik kaygilardan kaynaklaniyor :). Serbestlik ve iyi fikir ifade araclari bu tip islerde o kadar onemli ki, statik kutuphaneler, MS veya Sun'in spesifikasyonlari yetersiz kaliyor. Alanin terimleri ile dusunmeyi Java veya C'nin terimleriyle dusunmeye tercih edenler her zaman olacaktir. Ben sahsen FZ gibi dusunuyorum.
Ancak sunu da ilave etmeliyim ki, Java, C#, veya benzeri dillerin su veya bu nedenle tercih edilmesine, uygun problem alani icinde kalmak sartiyla itirazim olamaz. Verilen orneklerin daha cok web ve database programlama ile ilgili oldugunu gorunce, en azindan sizin ilgilendiginiz ve kutuphane yaklasimini one surdugunuz alanlarda bu dillerin "domain specific" olmasa bile tatminkar oldugunu varsayiyorum. Siz bunlari benden cok daha iyi biliyorsunuz tabii. Fakat genel resmin bu olduguna katilmiyorum. Sorun antlr vs. sorunu da degil: problem soyutlama duzeyi ve semantik ile ilgili. Bunlari basit sintaks eklentileri ile de asamazsiniz.
Ancak tam optimal cozum nerededir? Bunu bilmiyorum :). Fakat bu duzeyli tartismadan dolayi da siz iki arkadasimizi da tebrik ediyorum.
Gerci bunun pek orijinal soruyla ilgisi yoktu. Ama zaten ben o konuda birsey soylemek istemiyorum :). Saygilar.
0
FZ
Ben hep dilin ifade yetenegi ve esnekliginin kutuphane genisliginden farkli bir kavram oldugunu dusundum.

Bu, bence de çok önemli bir husus. Kütüphane ve yan ürünlerin zenginliği önemsiz değil, bilakis kendilerini dayatıyorlar ama dile içkin esneklik sizin de belirttiğiniz gibi çok farklı bir şey.

ahmeta'nın verdiği "çuvalla özellik" ekleme linkine baktım, yazar, C# 3.0'a eklenen özelliklerden bahsetmiş (şu anda aktif olarak kullanılan C# 2.0, bir iki yıl içinde C# 3.0'ın üretim ortamlarında kullanılması bekleniyor). Baktığımızda görüyoruz ki söz konusu özellikler Lisp, ML, vb. dillerde yıllardır kullanılan güçlü özellikler. Yazıdan daha enteresan olan şey yazıya gelen yorumlar! Özellikle bazı Java programcılarının, "Sun vb. JCP üyeleri bunları okuyorlarsa, allah aşkına dile bunları eklemeyin" diye haykırışları var orada. Anladığım kadarı ile şöyle bir mantık yürütülüyor bazıları tarafından: Yeni özellik demek, karmaşıklık demek, karmaşıklık vakit kaybı demek, nokta! Öyle bir hava oluşuyor ki, sanki yazılım geliştiren insanların zekâsı toplum ortalamasının altında da, kendilerine birtakım esneklikler ve güçlü özellikler sunulunca sudan çıkmış balığa dönecekler. Korkaklık ile kast ettiğim şey biraz da bu.

Gelelim alanın terimleri ile düşünme meselesine, bu gerek nesneye yönelik modelleme olsun gerekse başka şeyler olsun önemli bir nokta, üzerinde ne kadar dursak azdır. Problem alanımız bilgisayarın kendisi değilse, o zaman bilgisayar terimleri ile düşünmek işleri karmaşıklaştırıp zorlaştırmaktan başka bir şeye yaramıyor. Yani, eğer alanınız bir dosya sistemi geliştirmek ise, evet, bilgisayar alanında çalışıyorsunuzdur ve doğrudan bilgisayar terimleri ile düşünürsünüz ama konunuz bilgisayar altyapısına yönelik bir uygulama geliştirmek değilse (finans, eğitim, endüstriyel bilgi yönetim çözümleri, vs.) o zaman alan terimleri ile düşünmek gerçekten önemli bir hal alıyor. Yani bu sadece akademik bir kaygı filan değil, burada iş yapmaktan ve gittikçe karmaşıklaşan iş ile başa çıkmaktan bahsediyoruz. Bunu da ne kadar vurgulasak azdır: elimizdeki diller, teknolojiler, platformlar karmaşıkla başa çıkmayı ne kadar kolaylaştırıyor?. Bu doğrultuda, yani kolaylaştırmaya yönelik geçmiş, mevcut ve gelecekteki her türlü çabayı desteklemek, ideallerimizi filan geçtim, işimize gelen, pragmatik bir tavır olacaktır. O yüzden de "aman aman böyle iyi, dokunma, dilde yoksa da bir şekilde yan ürünlerle filan hallediyoruz biz, işimizi gayet güzel çözüyoruz" yaklaşımı %100 onaylanacak yaklaşım değil. (Lütfen bu yazdığımı çalışmakta olan sisteme ya da acilen tam o anda bir iş yetiştirmeye çalışırken yeni bir şey denemekten çekinme hali ile, o tür korku ile karıştırmayalım).
0
Temujin
Arkadaşım bana göre sen ters yazmışsın :). Çünkü bana göre (ben de açık kaynak yazılımcısı ve linux kullanıcısıyım) açık kaynak yazılımcıları programlamayla ilgili olabildiğinice çok şey öğrenmek ister. Sınırları yoktur, kodum çalınmasın derdi de yoktur. Yani daha rahat ve özgürlerdir.
0
Zebani
yani neymiş bu konu da pek de bi kategorize edilecek bişey yokmuş? durum kişiden kişiye değişiklik gösterebiliyormuş. tabi bu önerme de tartışlabilir :)
0
canacar
Lütfen "özgürlük" kelimesine daha fazla anlam yüklemeyelim. Zaten yeterince kavram karmaşası var. Tanım olarak "açık fikirli" veya "meraklı" daha uygun olurdu...

Windows aslında fazlasıyla karmaşık bir sistem. Unix ortamının yalınlığına sahip değil. Kullanım ve programlama kolaylığı getiren araçlar ise aslında bir ilüzyon "... that has been pulled over your eyes to blind you from the truth." ;)

Bu nedenle geliştirme ortamlarınca sunulan reçetelerin dışına çıkmaya çalışan programcılar korkunç bir boşluk ve dik bir öğrenme eğrisi ile karşılaşıyorlar. Bu da onları "alternatif" aramaya yönlendiriyor sanırım.

0
Anduril
"İnsanlar neden birbirlerini bir şablon içine koymaya çalışır?". Bence bunu çözse soruyu soran kişi hayata daha da bir farklı bakacak.
Ayrıca bence bilgisayar tutkunu olanların emesi (MS'i) mümesi yoktur, bilgisayarla ilgili olan bir kişi zaten hepsini kurcalar, "dur yapma" desen de yapar. Özgür yazılımcılık sadece bir düşünce tarzıdır, herşeyi birbiriyle bağdaştırmaya gerek yok. Windows altında da en kıldır gıcık iş olan sistem programlama, derleyici tasarlama işine giren ve yüzünün akıyla çıkan insanlar var. Önemli olan heves ve bu hevesi hep ayakta tutan, birşeyler öğrendikçe öğrenmenizi sağlayan -ve bu sayede öğrenme arzunuzu arttıran- araştırma güdüsüdür.
0
arsenelupin
Her iki taraf için de (GNU/ kapalı kod) çalıştığımı belirterek başlayayım.
Öncelikle katı kurallara dayanarak ayırım yapmak konuyu başından saptırıyor ve sorunun sorulma şekli zaten fazla yönlendirici.
Ekmeğimi kod yazarak kazanıyorum ve her ay herhangi bir üniversiteden -bir iş yapsam da yapmasam da- hesabıma yatan beş kuruş yok. Bu durumda yaşamımı ahkam keserek değil, yazdığım kodu bir artı değer haline getirerek kazanmak zorundayım.
Bu artı değer, açık kaynak koduma destek -ya da çeşitli kod üstünde değişiklikler- karşılığı kazandığım para olabileceği gibi (kimse kusura bakmasın; kimse bugüne kadar gelip açık kaynaklı bir uygulamam için "al sana şu kadar para" demedi) , tamamen kapalı kodlu bir uygulamanın karşılığında elime geçen nakit olabilir.

Bu durumda "windowscu" ya da "linux"cu olmak benim için lükstür. Lüksüm elverdiği ölçüde "linuxçu" olurum ve açık kaynak camiasına destek verebilirim. Aksi durumda, kodumu kapalı vermek, karımın, benim kedilerimizin ve köpeğimizin hayatta kalmaları için bir zorunluluktur.
Hangi aklıbaşında -ve para kaybetmeye hazır- girişimcinin cesareti varsa gelsin; geliştirelim ortak bir açık kaynak kodlu proje, bize paramızı ödesin ve projeyi de hangi açık kaynak kod lisansıyla yayınlarsa yayınlasın.

Ana-baba-üniversite parasıyla yaşamayan programcılar için açık kaynak/kapalı kod ya da windows/linux gibi ayırımlara gitmek çok ciddi bir lükstür. Nerede kaldı "windows kullananlar daha mı özgürlükçü" ?

Gerektiği zaman windows, gerektiği zaman gnu/linux kullanan bir geliştirici olarak son sözüm şudur: "eşinizin-çocuğunuzun nafakasını ödeyebiliyorsanız, istediğiniz kadar önyargılı olabilirsiniz, zira önyargı lükstür."

0
belfagor
Acik yada kapali kod, windows yada linux. ne fark eder?????? sonucta programcilarda insanlar. onlarda yemek yer su icer kiralarini oderler. ondan dolayi yazdigi programlari satmasi yanii kapali koda yonelmesi gerekir. eger benim babam zengin olsa neden acik kaynak kodlu olarak yayinlamiyayim...... onemli olan kendini surekli olarak yenilemektir.
0
resilence
Hmm. Bu durumda RMS'in, Linus'un ve özgür yazılımları bize hediye eden diğer milyonlarca programcının babası zengin :)
0
darkhunter
Bu tür yargılara kişinin çalıştığı ortamın da katkıları var.
Nadiren de olsa, zor durumda kalma ihtimalin söz konusu olduğunda şöyle de düşünebilirsin: En azından hala ideallerim var ;) Bazıları için hala önemli böyle şeyler...
0
sundance
özgür yazılım kullanmakta kimseyi özgürlükçü yapmaz! çok doğru bir ifade değil ama, sanırım bizi şaşırtan ve daha doğru olan ifada özgür yazılım kullanmak insanı bağnazlığa ya da statükoculuğa bağışık yapmaz olmalı.

Zira her sistemin içinde her görüşte insan bulunabileceği gibi, her sistemin bağnazı ve gericisi de bulunabilir. Buradaki en büyük yanılgı insanın yaklaşımının her zaman da içinde bulunduğu sistemlerle uyumlu olmadığı, aksine sık sık içinde bulunduğu sistemleri gözle görülür şekilde değiştirdiği yönünde.

Bu doğrultuda FZ'nin verdiği örneklerin bir çoğuna ben de katılıyorum. Özgür yazılım geliştiren, bu alandan ekmek yiyen bir çok kişi (bulundukları ekosistemin bir alternatif diye adlandırılması ve konumunu uzun bir süre 'öteki'ne göre tanımlaması yüzünden) davalarına sadık kalmak ya da daha bir anlamda 'hayatta kalmak' için bağnazlığa vurmuş durumda. En güzel örneğini "Perl denen progamlama dili bile olmayan şey" ya da "FreeBSD lafını duyduğumda namluya mermi sürerim" gibi ifadelerden algılıyabiliyoruz.

Öte yandan FZ'nin MS Windows kullananlar grubunun içine aldığı yakın çevresinin genel olarak bildiğimiz Windows'dan başka işletim sistemi, .net'ten başka yazılım platformu tanımam diyen gruptan çok farklı olduğunu da vurgulamak lazım.
0
anonim
Hazır herkes açık kaynak kapalıkaynak muhabbeti ederken birkaç kelimede ben ekleyeyimdedim. Kapalı kaynak kodlu brogramları hazırlayan programcılar daha fazla kullanıcı dostu olabilme mücadelesi veriyorlar tebrikler. Ancak özgürlükçü olduklarını söyleyen arkadaşlar ben biliyorum yeterde kalıyorlar. Amaç bilişim konusunda gelişen ve özgür yazılımlar ile büyüyen bir bilişim toplumu hedeflemeden ben biliyorum yeterde kalmak bizi nereye kadar götürür lütfen biraz düşünelim. Özgür yazılıma destek bekleyeceksek ben biliyorum yeterleri terkedip herkese hitap etmeliyiz geliştirme gruplarına hep bilenlerin yanında HİÇ BİLMEYENleri de dahil ederek herkese hitap edebilir bir hale gelmeli ve özgür yazılımları bilişim denildiğinde ilk akla gelen durumuna getirmeliyiz. Yoksa yoldaki insana bilgisayar dediğimizde Windows cevabını almak hoşumuza mı gidiyor? Hadi artık bilenler neyi nekadar bildiğinizi herkes bilsin. Özgür diye laf ebeliği yapmayı bırkalım ve diyelimki Özgürlük herkes için. Umut ederim ki anlatmak istediğimi anlayan gerçek özgürlükçülerde vardır. Sağlıcakla kalın.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Sistem Yöneticileri Günü

FZ

Onlar çoğu kişi için görünmez adamlar. Bilgi işlem odasının soğuk koridorlarında gezen ve şirketin kesintisiz bir şekilde çalışmasını sağlayan insanlar. Ancak bir problem çıktığında hatırladığımız meçhul kahramanlar. Hâlâ tahmin edemediyseniz söyleyelim: Onlar Sistem Yöneticileri ya da çoğumuzun alışık olduğu deyişle SA veya SysAdmin ve bugün onların günü, 26 Temmuz Cuma günü resmi Sistem Yöneticisi Günü olarak belirlenmiş durumda.

364 gün boyunca takdir etmeyi çok fazla aklımızdan geçirmediğimiz bu insanlara bir günü çok görecek değiliz herhalde! Yeni bilgisayarları ağa ekleyen, yeni kullanıcı hesaplarını açan, sistem yazılımlarını kuran, virüslerin yayılmasını engelleyen ve her türlü soruyu (abuk sabuk olanlar da dahil) cevaplayan bu cefakâr insanların duygularını belki de en iyi bu karikatür yansıtıyor.

Bugün Sistem Yöneticinizin şirket için ne kadar çalıştığını düşünün ve ona bir hediye alın (olası hediyeler ve asla alınmaması gerekenlerin güzel bir listesini ilk linkten öğrenebilirsiniz), en azından bugünü duyurarak ona hak ettiği saygıyı gösterin.

Dünden Bugüne FazlaMesai.net

crematorium

FazlaMesai.net'in 18 Şubat 2001'de ki halini merak eden var mı? Mutlaka vardır... Görmek için buraya tıklamanız yeterli... :)

Bu arada muhtelif tarihlerdeki FM için ise buraya

İçeriden Gelen Tıkırtı

butch

Enerji Tasarrufu

redogre

Modern İnsan ?= Örgütlü İnsan

FZ

Modern insan örgütlü insandır derler. Peki ya modern bilgisayarcı? Yerli ve yabancı, üye olabileceğimiz önemli bilgisayar organizasyonlarından haberdar mıyız? Tek başımıza yapabileceğimizden çok daha fazlasını bu organizasyonların bünyesinde çalışarak gerçekleştiremez miyiz? Profesyonel ya da amatör bilgisayarcılar olarak bu organizasyonlardan faydalanamaz mıyız? Bu ve benzeri soruların cevapları eminim kişiden kişiye değişecektir ancak benim niyetim derin felsefi tartışmalara girmek değil, önemli olduğunu düşündüğüm birkaç yerli ve yabancı kurumun üyeliğe dair adreslerini sizinle paylaşmak.