Kapalı kaynak dillerin olması mantıklı mı?

Merhaba, soru pek anlaşılmamış olabilir o yüzden daha detaylı anlatacağım. Bazı dillerin kapalı kaynak kodlu olduğunu öğrendim, dillerden kastım dillerin compilerleri ya da interpreterleri. Örnek olarak C# ı verebiliriz. Bir dilin açık kaynak olması dilin gelişmesi için daha iyi değil mi ? Açık kaynak olması daha iyi olmaz mı ? Sonuçta dili geliştiren kişinin yanı sıra başka kişilerde dilin gelişmesinde yardımcı olabilirler. Quora’da okuduğuma göre bazı dillerde sadece tek bir şirketin kullanımı için geliştiriliyormuş ve C# gibi başka dillerinde compileri veya interpreteri kapalı kaynakmış (VBScript, Matlab, Microfocus COBOL v.b.) . Sizce dillerin kapalı kaynak olması mantıklı mı ve buna gerçekten gerek var mı ?

Burada da "dil"den kastin compiler/interpreter olmali. Bu direk “free software” tartismasi: Programlarin ozgur olmalari kullananlar icin cok iyi bir sey. Sahipleri olan sirketler icin olmamali ki, hala ozgur olmayan programlar var.

C#'a gidene kadar C var. Ve evet, dilin ozgur alterlerinin bulunmasi dilin yaygin kullanimi icin cok iyi. Gelismesi icin iyi olup olmadigi tartisilabilir.

Birilerinin, bir yerlerde kapali compiler’lar, interpreter’lar, debug tool’lari yazmasi mantikli, dunyada istedigi gibi program yazan bir suru insan var. Gerek olup olmadigi da felsefe konusu: Insanlik olarak bilgisayar kullanmamiza gerek var mi? (Dilin gelisimi icin soruyorsan, hayir yok; alterlerinin tamami veya buyuk cogunlugu acik kaynakli olan gelismis diller var.)

Burada da "dil"den kastin compiler/interpreter olmali.

Aynen dilden kastım compiler/interpreter (dil yazdığım diğer yerler içinde aynısı geçerli örneğin python kodu düz yazıdan ibaret zaten onu anlamlı yapan interpreter ı)

Yani sahibi olan şirketler için açık kaynak olması kötüyken kullanıcıları için iyi demek oluyor bu değil mi ?

C derleyicisi de mi kapalı kaynaktı ?

Gelişmesi için iyi olup olmamasından kastın gelişmesi için çok bir katkısı yok anlamında mı yoksa katkıdan ziyade zararı var mı demek istedin ?

Yani istediği gibi program yazılmasına gerek olup olmadığından bahsediyorsun değil mi ? Çünkü aynı şekilde insanların bligisayar kullanmasına gerek olup olmadığındanda bahsettin.

Alter in anlamı şu diye biliyorum:

karakter veya bileşimde, tipik olarak nispeten küçük ama önemli bir şekilde değişiklik.

Yani kapalı kaynak dillerin açık kaynak alterleri şu şekilde oluyor sanırım: C kapalı kaynak ama C nin syntaxını kullanan açık kaynaklı bir dil geliştiriliyor ve bu bahsettiğiniz alterleri açık kaynak olan ama kendisi kapalı kaynak olan gelişmiş dillere bir örnek (C nin alter i var mı bilmiyorum sadece örnek vermek için kullandım.)

Program sahibi olan bazi sirketler icin programlarinin ozgur olmamasi daha iyi olsa gerek—ki bunu yapmaya devam ediyorlar. :slight_smile:

Ozgur olmayan bir suru C derleyicisi var.

Degisiyor. Mesela web standartlarina bakarsan, Chrome’un browser marketini domine etmesi Google’in bir suru ek standart one surup yayginlastirmasini sagladi. (Tabi bir kisminin iyi olmadigini dusunenler var.)

