Golang ve Node.js

Hüseyin Mert
Nov 7 · 3 min read

Son 3 yıldır Go ve Node.JS ile uygulamalar geliştirmekteyim. Her ne kadar da geçmişte PHP ve JAVA ile bir çok uygulama geliştirmiş olsam da artık ana dillerim bunlar değil. Dart, Scala ve Python da yine kullanmakta olduğum diller.

Hayatımda hiç hype trenine binemedim. Bu yüzden deneysel bir geliştirici olmadım. Üşüyorum.

Node.JS benim için hype idi, çünkü “her şeyi bununla yapabilirsin”ciler yeri göğü inletiyordu. JAVA’nın mottosu “code once run anywhere” alenen çalınmıştı. Bu yüzden Github’taki akışta önüme NPM paketi çıktığında gözlerimi yummak yerine kodu inceleyip söylenmeyi tercih etmiştim ilk 4 – 5 ay. Node.JS’i neredeyse her tip projede görmeye alışmıştım. Öğrenme kolaylığından dolayı bütün yeni başlanılan projeler “NodeJS ile yapalım” ile başlıyordu.

Biliyorsunuz girişimcilik bir adaptasyon işi. Bu yüzden çevrenin yeni durumuna uyum sağlamaya çalışmalısınız. Full-stack olarak proje geliştirdiğinizde çok fazla konuya birden hakim olmaya çalışmak zorunda kalıp hiçbir konuya hakim olamadan ürününüzü gulyabaniye kendi ellerinizle çeviriyorsunuz. Bir değer üretmek için hayatımızdan neler veriyoruz neler.

Aynı hype Golang için de oluşmuştu. Cross-platform olması inanılmaz derece kolay bir dil olması NodeJS kadar olmasa da “abi Golang var alır mısın?” seviyesine ulaşmıştı.

PROJEYİ KOMPLE WTF İLE YAZDIK.
BÜTÜN SORUNLARIMIZI ÇÖZDÜ.

NodeJS tercihimin ürün geliştirmedeki en büyük savım backend ve frontend Javascript ile yazılabiliyor olması ve kod paylaşımının en üst seviyede olmasıydı. Projeyi JS bilen bir kişinin rahatlıkla her yerine dokunabileceği ve sürdürebileceğini biliyor olmam beni NodeJS’i seçtirmişti.

Amansız dil övücülerin zikri olan “her şeyi çözen” özelliği burada da karşıma çıkıyordu. Sayısız projeyle ilgilendikten sonra bir dilin her hangi bir özelliğinin aslında umrumda olmadığını anladım. Zamanında PHP övmüş olduğumdan dolayı Beşiktaş Beltaş’a gidip sufle yiyip günah çıkartırım. (O değil de PHP’den başka bir dilde https://api-platform.com/ gibi bir şey halen yok.)

Golang hype olduğunda çok hızlı, çok kolay öğreniliyor ve cross-platform ile kolayca kanıma girmişti.

Ancak yine tekrar ediyorum, umrumda değil bunlar.

NodeJS’ten sonra acaba ne kadar kişi bu dille ilgileniyor, kütüphaneler oluştu mu bunlara destek ne kadar oluştu gibi şeylere bakmaya başladım.

Barındırma maliyetlerini düşürebilecek her şeyi okuyup denemeye başladığımdan dolayı dil bağımsız hareket etmem gerekiyordu. Ancak Go bana; JAVA’daki aldığım performans değerlerini, PHP’deki tuning uğraşlarımı, Nginx/Varnish ile cacheleyerek elde etmeye çalıştığım her şeyi unutturdu.

Derlenmiş tek bir dosyayı istediğin ortama atıp çalıştırabiliyor olman ve her hangi bir bağımlılığın olmaması mükemmel ötesi bir durumdu. “Uzayda çalışan kodum var.” bile delirmelik.

Ancak yine tekrar ediyorum, umrumda değil bunlar.

Bana göre NodeJS ve Golang ortak noktaları:

  • Her işi çözerizcileri ve amansız övücüleri korkusuz birer asker.
  • cross-platform derleme ile terlikten tutun ampüle kadar her yerde çalışabilir olması.
  • 13 yıllık tecrübeye sahip geliştiriciler türetmesi.
  • Uzaktan çalışmaya çok müsait olması. “Aaa çalışıyor” kadar bilgi yetiyor.
  • Başkasının bilgisayarında da çalışabiliyor olması.
  • Stabil çözümler sunabilir haldeler.
  • Projelerin karmaşıklığı hem arttı hem azaldı.

Bütün bunlara rağmen bu iki dil de Tooling sayesinde olgunlaştı.

Teknik bir şeyler okumak isterseniz:

Hüseyin Mert

Written by

I want a beautiful life.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade