"her işin bir ustası, her dilin bir raconu vardır" felsefesinin, yazılım ekiplerinin (bkz: cv) 'sine yansımasıdır. türkçesi: çok dillilik.

olay, tek bir projeyi veya sistemi (bkz: baştan sona java yazmak) gibi (bkz: amele sümüğü) bir yaklaşımla değil de, "işin hangi kısmı neyi gerektiriyorsa, o işi en iyi yapan dili kullanalım" aydınlanmasıdır. (bkz: right tool for the job) mottosunun (bkz: resume driven development) ile kesiştiği o tehlikeli kavşak.

(bkz: mikroservis mimarisi) denen hadisenin "abi madem servisleri böldük, herkes istediği dilde yazsın o zaman?" diye gazı vermesiyle popüler olmuştur.

ideal senaryo (hayaller):

yapay zeka / data science işi mi var? bas oraya (bkz: python) 'ı. (bkz: jupyter notebook) 'ta takılsın data'cılar.

yüksek performanslı, saniyede milyon request alacak (bkz: network) servisi mi lazım? (bkz: go) veya (bkz: rust) çaksın geçsin.

web arayüzü mü? zaten mecbursun, (bkz: javascript) ve onun (bkz: framework) 'lerine (bkz: react), (bkz: vue) vs.

ana iş yükü (backend), kurumsal hafıza, banka entegrasyonu mu? sal gelsin (bkz: java) veya (bkz: c#).

küçük scriptler, otomasyon işleri mi? (bkz: bash) veya (bkz: perl) (perl mü kaldı?).

kulağa ne kadar mantıklı, ne kadar medeni geliyor, değil mi? "herkes mutlu, her servis performanslı..."

gerçek hayat (acı gerçekler):

(bkz: resume driven development): asıl sebep genelde budur. (bkz: tech lead) bir yerde "abi (bkz: elixir) diye bi dil çıkmış, (bkz: erlang) falan, coşuyormuş" okur. ertesi gün "notification servisini elixir ile yeniden yazıyoruz" diye gelir. neden? çünkü cv'ye "elixir ile proje yönettim" yazacak. o servisin 6 ay sonra (bkz: yetim) kalması kimsenin umrunda olmaz.

devops'un dramı:

java için (bkz: jvm) ayarı yap.

python için (bkz: venv) ve (bkz: dependency) cehennemiyle boğuş.

(bkz: node js) için (bkz: npm audit) 'te çıkan 1500 güvenlik açığıyla uğraş.

go için statik binary'i al.

hepsine ayrı (bkz: dockerfile) optimize et, (bkz: ci/cd) pipeline'ı kur. devops'çu intiharın eşiğine gelir. (bkz: ben sadece boru döşeyecektim).

haskell'ci çocuk işten ayrıldı: o (bkz: süper performanslı) olması için (bkz: scala) veya (bkz: haskell) ile yazılan (bkz: kutsal) servise, onu yazan çocuk 3 ay sonra (bkz: booking com) 'a transfer olduğunda kimse dokunamaz. o servis (bkz: black box) olarak orada durur. dua edersin ki patlamasın.

yeni eleman (onboarding) çilesi: yeni başlayan (bkz: junior developer) 'a "hoş geldin, projeyi ayağa kaldırman için önce java, sonra go, sonra python kurman, bir de şu (bkz: lisp) koduna bakman lazım" dersin. çocuk ertesi gün "abi ben (bkz: kurumsal) 'a geçiyorum" diye kaçar.

kütüphane tutarlılığı: bir serviste (bkz: json) parse etmek için kullandığın kütüphane, diğer dildekinin davrandığı gibi davranmaz. (bkz: tarih formatlama) bir serviste (bkz: iso 8601) iken, diğeri (bkz: unix timestamp) basar. (bkz: distributed tracing) yaparken kafayı yersin.

özetle: polyglot programming, (bkz: tecrübeli) ve (bkz: olgun) ekiplerin elinde bir (bkz: isviçre çakısı) 'dır.

ancak, çoğunlukla, "abi şu yeni dili de deneyelim" diyen heyecanlı yazılımcıların, 3 yıl sonra (bkz: arap saçına dönmek) deyimini birebir yaşadığı, yönetilemez bir (bkz: teknoloji mezarlığı) yaratma sanatıdır.

(bkz: just because you can doesn t mean you should)
devamını gör...

bu başlığa tanım girmek için olabilirsiniz.

zaten üye iseniz giriş yapabilirsiniz.

"polyglot programming" ile benzer başlıklar

normal sözlük'ü kullanarak 3. parti dahil tarayıcı çerezlerinin kullanımına izin vermektesiniz. Daha detaylı bilgi için çerez ve gizlilik politikamıza bakabilirsiniz.

online yazar listesini görmek için lütfen giriş yapın.
zaman tüneli köftehor rehberi portakal normal radyo kütüphane kulüpler renk modu online yazarlar puan tablosu yönetim kadrosu istatistikler iletişim