C# standart komitesinin dagilimini bilmiyorum ama Microsoft agirlikli oldugunu tahmin ediyorum. Bu, Microsoft’a dil uzerinde de facto kontrol veriyor ve Visual Studio gibi urunlerini rekabetin ustunde tutmalarini sagliyor olabilir. C ve C++ gibi daha daginik demografiye sahip standart komiteleri olan diller daha yavas gelisiyor, ama tabi bu yaslarindan ve/veya kullanim alanlarindan kaynakli olabilir.

Evet. Cunku aslinda programlardan konusuyoruz. Dillerin buyuk cogunlugu acik ve ozgur.

:slight_smile: Iki kere yazmama ragmen yanlis yazmisim. “Alet” demek istedim—compiler, interpreter, debugger, profiler, vs.

Yukaridaki yanlis yazimdan ortaya cikmis :frowning: ozur dilerim
Ama bu yazdigina ornek Matlab vs Octave olabilir.

Dillerin hepsi acik kaynakli—kaynak kodlari resmi dokumentasyonlari veya official implementasyonlari (“resmi”/ilk/buyuk compiler’lari). Cogunun yayinlanmis bir standardi var. Standartlarin bir kismi para ile satin aliniyor. (C standartlari parali mesela, C# bedava.)

Dillerin cogu ozgur—ANSI veya ECMA benzeri bir standart vucuduna bagli komiteler tarafindan gelistiriliyorlar.

Aletlerin bir kismi ozgur—cogu dilin ozgur ve ozgur olmayan derleyicileri, yorumlayicilari var. C# guzel bir ornek mesela, en yaygin aletleri Visual Studio bunyesinde ve parali, veya bedava ama ozgur degil.

Sadece ozgur olmayan bir adet platformda calisan “dillere” (Matlab, Max MSP, bilumum grafik bazli gorsel programlama ortamlari) sahsen “programlama dili” demiyorum, bu sifati yakistiramiyorum. Sadece “program” veya “platform” onlar gozumde.

1 Beğeni

Hmm, bu kısımda bir mesaj verilmiş galiba.

SEO standardı vardı galiba (gerçi bunun iyi olmadığını düşünen yoktur sanıyorum sonuçta bir zararı yok)

Yani C# compilerin in kapalı kaynak olmasının sebebi para kazanmak oluyor. Para kazanmak amacıyla geliştirilmeyen dillerde kapalı kaynak compiler/interpreter yoktur herhalde. Mesela Python açık kaynak kodlu ve bildiğim kadarıyla kar amacı gütmüyor (ama bağış toplandığına denk geldim ki büyük ihtimalle site ayakta kalsın diye siteyi ayakta tutmak pahalı sonuçta)

Burası çok uzun :D

İstediği gibi program yazılmasından kastın programın açık ya da kapalı kaynak olması mı yoksa isteyen herkesin program yazabilip yazamaması mı ? Sonuçta program yazmamızı engelleyen bir durum yok. Hem iş bulmak için hem de hobi için güzel, üstelik isteyen herkes program yazamasaydı günümüzdeki çoğu işe yarar projede olmazdı sonuçta kimse program yazamassa bu programlarda olmazdı. Python işime yaradığı için Python’dan örnek vereyim: Eğer isteyen herkes program yazamasaydı Guido Van Rossum Python’u geliştiremezdi ve kime ne faydası dokunduysa dokunmamış olacaktı. Ayrıca bilgisayarıda isteyen herkesin kullanması normal, bilgisayarının internete bağlı olduğunu varsayarak anlatacağım: bir çok bilgiye erişmen için internet çok iyi bir kaynak ve bunun için bilgisayara ihtiyacın var, Dünya’nın öbür ucundaki insandan etrafındaki kaynaklarla edinemeyeceğin bilgileri edindiğin gibi senide bu konuda örnek verebiliriz . Nerede yaşadığını bilmiyorum, aynı şehri geçtim aynı ülkede bile yaşamıyor olabiliriz ama daha önceki konularda bana birçok şey öğrettin ve şimdide öğretiyorsun.

Boşver nolucak, he bide alterleri yerine aletleri olacak şekilde yazdığını baştan okudum ve daha iyi anladım ne demek istediğini.

Dillerin hepsi açık kaynaklı derken galiba dilin standartlarına herkesin ulaşabilmesinden bahsediyorsun değil mi ? Gerçi C nin standartları biraz pahalı sanki :sweat_smile: ve sanırım açık kaynak dediğin standartlar dilin syntax ını v.b. anlatıyor ve sende buna göre kendi compiler/interpreter’ını geliştirebiliyorsun ama dilin geliştiricisi tarafından yayınlanan compiler/interpreter açık kaynak olmayabiliyor. Örneğin C# ın standartlarına herkes ulaşabilirken derleyicisine ulaşabiliyoruz (açık kaynaklı derleyicisi varda ben Microsoft’un geliştirdiği, orjinal derleyicisinden bahsediyorum sonuçta dil Microsoft’a ait.)

Burası biraz kafa karıştırıcı ama Max MSP yi araştırınca anladım galiba. Özgür olmayan bir program üzerinde çalışan ve bunun dışında başka yerlerde çalışmayan dillerden bahsediyorsun değil mi ? Mesela Max MSP de programlama yapıyoruz ama sadece tek bir program üzerinde çalışıyor ve program özgür yazılım değil ama bu durumda python un da platform olması gerekmez mi ? Sonuçta Python bir interpreter ve sadece kendi programı üzerinde çalışıyor tek farkı açık kaynak olması (gerçi python betik dili olarak geçiyor diye biliyorum platform olarak değil ama aralarında bir fark var mı bilmiyorum)

SEO nedir bilmiyorum (aratinca search engine optimization cikiyor—yoksa onunla ilgili bir standart mi yayinladilar?) ama QUIC ve FLoC, hatta baskalarinin one surdugu standartlari da alirsak, EME gibi teknolojilerden bahsediyorum. Biraz aratinca “Google’in __ onerisi webi tamamen bozabilir!!” seklinde makaleler cikiyor karsimiza.

Buraya oldugu gibi katiliyorum. Internet, sosyal medya patlamasi ve hemen ardindan buyuk sirketlerin ele gecirmesi donemine kadar kesif ve deneme ortamiydi. Herkes kafasina gore bir seyler yapiyor, deniyor, caliyor ve gosteriyordu. “Japon Demiryollarinin 1960–1970 yillari arasinda islettigi trenlerin modelleri ve deniz kenarinda calinan enstrumanlarla ilgili fikirlerim” konulu bir web sayfasi gordugumuzde sasirmazdik. Boyle bir ozgurluk ve yaraticilik ortami bugunku teknolojilerin cogunun temelini olusturdu. 90’larda interneti goren (veya okuyan) birisi en ufak bir aletin veya fikrin beklenmedik bir sekilde nelere yol acabilecegini bilir ve bunlarin ortaya cikmasi icin gereken ozgur ortamlari korumaya calisir.

Software’de de benzer bir sey goruyorum veya sadece kafamda baglantili olduklari icin yanlis bir anoloji kuruyorum. Veya “internet ne guzel bir sey” deyince nostaljik oldum; eskiden her hafta derdik cunku :slight_smile:

Neyse, birilerine bir sekilde faydali olabildigimi ogrendigim her seferinde mutlu oluyorum, tesekkurler.


Dil icin boyle bir tanim olmadigi icin kafama gore yapiyorum: “Acik kaynakli” dedigin yazilimin nasil calistigi incelenebiliyor, bakilip kopya cekilebiliyor, benzeri cok kolay yazilabiliyor. Bu butun diller icin gecerli sanki; sonucta dili kullanan oldugu surece kurallari, yapisi vs. kolayca anlasilabiliyor.

“Ozgur” bambaska bir sey tabi. Ozgur yazilimin kaynak kodunu kullanabiliyor, kendimiz icin derleyebiliyoruz. Istedigimiz gibi kullanabiliyoruz. Degisiklikler onerebiliyoruz. Bunun dil tarafindaki analogu acik standartli, proposal yazilabilen diller sanirim. Bir sekilde sadece parali tek bir program icinde kullanilan dilleri buraya sokamiyorum ama, ne kadar diger kriterlere uysalar da.

Dil Microsoft’a ait degil, ECMA’ya ait. Koydugum linki inceledin mi?

Bir de neden kimse C’nin orijinal derleyicisinden bahsetmiyor? Neden kimse Bell Labs’e ait oldugunu soylemiyor?

Kusura bakma; bahsettigim teknolojileri bilmeden/incelemeden anlamasi zor evet.

Ama tam olarak demek istedigimi anlamissin (anlatabilmisim). Ve evet, aslinda Python’la aralarinda ozgurluk disinda buyuk bir fark olmamasina ragmen ben Max’i ayni kategoriye (“programlama dili”) bile koymuyorum. Bu yaptigim hic adil degil, o yuzden uzerinde durmak istedim sanirim.

Bu adaletsizligimin sebebi ise: Dandik, ufak baslangiclardan gelen ozgur dillerin nerelere gittiklerini gorebiliyorum. Tam karsilarinda ise milyon dolarlar akitilan programlar var, uc dakikada cozebilecegim buglari duzeltmekten veya kullanilmalari gereken bir platforma port edilmekten acizler.

1 Beğeni

Web sitende SEO Standartlarına uyunca Google aramalarda seni daha üste çıkarıyor (örnek: sayfada sadece 1 tane h1 elementi kullanmak)

O zamanlar henüz Dünya’da değildim ama demek istediğini anlayabiliyorum, yukarıdaki deniz kenarında çalınan enstrümanlarla ilgili fikirler örneği sosyal medyada da var sonuçta insanların düşüncelerini paylaşması için var o sitelerde ancak çok kişi kullanınca çok daha saygısız, ırkçı ve daha çok şeyin olduğu bir ortam oluşmaya başladı bu yüzden bahsettiğin zamanların bu konuda daha iyi olduğuna eminim.

Rica ederim.

Aynen, dillerin kurallarıi yapısı, söz dizimi v.b. zaten ortada.

“paralı tek bir program içinde kullanılan diller” mi yoksa “paralı, tek bir program içinde kullanılan diller” mi ? Eğer ilkiyse Matlab, Max MSP gibi dillerden bahsediyorsun, eğer ikincisiyse Matlab, Max MSP nin yanı sıra Python, Ruby gibi dillerde buraya sokulamaz.

Zaten tıpkı Scratch gibi görsel programlama yapılıyor üstelik Max ta sadece müzik oluşturmak için yani iyice daralıyor kullanılabileceği alanlar.

Burda sadece Matlab, Max MSP fln mi var yoksa Nim gibi dillerde mi dahil ? Zaten Python dahil mi diye sormaya gerek yok diye düşünüyorum, dolarlar akıtılıyor mudur bilmem ama Python’da çok popüler sonuçta. O yüzden diğer dillere karşı pek sorun çekeceğini sanmıyorum (gerçi yukarıda programlar olarak değinilmiş belkide sadece interpreterlerden bahsediliyordur bilmiyorum)

Bu buglar sanırım şu şekilde:

string a="merhaba";

ama visual studio bunu şu şekilde otomatik düzeltiyor:

string a = "merhaba";

farklı platformlara port edilmek belli zaten, sadece bilgisayarda ve tek mimaride çalışabilmek dışında android, ios ya da istenilen başka bir platformda ve mimaride çalışmaktan bahsediliyor. Her platformda ve mimaride çalışabilen bir dil yoktur herhalde ama bahsettiğimiz ufak başlangıçlardan gelen bu dillerin genelde tek mimari ve platform da çalışması, mesela X dili bu dillerden biri olsun diyelim, bu dil sadece windows ta ve sadece X86 mimarisinde çalışabiliyor diyelim. Java ise birçok platformda ve birçok alanda kullanılıyor ayrıca (çalıştığı daha fazla mimari varsa buraya onları yazmışım gibi düşün çünkü kaç mimaride çalışabildiğini bulamadım :smiley: )

pardon buralara cevap vermeyi unutmuşum
dün cevap yazarken internetin gelmesini bekledim ondan 2 saat geciktim cevabı yollamak için ama o sırada telefondan mobil veri ile linke girebildim ve dosyaların boyutundan dolayı telefona indirme imkanım olmadı ama linki inceledim. Yani dil ECMA ya ait Microsoft sadece compiler yapmış değil mi ?

C nin orjinal derleyicisinin Bell Labs’e ait olduğunu biliyordum ama derleyicinin adını bilmediğim için üzerinden örnek veremedim. Adını hatırladığım tek gcc var.

1 Beğeni

Merhaba,

Bir derleyici yada yorumlayıcı neden kapalı kodlu ya da açık kodlu olabiliyor? Açık kod olsa daha iyi olmaz mı? Gelişmesi ve yayılması açısından.

Soru özetle bu sanırım.

Evet iyi olur.

Peki neden bazıları kapalı kod?

Çünkü geliştirilmesine ihtiyaç olmamış.

Öncelikle bazı terimlerde anlaşalım. Derleyici (compiler), bağlayıcı (linker), hata ayıklayıcı (debugger), yorumlayıcı (interpreter), kaynak editörü (resource editor) , tümleşik geliştirme ortamı (IDE) vs bir çok bileşen var.

Dillerin yayılması ve standartlaşması bam başka bir konu şu an standart meselesine girmek uygun değil.

Ortada ürün ve hizmet yaklaşımı var. Eğer kaynağı kapatır ve ürün olarak satarsanız, teknik destek sağlayarak hizmet satar, hem üründen hem de hizmetten para kazanırsınız.

Sonuçta yadırgamam, yazılım şirketleri, ürünleri için personle çalıştırır, optimize etmek için zaman harcar, eğitimler ve standartlar satın alır ve bunun karşılığında da bazı maliyetler yüklenir.

Açık kaynak tarafında ürünü satmazsın, ama hizmet satabilirsin veya açık kaynak ücretsiz destek alabilirsin.

Ama ufak bir detay var. Bu durumda bazan hızlı geri dönüşler ve destek alamamayı göze alman gerekebilir.

Gelelim derleyici kaynak kodu meselesine, öncelikle şuna emin olabilirsin bir derleyici bir yorumlayıcıdan (genelde) daha basit yapıdadır.

Derleyicininin, kodu çalıştırma kaygısı olmadığından, kod çalıştırma işini işletim sistemine havale eder ve çok daha az karmaşık bir yapısı vardır. Sürekli derleyiciyi bu şekilde açık kaynak özelleştirmek zorunda kalmayabilirsin. Ancak işletim sistemi geliştikçe yeni özellikleri destekleyebilmek yada gözden kaçan ciddi hata (bug) lar olduğunda güncellenmesi gerekebilir.

Yorumlayıcı tarafında bu iş biraz daha karmaşıktır, çünkü kodu çalıştıracak işletim sistemi sürekli yorumlayıcıyı çalıştırır ve yorumlayıcı üzerinde kodun çalışır bu durumda çalışma şekli ile ilgili devamlı üzerinde optimizasyon gerekbilir (gerekmeye de bilir.)

Yorumlayıcı ve derleyici için de sadece bir araç/alet (tool) olarak kullanacak birinin her zmana kaynak koduyla (source code) işi olmayabilir.

Bir de işin işletim sistemi boyutu var, linux codu derlediği gibi dümdüz çalıştırırken (ki tam da böyle değil, o da bazı saat ve tarih kütüğü bilgilerle dosya sisteminde saklar ama), windows bir başlık dosyası ekler (header) bu başlık dosyası çalıştırılacak kodu, kaynakları, işletim sisteminin dosyadan istediği başlık bilgilerini adres hesaplamalarını yaparak kodun başına ekler.

Bu da sık sık üzerinde açık kaynak çalışılacak bir durum değildir. Yani bağlayıcı başlık kısmındaki imza, giriş noktası(entry point), kaynak segmentinin adresleri gibi adresleri hesaplar ve ekler hepsi bu.

Debugger meselesi derya deniz, kod yürütülmeden önce belleğe yerleşilecek ki bu belleğe yerleşme işi için önce işletim sisteminin bunu nasıl sağladığı öğrenilecek, kod işletilecek, hata (error) ve uyar(warning) seviyeleri tanımlanacak ve buna göre geri dönüşler sağlanacak. Ki bu konuda da bir programcı çok marjinal bir değişiklik istemez ve sık sık kaynak kod revize edilmez.

Kaynak editörleri vs kısmına da burada girmeyeyim. Kaynak editörleri ve kaynak derleyicileri de kendine has başka bir konu.

Şimdi bunların dağınık halinden bir arada paket olarak sunulan IDE lere değineyim.

Bir kod etörü sunar, kod editörleri sayesinde otomatik tamamlama, yazım düzeltme, birden çok dosyayla çalışma sağlanabilir. Kaynak koduna sahip olmadan özelleştirilebilme genişleme imkanları da modüler olarak eklenebilmektedir.

Derleyici ve bağlayıcı parametrelerini ayarlar, kod editöründe yazar, derler ve çalıştırırsın hata ayıklayıcıdan gelen mesajları toplar, kırılma noktaları (break point), izleme noktaları (watch) ve kod adımlama (code stepping) ayarları ile kodundaki hataları rahatlıkla tek arayüzden ayarlar ve kullanırsın.

Bu durumda neden bu bütünleşik sistemin koduna ihtiyaç duyasın?

Peki neden kodu açmamış olabilirler.

Ticari nedenler. Bazı algoritma ve üçüncü taraf alt yazılımlar nedeniyle açamayabilirler. Ürünü kontrollü geliştirerek hizmet desteğinde aksama yaşanmasını istememiş olabilirler. Birbiri ile bağlantılı birden çok modülleri ve/veya yazılımları vardır ve olası kontrolsüz değişikliklerin denetiminde sıkıntı yaşamak istemeyebilirler. Nasrsisttirler kodlarına tapıyorlardır vermek istemeybilirler.

Bu konuda sonda bir iki cümle daha edeceğim şimdilik burada bırakayım.

Diller henüz tamamen standartlaşmış diyemeyiz, C dilinin bile standartlaşması uzun süre almış ANSI komitesi uzun süre standartlaşmasıyla uğraşmıştır. Belirli periyotlarla bunları tekrar gözden geçirmeye de devam etmektedir.

Ama dil standartlaşmak zorudadır de diyemeyiz. Taşınabilirlik standartlaşma ihtiyacı doğururken hala eski standart derleyicileri kullanalar da vardır ve yeni özellikleri değiştirip eski derleyicilerde de kullanabilmek mümkündür.

Ne kadar standartlaşırsa o kadar taşınabilir olur ama hepsi bu. Bazı diller standartlaşmak istemez özellikle de konuya özel ve kendine has işler için kullanılanlar. Çünkü iş odaklıdır ve çok kişinin kullanması onlar için çok önemli değildir.

Şimdi gelelim asıl konuya.

Bazı diller matlap vs gibi neden kapalı kod?

Yukarıda açıkladığım, lisans, modüler yapının korunması, işe özel yapı gibi durumların üzerine şunu ekleyelim:

Bir uçuş bilgisayarı üzerindeki gömülü istemin üzeride çalışacak bir arayüz programının derleyicisini neden açık kaynak yapsın?

Ürün somut ve kendine özgü, donanım kendine özgü, sadece bazı niteliklerini değiştirmeye izin vermesi gerekiryor ama sadece üreticisi kendi kullanacak, kodu açması yada kodu öğretmesi gerekmeyecek.

Sınırlı sayıda mikrokontrolcü veya mikro işlemciyi özel nitelikte kullanacak veya satacak bir üretici derleyici kodunu neden açsın. Açsa dahi kim derleyici üzerinde donanım üzerinde tersine mühendislik yapıp da kendine özgü bir derleyici tasarlasın. Varsaydık tasarladı kaç kişi buna ihtiyaç duyacak.

COBOL ticari, FORTRAN askeri amaçla eskiden kullanılmış diller. Dilin kendisinin yaygınlığı tartışılırken derleyicisinin açık kaynaklığı pek ihtiyaç olmayabilir.

Tıbbi cihaz üreticisinin kendisi için geliştirdiği bir işletim sisteminde, kullanacağı uygulamalar için geliştirilmiş bir derleyici kimin ne kadar yaygın ihtiyacına hitap edebilir?

Yani ticari boyutlarının dışında kullanım alanı sınırlı, bazan gizli, bazan da yaygınlaşması gerekmeyen durumlarda da kodu açmayabilirler.

Yada açsa dahi, kullanıcının ilgisini çekmeyebilir. Matlap kullanan birinin, sayısız elektronik mühendisliği sorunu, makine mühendisliği sorunu, istatistik ve diğer problemleri dururken bunun nasıl yorumlandığını dert edecek durumu olmayabilir.

Bu ve benzeri sebeplerle bazı derleyiciler açık kaynak, bazı derleyiciler kapalı kod olabilir.

Gelelim yayılma ve gelişme meselesine…

Konu biraz C# gelirse soruya paralel ve destek verici bir cevap olabilir. Microsoft da açık kaynağa yavaş yavaş boyun eğdi.

Announcing Open Source C# standardization - .NET Blog (microsoft.com)

2014 ten beri zaten C# kodunu açtı.

GitHub - dotnet/roslyn: The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.

C# derleniyor mudur java gibi sanal makine üzerinde yorumlanıyor mudur tartışmasına bile girmek istemiyorum. Ama daha fazla uç kullanıcıya yayılmak istiyorsa kodunu açması gibi bir tercihe şirketler sürüklenebiliyor.

Yine kapalı kod bir IDE üreticisinin ürünü olan Delhpi için de bir örnek vereyim.

Delphi 10.4.2 Compiler Speed Improvements (embarcadero.com)

Kendi iyileştirmelerini kendi yapabilmek için kodunu kapalı tutuyor olabilir. (Adlarına konuşmayayım ama iyileştirmeri kendilerinin takip ettiğini söyleyebiliriz.)

Programlama dillerinin PC, MAC dışında gömülü sistemlerde kullanıldığı da bir kenarda dururken, hedefin yaygınlaşma ve gelişme olmadığı durumlar da olabiliyor.

Bu kadar konuştuktan sonra.

Google da tarama yaparak, derleyici ve yorumlayıcı geliştirmekle ilgili kitaplara bakılmasının, faydalı olacağını düşünüyorum.

Özellikle yorumlayıcı yazmakla nelere de ilave dikkat vermek gerektiği daha rahat görülebilir.

Let’s Build a Compiler (iecc.com)

Eski bir kaynak ama temel terimleri öğrenmek için kullanılabilir.

Yine biraz uzatmış olabilirim yazımı şimdilik burada keseyim. Kolay gelsin.

1 Beğeni

Galiba hem derlenebilen hem de yorumlanabilen bir dil, yazdığımız C# kodunu derleyip kullanma seçeneğimiz varken Visual Studio’da derlemeden kullanma seçeneğide var.

Yani ticari bir ürünse ya da hedef yaygın kullanılmak değilse, çok kişiye hitap etmiyorsa açık kaynak olmasının pek bir önemi yok, zaten kimsenin düşünmediği bir konu diyorsun.

Derleyici veya yorumlayıcı geliştirmek için mi faydalı olur diyorsun yoksa kapalı kaynak olmasının mantıklı olup olmadığıyla ilgili mi ?

Ne önemi var :smiley: Bir şeyler öğreniyoruz sonuçta.