Kotlin adının yer adıyla bağlantısı üzerine iyi amaçlı soru / Good-faith question about Kotlin’s place-name-based naming

Türkçe

Bu yazıyı önce Türkçe yazıyorum; çünkü düşüncelerimi en iyi anladığım ve kendimi en açık anlatabildiğim dilde dile getirmek istiyorum. Bu dil sıralaması kötü amaçlı değildir; ulusçu, ırkçı, soya dayalı ya da ayrımcı bir tutum olarak görülmemelidir. Amacım yalnızca konuyu önce kendi dilimde doğru anlatmak, ardından daha geniş katılım için İngilizce karşılığını eklemektir.

Bu yazıyı iyi amaçlı bir soru olarak açıyorum. Amacım Kotlin’i, Kotlin geliştiricilerini, JetBrains’i ya da Kotlin topluluğunu suçlamak değildir.

Öncelikle şunu belirtmek isterim: Kotlin’in güçlü, olgun ve yaygın kullanılan bir yazılım dili olduğunu düşünüyorum. Özellikle Android geliştirme alanında çok önemli bir yeri olduğunu biliyorum. Birçok yönden Java’ya göre daha çağdaş, daha kısa, daha güvenli ve daha rahat kullanılabilir bir dil olarak görüldüğünü de anlıyorum. Bu nedenle sorum Kotlin’in yapılış niteliği ya da kullanım gücüyle ilgili değildir.

Benim sorum adlandırma üzerinedir.

Bildiğim kadarıyla “Kotlin” adı, Saint Petersburg yakınlarındaki Kotlin Adası’ndan gelmektedir. Bu nedenle Kotlin adı gerçek bir yer adıyla bağlantılıdır. Böyle bir adın kullanılması birçok yerde yasa bakımından olanaklı olabilir. Ancak benim için konu yalnızca yasa bakımından uygun olup olmaması değildir. Yazılım adlarının ekinsel çağrışımlar, yer adları, geçmişe ilişkin göndermeler ve topluluk duyarlılığı bakımından da konuşulmaya değer olduğunu düşünüyorum.

Bu kişisel duyarlılık nedeniyle, Kotlin’i güçlü ve yararlı bir dil olarak görmeme karşın şu anda kullanmamayı yeğliyorum. Bu, Kotlin kullanan kişilere karşı bir eleştiri değildir. Kotlin’i geliştirenleri ya da kullananları kötü amaçla suçlamıyorum. Yalnızca kendi yazılım seçme ölçütlerimde adlandırmaya da yer veriyorum.

Benzer bir durumu Java için de düşünüyorum. Java da çok güçlü, yerleşik ve yaygın bir yazılım dili olmasına karşın, adının Java/Cava adasıyla bağlantılı olması nedeniyle onu da kullanmamayı yeğliyorum. Bu tutumum dillerin değerini küçümsemek için değildir. Tersine, bu dillerin güçlü olduğunu kabul ederek, yalnızca adlandırma konusundaki kişisel çekincemi dile getiriyorum.

Bu bağlamda şu soruları sormak istiyorum:

  • “Kotlin” adı seçilirken bu adın bir yer adıyla bağlantılı olması üzerinde durulmuş muydu?
  • Bu adın ekinsel, tarihsel ya da yer adı çağrışımları bakımından nasıl algılanabileceği daha önce içeride ya da topluluk içinde konuşuldu mu?
  • Kotlin’e bağlı gelecekteki araçlar, alt yazılımlar, kitaplıklar ya da yeni çalışmalar için ad verme ilkeleri var mı?
  • Gelecekte, olanaklı olduğunda, daha açıklayıcı, yansız ya da işe dönük adların yeğlenmesi topluluk içinde konuşulabilir mi?
  • Bu soruyu konuşmak için daha uygun bir yer varsa beni oraya yönlendirebilir misiniz?

Bu yazı Kotlin’in adının hemen değiştirilmesi yönünde bir istek değildir. Böyle bir şeyin büyük, zor ve gerçekçi olmayan bir beklenti olabileceğini anlıyorum. Benim amacım daha çok, yazılım dünyasında ad seçiminin de yapılış kararları kadar bilinçli biçimde ele alınıp alınamayacağını sormaktır.

Konuyu suçlayıcı bir dille değil, daha düşünceli ve kapsayıcı ad verme alışkanlıkları açısından gündeme getirmek istiyorum.


English

I am writing this first in Turkish because I want to express my thoughts first in the language I understand best and can use most clearly. This language order is not intended in bad faith and should not be interpreted as nationalist, racist, ethnic, or discriminatory. My only intention is to explain the topic accurately in my own language first, and then include an English version for broader participation.

I am opening this as a good-faith question. My intention is not to accuse Kotlin, Kotlin developers, JetBrains, or the Kotlin community.

