Zephyrnet Logosu

Veri Bilimi ve Go Programlama Dili – KDnuggets

Tarih:

Sponsor İçerik

Northwestern Üniversitesi Fakülte Direktörü Tom Miller'ın yorumları MSDS programı.

Yıllar önce Minnesota Üniversitesi'nde uygulamalı istatistik öğrencisi olarak akademide programlamayla ilgili bir ders almıştım. Dersin başında profesör şunları söyledi:

“Kendi işinizi yaptığınız sürece ödevler için hangi dili kullandığınız umurumda değil.”

Fortran'la deneyimim vardı ama yapılandırılmış bir programlama tarzını benimsemeye çalışarak kendime Pascal öğretiyordum.

Profesörün sözüne güvenerek, sınıf arkadaşlarım Fortran'ı kullanırken ben ilk ödevi Pascal'da programladım. İlk görevin zamanı geldi. Makalemi (bir program listesi) odanın ön tarafına doğru yürütüp profesöre teslim ediyorum. Şaşkınlıkla bakıyor ve "Bu nedir?" diye soruyor.

Açıklıyorum: “Bu Pascal. Kendi işimizi yaptığımız sürece istediğimiz dilde programlayabileceğimizi söylemiştiniz.”

Bunun üzerine profesör şöyle diyor: “Pascal. Pascal'ı okumuyorum. Sadece Fortran'ı okudum.”

Alınan ders: Akademisyenler özellikle yeni programlama dillerine açık değildir.

FORTRAN

Fortran, John Backus tarafından IBM'de geliştirildi ve 1957'de tanıtıldı. Adını duyduğunuzda, "formül çevirisi"ni düşünün. Fortran, bilimsel ve mühendislik uygulamaları için ihtiyaç duyulan sayısal hesaplamalar için çok uygundur. Fortran, belki de büyük veri kümelerinin ve süper hesaplamanın hesaplama talepleri nedeniyle son zamanlarda yeniden canlanmaya başladı.

PASKAL

İsviçreli Bilgisayar bilimcisi Nicholas Wirth tarafından tasarlanan ve 1970 yılında tanıtılan Pascal, ALGOL'ün bir türevidir. Pascal, 1970'lerde ve 80'lerde birçok üniversitede yapılandırılmış programlamaya yönelik bir hareketle aynı çizgideydi. Pascal'ın varyasyonları Apple ve Microsoft'ta sistem programlama için kullanılmıştır.

 
Bugün çoğu üniversitedeki veri bilimi öğrencileri, ödevlerini Python veya R yerine Go, Rust veya başka herhangi bir çağdaş dilde teslim etselerdi benzer bir deneyime sahip olacaklardı.

Python, makine öğrenimi uygulamaları ve yapay zekayla günü yönetiyor. Veri bilimcileri, bir Python teknesinde can simitleriyle birlikte yol almaktan memnun olabilirler: Dizi, Pandalar, Scikit-öğrenme, ve TensorFlow tarafları tarafından

Ama dikkat et. Günümüzün veri okyanusları dalgalı. Köpekbalıkları yaklaşıyor.

Filmde Şef Brody'nin Quint'e söylediği sözleri hatırlayın Denizin Dişleri: “Daha büyük bir tekneye ihtiyacınız olacak.” Go ile daha büyük, daha hızlı bir tekne yapılmasını öneririm.

GİT (GOLANG)

Go, üç Google bilgisayar bilimcisi tarafından geliştirildi: Robert Griesemer, Rob Pike ve Ken Thompson. C'nin performans avantajlarını korurken, C ile çalışmak C'ye göre daha kolay ve daha güvenlidir. Go, 2009'da tanıtıldı ve Google'da birincil sistem programlama dili oldu. Birçok kuruluştaki kritik görev sistemleri için Go, C/C++, C#, Java ve Python'un yerini alıyor. Go'yu Go masa oyunundan ayırmak ve arama motorlarında daha güvenilir bir terim sağlamak için bazen "Golang" olarak da anılır.

Veri Bilimi Kariyerleri: Go'nun Nedeni

“ başlıklı sunumdaGitmenin NedeniCarmen Andoh, 1980'den 2017'ye kadar bilgisayar dillerinin gelişimini takip etti. Go'nun büyük programlama projelerinde kullanılması konusunda ikna edici bir argüman ortaya koydu. Onun iddiası bugün doğru gibi görünüyor.

  • Go, Makine Verimliliğidir. Yorumlanan dillerin yanı sıra sanal makinelere bağlı olan dilleri de geride bırakır.
  • Python bilgisayar sahnesine otuz yıldan fazla bir süre önce, çok çekirdekli işlemcilerin yaygınlaşmasından önce katıldı. Python tek iş parçacıklı, yorumlanan bir dildir ve eşzamanlı işlem gerektiren sistemler için pek uygun değildir.
  • Veri bilimcileri Python'da yazıyor olabilir, ancak yoğun bilgi işlem gerektiren görevlerde işi yapan C veya C++'dır. Python, makine öğrenimi teknesinin parçalarını bir arada tutan "tutkaldır".
  • Veri biliminin önde gelen dilleri olan Go'nun Python ve R'ye göre avantajlarını gösteren kıyaslama örneklerini bulmak uzun sürmüyor.

