Yazılım Dilleri
Yazılım geliştirme, genellikle Assembler'da programlandığı ve COBOL ve Fortran gibi dillerin yepyeni ve son teknoloji olduğu ilk günlerden beri uzun bir yol kat etti.
Bugün, aralarından seçim yapabileceğiniz yüzlerce dil var. Bugün çeşitli uygulamalar için çok uygun olan 20 popüler dilin bu listesi, TIOBE indeksi , Google Trends ve StackOverflow Trends'den derlenmiştir . Diller herhangi bir kıyaslama yapılmadan alfabetik sıralanmıştır.
Bash
Unix kabuk komut dosyası, 1970'lerin başında Ken Thompson tarafından geliştirilen uzun süredir varlığını sürdürüyor ve C'nin geliştirilmesiyle yakından bağlantılı. Sunucu yapılandırma komut dosyaları rutin olarak Bash'de yazılır, bu da onu konteynerler ve mikro hizmetlerle modern bulut ortamlarında çalışmak için iyi bir seçim haline getirir. Kabuk komut dosyası oluşturma, internete dayanır, bu nedenle her zaman öğrenilmesi harika bir beceridir.
Ayrıca , artık macOS'ta varsayılan kabuk olan zsh'ye de göz atın.
Şunlar için uygundur: sunucu yöneticisi görevleri, CLI araçları, DevOps, sanallaştırma
COBOL
Bugün hala kullanılmakta olan en eski dillerden biri, büyük ölçüde Grace Hopper tarafından 1950'lerin sonlarında makineler arasında büyük ölçekli iş uygulamalarının geliştirilmesini standartlaştırmak için yaratılan COBOL'dur. ATM işlemlerinin inanılmaz% 95'i COBOL sistemlerinden geçer ve bunların çoğu onlarca yıldır 24/7/365 çalışır. IBM gibi ana bilgisayar satıcıları, COBOL'u çalıştırmak için tasarlanmış daha güçlü makineler geliştirmeye devam ederken, bankalar, değiştirilmesiyle ilişkili maliyet ve risk nedeniyle mevcut sistemlerini sürdürmek ve yükseltmek için çalışır. Bu nedenle, COBOL yakın zamanda ortadan kalkmayacak ve yaşamak için büyük miktarlarda nakit depolayan ve yöneten müşteriler istiyorsanız iyi bir seçimdir.
Şunun için iyi: bankacılık / finans, uluslararası şirketler, hükümetler
C ve C++
Bu diller, çok sayıda küratörlü liste ve trend verisi sorgularında sıklıkla en üst sıralarda yer alır ve hız ve ham güç için yaygın olarak bilinmekte ve takdir edilmektedir. 1970'lerin başında Dennis Ritchie tarafından ve daha sonra 1985'te Bjarnee Srousroup tarafından C ++ ' nın geliştirilmesiyle başlayan bu iki dil, işletim sistemi ve oyun geliştirmeden modern bilimsel hesaplama ve makine öğrenimine kadar her şeyin omurgası olarak hizmet etti. Dik bir öğrenme eğrisine sahip olduğu bilinen C ve C ++, düşük seviyede donanım erişimi ve performans gerektiren zorlu uygulamalar için çok uygundur.
Şunlar için uygundur: OS / SDK geliştirme, yerleşik cihazlar, oyun motorları, bilim
C#
Microsoft tarafından 2000 yılında piyasaya sürülen ve Anders Hejlsberg tarafından genel amaçlı bir çapraz platform OOP dili olarak tasarlanan C #, iş uygulamaları, API'ler, oyunlar ve daha fazlasını geliştirmek için popüler bir seçim haline geldi. Bu dilde bulunan kapsamlı özellikler seti, onu grafikler ve diğer eşzamansız programlama görevleri için yapar.
Şunlar için uygundur: Kurumsal uygulamalar, API / UI geliştirme, oyunlar, grafikler
Dart
Dart, yine V8 JavaSript Engine'in yaratıcısı olan Lars Bak tarafından mobil, masaüstü, web ve sunucu uygulamaları oluşturmak için Google'da geliştirilen modern bir dildir . Sonuç olarak, Dart, C #, TypeScript ve Java gibi diğer modern OOP dillerine benzer ve karmaşık etkileşimleri, zaman uyumsuz işlemleri, animasyonları ve bu modern araçların amaca yönelik olarak oluşturulmuş diğer görevleri tanımlamak için yararlı olan kapsamlı bir özellik seti sağlar. .
Şunlar için uygundur: Çapraz platform uygulamaları, bulut / kurumsal, oyunlar, grafikler
Fortran
1950'lerde John Backus tarafından IBM'de geliştirilen Fortran, bilimsel ve mühendislik çalışmaları için tasarlanmış genel amaçlı bir dildir ve dünyanın en hızlı süper bilgisayarları için kıyaslama testleri yazmak da dahil olmak üzere bugün bu amaçla yaygın olarak kullanılmaktadır. Fortran, uzay araştırmaları, fizik araştırmaları ve hava durumu modellemesi gibi alanlarda yoğun olarak kullanılmıştır.
Şunlar için uygundur: Havacılık / savunma, bilimsel bilgi işlem, sayısal analiz
Java
Java, Sun'da James Gosling tarafından 1990'larda geliştirilen (şimdi Oracle'a aittir) genel amaçlı bir OOP dilidir ve Java sanal makinesinin mevcut olduğu herhangi bir hedefte Java sanal makinesinde çalıştırmak için bayt koduna derlemek üzere tasarlanmıştır. 2020 itibariyle bu, TV'lerden oyun konsollarına, sunuculara, telefonlara ve hatta mutfak aletlerine kadar var olan neredeyse her tür cihazı kapsayacak. Java, orta düzeyde bir öğrenme eğrisine sahiptir ve şirketler ve üniversiteler tarafından yaygın olarak benimsenmesi, onu hem yeni programcılar hem de deneyimli geliştiriciler için popüler bir seçim haline getirmiştir.
Şunlar için uygundur: Kurumsal uygulamalar, yerleşik cihazlar, web hizmetleri, oyunlar
JavaScript
JavaScript, 1990'larda Brandon Eich tarafından web sitelerine komut dosyası eklemek için Netscape'te tasarlandı ve tüm büyük web tarayıcılarından tam desteğin keyfini çıkaran güçlü, standartlaştırılmış özelliklerle bugün evrensel web ön uç dili olarak kaldı. JavaScript, birkaç yılda bir yeni dil özelliği spesifikasyonlarıyla güncellenen EcmaScript standardına uygundur. JavaScript ayrıca arka uç hizmetleri ve API'leri, mobil uygulamaları, oyunları ve diğer yazılımları geliştirmek için sıklıkla kullanılır ve gelecekte öğrenmek ve tazelemeye devam etmek için sağlam bir seçim olmaya devam edecektir.
Şunlar için uygundur: Tam yığın web, bulut hizmetleri / kapsayıcılar, oyunlar, yardımcı programlar
Kotlin
Kotlin, ek işlevsel programlama ve lambda ifadeleri, özellikler, operatör aşırı yükleme ve daha fazlası gibi OOP özellikleriyle birlikte Java ile birlikte çalışacak şekilde tasarlandı. Google, 2019'da Kotlin'in artık Android geliştirme için tercih edilen dil olduğunu duyurdu ve popüler SDK'lar için Android uygulamaları ve eklentileri oluşturmayı öğrenmek için iyi bir seçim oldu.
Şunlar için uygundur: Android uygulamaları, sunucu tarafı geliştirme, Java'nın kullanıldığı her yerde
Lisp
Lisp, 1950'lerde MIT'de programları matematiksel bir şekilde tanımlamaya izin vermek için geliştirilen, orijinal olarak LISP olarak adlandırılan tarihi uygulamadan kaynaklanan bir dil grubudur. S-ifadesi Lisp sözdizimi soyundan veya C ailesi tarafından etkilenmektedir birçoğu çoğu dil, farklıdır. Lisp, ilk yapay zeka araştırmalarında popülerdi ve kodu veri olarak ele aldığı ve makrolar ve onu daha statik dillerden ayıran diğer güçlü özelliklerle dil özelleştirmesine izin verdiği için CAD ve diğer mühendislik uygulamaları için bir betik dili olarak yaygın bir şekilde benimsenmiştir. Önemli uygulamalar arasında AutoLisp (AutoCad komut dosyası) ve Roomba bulunur. Dil ailesinin bir çeşidi, Clojure, özellikle kurumsal ve web için büyük ölçekli uygulamalar oluşturmak için kullanışlıdır.
Şunlar için uygundur: AI, robotik, komut dosyası, dil uzantısı, araştırma, mühendislik
Lua
1993 yılında Roberto Ierusalimschy tarafından özelleştirme için diğer uygulamalara gömülmek üzere tasarlanan Lua, yazılımları video oyun geliştirmede oyun mantığını açıklama veya grafik araçlarına özel özellikler ekleme gibi yeni özelliklerle genişletmek için bir komut dosyası dili olarak yaygın olarak kullanılmaktadır.
Şunlar için uygundur: yazılım uzantısı, oyun mantığı, otomasyon, elektronik / IoT
PowerShell
PowerShell, Unix benzeri CLI özelliklerini Windows'a getirmek için 2006 yılında Microsoft tarafından piyasaya sürüldü ve o zamandan beri açık kaynak olarak yayınlandı ve macOS, CentOS ve Ubuntu'ya taşındı. PowerShell, yönetici görevlerini basitleştirmek ve bakım maliyetlerini azaltmak için Windows Server ve diğer Microsoft teknolojilerini kullanan sistemlerde yoğun bir şekilde kullanılır.
Şunlar için uygundur: Windows sistem yönetimi, CLI araçları, komut dosyası oluşturma, bakım
Python
İlk olarak 1991 yılında Guido van Rossum tarafından piyasaya sürülen Python, temiz ve iyi organize edilmiş programlar oluşturmak için OOP, işlevsel ve diğer paradigmalara yönelik özelliklere sahip oldukça okunabilir bir dil olması amaçlandı. Python, büyük ölçekli platform desteğinden yararlanır ve akademi, veri bilimi, yapay zeka, uzun metrajlı film CGI, web sunucuları, bulut bilgi işlem, oyun geliştirme ve daha pek çok alanda yaygın olarak kullanılır. Python sağlam bir yapıya sahiptir ve uzun yıllar boyunca en iyi programlama becerilerinden biri olmaya devam edecektir.
Şunlar için uygundur: AI / ML, veri bilimi, bulut / web, medya üretimi, komut dosyası oluşturma
R
R, ilk olarak 1995'te istatistik hesaplamak ve veri analizi ve grafikler gibi diğer ağır matematik işlemlerini gerçekleştirmek için piyasaya sürüldü. R genellikle Fortune 500 şirketleri tarafından karmaşık risk analizi, müşteri davranış eğilimleri ve diğer sayısal olarak yoğun görevleri gerçekleştirmek için kullanılır. R, istatistikte birçok dilden benzersizdir ve Lisp'e benzer bir s-ifadesi sözdizimine sahiptir. Diğer şeyler için pek kullanılmasa da R, özellikle pazarları tahmin etmek veya kullanıcı eğilimlerini analiz etmek için yoğun veri analitiği için bir standarttır.
Şunlar için uygundur: veri bilimi, tahmine dayalı analitik, hesaplamalı grafikler
Ruby
İlk olarak 1995'te piyasaya sürülen Ruby, o sırada mevcut olan diğer komut dosyası dillerinde gerçek OOP özelliklerinin eksikliğini telafi etmek için Yukihiro Matsumoto tarafından nesne yönelimli bir komut dosyası dili olarak geliştirildi . Dinamik yazma, miras alma, yansıtma ve operatör aşırı yükleme gibi özellikler, karmaşık komut dosyası oluşturma ve web sunucusu uygulamaları için mükemmel hale getirir.
Şunlar için uygundur: Gelişmiş komut dosyası oluşturma, paket yönetimi, yardımcı programlar, web sunucuları
Rust
Rust, yüksek performans ve güvenilirliğe sahip büyük ölçekli eşzamanlı sistemler oluşturmak için tasarlanmış çok paradigmalı bir dildir. Rust, 2016'dan beri her yıl bir StackOverflow anketinde en çok sevilen programlama dili olarak seçilmiştir. C ++ 'ya benzer bir sistem düzeyinde dil olan ve bir çalışma zamanı veya VM gerektirmeyen Rust, donanıma düşük seviyeli erişim sağlayarak onu geliştirme için ideal hale getirir. işletim sistemleri, mikro denetleyici programları ve çıplak metal performansın kritik olduğu diğer yazılımlar.
Şunlar için uygundur: İşletim sistemi geliştirme, yerleşik uygulamalar, sunucular, araçlar, oyunlar
SQL
Genel amaçlı bir programlama dili olmasa da SQL, Fortune 500 veri ambarlarından masaüstü ve mobil yazılımlarda yaygın olarak kullanılan gömülü SQLite'e kadar çeşitli uygulamalarla ilişkisel veritabanlarını yönetmek için güçlü bir etki alanına özgü dildir. Birçok yazılım ve diğer BT işi, en azından SQL hakkında çalışma bilgisi gerektirirken, gelişmiş beceriler, bir geliştiricinin, kullanılan herhangi bir belirli programlama dili veya SDK'dan bağımsız olarak son derece güvenli ve güvenilir iş kuralları oluşturmasına olanak tanır. Yüksek profilli uygulamalar arasında Microsoft SQL Server, Oracle Database ve PostgreSQL bulunur; bunların her biri, temel SQL spesifikasyonunun ötesinde yeni özellikler sunan benzersiz bir SQL dili uzantısı içerir. SQL öğrenmek, analitik ve veri biliminden BT yönetimi ve yazılım mühendisliğine kadar çok sayıda alana girmek (veya içinde ilerlemek) isteyen herkes için zahmetsizdir.
Şunlar için uygundur: İlişkisel verilerle çalışmak, verileri uygulamalara yerleştirmek
Swift
Swift, ürünlerinde Objective-C'nin yerini almak üzere 2014 yılında Apple tarafından piyasaya sürüldü (Android için Java'nın yerini alan Kotlin'e benzer). Swift, Apple ürünleri için yazılımlarda kullanılan ancak daha fazla güvenlik ve C # veya Java gibi diğer OOP dillerinden gelenlere daha aşina olan bir sözdizimi ile Objective-C'nin (dinamik gönderim gibi) çeşitli özelliklerini korur.
Şunlar için uygundur: macOS, iOS, watchOS vb. İçin uygulama oluşturma
TypeScript
TypeScript, karmaşık uygulamaların okunabilirliğini ve sürdürülebilirliğini artırmak için JavaScript'e OOP özellikleri eklemek üzere tasarlanmış, Microsoft'un açık kaynaklı bir dilidir. 2012'de tanıtılan TypeScript, yaygın olarak dayanıklı, ölçeklenebilir web uygulamaları, çerçeveler ve popüler VS Code editörü gibi diğer yazılımları oluşturmak için kullanılır . (Not olarak, 2013'ten beri TypeScript ve 2016'dan beri VS Code kullanıyorum, her ikisi de akla gelebilecek neredeyse her tür web uygulamasını oluşturmak için şiddetle tavsiye ediyorum).
Şunlar için uygundur: Web ön ucu, API'ler, oyunlar, herhangi bir JavaScript yazılımını ölçeklendirme
Sonuç
Yazılım geliştirmede bir kariyere başlamak veya ilerlemekle ilgilenen herkesin bu listedeki dillerden en az birkaçına aşina olması gerekecektir. Her geliştiricinin deneyimi belirli sürümlere, kullanım senaryolarına, yönetime, proje zaman çizelgelerine ve diğer sonsuz değişkenlere bağlı olarak büyük ölçüde değişeceğinden, bireysel artılar ve eksiler göz ardı edildi. Her dilin güçlü ve zayıf yönleri vardır ve iyi bir strateji, kullanılan mevcut araçlardan şikayet etmek yerine güçlü yönlere odaklanmak, bir engelle karşılaşıldığında daha iyi araçlar aramaktır.
İş için işe yaramıyorsa işe yarayacak bir şey bulun. Bu dillerin her biri için düzinelerce en iyi uygulama ve bilinen tasarım kalıpları da dahil olmak üzere birçok programlama stili vardır (ve bugün çoğu geçmişte olduğundan daha az popüler olan ancak hala sektörde yaygın olarak kullanılmaktadır ve diğerleri nispeten yeni ve hala ivme kazanıyor) .