First of all, I would like to clearly state that I consider Kotlin to be a strong, mature, and widely used programming language. I understand that it has an especially important place in Android development. I also understand that in many ways Kotlin is seen as more modern, concise, safe, and pleasant to use than Java. Therefore, my question is not about Kotlin’s technical quality or usefulness.

My question is about naming.

As far as I understand, the name “Kotlin” comes from Kotlin Island near Saint Petersburg. Because of this, the name Kotlin is connected to a real place name. Using such a name may be legally permissible in many places. However, for me, the question is not only whether it is legally allowed. I think software names are also worth discussing from the perspective of cultural associations, place names, historical references, and community sensitivity.

Because of this personal sensitivity, I currently avoid using Kotlin, even though I see it as a strong and useful language. This is not a criticism of people who use Kotlin. I am not accusing the people who develop or use Kotlin of bad intent. I simply include naming as one of the criteria in my own software choices.

I think about Java in a similar way. Java is also a very strong, established, and widely used programming language, but because its name is connected to the island of Java, I personally avoid using it as well. This position is not meant to diminish the value of these languages. On the contrary, I acknowledge their strength while expressing my personal concern about naming.

In this context, I would like to ask the following questions:

  • When the name “Kotlin” was chosen, was its connection to a real place name considered?
  • Has there ever been an internal or public discussion about how the name may be perceived in terms of cultural, historical, or place-name associations?
  • Are there naming guidelines for future Kotlin-related tools, subprojects, libraries, or initiatives?
  • Could the community consider using more descriptive, neutral, or function-oriented names for future related projects where possible?
  • Is there a better place where this question should be discussed?

This post is not a request to immediately rename Kotlin. I understand that such a change would be large, difficult, and probably unrealistic. My goal is rather to ask whether naming in software can be considered as thoughtfully as technical decisions.

I would like to raise this topic not in an accusatory way, but from the perspective of more thoughtful and inclusive naming practices.

The name “Kotlin” was intentionally chosen after the island. There are many examples in the wider Java ecosystem where names were chosen after islands (Java, Lombok, Ceylon), the island of Java specifically (Jakarta), or related to coffee (“Java” was once a nickname for coffee), and the name “Kotlin” just fits in there and reenforces the close connection.

There are no naming guidelines I’m aware of, but it became kind of a tradition to include a “k” or “ko” or “kt” in the name to indicate that it is a Kotlin project, like “kotest”, “Ktor”, “Arrow-Kt”, “detekt” or “konform”, exactly as Java does with the letter “j”. I don’t think that the community is willing to break with this tradition. Of course, you can name your projects as you like.

To be honest, I don’t really see how the name “Kotlin” is not inclusive. Yes, it is a Russian island, but the language was named years before Russia went to war in Ukraine, if this is what you are hinting at. I don’t think it has anything to do with Russian nationalism or aggression, especially as all Russian Kotlin developers who had the opportunity left the country when the war started. Kotlin as language and ecosystem has a very international, but also distinctive European flair, at least to me.

3 Likes

Further to Landei’s points, it may help you to think of ‘Kotlin’ purely as a name, a meaningless string of letters used to identify the programming language. (Just like ‘Java’, ‘C’, ‘Rust’, ‘Haskell’, ‘Ada’, ‘Eiffel’, ‘Go’, ‘Pascal’, ‘Raku’, ‘Python’, ‘Delphi’, ‘Lua’, ‘Ruby’, and, well, the majority of programming languages! Those with a meaningful descriptive name, such as ‘Modula’ or ‘AppleScript’, are a small minority.)

Yes, the name was originally taken from a place, back in 2010 — but now has its own identity. Its origin is irrelevant to almost everyone using it.

(In particular: using, discussing, or naming the language does absolutely nothing to endorse, promote, or support that place, or the country in which it lies, or that country’s leadership or policies. If anything, quite the reverse! JetBrains is based in Amsterdam, with offices in Europe, China, and the USA. Since the invasion of Ukraine, they have had no sales, activities, or legal presence in Russia. So if Kotlin has any political implications at all, then they’d be on the Ukrainian side. But, as I said, it really doesn’t.)

After all, most people are happy to eat French fries, hamburgers, frankfurters, Black Forest gateau, Emmental cheese, Eggs Florentine, Neapolitan ice cream, Gorgonzola cheese, Stromboli pizza, Seville oranges, Jaffa oranges, or Tilsit cheese (or even roast turkey!) without considering any connection to the places they were originally named for.

So please don’t let accidents of nomenclature put you off trying a very good programming language. (Or any of those nice foods!)


BTW, while I’m sure it was helpful for you to organise your thoughts in your native language first, there probably wasn’t much point in posting that, as very few here will be able to read it — and it’s likely to put off people who don’t read past it to see the English.

2 Likes

İkinize de ayrıntılı yanıtlarınız için sağ olun.