Bazen "21. yüzyıl için C" olarak tanımlanan Go, doğrudan makine koduna derlenen, güçlü bir şekilde yazılmış bir dildir. C'den çok daha hızlı derlenir ve neredeyse C kadar hızlı çalıştırılır.

C, C++ ve C#

C, Bell Laboratuvarlarında Dennis Ritchie tarafından geliştirildi ve 1972'de tanıtıldı. Belleğe düşük düzeyde erişim sağladığı ve makine talimatlarını kolayca haritalandırdığı için C, uzun yıllardır popüler bir sistem programlama dili olmuştur. C'nin diğer birçok programlama diline göre performans avantajları vardır. C++ ve C#, C'nin yapısını ve performans avantajlarını korurken, C'ye nesne yönelimli uzantılar sağlar.

Eşzamanlı işleme (hiçbir zaman kolay bir iş değildir) Go'nun kendine özgü bir özelliğidir

Go, günümüzün çok çekirdekli dijital bilgisayarlarından yararlanmak için zengin bir araç seti sunar. Veri bilimi, günümüzün veri odaklı, veri yoğunluklu dünyasının taleplerini karşılayabilecek dillere ve sistemlere ihtiyaç duymaktadır. Veri biliminin Go'ya ihtiyacı var.

Go Programcı Verimlidir. Python'un genellikle öğrenilmesi kolay olduğu söylenir. Ancak Go'yu öğrenmenin Python'dan daha kolay olduğunu savunuyorum. Go, tasarımı itibariyle basitliktir; yalnızca yirmi beş anahtar kelimeden oluşan bir dildir. Go'nun okunması kolaydır, kullanımı kolaydır ve zaman içinde bakımı kolaydır.

Go topluluğunun liderlerinin yeni özellikler ekleme konusunda isteksiz olmalarına sevinelim. Donald knuth doğru bir fikre sahipti. 3.14 sürümüne ulaştığında TeX, dilin yeni sürümlerinin, yeni özelliklerin olmayacağını, yalnızca hata düzeltmelerinin olmayacağını açıkladı. Ve her hata düzeltmesinde π (pi)'den başka bir rakam ödünç alıyordu.

Go programcılarının mantrası: “Basit tutun. Çalıştırmaya devam et.

Go, programcılar arasında ortak bir stil sağlamak için biçimlendirme yardımcı programlarıyla birlikte iyi tanımlanmış bir yapıya sahiptir; bu stile bazen "deyimsel Go" da denir. Go, programcıları bellek sızıntılarından ve hatalardan koruyan otomatik bellek yönetimine (çöp toplama) sahiptir. Go, C ve C++'dan daha güvenlidir.

Go çekirdek geliştiricilerinin geriye dönük uyumluluk konusunda kararlılığı vardır ve Go'nun modül sistemi, derleme zamanında her yapıya doğru paketlerin dahil edilmesini sağlayarak güvenliği artırır. Go, yazılım yığını büyüdükçe yazılım sürümlerini takip eder.

Yazılım geliştirmeyi bir Jenga oyunu olarak düşünün. Tüm yığının çökmemesini sağlarken yığının altındaki bloklara erişmek istiyoruz. Go bunu yapmamıza izin veriyor.

Go Yazılım Yığını Basitleştirir. Peki ya yazılım yığını, altyapı?

Python (C veya C++ ile desteklenmiş olsa bile) göreve uygun olmadığında veri bilimcileri diğer dillere ve sistemlere yönelir. İşte Python'un performans sorunlarına sözde bir çözüm:

 
Veri Bilimi ve Go Programlama Dili

Veri Bilimi ve Go Programlama Dili
 

Yüksek performanslı çözümler uygulamak için veri bilimcileri, Java Sanal Makinesine bağlı olan Scala üzerine kurulu Spark'a yöneliyor. Kolay erişim sağlamak için bu iyi niyetli veri bilimcileri karışıma PySpark'ı da ekliyor. Python'un performans sorunlarını çözmenin en iyi yolu bu mu? HAYIR.

Daha basit bir yazılım yığınını düşünün. Git, sadece git:

 
Veri Bilimi ve Go Programlama Dili

Veri Bilimi ve Go Programlama Dili
 

GopherCon konferanslarından kod örnekleriyle 2021 ve 2023Daniel Whitenack, Go'da makine öğrenimi ve yapay zeka çözümlerinin nasıl uygulanacağını gösteriyor. Üretken yapay zeka ve büyük dil modellerini kullananlar da dahil olmak üzere entegre, akıllı web uygulamaları oluşturmak için Go'yu kullanabiliriz.

Go, günümüzün çok çekirdekli dijital bilgisayarları için mükemmel sistem programlama dilini temsil eder. Go, bulutun dilidir. Go, dağıtılmış hesaplamanın dilidir. Geçmişte Python'u "birleştirici dil" olarak gören veri bilimcileri artık Go'yu "süper birleştirici" olarak görebilirler.

Go Endüstride Yaygın Olarak Kullanılmaktadır. Şirketler Go'nun güvenliğine, basitliğine ve performansına değer veriyor. Ayrıca Go'nun arka uç sistem programlama ortamı olarak güçlü yönlerinin de farkındalar. Go, web ve veritabanı sunucuları, uygulama programlama arayüzleri ve mikro hizmetler geliştirmek için çok uygundur. Go, ölçeklenebilir, yüksek performanslı sistemlerin uygulanması için çok uygundur.

Go'nun doğduğu yer olan Google'dan başlayarak birçok şirket büyük, kritik görev sistemleri için Go'ya güveniyor. Eğer Go yeterince iyiyse Google, Netflix, Uber, dropbox, PayPal, American Express, Capital One, Satış Gücü, Zillowve daha birçokları için Go, geri kalanımız için yeterince iyidir.

Go, inşaat için etkili bir platform sağlayabilirse liman işçisi, Kubernetes, Prometheus, grafana, kalın deri, Terraform, CrowdStrike, vb., HamamböceğiDB, dokuma, Milvus, aerospikeve çok çeşitli dağıtılmış sistemler ve bulutta yerel mikro hizmetler sayesinde Go, veri bilimi uygulamaları oluşturmak için etkili bir platform olabilir.

Bilgisayar bilimi ve veri bilimi eğitimcileri sektörden öğrenmelidir. Go'yu derslerine eklemeliler. Northwestern'de yaptığımız da bu.

Northwestern'de Veri Bilimi için Üç Dil

Go'yu veri bilimi için kullanmak, R ve Python'un sağladığı iyi şeylerden vazgeçmemiz gerektiği anlamına gelmez. Çok dilli olabiliriz.

Bir veri bilimcinin R ile verileri keşfedebileceği, Python ile modeller geliştirebileceği ve Go'da sistemler uygulayabileceği projeleri hayal etmek zor değil. Veri bilimine yönelik üç dil arasında Go en yenisidir. Go yükseliş eğiliminde ve önemli iş fırsatları sunuyor.

Northwestern'in veri bilimi programı programdaki uzmanlıklar genelinde veri bilimi açısından üç dilin güçlü yönlerini takdir ediyor.

  • Analitik ve modellemeye yönelik çok sayıda paket içeren R, uygulamalı istatistikçiler tarafından oldukça kabul görmektedir. Bilimsel programlama ve uygulamalı araştırma için mükemmel bir seçimdir. R özellikle verileri keşfetmek ve görselleştirmek için iyidir. R, Northwestern'in Analitik ve Modelleme uzmanlığındaki çoğu kursta birincil dildir.
  • Python şu anda veri biliminde en popüler bilgisayar dilidir. Özellikle doğal dil işlemede güçlüdür ve derin öğrenme platformlarının birincil istemcisi olarak hizmet eder. Python, model geliştirmek için zengin özelliklere sahip bir ortam sağlar ve Python, Northwestern'in Yapay Zeka uzmanlığındaki çoğu kursta birincil dildir.
  • Go, günümüzün çok işlemcili bilgisayarları için tasarlanmış bir sistem programlama dilidir. Web uygulamaları ve veritabanı sunucuları da dahil olmak üzere veri bilimine yönelik ölçeklenebilir, yüksek performanslı sistemlerin uygulanması için çok uygundur. Go, aşağıdaki şekilde gösterildiği gibi, Northwestern'in Veri Mühendisliği uzmanlığında birincil dildir. Veri Bilimi için Go'yu Öğrenme adresinden özetlerini gönderebilirler.

İçindeki öğrenciler Northwestern Üniversitesi'nin Veri Bilimi alanındaki çevrimiçi Yüksek Lisansı Program, çok çeşitli alanlarda bilinçli, etkili kararlar almak için verileri analiz etmek ve yorumlamak için gereken temel analiz ve liderlik becerilerini geliştirir. Sınıflar, endüstri uzmanlarından oluşan başarılı bir öğretim üyesi tarafından yönetilmektedir. Öğrenciler genel bir veri bilimi alanını veya beş uzmanlık alanından birini seçerek ilgi alanlarında uzmanlık geliştirirler: Analitik ve Modelleme, Analitik Yönetimi, Yapay Zeka, Veri Mühendisliği ve Teknoloji Girişimciliği. Öğrenciler yarı zamanlı olarak, kendi hızlarında, tamamen çevrimiçi olarak öğrenirler. Başvurular üç ayda bir kabul edilmektedir.

 
Veri Bilimi ve Go Programlama Dili

Veri Bilimi ve Go Programlama Dili
 
 

spot_img

En Son İstihbarat

spot_img