Birkaç gün önce bir geliştiriciyle tanıştım ve açıkçası (geliştiricilerde olduğu gibi) hangi programlama dilini kullandıkları sorusu nispeten hızlı bir şekilde ortaya çıktı. Daha sonra native web'de neler yaptığımızı, neler yaptığımızı ve nelerle çalıştığımızı size biraz anlattım.
Duyuru
Golo Roden, native web GmbH'nin kurucusu ve CTO'sudur. Etkinlik ve hizmet odaklı dağıtılmış mimarilere odaklanarak web ve bulut uygulamaları ile API'lerin tasarımı ve geliştirilmesiyle ilgilenmektedir. Yol gösterici ilkesi, yazılım geliştirmenin kendi başına bir amaç olmadığı, her zaman temeldeki profesyonelliği takip etmesi gerektiğidir.
Ve tabii ki daha sonra ona bunun onun için nasıl bir şey olduğunu sordum. Sonra biraz utanarak geldi:
“Eh, ben yalnızca Visual Basic ile çalışıyorum.”
Bu yanıttan açıkça rahatsız oldu ve sonra ona bunun nedenini sordum. Bana, bu yanıttan sonra diğer geliştiricilerin onu artık ciddiye almadığı, aksine ona güldüğü deneyimini sık sık yaşadığını söyledi. Slogana göre:
“Ah, bak, ne kadar tatlı, birisi hala Visual Basic ile çalışıyor!”
Elbette Visual Basic'in pek iyi bir itibarı yok. Aslında tam tersine: dilin modası geçmiş, kalitesiz, kısacası “kötü” olduğu düşünülüyor. Ama elbette şu soru ortaya çıkıyor: içeride ne var? Visual Basic gerçekten bu kadar feci derecede kötü bir dil mi? Bu soruyu cevaplamak için soruyu biraz daha genel olarak sormamız gerekiyor: İyi veya kötü bir programlama dilini karakterize eden nedir?
Nesnel kriterlere karşı öznel görüş
Başlamadan önce bazı ipuçları vermek istiyorum. Öncelikle bu sorunun tek bir cevabı yok bilimsel temelli ve tamamen objektif bir cevap. “İyi” ve “kötü”nün tanımı bir yorum meselesidir. Bu nedenle duygusal tartışmaya girmeden, açıklamalarımı gerçeklere dayandırmadan, objektif bir şekilde konuyu ele almaya çalışacağım. Ancak burada yazılanlar benim olaylara dair kişisel görüşümdür. Bu nedenle yorumlarda eleştiriye başlamadan önce bunu dikkate alırsanız iyi olur.
Önerilen editoryal içerik
İzniniz doğrultusunda harici bir YouTube videosu (Google Ireland Limited) buraya yüklenecektir.
Her zaman YouTube videolarını yükle
YouTube videosunu şimdi indirin
Programlama diliniz $#&!%
// Almanca
İkincisi: Bu blog yazısında özellikle Visual Basic'ten bahsetmiyorum. Daha ziyade, bir dilin iyi mi kötü mü olduğunu nasıl değerlendirdiğimi açıklamaya çalışıyorum. Önemli olduğunu düşündüğüm kriterleri sunuyorum ve bunları neden önemli bulduğumu açıklıyorum. Bu kriterlerin sizin için geçerli olmadığını veya farklı değerlendirdiğinizi söylerseniz kesinlikle sorun değil. Çünkü kalite söz konusu olduğunda değer sisteminiz de önemli bir rol oynar. Ve kesinlikle sana bana olduğundan farklı geliyor çünkü farklı deneyimler yaşadık.
Üçüncüsü: Genel olarak, yorumlarda birbirinize karşı nazik olmanızı ve birbirinize yapıcı davranmanızı rica ediyorum. Bir başkasının en sevdiği dili sevmeseniz bile bu onu kötü bir insan yapmaz. Teknolojileri eleştirel bir şekilde sorgulamak kesinlikle doğru. Eleştirilere rağmen başkalarına saygılı davranmalıyız.
Uygun ve uygun olmayan diller
Bu bizi nihayet asıl konuya getiriyor: Bir programlama dilini iyi ya da kötü yapan nedir?
Sıklıkla sorulan bir cevap şudur: Bir dil, amaçlanan hedefe ulaşmak için onu kullanabiliyorsanız iyidir. Mottoya göre: Bir dil amacına hizmet ediyorsa kötü olamaz. Ancak kişisel olarak benim için bu pek ikna edici bir argüman değil. Bir aracın bir görevi yerine getirmesi onun iyi bir araç olduğu anlamına gelmez; yalnızca bu görev için uygun veya uygun bir araçtır.
Bunun iyi bir şey olup olmadığı başka bir konudur. Bu, en geç aynı görev için birden fazla araç olduğunda fark edilir. Çünkü çoğu zaman farklılıklar olur. Bu bakımdan benim için “iyi” ve “uygun” iki farklı şeydir. Buna karşılık bir dil, sırf bir soruna uygun olmadığı için özü itibarıyla kötü değildir. Dolayısıyla bu sorun için kesinlikle uygun değil. Bana göre “iyi” veya “kötü”, belirli bir soruna uygunluğuna bakılmaksızın, dilin kendisinin niteliksel bir değerlendirmesini ifade eden terimlerdir.
Dil ve uygulama
Benzer bir nokta, dile özgü bir uygulamanın özellik kümesidir. Örneğin geçmişte C#'ın yalnızca Windows'ta çalıştığı için kirli bir dil olduğu sık sık söylenirdi. Bu yanlış. Dilin kendisi başlangıçta yalnızca kişinin kendini nasıl ifade edebileceğini gösteren anlambilimsel bir sözdiziminden ibarettir. Belirli bir platform için uygun bir çalışma ortamı ortamının veya uygun bir derleyicinin olup olmadığı dilin fikrine bağlı değildir. Bugün C#'ı macOS veya Linux'ta çalıştırmak kolaylıkla mümkün. Bu bakımdan bunlar bir dilin iyi ya da kötü tasarlanıp tasarlanmadığını belirleyen kriterler değildir. Sadece uygulamaların kullanılabilirliği hakkında bir şeyler söylüyor.
Başka bir nokta: Bir dil, işlevi veya sınıf kütüphanesi ile aynı şey değildir. Bu aynı zamanda bir uygulama detayıdır. Aynı dil için farklı miktarlarda “eşdeğer” sağlayan farklı ortamlar olabilir. Bu, örneğin .NET veya Java'dan farklı yürütme süreleriyle bilinir. Bu yüzden gerçekten sadece doğrudan dilin kendisine ait olanlarla ilgileniyorum.
Bu ayrımın anlamlı olup olmadığı uzun süre tartışılabilir. Bugünlük bu şekilde yapmak istiyorum çünkü bence bir dilin tasarımından bahsetmek istediğinizde en kullanışlı tanım budur.
Duyuru
Golo Roden, native web GmbH'nin kurucusu ve CTO'sudur. Etkinlik ve hizmet odaklı dağıtılmış mimarilere odaklanarak web ve bulut uygulamaları ile API'lerin tasarımı ve geliştirilmesiyle ilgilenmektedir. Yol gösterici ilkesi, yazılım geliştirmenin kendi başına bir amaç olmadığı, her zaman temeldeki profesyonelliği takip etmesi gerektiğidir.
Ve tabii ki daha sonra ona bunun onun için nasıl bir şey olduğunu sordum. Sonra biraz utanarak geldi:
“Eh, ben yalnızca Visual Basic ile çalışıyorum.”
Bu yanıttan açıkça rahatsız oldu ve sonra ona bunun nedenini sordum. Bana, bu yanıttan sonra diğer geliştiricilerin onu artık ciddiye almadığı, aksine ona güldüğü deneyimini sık sık yaşadığını söyledi. Slogana göre:
“Ah, bak, ne kadar tatlı, birisi hala Visual Basic ile çalışıyor!”
Elbette Visual Basic'in pek iyi bir itibarı yok. Aslında tam tersine: dilin modası geçmiş, kalitesiz, kısacası “kötü” olduğu düşünülüyor. Ama elbette şu soru ortaya çıkıyor: içeride ne var? Visual Basic gerçekten bu kadar feci derecede kötü bir dil mi? Bu soruyu cevaplamak için soruyu biraz daha genel olarak sormamız gerekiyor: İyi veya kötü bir programlama dilini karakterize eden nedir?
Nesnel kriterlere karşı öznel görüş
Başlamadan önce bazı ipuçları vermek istiyorum. Öncelikle bu sorunun tek bir cevabı yok bilimsel temelli ve tamamen objektif bir cevap. “İyi” ve “kötü”nün tanımı bir yorum meselesidir. Bu nedenle duygusal tartışmaya girmeden, açıklamalarımı gerçeklere dayandırmadan, objektif bir şekilde konuyu ele almaya çalışacağım. Ancak burada yazılanlar benim olaylara dair kişisel görüşümdür. Bu nedenle yorumlarda eleştiriye başlamadan önce bunu dikkate alırsanız iyi olur.
Önerilen editoryal içerik
İzniniz doğrultusunda harici bir YouTube videosu (Google Ireland Limited) buraya yüklenecektir.
Her zaman YouTube videolarını yükle
YouTube videosunu şimdi indirin
Programlama diliniz $#&!%
İkincisi: Bu blog yazısında özellikle Visual Basic'ten bahsetmiyorum. Daha ziyade, bir dilin iyi mi kötü mü olduğunu nasıl değerlendirdiğimi açıklamaya çalışıyorum. Önemli olduğunu düşündüğüm kriterleri sunuyorum ve bunları neden önemli bulduğumu açıklıyorum. Bu kriterlerin sizin için geçerli olmadığını veya farklı değerlendirdiğinizi söylerseniz kesinlikle sorun değil. Çünkü kalite söz konusu olduğunda değer sisteminiz de önemli bir rol oynar. Ve kesinlikle sana bana olduğundan farklı geliyor çünkü farklı deneyimler yaşadık.
Üçüncüsü: Genel olarak, yorumlarda birbirinize karşı nazik olmanızı ve birbirinize yapıcı davranmanızı rica ediyorum. Bir başkasının en sevdiği dili sevmeseniz bile bu onu kötü bir insan yapmaz. Teknolojileri eleştirel bir şekilde sorgulamak kesinlikle doğru. Eleştirilere rağmen başkalarına saygılı davranmalıyız.
Uygun ve uygun olmayan diller
Bu bizi nihayet asıl konuya getiriyor: Bir programlama dilini iyi ya da kötü yapan nedir?
Sıklıkla sorulan bir cevap şudur: Bir dil, amaçlanan hedefe ulaşmak için onu kullanabiliyorsanız iyidir. Mottoya göre: Bir dil amacına hizmet ediyorsa kötü olamaz. Ancak kişisel olarak benim için bu pek ikna edici bir argüman değil. Bir aracın bir görevi yerine getirmesi onun iyi bir araç olduğu anlamına gelmez; yalnızca bu görev için uygun veya uygun bir araçtır.
Bunun iyi bir şey olup olmadığı başka bir konudur. Bu, en geç aynı görev için birden fazla araç olduğunda fark edilir. Çünkü çoğu zaman farklılıklar olur. Bu bakımdan benim için “iyi” ve “uygun” iki farklı şeydir. Buna karşılık bir dil, sırf bir soruna uygun olmadığı için özü itibarıyla kötü değildir. Dolayısıyla bu sorun için kesinlikle uygun değil. Bana göre “iyi” veya “kötü”, belirli bir soruna uygunluğuna bakılmaksızın, dilin kendisinin niteliksel bir değerlendirmesini ifade eden terimlerdir.
Dil ve uygulama
Benzer bir nokta, dile özgü bir uygulamanın özellik kümesidir. Örneğin geçmişte C#'ın yalnızca Windows'ta çalıştığı için kirli bir dil olduğu sık sık söylenirdi. Bu yanlış. Dilin kendisi başlangıçta yalnızca kişinin kendini nasıl ifade edebileceğini gösteren anlambilimsel bir sözdiziminden ibarettir. Belirli bir platform için uygun bir çalışma ortamı ortamının veya uygun bir derleyicinin olup olmadığı dilin fikrine bağlı değildir. Bugün C#'ı macOS veya Linux'ta çalıştırmak kolaylıkla mümkün. Bu bakımdan bunlar bir dilin iyi ya da kötü tasarlanıp tasarlanmadığını belirleyen kriterler değildir. Sadece uygulamaların kullanılabilirliği hakkında bir şeyler söylüyor.
Başka bir nokta: Bir dil, işlevi veya sınıf kütüphanesi ile aynı şey değildir. Bu aynı zamanda bir uygulama detayıdır. Aynı dil için farklı miktarlarda “eşdeğer” sağlayan farklı ortamlar olabilir. Bu, örneğin .NET veya Java'dan farklı yürütme süreleriyle bilinir. Bu yüzden gerçekten sadece doğrudan dilin kendisine ait olanlarla ilgileniyorum.
Bu ayrımın anlamlı olup olmadığı uzun süre tartışılabilir. Bugünlük bu şekilde yapmak istiyorum çünkü bence bir dilin tasarımından bahsetmek istediğinizde en kullanışlı tanım budur.