Java bilen aç kalır mı?

Bir yazılım diline hakim olduktan sonra diğerlerini öğrenmek daha kolay olduğuna katılıyorum ama hepsinin aynı şey olduğuna kesinlikle katılmıyorum. Her dilin kendine has özellikleri var. Örneğin c# ile js arasında uçurum var veya node.js gibi ortamlarda çalışacaksan her şeyi async düşünmen gerekiyorki buda yazılım mantığını bile değiştiriyor. Yane çoğu arkadaş yardırmış aynı şey diye ama değil. Önemli olan nokta hangi alana yönelmek istiyorsun. Örneğin bir inşaat ustası genel bir sıfattır ama birisi kayna diğeri ise beton ustasıdır. Yazılımdada bir sürü dal vardır ve bu dallar aralarında bile dallanıyorlar. Örneğin web konusunda uzmanlaşacağım dersen front-end, back-end, database gibi alanlar var. Eminim masa üstü veya mobil yazılımcılarda bile budaklanmalar mevcuttur.
 
Bir yazılım diline hakim olduktan sonra diğerlerini öğrenmek daha kolay olduğuna katılıyorum ama hepsinin aynı şey olduğuna kesinlikle katılmıyorum. Her dilin kendine has özellikleri var. Örneğin c# ile js arasında uçurum var veya node.js gibi ortamlarda çalışacaksan her şeyi async düşünmen gerekiyorki buda yazılım mantığını bile değiştiriyor. Yane çoğu arkadaş yardırmış aynı şey diye ama değil. Önemli olan nokta hangi alana yönelmek istiyorsun. Örneğin bir inşaat ustası genel bir sıfattır ama birisi kayna diğeri ise beton ustasıdır. Yazılımdada bir sürü dal vardır ve bu dallar aralarında bile dallanıyorlar. Örneğin web konusunda uzmanlaşacağım dersen front-end, back-end, database gibi alanlar var. Eminim masa üstü veya mobil yazılımcılarda bile budaklanmalar mevcuttur.

O dedigin farklilik paradigma farki. Dil ile alakasi yok. C# ile Rx kullanirsan o zaman da node gibi async dusunmek zorunda kalirsin. C# in buna destek vermesi guzel. Ama sonucta 1 kere Reactive programlamayi ogrenirsen, C# ile de, node ile de, Angular Typescript ile de yazarsin. Yine degisen yalnizca syntax.
 
O dedigin farklilik paradigma farki. Dil ile alakasi yok. C# ile Rx kullanirsan o zaman da node gibi async dusunmek zorunda kalirsin. C# in buna destek vermesi guzel. Ama sonucta 1 kere Reactive programlamayi ogrenirsen, C# ile de, node ile de, Angular Typescript ile de yazarsin. Yine degisen yalnizca syntax.

Tamamda her dilin sonuçta paradigmada desen farklı ayrıca typescript ayrı bir konu, o mevcut js üstüne tipi tanımlamaları getiriyor ama en başından beri js otomatik tip çevirmesi olan bir dildir ve typescript bile bunu herzaman garanti etmiyor. Yane burda bile fark varki js nin çalışma mantığı diğer çoğu dilden farklı. Çoğu dili compile etmen lazım ama js uygulama sırasında compile oluyor. C dillerin çoğunda hafıza yönetimi düşünmen lazım javascriptte ise hafızayı nasıl efektif kullanırım düşünmen lazım ama hafıza yönetimi yok. Tabi bir işlemi yapacağın zaman temel prensipler belki aynıdır örneğin bir türke çay köy dersen de inglize desende önce suyu kaynatacaklar ama birisi bize küçük bardaklara doldurur diğeri ise fincan kıllanır aynı mantık yazılım dillerindede var. Yane yapılış şekli bile değişebiliyor.
 
Son düzenleme:
Tamamda her dilin sonuçta paradigmada desen farklı ayrıca typescript ayrı bir konu, o mevcut js üstüne tipi tanımlamaları getiriyor ama en başından beri js otomatik tip çevirmesi olan bir dildir ve typescript bile bunu herzaman garanti etmiyor. Yane burda bile fark varki js nin çalışma mantığı diğer çoğu dilden farklı. Çoğu dili compile etmen lazım ama js uygulama sırasında compile oluyor. C dillerin çoğunda hafıza yönetimi düşünmen lazım javascriptte ise hafızayı nasıl efektif kullanırım düşünmen lazım ama hafıza yönetimi yok. Tabi bir işlemi yapacağın zaman temel prensipler belki aynıdır örneğin bir türke çay köy dersen de inglize desende önce suyu kaynatacaklar ama birisi bize küçük bardaklara doldurur diğeri ise fincan kıllanır aynı mantık yazılım dillerindede var. Yane yapılış şekli bile değişebiliyor.
JS compile olmuyor, calisirken de compile olmuyor. Yanlis.

Memory management i Garbage Collective yapan dillerde de dusunmen gerekiyor. SQL bile yazarken memory management i dusunuyorsun, ona gore sorgu yapiyorsun eger kritik bir seyse.

Object Oriented nedir, imperative nedir, prosedural nedir, memory management nasil yapilir vs bunlari ogrendikten sonra hepsi ayni bir anlamda. Birinde A seklinde yapiyorsun, digerinde B seklinde yapiyorsun. Ama arkada olup biten ayni.

Onemli olan saydigim seyleri bilmek, cunku dillerin hepsi gecici. 50 sene sonra bambaska diller gelecek ama memory management yine yapmak zorunda kalacaksin.

Yeni baslayan birisi "Gelecek Object oriented imperative dillerde, onu ogreneyim" gibi yaklasmasina hic gerek yok. Temel seyleri kavra sonra her sey sekilleniyor. Zaten maymuncuk gibi her seyi yapan bir dil olmayacagini o zaman anliyor insan.
 
JS compile olmuyor, calisirken de compile olmuyor. Yanlis.

Memory management i Garbage Collective yapan dillerde de dusunmen gerekiyor. SQL bile yazarken memory management i dusunuyorsun, ona gore sorgu yapiyorsun eger kritik bir seyse.

Object Oriented nedir, imperative nedir, prosedural nedir, memory management nasil yapilir vs bunlari ogrendikten sonra hepsi ayni bir anlamda. Birinde A seklinde yapiyorsun, digerinde B seklinde yapiyorsun. Ama arkada olup biten ayni.

Onemli olan saydigim seyleri bilmek, cunku dillerin hepsi gecici. 50 sene sonra bambaska diller gelecek ama memory management yine yapmak zorunda kalacaksin.

Yeni baslayan birisi "Gelecek Object oriented imperative dillerde, onu ogreneyim" gibi yaklasmasina hic gerek yok. Temel seyleri kavra sonra her sey sekilleniyor. Zaten maymuncuk gibi her seyi yapan bir dil olmayacagini o zaman anliyor insan.

Js Çalıştığın ortama göre compile olabiliyor v8 engine jit compiler kullanıyor. Bende zaten dillerin değişebileceğini söylüyorum ama savunduğum şey bir dili öğren diğerinde a yerine b yazarsan aynı şey olur mantığını yanlış olması çünkü dillerin hepsinin ayrı özelliği var ve zaten bu özellikleri olmasa bukadar dil olmazdı.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı