Şimdi öğrenmek için en iyi programlama dili

Bilgisayarları anlamanın ve onları kendi irademize boyun eğdirmenin en iyi yolu, komutlarımızı anlayabilmeleri için onların dilini konuşmayı öğrenmektir. Fantastik romanları seven insanlar bazen büyülü büyüler ve büyülü sözler öğrendiklerini hayal ederler. Pratik olarak düşünenler, sayıların ve verilerin mantıksal yapısını temsil etmek için daha temelli bir dil kullanır. Her durumda, önemli olan tuş vuruşlarının ve fare tıklamalarının bilgisayarın metaforik çemberlerden atlamasına ve sanal danslar gerçekleştirmesine neden olacağını anlamakla ilgilidir.

Her okul, MOOC ve eğitim sitesi genç Padawalılar için bir ilk dili benimsemelidir. Fusty Harvard gibi bazı yerler hala 70'lerin C dönemine bağlı, ancak birçok okul JavaScript, Python ve Java arasında gidip geliyor. Biri her tarayıcıya gömülüdür, biri sosyal bilimlerin temiz seçimidir ve diğeri daha matematiksel düşünen insanların tür açısından zengin tercihidir.

En iyi seçim mi? Biri diğerlerinden açıkça daha mı iyi? Yoksa hepsi eşit derecede yüksek sayıda öğrenciyi geceleri yastıklarına bağırarak mı gönderirler? Java, Python veya JavaScript öğrenmek için en iyi nedenleri inceleyelim.

Java klasiktir

Gelişmiş Yerleştirme testi, Java'yı uzun zaman önce Java gençken ve patlarken seçti. Belki de Java, herkesin tamamen baskın olacağını varsaydığı halde, başlangıçtaki yörüngesinin zirvesine asla ulaşamadı, ancak birçok web sitesinin, akıllı telefonun, televizyonun ve küçük cihazın omurgası olmaya devam ediyor.

Güçlü bir takipçiye sahip bir dil seçmek, öğrencinin gelişmiş geliştirme araçlarıyla zaten tam olarak stoklanmış bir çoğunluğa atlamasını sağlar. Dahası, öğrencinin kendi çalışmaları için çalışabileceği, gözden geçirebileceği ve genişletebileceği sayısız açık kaynak kodu satırı vardır. Büyük bir harekete katılıyorlar ve uyum sağlamaları kolay.

Python yeni

Aslında Python o kadar yeni değil - proje 30 yıldan daha uzun bir süre önce başladı - ama yeni hissediyor çünkü başarısı yavaş geldi. Python, ancak son zamanlarda patlak verdi ve sıradan programcılar tarafından yaygın bir şekilde benimsendi. Yenilik, Python'u benimseyen okulların yeni ders planları oluşturduğu, yeni sınavlar yazdığı ve yeni slayt desteleri geliştirdiği anlamına geliyor. Pets.com ve MySpace'e referanslarla 1990'lardan kalma bazı tozlu eski soruları araştırmıyorlar.

Bilgisayar Bilimi İlkeleri adı verilen en yeni AP kursu, öğretmenin bilgisayar dilini seçmesine izin verir ve çoğu, tazeliğinden dolayı Python'u seçer. Yeniliğin dış görünümü olabilir, ancak tüm diller, montaj kodunun eğer-öyleyse-karar yapısını gizleyen akıllıca bir sözdizimidir.