Önceki yanıtımı sildim; çünkü onu yeterince denetlemeden, aceleyle gönderdiğimi ayrımına vardım. Yanıtımı daha açık biçimde yeniden yazmak istiyorum.

Önce, Türklük örneğiyle ilgili bir noktayı açıklığa kavuşturmak isterim. O örneği iyi kuramadım. Bunu Türklük üzerinde hak, sahiplik, yetki ya da temsil savı olarak söylemedim. Örneği o anlamda kullanmak istemedim.

Türklük bu tartışmanın ana konusu olmadığı için, şu anda bu konuyu ayrı bir başlık yapmak ya da savımı bunun üzerine kurmak istemiyorum. Bu örneği yalnızca adlandırma konusundaki daha geniş çekincemi anlatmak için verdim.

Anlatmak istediğim daha genel bir şeydi: Yerlerle, ekinlerle, geçmişle, halklarla ya da topluluklarla bağlantılı adların teknik ya da tecimsel belirteçlere dönüştürülmesi konusunda daha sakınımlı olunması gerektiğini düşünüyorum. Bir adın ilgi çekici duyulması, bir geleneğe uyması ya da yaygınlaşmış olması, onun kökenine ilişkin soruları tümüyle ortadan kaldırmayabilir.

Burada şunu da ayırmak isterim: Yer adlarının yazılımda kullanılması kimi durumlarda bütünüyle anlamsız olmayabilir. Özellikle yazılım dili, kütüphane, çatı, çevre ya da nesne yönelimli yapılarda ada, kıta, yer, ağ, köprü, yol gibi adlar benzetmeye dayalı bir uyum taşıyabilir. Bir dilin ya da yazılım çevresinin birçok parçayı bir araya getirmesi, farklı alanları bağlaması ya da bir “yer/çevre” gibi düşünülmesi bakımından bu tür adların neden seçildiğini anlayabiliyorum.

Ancak bir adın benzetme yönünden bir ölçüde uygun görünmesi, onun ekinsel, tarihsel ya da yerel kökeninden tümüyle koparıldığı gerçeğini ortadan kaldırmaz. Bence asıl gerilim burada ortaya çıkıyor: Ad bir yandan yazılım açısından anlamlı ya da akılda kalıcı görünebilir; öte yandan geldiği yer, geçmiş ya da topluluk bağlamından ayrılarak teknik veya tecimsel bir belirtece dönüşebilir. Benim çekincem bu ikisi arasındaki gerilimle ilgilidir.

Bu nedenle “bu adların hiçbir anlamı yoktur” ya da “tümüyle alakasızdır” demiyorum. Tersine, kimi adların neden seçildiğini ve ne tür bir benzetme ilişkisi kurduğunu anlayabiliyorum. Fakat bu benzetme ilişkisi varsa bile, adlandırmanın daha özenli düşünülmesi gerektiğini düşünüyorum.

Ayrıca çekincemin Rusya, Ukrayna, Rus ulusçuluğu ya da bugünkü herhangi bir siyasal konuyla ilgili olmadığını da açıklığa kavuşturmak isterim. Kotlin kullanmanın Rusya’yı, Rus siyasetini ya da herhangi bir siyasal duruşu desteklemek anlamına geldiğini söylemiyorum. Anlatmak istediğim bu değildi.

İkinizin de belirttiği noktaları anlıyorum: Kotlin adının bilerek adadan seçildiğini, bunun daha geniş Java çevresindeki ad verme alışkanlığına uyduğunu ve birçok yazılım dili adının zamanla kendi başına bir belirtece dönüştüğünü anlıyorum. Yiyecek adlarıyla ve başka dil adlarıyla kurulan benzetmeleri de anlıyorum.

Bununla birlikte, adların yaygınlaştıktan sonra tümüyle anlamsız duruma geldiğini düşünmüyorum. Bir ad teknik bağlamda yeni bir kimlik kazanabilir; ancak yine de ilk kökeninin izlerini taşıyabilir. Bu köken birçok kullanıcı için önemsiz olabilir; ancak kimi kullanıcılar için yine de anlam taşıyabilir.

Bu nedenle çekincem yalnızca Kotlin ile ilgili değildir. Daha genel olarak yazılım dünyasındaki ad verme alışkanlıklarıyla ilgilidir.

Kotlin’in teknik değerine ve topluluğunun emeğine saygı duyuyorum. Bununla birlikte, ilkesel olarak adın yeniden ele alınmasını desteklerim. Yerleşmiş bir yazılım dili adını değiştirmenin güç, sarsıcı etkileri olabilecek ve kısa sürede gerçekleşmesi beklenmeyecek bir şey olduğunu da anlıyorum. En azından gelecekteki işler için daha özenli ad verme ilkelerinin yararlı olacağını ve olanaklı olduğunda daha açıklayıcı, yansız ya da işe dönük adların yeğlenebileceğini düşünüyorum.

İlk iletimdeki Türkçe bölüm konusunda da söylenenleri anlıyorum. Buradaki birçok kişinin Türkçe okuyamayacağını ve Türkçeyi öne koymanın katılımı azaltabileceğini kabul ediyorum. Türkçeyi önce yazmamın nedeni, düşüncemi en açık biçimde düşünebildiğim dilde anlatmak ve ardından İngilizce karşılığını eklemek istememdi. Bunun amacı kimseyi dışlamak değildi. Gelecekte bunu da göz önünde bulunduracağım.

Soruyu ciddiye alıp yanıtladığınız için yeniden sağ olun.


Thank you both for your detailed responses.

I deleted my previous reply because I realized that I had sent it too quickly without checking my wording carefully enough. I want to rewrite my response more clearly.

First, I want to clarify one point about the example I gave regarding Turkishness. I did not formulate that example well. I did not mean it as a claim of right, ownership, authority, or representation over Turkishness. That was not the sense in which I used the example.

Since Turkishness is not the main subject of this discussion, I do not want to make it a separate issue here or build my argument on it. I only used it as an example to explain my broader concern about naming.

What I meant was more general: I think we should be more cautious about turning names connected to places, cultures, histories, peoples, or communities into technical or commercial identifiers. The fact that a name sounds interesting, fits a tradition, or has become widely established may not completely remove questions about its origin.

I also want to make a distinction here: the use of place names in software may not be entirely meaningless in some cases. Especially in programming languages, libraries, frameworks, ecosystems, or object-oriented structures, names related to islands, continents, places, networks, bridges, or paths can have an analogical fit. I can understand why such names may be chosen when a language or software ecosystem brings many parts together, connects different areas, or can be imagined as a kind of “place” or “environment”.

However, the fact that a name may have some analogical suitability does not completely remove the fact that it can also be separated from its cultural, historical, or geographic origin. I think this is where the tension appears: on the one hand, the name may seem meaningful or memorable in a software context; on the other hand, it may become detached from the place, history, or community context it came from and turn into a technical or commercial identifier. My concern is about that tension.

So I am not saying that these names have no meaning or are completely unrelated. On the contrary, I can understand why some of them were chosen and what kind of analogy they may be trying to create. But even when such an analogy exists, I still think naming should be considered more carefully.

I also want to clarify that my concern is not about Russia, Ukraine, Russian nationalism, or any current political issue. I am not saying that using Kotlin supports Russia, Russian politics, or any political position. That was not my point.

I understand the points you both made: that Kotlin was intentionally named after the island, that this fits into a wider Java ecosystem naming tradition, and that many programming language names eventually become identifiers in their own right. I also understand the comparison with food names and other language names whose origins most people no longer think about.

However, I still do not think names become completely meaningless just because they become widely used. A name can gain a new technical identity, but it can still carry traces of its origin. For many users that origin may not matter, but for some users it can still matter.

So my concern is not only about Kotlin. It is about naming habits in software more generally.

I respect Kotlin’s technical value and the work of its community. At the same time, as a matter of principle, I would support reconsidering the name, even though I understand that renaming an established programming language would be difficult, disruptive, and unlikely to happen quickly. At the very least, I think future projects could benefit from more careful naming guidelines and from preferring more descriptive, neutral, or function-oriented names where possible.

Regarding the Turkish part of my original message: I understand that many people here may not read Turkish and that placing Turkish first may reduce engagement. I wrote it that way because I can think most clearly in Turkish and wanted to express the idea accurately before providing the English version. It was not meant to exclude anyone. I will take that feedback into account in future posts.

Thank you again for engaging with the question.

To me, naming is a matter of taste as well as mindset. I loved it when Java versions had animal names. There was a “Tiger” release, a “Mustang” release, and a “Dolphin” release. I also like it when names follow a tradition or de facto standard, like “foo,” “bar,” and “baz,” or “Alice,” “Bob,” and “Charlie.” I also like it when names nod to a predecessor or inspiration, like C to the B language, C++ to C, Linux to Unix, and Postgres to Ingres. On the other hand, I don’t place much importance on a name as long as it’s not misleading. Others seem to share this sentiment. You are the first person I have ever encountered who considers the name Kotlin or related projects as problematic.

I don’t know what else to say other than, “A rose by any other name would smell as sweet.”

2 Likes

I think the opposite. We shouldn’t worry too much that something we say or do, might somewhere, somehow, by chance, because of a coincidence, or simply due to someone’s oversensitivity, make someone feel offended or upset.

If we followed that approach, we’d have to study every language and every culture in the world before saying anything at all, just to make sure that someone, somewhere, wouldn’t end up feeling offended.

I don’t agree with that way of thinking.

1 Like