Tüm bu başarı, olumlu bir geri bildirim döngüsü oluşturuyor. Tiobe endeksinin Kasım 2020 baskısı, Python'un, dilin Java'dan nasıl daha popüler hale geldiğini kabul ederek, iki numaralı yuvaya (C'nin arkasında) ilk kez tırmandığı oldu.

JavaScript her yerde

Tarayıcının içindedir ve tarayıcı, masaüstünüzün, telefonunuzun ve her yerde gördüğünüz tüm kioskların temelidir. Node.js web uygulamaları geliştiricilerin hem istemcilerde hem de sunucu gruplarında çalışabilen "izomorfik kod" yazmasının en popüler yolu haline geldiğinden, son on yılda JavaScript web sunucularının ön saflarını ele geçirdi. JavaScript pratik olarak Java ile aynı yaştadır ve yine de sunucu tarafının gücünü keşfetmesi yıllar aldı. Hem yeni hem de eski.

Java yazılmıştır

Her değişkenin türünü belirtmek için zaman harcamaktan hoşlanmayabilirsiniz, ancak kodunuza "int" eklemek için üç tuşa tıklamak o kadar zaman almaz. Bunu yaptığınızda, derleyicinin kodunuzu hemen iki kez kontrol etmesine ve dağıtılmadan önce aptalca hataları bulmasına izin vermekten gelen tüm gücü kazanırsınız. Tip kontrollü diller bizi kodumuzdaki mantık hakkında daha titiz düşünmeye zorlar ve bu, yeni programcılar için önemli bir ders. Java'nın tür yapısı hataları azaltır ve daha iyi kodlar oluşturur.

Python yazılmamış

Yazılı dili sevenler akıllıdır ve iyi kod yazarlar, ancak kodunuzun her değişken için veri türleri hakkında ekstra bilgi olmadan sorunsuz çalışacak kadar iyi olduğunu düşünüyorsanız, Python sizin için hazırdır. Bilgisayar, verileri bir değişkende sakladığınızda verilerin türünü bulabilir. Neden kendinize fazladan iş yapasınız?

Bu serbest yaklaşımın yavaş da olsa değişebileceğini unutmayın. Python belgeleri, Python çalışma zamanının işlev ve değişken türü açıklamalarını zorunlu kılmadığını ancak yine de kullanılabileceğini duyurur. Belki zamanla tür eklemek, dilde programlama yapmanın baskın yolu haline gelecektir, ancak şimdilik bu sizin seçiminiz.

JavaScript her ikisi de

JavaScript'in kendisi türsüzdür, ancak son zamanlarda JavaScript dünyasının bazı yüksek profilli üyeleri, istediğiniz zaman türleri ayarlamanıza olanak tanıyan orijinal dilin bir üst kümesi olan TypeScript'e geçmektedir. Ve istemiyorsanız, normal JavaScript de iyi çalışır. Tip kontrolünün rahat bir versiyonu.

Java kuralları cihazları

Dünyadaki en popüler cep telefonu platformu, Java'nın üzerine inşa edilmiş büyük bir kod yığını olan Android'dir. Ancak bu sadece en görünür platformdur. Set üstü kutular, yeni Chromebook'lar ve hatta bazı masaüstü bilgisayarlar, tıpkı akıllı telefonlar gibi Android uygulamalarını çalıştırır. Java'nın yakın bir kuzeni olan C #, Windows dünyasına hakimdir. C # Java ile tam olarak aynı değildir, ancak çok yakındır. Sabit bir donanım parçası için bir uygulama yazacaksanız, Java'nın en iyi seçim olma ihtimali yüksektir.

Python veri bilimini yönetir

Verilerle çalışmak için yazılım yazıyorsanız, Python'u kullanmak isteyebilirsiniz. Basit sözdizimi birçok bilim insanının ilgisini çekti ve dil, ülke çapındaki laboratuvarlarda güçlü bir takipçi kitlesi buldu. Python artık veri bilimi iş dünyasının tüm katmanlarında etkili olmaya başladığı için takip ediyor.

Etkileşimli belgeler oluşturmak ve paylaşmak için en iyi icatlardan biri olan Jupyter Notebook, diğer dilleri benimsemeden önce Python topluluğuyla başladı. Yazılım, veri ve neler olduğunu açıklayan metni karıştırmanın en iyi yollarından biridir. Okuyucular kelimeleri emebilir ve ardından yazılımı veriler üzerinde çalıştırmak için düğmelere basabilir.

JavaScript web'i yönetir

Diğer platformlar güzel olabilir, ancak web tarayıcısı, neredeyse herkesin dünyayla bağlantı kurmak için kullandığı tek portal olmaya devam ediyor. Genellikle masaüstünde, akıllı telefonda ve tablette en çok kullanılan yazılımdır. JavaScript, bu yerel istemcinin patronu olarak başladı ve Node.js'nin büyümesi, geliştiricilerin istemcide ve sunucuda aynı kodu çalıştırmasını kolaylaştırdığından, etkisi toplam hakimiyete doğru genişledi.

Ayrıca, web uygulamanızı oluşturmak için bir temel sunan düzinelerce iyi JavaScript çerçevesi (Angular, React, Vue, vb.) Vardır ve bazıları kodunuzu istemci ile sunucu arasında gerektiği gibi hareket ettirecek kadar akıllıdır. 

Diğer dillerin egemen olduğu dünyalarda bile, JavaScript yığına girmeye çalışıyor. Birçok akıllı telefon geliştiricisi, çapraz platform uygulamalarını JavaScript'te oluşturmak için Java ve Swift'i atlıyor. Sonuçta, JavaScript, tarayıcının dikdörtgeninde ne olacağını belirler ve bu, her yerde çoğu tıklama ve tuş vuruşuna ne olacağına karar vereceğini hemen hemen garanti eder.

Java her şeyi çalıştırır

Python kodu yazarsanız, Java Sanal Makinesi'nin her yerde bulunmasından yararlanmak için Java'da yazılan dilin bir uygulaması olan Jython'da çalışmaya son verme şansı yüksektir. JavaScript çalıştırmanız gerekiyorsa, JavaScript'i Java bayt koduna dönüştüren iki araç olan Rhino ve Nashorn'a da besleyebilirsiniz.

Bu iki dil, JVM'nin sağlam performansına dayanan tek dil değil. Scala, Clojure ve Kotlin gibi birçok işlevsel programlama dili de aynı temellere dayanır. Bu, aynı projede kullanmak istiyorsanız bu JVM tabanlı dilleri birbirine bağlamayı kolaylaştırarak herkese yardımcı olur.

Python her yerde çalışır

Python, diğer diller için öykünücüler yazan insanlar için ilk seçenek ve hatta son seçenek değildir. Yine de, birçok bilgisayarda Python'u bulmak kolaydır. Dilin yaratıcıları kodu her zaman açık kaynak olarak dağıtmıştır ve paketler hemen hemen her yerde bulunur. Aslında, Python'un MacOS ve çoğu tam özellikli Linux dağıtımına dahil olduğunu göreceksiniz. Ve Windows'a dahil olmasa da, yüklemek çok kolay, sadece akıllıca yapın.

JavaScript tarayıcıda çalışır

Tarayıcıda uyarı kutuları oluşturmak için oluşturulan oyuncak dilinin artık birçok dilin temeli olduğuna inanmak zor. Geliştiriciler kullanıcılara ulaşmak isterler ve kullanıcılar tarayıcıda yaşıyorsa, kodunuzun JavaScript'te çalışması için bir yol bulmak herkese ulaşmanın en hızlı yoludur.

JavaScript'e aktarılan sadece CoffeeScript ve LiveScript gibi JavaScript kuzenleri değildir. Lisp, OCaml ve Pascal gibi diller bile JavaScript'e dönüştürülebilir ve tarayıcıda çalıştırılabilir. Python, Jupyter not defterleri gibi projelerde tarayıcıda popülerdir ve hatta Java, Google Web Araç Seti gibi araçlar kullanılarak JavaScript'e çevrilebilir.

Java'nın güçlü IDE'leri var

Eclipse, NetBeans ve IntelliJ, etraftaki en iyi entegre geliştirme ortamlarından bazılarıdır. Java topluluğu tarafından yaratıldılar ve yıllar içinde kod yazmak için en destekleyici ortamlardan birini oluşturmak için geliştirildi. Kod tamamlama ve kod oluşturma algoritmaları, tüm yazılımınızı yazmayabilir, ancak önemli miktarda yazabilirler. Tüm bu el tutma, yeni geliştiricilerin sözdizimini doğru bir şekilde almasına gerçekten yardımcı oluyor. 

Bu IDE'ler o kadar popülerdi ki, diğer dillerdeki geliştiriciler kendi kodlarını içlerinde çalıştırmanın bir yolunu buldular. Profesyonel bir Java programcısı olursanız, neredeyse kesinlikle onlardan birini kullanıyor olacaksınız. Bu arada, daha basit ve daha dostane bir Java programlama deneyimi istiyorsanız, BlueJ veya Greenfoot'u deneyin. Bu "başlangıç ​​IDE'leri" özellikle Java öğrenmek için tasarlanmıştır.

Python'da bulut var

Python dili Unix dünyasında ilk yuvasını buldu ve bu nedenle Linux kutuları ile dolu bulutların bol miktarda Python kodu bulmak için doğal yerler olması şaşırtıcı değil. Jupyter gibi en yeni araçlardan bazıları, kod, veri ve açıklamayı bir araya getirir, böylece insanlar içgörülerini başkalarıyla canlanan araştırma kağıtları olarak paylaşabilirler. Jupyter not defterleri statik belgeler değil, keşfetmeye yönelik etkileşimli araçlardır.

Diğerleri, araştırmayı geliştirmek için dil etrafında sofistike araçlar geliştiriyor. Örneğin PyTorch, kod, veri ve analiz için algoritmalarla dolu bir derin öğrenme araç setidir. Bunun gibi ortamlar, veri biliminin geleceğine hakim olacaktır.

Ayrıca, dizüstü bilgisayarlar için veri paylaşımı ve büyük, yoğun hesaplama veri analizi işlerini yürütmek için ekstra özellikler ekleyen birkaç iyi ana bilgisayar vardır. Örneğin Google, verilerinizi depolayacak ve daha hızlı hesaplama için GPU'lara bazı ücretsiz erişim sağlayacak Colaboratory'ı çalıştırır. Saturn Cloud, masaüstünüzden 100 kat daha hızlı olabilecek bir performans sunar.

JavaScript'te JSFiddle var

Her tarayıcı, bir IDE görevi görmek için fazlasıyla yeterli güce sahiptir. JSFiddle, JavaScript kodunu diğer geliştiricilerle paylaşmanıza izin veren bir düzineden fazla web sitesinin yalnızca en belirgin olanıdır. Bununla birlikte, web sayfaları statik değildir çünkü kodla oynayabilir ve aynı web sayfasında çalışmasını izleyebilirsiniz. Bunun gibi araçlar, JavaScript'in tüm sözdizimsel eğlencesini denemeyi kolaylaştırır.

Herhangi birini veya üçünü de öğrenin

Programlama dünyası çapraz tozlaşmayı sever. Farklı diller arasında gidip gelmek ve sözdizimini düz tutmak kafa karıştırıcı olsa da, projelerde çok fazla takılıp kalmadan üç dili de kullanmak mümkündür. Verileri analiz eden Java veya JavaScript projeleri, Python'da yazılmış veri bilimi kitaplıklarına bağlanabilir. Veya Python projeleri Java veya JavaScript kodunu çalıştırabilir.

Akıllı geliştiriciler, farklı dilleri otomatik olarak çevirmek, birbirine bağlamak ve birbirine entegre etmek için araçlar da yarattılar. Tarayıcınızda Python kodunu çalıştırmak istiyor musunuz? Şimdi birkaç farklı seçenek var ve muhtemelen daha fazlası geliyor. Java, JavaScript'i değerlendirecek bir ScriptEngine sınıfına sahiptir. Çeviri veya öykünme yoluyla JavaScript olarak çalışacak yüzlerce farklı dil vardır.

Kısacası, üç dilin birbirinden izole edilmiş adalar olması gerekmez. Uzun vadede bir tane seçmenize gerek yok. Ama önce bir tane ile başlayın.

Yazılım geliştirme hakkında daha fazlasını okuyun:

  • Kilitleme sırasında en iyi ücretsiz programlama kursları
  • CI / CD nedir? Sürekli entegrasyon ve sürekli teslimat açıklaması
  • Çevik metodoloji nedir? Modern yazılım geliştirme açıkladı
  • API nedir? Uygulama programlama arayüzleri açıklandı
  • Şimdi öğrenmek için en iyi programlama dili
  • 2020'deki en değerli yazılım geliştirici becerileri
  • AI geliştirme için en iyi 6 programlama dili
  • 2020'de en yüksek ödeme yapan 24 geliştirici rolü
  • Tam yığın geliştirici: Nedir ve nasıl olunur?
  • Her yazılım geliştiricisinin kaçınması gereken 9 kariyer tuzağı