• Programlama dillerinin listesi. Farklı programlama dilleri ve uygulama alanları. Yandex'de ders

    Hangi programlama dilini öğrenmeye başlayacağınızı bulmaya çalışırken, muhtemelen "yüksek seviye" ve "düşük seviye" terimleriyle karşılaşacaksınız. İnsanlar sürekli yüksek ve düşük seviyeli programlama dillerinden bahsediyor. Ama bu tam olarak ne anlama geliyor? Ve kodlamayı öğrenmek ne anlama geliyor? Her birinin tanımlarıyla başlayalım.


    Yüksek ve Düşük Seviye Programlama Dilleri

    Bu yazıda "yüksek" ve "düşük seviyeli" dillerden bahsedeceğim. Ancak bunu belirlemek için özel bir kriter yoktur. Sadece bunun bakış açınıza çok bağlı olduğunu unutmayın. Bir C programcısıysanız, Java oldukça üst düzey görünebilir. Ruby'ye alışkınsanız, Java düşük seviyeli bir dil gibi görünebilir.

    Makine kodu ve düşük seviyeli diller

    Bir dil ister yüksek seviyeli ister düşük seviyeli (veya ikisinin arasında bir yerde) kabul edilsin, bu soyutlama ile ilgilidir. Makine kodunun bir soyutlaması yoktur - bilgisayara iletilen bireysel talimatları içerir. Ve makineler yalnızca sayılarla uğraştığı için ikili olarak temsil edilirler (bazen ondalık veya onaltılık gösterimde yazılmalarına rağmen).

    İşte bir yerel kod örneği:

    Makine kodunda işlemler tam olarak belirtilmelidir. Örneğin, bir bilgi parçasının bellekten alınması gerekiyorsa, makine kodunun bilgisayara onu bellekte nerede bulacağını söylemesi gerekir.

    Doğrudan makine koduna yazmak mümkündür, ancak çok zordur.

    Düşük seviyeli programlama dilleri, makine kodlarına biraz soyutlama katar. Bu soyutlama, insan tarafından daha okunabilir olan bildirimlerin arkasında belirli makine kodu yönergelerini gizler. Assembly dilleri, makine kodunun yanında en düşük seviyeli dillerdir.

    Makine kodunda "10110000 01100001" gibi bir şey yazabilirsiniz, ancak montaj dili bunu "MOV AL, 61h" olarak basitleştirebilir. Assembly dilinde yazılanlar ile makineye verilen komutlar arasında hala neredeyse bire bir örtüşme var.

    Daha popüler programlama dillerine geçerek C gibi bir şey elde edersiniz. Bu dil, Assembly dili kadar düşük seviyeli olmasa da, C'de yazılanlar ile makine kodu arasında hala güçlü bir karşılık vardır. C ile yazılmış çoğu işlem, az sayıda makine kodu talimatı ile doldurulabilir.

    Üst düzey programlama dilleri

    Daha düşük seviyeli diller gibi, daha yüksek seviyeler çok çeşitli soyutlamaları kapsar. Java gibi (birçoğunun orta düzey programlama dilleri olarak kabul ettiği) bazı diller, bilgisayarın belleği ve verileri nasıl yönettiği konusunda size hala çok fazla kontrol sağlar.

    Ruby ve Python gibi diğerleri çok soyuttur. Alt düzey işlevlere daha az erişim sağlarlar, ancak sözdizimini okumak ve yazmak çok daha kolaydır. Özellikleri miras alan sınıflarda gruplandırabilirsiniz, böylece bunları yalnızca bir kez bildirmeniz gerekir.

    Değişkenler, nesneler, alt programlar ve döngüler, üst düzey dillerin önemli parçalarıdır. Bu kavramlar ve daha fazlası, makineye pek çok şeyi kısa ve öz ifadelerle anlatmanıza yardımcı olacaktır.

    Bir montaj dilinin talimatları ile makine kodu talimatları arasında neredeyse tekdüze bir yazışma varsa, daha yüksek seviyeli bir dil, tek bir kod satırıyla düzinelerce talimat gönderebilir.

    "Üst düzey programlama dillerinin", montaj dilinden daha soyut olan her şeyi içerebileceğini not etmek önemlidir.

    Hangi dili öğrenmeli: düşük veya yüksek seviye?

    Bu kesinlikle yeni ve acemi programcılar arasında yaygın bir sorudur. Hangi programlama dillerini öğrenmek daha iyidir: yüksek veya düşük seviye? Birçok programlama sorusunda olduğu gibi üst seviye ve düşük seviyeli programlama dilleri sorusu o kadar basit değildir.

    Her iki dil türünün de önemli avantajları vardır. Düşük seviyeli diller, bilgisayar tarafından çok az yorum gerektirdiklerinden, genellikle çok hızlıdırlar. Ve programcılara veri depolama, bellek ve alma üzerinde çok fazla kontrol sağlarlar.

    Bununla birlikte, üst düzey diller sezgiseldir ve programcıların çok daha verimli kod yazmasına olanak tanır. Bir kodlayıcının hasara neden olabilecek kötü yazılmış komutlar vermesini engelleyen daha fazla koruma bulunduğundan, bu diller ayrıca "daha güvenli" olarak kabul edilir. Ancak programcılara düşük seviyeli süreçler üzerinde aynı kontrolü vermezler.

    Bunu göz önünde bulundurarak, düşükten yükseğe doğru bir ölçekte popüler dillerin bir listesi:

    • JavaScript
    • Piton

    Tabii ki, bu biraz öznel. Ve mevcut dillerin yalnızca küçük bir kısmını içerir.

    Fakat bu size ilgilendiğiniz dillerin hangi seviyede olduğu hakkında bir fikir vermelidir.

    Ne yapmak istiyorsun?

    Hangi dili öğreneceğinize karar verirken ilk sorunuz şu olmalıdır: Ne programlamak istiyorsunuz?

    İşletim sistemlerini, çekirdekleri veya en yüksek hızda çalışması için gerekenleri programlamak istiyorsanız, daha düşük seviyeli bir dil iyi bir seçim olabilir. Windows, OS X ve Linux'un çoğu, C++ ve Objective-C gibi C ve C'den türetilen dillerde yazılmıştır.

    Birçok modern uygulama, daha üst düzey dillerde ve hatta etki alanına özgü dillerde yazılır. HTML5 her geçen gün daha da güçleniyor olsa da, Python ve Ruby özellikle web uygulamaları için popülerdir. Swift, C#, JavaScript ve SQL gibi dillerin kendi güçlü ve zayıf yönleri vardır.

    Geçenlerde bir programlama forumunda bir konu okudum ve ilginç bir öneriyle karşılaştım: aynı anda iki seviyeyi de çalışın. Daha yüksek seviyeli bir dili daha verimli hale getiren soyutlama türleri hakkında daha derin bir anlayış kazanacaksınız.

    Elbette aynı anda iki dil öğrenmek kolay değil, bu yüzden onları biraz genişletmek isteyebilirsiniz. Ve birbirine en çok benzeyen iki dili seçmek yardımcı olabilir.

    Yine, daha önce bahsettiğim şeye geri döndük: yapmak istediğiniz şeye göre bir dil seçin. İnsanların kendi alanlarında hangi dilleri kullandıklarını öğrenmek için biraz araştırma yapın. Ardından, yüksek ve düşük seviyeli bir dil seçmek için bu bilgileri kullanın ve bunları öğrenmeye başlayın.

    Yakında paralellikleri göreceksiniz ve programlamanın nasıl çalıştığına dair çok daha derin bir anlayış kazanacaksınız.

    Sonuca odaklan, araçlara değil

    Bir programlama dili seçmek için kullanabileceğiniz birçok kriter vardır. Kriterlerden biri yüksek ve düşük seviyedir. Ancak hemen hemen her durumda, kullanmanız gereken kriter programlamak istediğiniz şeydir.

    Projeniz düşük seviyeli bir dilden faydalanabilir. Veya yüksek düzeyde çok daha verimli olabilir. İş için doğru aracı kendiniz seçmelisiniz. Hedefinize odaklanın ve her seferinde doğru dili seçin.

    Yüksek ve düşük seviyeli dillerle deneyiminiz var mı? Birini diğerine tercih ediyor musunuz? Düşüncelerinizi aşağıdaki yorumlarda paylaşın!

    Farklı programlama dilleri ve uygulama alanları. Yandex'de ders

    Bu yılki ilk yazımızı, Small ShAD'da verilen bir ders olan çok temel bir konuya ayırmaya karar verdik. Teknolojiye ilgi duyan lise öğrencileri katılıyor, dolayısıyla sunumun özgüllüğü - ders özellikle programlamaya yeni başlayanlar ve hangi yönde gelişeceklerini düşünenler için ilginç olacak. Onlar için Yandex'in Stepic.org platformunda alınabilecek bir "Programlamaya Giriş (C++)" kursu var.

    Öğretim Görevlisi Mikhail Gustokashin - Yandex'de akademik programların küratörü, HSE Bilgisayar Bilimleri Fakültesi Öğrenci Olimpiyatları Merkezi direktörü. Mikhail, Tüm Rusya Programlama Olimpiyatlarının düzinelerce kazananını ve ödül kazananını hazırladı.

    Ders, programlama dillerinin ne olduğunu, nasıl farklılık gösterdiğini, nasıl ortaya çıktıklarını ve hangilerinin daha iyi ve hangilerinin daha kötü olduğunu anlatıyor. Başlangıçta biraz dillerin tarihi hakkında konuşacağız - nasıl ortaya çıktılar, insanlar programlamaya nasıl başladı, her şey nasıl gelişti, şimdi neler oluyor. İkinci bölümde, hangi dilin hangi görevler için uygun olduğuna, "en sevdiğiniz dili nasıl seçeceğinize ve hayattan zevk alacağınıza" değinilecektir. Öğretim görevlisi ayrıca tüm bunları nasıl öğrenip sonra bir iş bulacağına dair biraz konuşacak.

    Her zaman olduğu gibi, içeriğinde gezinebilmeniz için bölümün altında dersin ayrıntılı bir kopyası var.

    Programlama dillerinin tarihi

    En baştan başlayalım. Başlangıçta bilgisayarların klavyeleri bile yoktu! Yani, her şey çok kötüydü - ne klavyeleri ne de ekranları vardı, delikli kartları vardı (bunlar delikli veya deliksiz çok küçük şeyler). Buna göre, pimler ya oraya itildi ya da orada ışıkla parladılar. Bir delik varsa (veya tam tersi) - sıfır veya bir anlamına geliyordu. Ve o zamanlar programlar makine kodları kullanılarak yazıldı - bir bilgisayardaki her işlemin (toplama, çıkarma, bazı daha karmaşık işlemler) bir tür makine kodu vardı. İnsanlar bu kodu plakadan kendileri seçtiler, hafızadaki her türlü adres, hepsini elleriyle çaldılar ve okuyucuya ittiler - ve hepsi dikkate alındı. Tabii ki, bir programcının işi o zamanlar muhtemelen çok ilginç değildi - delikler açmak - ve bilim ve teknolojinin gelişmesiyle birlikte, elbette, her türden daha "ilginç" şeyler bulmaya başladılar. Örneğin, zaten hayatı biraz kolaylaştıran birleştirici (Assembler).

    Peki hayatı nasıl kolaylaştırdı? Komut için bir tür "sihirli" kod olduğunu hatırlamak yerine, "insan" İngilizcesine benzer her türden kelime kullanıldı - bazıları add veya mov - peki ve ardından kayıtlar veya hafıza alanları listelendi, değişkenler bunlar işlemleri gerçekleştirmek. Ancak bunun, genel olarak, hangi kayıtta neyin yattığını, değişkenlerin nerede olduğunu ve genel olarak neler olduğunu akılda tutmak için yeterince büyük bir zihinsel çaba gerektirdiği açıktır. Bu neden oldu? Çünkü bilgisayarlar "aptal"dı ve daha "akıllı" bir şey anlayamıyorlardı. Aslında, makine kodunu birleştiriciden derlemek de zaman ve hafıza gerektiriyor (o zamanlar, elbette, yeterli değildi).

    Yavaş yavaş, bu kadar büyük karmaşık programlar geliştirmenin çok zor olduğu anlaşıldı. Programcının bu komutlardaki üretkenliği son derece düşüktü - yani günde birkaç satır yazdı (anlamlı) ve her satır özel bir şey yapmadı - bazı basit aritmetik işlemler. Ve insanlar, program yazmak daha kolay ve daha uygun olsun diye dilleri, özellikle İngilizce'yi insan diline çok daha çok benzetmek istediler. Ve gidiyoruz!

    Eski ve ölü diller

    İlk dillerden biri Fortran'dı. Bu arada, delikli kartlarda da yenildi - Fortran programlarını devre dışı bırakmak için özel delikli kartlar vardı. Ama şimdi bu Fortran'ı alırsanız - bence, 50-60 yıl arasında bile bir yerde. çıktı - ve üzerine bir şeyler yazmaya çalışın, sizin için çok tatsız olacak, sizi temin ederim! Modern Fortran hala yaşıyor, ancak öncekinden oldukça farklı.

    Diğer diller - şimdi muhtemelen duymuş olduğunuz bir şeyi yazacağım, ancak yalnızca programlama tarihi hakkında konuştukları her türlü etkinlikte - bu COBOL. İş uygulamaları yazmak için bir dildi. İş uygulamaları nelerdir? Bankalardaki bazı işlemler, başka bir şey, tüm bunlar Cobol'da yazılmıştır. Tabii ki çok popüler değiliz. Moskova'da büyük zorluklarla bir Cobol programcısı bulacağınızı düşünüyorum. Ve Moskova'da olmayan bir yerde - daha da büyük zorluklarla. Ancak, şaşırtıcı bir şekilde, 10 yıl önce bile, insanlığın yazdığı tüm kodların yarısından fazlası Cobol'da yazılmıştı. Ve şimdiye kadar, tüm bankacılık işlemlerinin önemli bir kısmı, üzerine yazılan programlar (COBOL) yardımıyla yapılıyor ve insanlar hala üzerine bir şeyler yazıyor.

    Bir de “komik” bir dil var, buna Algol (yaratıldığı yılı karakterize eden 68. versiyon) deniyordu. Algoritmik bir dildir. Genel olarak orada bir şeyler biliyorlardı ama şimdi ne yapabilecekleri bizi pek ilgilendirmiyor. Ve bunun üzerine, antik çağa ve nispeten kullanılmayan dillere yaptığımız gezi tamamlanabilir ve hala canlı (ve aktif olarak yaşayan) olana geçebiliriz.

    Eski ama yaşayan diller

    Algol Avrupa'da icat edildi ve Fortran esas olarak Amerika'da kullanıldı - büyük farklar yok. Hangi eğilim görülüyor? İlk başta her şey zordu ve yazmak için, hangi kontakların nerede kapalı olduğunu ve programlama için başka bir şeyi anlamak için neredeyse bir mühendis, elektrik mühendisi olmanız gerekiyordu. O zaman da yapraklarla oturup hatıraları saymak, ona bakmak gerekiyordu. Ve programcı için yavaş yavaş her şey daha basit, daha basit, daha basit ve daha da kolay hale geldi - bir kişinin düşünmesi için mümkün olduğunca az, otomatik olarak yapması mümkün olduğu kadar çok şey. Bu dönemin sonlarına doğru (öğretim görevlisi Algol ve Kobol'u işaret eder), bir anlamda bugüne kadar "hayatta kalan" diller ortaya çıkmaya başlar.

    TEMEL. Belki bazı insanlar hala üzerine bir şeyler yazıyor, en azından bazı kurumlarda QBasic'te öğrettiklerini gördüm - “1989” yazan mavi bir pencere. Genel olarak, "kuvvetli ve esaslı" yaşar! Programcı olmayanlar için bir dil olarak tasarlandı. O zamanlar programcı çok özel bir meslekti. Ve burada size şunu söylüyorlar: "Burada harika bir Temel dilimiz var ve makul herhangi bir kişi onun içinde bir program alıp yazacak - bu kolay." Yine BASIC ve modern BASIC arasında çok büyük bir fark var. 10'a kadar numaralandırılmış tüm bu satırlar, her türden GOTO ve diğer dehşet - artık modern BASIC ile hiçbir ilgileri yok ve hatta 89. yılın BASIC'iyle çok az ilgileri var.

    Bir başka komik hikaye de üniversite çevrelerinde, özellikle Rusya'da ve eski Sovyetler Birliği ülkelerinde yaygın olarak bilinen Pascal dilidir. Şaşırtıcı bir şekilde bir öğretim dili olarak kullanılmıştır ve kullanılmaya devam etmektedir. Dünyanın geri kalanında daha az yaygın ama aynı zamanda canlı ve iyi durumda. Böyle bir Wirth var - işte o bir bilim adamı, bir teorisyen. Algol tartışmasına katıldı, olanlardan hoşlanmadı ve kendi dili olan Pascal'ı buldu. Ve sonra Borland şirketi (ve ondan önce, diğer birçok şirket - özellikle Apple dahil oldu) onu aldı ve her şeyi mahvetti. Güzel bir teorisi vardı, ince - "her şey yoluna girecek" - ve onu alıp insanların çalışması için ihtiyaç duyduğu şeylerle doldurdular. Pekala, istediği kadar güzel olmadı.

    Ve sonunda, . C mühendisler tarafından icat edilmiştir. Pascal bir bilim adamı tarafından icat edildiyse, o zaman C, Kernighan ve Ritchie tarafından icat edildi, Bell'de mühendis olarak çalıştılar. Nasıl oldu? O zamanlar bu dillerde (öğretim görevlisi Fortran, COBOL, Algol'u işaret ediyor), sistematik bir şey yazmak imkansızdı. "Sistematik" nedir? Örneğin, bir işletim sistemi, bazı sürücüler, başka bir şey. Bu diller matematiksel hesaplamalar, ticari hesaplamalar, her şey içindi. Ve geri kalan her şey birleştiricide yazılmıştır. Bazı diller vardı artık öldüler yani C dili Assembler'dan hemen çıkmadı bazı ara şeyler vasıtasıyla ortaya çıktı.

    Amaç ne? Kernighan ve Ritchie, Asteroids oyuncağını oynamayı severdi - bir uzay gemisi uçuyor ve asteroitler var, onlara ateş ediyor ve onlar parçalanıyor. Oynadıkları bir sunucuları vardı ama orada çok insan vardı ve oyuncak yavaşladı. Ve ofislerinde bir yerlerde kimsenin kullanmadığı bir tür bilgisayarları olduğunu buldular. Ancak bir sorun vardı - farklı bir mimariye sahipti ve oyun birleştirici ile yazılmıştı.

    Elbette yeniden yazdılar, hatta üzerinde oynamak için bazı özellikler eklediler. Ancak bu, onları her seferinde yeni bir mimari için yeniden yazmanın pek akıllıca olmadığı fikrine götürdü. Ve sistem programlamaya uygun, yani hafızayı yönetmenin mümkün olacağı, bir şeyin nerede olduğunu anlamanın ve bu hafıza parçalarına nasıl erişileceğinin anlaşılabileceği yüksek seviyeli bir dil yazmaya karar verdiler. . Ve böylece, takip eden her şey üzerinde büyük etkisi olan C dili ortaya çıktı. Hepsinin (öğretim görevlisi Algol, Fortran ve diğer bahsedilen dilleri işaret eder) büyük etkisi oldu, ama C - doğru, evet ...

    Buna göre, o zamanlar şimdi olduğundan daha popüler olan bir işletim sistemi olan Unix'in ana diliydi. Ve 80'lerde durum şöyle bir şeydi (öğretim görevlisi Basic, C ve belirtilen diğer dillerde gösteriyor). Tüm bunların bizimle birlikte yavaş yavaş öldüğünü varsayalım (öğretim görevlisi Assembler, Fortran ve Algol'un sözünü siler) ... Ve 80'lerde bilgisayarlar küçüldü, daha akıllı, daha ucuz hale geldi ve insanlar her türlü tuhaflığı istedi. daha iyi yaşamak, daha da eğlenceli yaşamak için.

    80'lerden diller

    İlk tuhaflıklardan biri C++ diliydi. C dilinin çok sayıda eksikliği vardır (sadece çok büyük bir tane) - kendi ayağınıza vurmak, kurgu ile ayağınıza, diğer ayağınıza, bir ayağınızla ateş etmek dahil olmak üzere her şeyi yapabilirsiniz. diğer ayak, genel olarak - ne yapmak istersen. Ama aynı zamanda orada bazı mimari şeyler oldukça zorlaştırılıyor - yine Assembler'da olduğu gibi nerede olduğumuzu, ne tür bir hafıza ayırdığımızı takip etmemiz gerekiyor; bu hafıza her zaman orada bir yerde "akıyor" - yani, tahsis ettik, silmeyi unuttuk, yanlış şeyi sildik, hafızadan çıktık, genel olarak - birçok sorunu çözdük.

    C++ başlangıçta geliştirmeyi kolaylaştıracak C diline yönelik bir dizi uzantı olarak oluşturuldu. O zamanlar, nesne yönelimli programlama moda oldu ve insanlar her şeyin bir hiyerarşi olarak tanımlanabileceğine karar verdiler, yani bir topunuz var (soyut), ondan bir futbol topu, bir voleybol topu, başka bir soyut top miras alıyorsunuz. O zamanlar "şimdi her şeyi bir tür hiyerarşi şeklinde yazıyoruz ve her şey yoluna girecek, hayat daha iyi olacak, her şey yoluna girecek ve hepsi bu" moda oldu. C++ bir anlamda bu nesne yaklaşımını uyguladı - ilk nesne yönelimli programlama dili değildi, ancak oldukça popüler oldu ve her türden özellik içinde görünmeye başladı. Aynı zamanda, C ++, C dili ile neredeyse tam uyumluluğu (o zamanlar) korudu, C ile yazılmış bir program, vakaların% 99'unda başarıyla C ++ olarak derlendi ve hatta aynı şekilde çalıştı. Bunun amacı, C'den C++'a geçişi kolaylaştırmaktı.

    Nesne yaklaşımına (C++'da) ek olarak, Standart Şablon Kitaplığı (STL) oldukça hızlı bir şekilde ortaya çıktı. Sanırım okulda, hala Pascal okuyanlar, ilk olarak, yerleşik bir sıralamaya sahip olmadığınızı öğrendiler (eski, mavi Borland Pascal'da, şimdi zaten modern versiyonlarda) - bir örnek (kaynak) sıralama var , kopyalanıp yapıştırılabilir. Ama burada tamsayıları sıralamak istiyorsanız, burada gerçek sayıları ve burada birbiriyle karşılaştırılabilecek dizileri istiyorsunuz, tam olarak aynı şeyi yapan üç farklı tür yazmanız gerekiyordu, sadece farklı veri tiplerine sahipler. Bu pek iyi değil ve C ++ 'da hemen görünmeyen şablonlar bu sorunu büyük ölçüde kolaylaştırdı. Yani, birbiriyle karşılaştırılabilecek bir şeyi başarılı bir şekilde sıralayan soyut bir programınız vardı.

    90'lı yıllardan betik dilleri

    Ancak zaman durmadı, 80'lerde pek çok ilginç şey oldu. Ancak 80'lerin ve 90'ların başında bilgisayarlar o kadar iyi hale geldi ki, çok garip ve çok verimsiz şeyler yapmak zaten mümkündü. Özellikle bunlar, makine kodunda derlenmeyen, ancak yorumlanan betik dilleriydi. BASIC de bir zamanlar yorumlandı, ancak bu betik dilleri esas olarak kelime işlemeye yönelikti - örneğin, Perl, Python (o zamanlar çok ünlü değildi), PHP, Ruby - bunlar betik dilleri ​​bir dereceye kadar hala yaşıyorlar (hepsi 2000'den önce, hatta çok daha önce ortaya çıkmayı başardılar).

    Biraz üzerinden geçelim çünkü bunlar özel şeyler ve artık birçok yerde kullanılıyor. fikir nedir? Derlemezsek, çok daha fazlasına izin verebiliriz. Örneğin bir program koduna bakabilir ve onu bir şekilde kullanabilir; içinde neler olup bittiğini biliyor ve bu sayede pek çok ilginç şey yapabilirsiniz.

    Perl kelime işleme için tasarlandı - o günlerde bilgisayarlarda zaten o kadar çok bellek vardı ki, oraya biraz metin koyabilir ve bu metinle yararlı bir şeyler yapabilirsiniz (örneğin, sözcükleri sayın, bazılarını arayın). Ama bence biraz çılgın insanlar tarafından tasarlandı, çünkü böyle bir şaka var: "Yazılan herhangi bir karakter seti, Perl'de doğru bir programdır." Bence sadece üzerine yazabilirsin, okuyamazsın. Perl koduna bakıp bir şey anlamaya çalıştığımda hiçbir şey anlamıyorum. Belki onu daha iyi tanısaydım bir şeyler anlardım ama hala nasıl olduğunu bilenlerden duyduğum kadarıyla yeniden yazmanın daha kolay olduğunu söylüyorlar. Yani, programlar kısadır ve yeniden yazmak, orada ne olduğunu bulup düzeltmekten gerçekten daha kolaydır.

    O sıralarda, 90'ların ortalarında İnternet ortaya çıktı. İlk başta postaydı, statik HTML'li siteler, ancak insanlar oraya bir tür dinamik eklemek istediler, böylece her şey dinamik olarak gerçekleşsin, bazı formlar doldurulabilsin, ziyaretçi defterleri yapılabilsin, başka bir şey yapılabilsin. Buna göre, bu bir tür etkileşim gerektiriyordu, nasıl etkileşime girdiğine dair bir protokol geliştirdiler ve en önemlisi, isteğine yanıt olarak kullanıcıya "tükürülecek" bu statik (şartlı olarak) sayfaların oluşturulması.

    Genel olarak, o sırada Pearl dışında hiçbir şey uymuyordu. Saf C veya C++ işleyicisinde yazmak kötü bir fikirdi. Ve o zamanlar (ve yeterince uzun süredir) daha iyi bir dil olmadığı için, Pearl web geliştirme için başvurulacak dildi. Elbette ölçek şu anda olanlarla karşılaştırılamaz.

    PHP tesadüfen ... olarak ortaya çıktı. Bir kişi bunu yapmayı çok çabuk bıraktı - bir tür kendi sayfasını yaptı, bir tür ziyaretçi defteri vardı, başka bir şey, bir tür şey. Ve Perl için C'ye benzeyen bir dizi makro yazdı, çünkü C'yi nasıl kullanacağını biliyordu, çünkü bu onun için çok uygundu. Ve buna Kişisel Ana Sayfa adını verdi. Paylaştı ve şöyle dedi: "Millet bakın ne yazmışım, burada her şey Perl'dekinden çok daha net ve düzenleyebilirsiniz." Ve insanlar bunu beğendi.

    Sonra konuyu kapattı. Genel olarak sonuç olarak bu PHP yaşamaya başladı ve zamanla Perl'den çok daha popüler hale geldi. Ancak bu "doğum travması" (Pearl için bir dizi makro fikri) ona oldukça acımasız bir şaka yaptı. Dil garip. Yani kendi kendine gelişti, kimse tasarlamadı, geliştirme sürecini kimse yönetmedi (ne şirket ne de herhangi bir kişi), ancak her biri beğendiğini gören birçok grup vardı. Sonuç olarak orada fonksiyonlar farklı deniyor, bir stil bile yok, her şey altını çizerek, genel olarak nasılsa, ayarlar burada burada ve tüm bunların nasıl çalışacağı çok net değil. Ama o öyle sandığı için oturup iki saat içinde PHP yazabilirsiniz.

    Python ve Ruby: Ruby artık daha az popüler, Python bir şekilde daha iyi "planlanmış", bunun hakkında daha sonra konuşalım. O günlerde bunların (öğretim görevlisi Perl, Python, Ruby, PHP'yi işaret ediyor) oldukça özel amaçlar için oldukça özel diller olduğu açıktır. Genel olarak, kimse o zamanlar üzerlerine herhangi bir sistem programlaması, hiçbir iş mantığı yazmadı ve şimdi bunu pek yapmıyorlar.

    90'lardan derlenmiş diller

    Yaklaşık aynı zamanlarda gideceğiz ama farklı bir yönde. O zamanlar ülkemizde web için, metin işleme için değil, sadece uygulamalar için, işletim sistemleri için, oyuncaklar için - genel olarak, her şey için yazılması gereken hemen hemen her şey için C++ kullanılıyordu. Ama C++ gerçekten tüyler ürpertici bir dil. Neden? Çünkü, öncelikle geriye dönük uyumluluk nedeniyle C'nin tüm sorunlarını devraldı. Orada, C'dekilerle aynı (doğal olarak, C ++ 'da yeni yollar eklendi) milyonlarca farklı şekilde kendinizi öldürebilirsiniz. Aynı zamanda, C ++ yazarlarının amaçladığı gibi her şeyi iyi ve doğru yazarsanız, o zaman eski C-ish yöntemleriyle kendinizi öldürmek zaten imkansızdı ve görünüşe göre orada onlardan daha azdı. Ancak, kendine ait çok garip bir nesne modeli vardı. Programı modüllere, parçalara bölmek, bir şekilde C'den geldi (C veya C ++ 'da nasıl yazılacağını biliyorsanız - aslında, kitaplığın metnini programınıza eklemek olarak tasarlandı, sonuç olarak, bir sürü içerik yazdığınızda, her şeye sahip olursunuz - en başta olduğu gibi "ilkel" ise - her şey tek bir dosyaya eklenir ve ardından hepsini derlemek çok uzun zaman alır, çünkü birkaç kez gider ... Aynı Pascal, Virtovsky bu konuda çok daha düşünceliydi, sonraki sürümler daha da iyi.

    Genel olarak, C++'ın birçok eksikliği vardır. Bir programcının C ++ ile yazabilmesi için niteliklerinin yüksek olması gerekiyordu ve bu tür programcılar pahalıydı (hem eğitim hem de başka bir şey, yani piyasada programcı bulmak zor, çok para ödemeleri gerekiyor, peki, genel olarak, bu bir şey değil ... ). Ve bilgisayarlarımız gittikçe daha hızlı sayılıyor, daha ucuz hale geliyor, insanlar kendilerine yeni bilgisayarlar alıyor ve daha fazla uygulama, telefonları için daha fazla oyuncak, genel olarak daha fazla keyif istiyor.

    Java böyle doğdu. Bu dilin adını nasıl aldığına dair oldukça komik bir hikaye de var. Programcılar var, sürekli kahve içiyorlar ve o zamanlar Java adasında yetişen kahve içmek modaydı. Dil, gömülü cihazlar için, özellikle bir kahve makinesi için bir dil olarak tasarlandı. İsim böyle ortaya çıktı...
    Genel olarak onunla ne başladı, içinde iyi olan neydi ve neden büyük popülerlik kazandı? Önce Sishnoi'nin mirasından tamamen kurtuldular. İşaret yok, vücudun bir yerine ateş edip her şeyi kırmanın çok daha az yolu var. İkincisi, nesne modeli açısından çok daha yeni fikirler ortaya koydular - yani C ++, Java'dan çok daha önce ortaya çıktı ve daha arkaik, "vahşi" bir nesne modeli kullandı. Pekala, burada (öğretim görevlisi Java'yı işaret ediyor) o zamanlar zaten daha fazla düşünülmüştü ve teoride insanlar düşündü ve pratikte uyguladılar ve her şeyi çok daha havalı hale getirdiler.

    Ve son olarak, üçüncü. Java'daki programlarımız makine kodunda değil, sanal bir makine kodunda toplandı. Yani, bir sanal makineniz (VM) JVM - Java'nız vardı. Programlarınız bir tür ara temsil halinde birleştirildi ve daha sonra, bu makinenin yardımıyla, zaten çalıştırıldılar. Ne verdi? Birincisi, yavaşladı, ikincisi, hafızayı korkunç bir güçle yedi, üçüncüsü, her yerde (teorik olarak) taşınabilirdi - hatta bir kahve makinesine, hatta bir kahve değirmenine, hatta bir bilgisayara, hatta bir cep telefonuna bile. Bir yandan bu iyi, yani az önce sanal bir makinenin uygulanmasını yazdınız, ardından Java programlarınızı her yerde başlatıyorsunuz. Ancak öte yandan, o sırada aynı telefonda çok az hafıza olması, düşük performans olması ve tüm bunların ek olarak körelmeye ve yavaşlamaya başlaması kötü.

    Ancak bu bile, genel olarak dilin icat edildiği ana şey değildir. Java dili, programcıların nitelikleri için gereksinimleri azaltmak için icat edildi. Yani, daha kötü programcılar Java'da iyi programlar yazabilir, çünkü bu sizin kötü programlar yazmanıza izin vermez - programları kötü yazmanın hiçbir yolu yoktur. Orada sadece iyi programlar yazabilirsiniz. Eh, dilin yaratıcılarının anlayışında.

    Yani, C'de, C ++'da, Python'da, herhangi bir şey üzerinde, her şeyi karıştırdığımız, saatlerce süren ve başka bir şey olan projemizden bir tür korkunç çöplük üretebilirsek. Java'da bir çöp tenekesi üretmek de mümkündür, ancak bunun için zaten biraz çaba sarf etmeniz gerekiyor. Yani, varsayılan olarak, bir "çöplük" olmadığı ortaya çıkıyor, başka sorunlar ortaya çıkıyor, bir şeyin miras alındığı, orada miras alındığı - genel olarak, çok anlamlı olmayan on tanesinin tek bir anlamlı satır olduğu ortaya çıkıyor. Ancak, belki de bu kadar orta düzeyde beceriye sahip bir programcı oldukça yüksek kaliteli kodlar yazabilir.
    Neredeyse sona geldik. Bizim için bir sonraki ortaya çıkan şey .Net (dotnet) ve özellikle C # ile ilgileniyoruz (neredeyse aynı [öğretim görevlisi Java'yı işaret ediyor], yani aralarında seçim yaparsanız ayrıntılarda farklılıklar var - nerede daha fazla para ödediğinizi görün).

    Ve bir şey daha - JavaScript. Aynı yıl ortaya çıkan Java diliyle hiçbir ilgisi yok - kelime moda oldu, ticari markayı kullanmak için lisansladılar.

    Dikkat edilmesi gereken en önemli şey nedir? (Öğretim görevlisi C++'tan Java, .Net, C#, JavaScript ve PHP'ye oklar çizer). Bu dillerden birinde ve diğer birçok dilde basit bir program yazmak için - C ++ biliyorsanız, genellikle başka bir şey bilmenize gerek yoktur - C ++ alıp yazarsınız ve ardından başlangıçta dolar eklersiniz , küçük şeyleri başka bir şey yapın ve sizin için herhangi bir şey üzerinde çalışmaya başlar (öğretim görevlisi, C ++ oklarının atandığı dilleri gösterir). Yani, bazı basit şeylerde son derece benzerler. Bazı okul problemlerini, eğitim problemlerini veya başka bir şeyi çözüyorsanız (büyük bir proje tasarlamıyorsunuz - sayıları okuyan, sayıları konsolda görüntüleyen, başka bir şey yapan bir dosyanız var), o zaman bu diller arasında neredeyse hiçbir fark yok . JavaScript ve PHP'nin uzmanlaşmış olduğu açıktır, her şeye biraz farklı sahiptirler. Ve burada (öğretim görevlisi Java ve C#'yi işaret ediyor) çok az fark var.

    O zamandan beri, her türlü başka ilginç şey ortaya çıktı, ancak başarılı bir şekilde yaşayıp yaşamayacakları belli değil. Şimdi ne, hangi görevler için kullanıyorlar?

    Göreve bağlı olarak dil seçimi

    Diyelim ki bir ekran kartı sürücüsü yazma göreviyle karşı karşıyasınız. Bugün hangi dili kullanacaksınız? (İzleyicilerden yüksek sesle: Java!) Neden… Java harika, ama neden Ruby veya PHP'de olmasın? (Öğretim görevlisi alaycı bir şekilde konuşur.)

    düşük seviyeli programlama

    Düşük seviyeli bir şey yazıyorsanız, C en iyi seçimdir, ancak bunun için C++ kullanıldığını duydum (ancak görmedim). Ama buna çok az inancım var, çünkü C'de açıkça kontrol edebilirsiniz - çok fazla bayt bellek verdiğiniz için, bu çok fazla bayt olacağı anlamına gelir. Ve C++'da (STL), bir dizi nasıl uygulanır? Bir şekilde uygulandı. Ve sonunda, orada nasıl ve ne olduğunu bilmiyoruz, belki video kartımızın hafızası tükenecek veya başka bir şey olacak. Bu nedenle, C hala yaşıyor ve ölmüyor, hala sistem programlamanın bu tür görevleri var - bir işletim sistemi yazmak, sürücüler yazmak, başka bir şey yazmak - C bunun için harika. Ek olarak, pillerle çalışan her türden cihaz artık ortaya çıkıyor (nesnelerin interneti gelmek üzere olduğunu vaat ediyor) (ve tabii ki milyonlarca olacak, her şey bu nesnelerin interneti ile asılacak) , çok ucuz olmalı ve çok az elektrik tüketmelidir. Buna göre, 2 KB bellek, 5 kHz'de bir işlemci olacak ve elbette yakın gelecekte bir tür sanal makine veya betik dili takmak mümkün olmayacak - bu da yazmanız gerekeceği anlamına geliyor C'de bir şey Ve şimdi bile, örneğin, bir video kartı (OpenCL veya başka bir teknoloji) üzerindeki hesaplamalar - onlar için program yazmak için yeni bir dil bulamıyorlar - bazı büyük kısıtlamalarla C yapıyorlar. İnsanlar nasıl yapılacağını zaten biliyor diye, neden yeni bir şey öğrenelim? Resmi olarak, bu muhtemelen aynı zamanda bir anlamda C'dir.

    web programlama

    Diyelim ki yeni bir Facebook (sosyal ağ) yazmak istiyorsunuz. Ne üzerine yazacaksın? (İzleyicilerden HTML ve CSS hakkında konuşuyorlar.) HTML, CSS tasarımdır ve orada fotoğraf eklemenin, arkadaş edinmenin, yorum bırakmanın mümkün olmasını istiyoruz.

    Komut dosyası kısmı için - yani, istemci tarafında ne olacak - bu JavaScript'tir. Ayrıca, bazen JavaScript başka bir dilde oluşturulur ve gönderilir (komut dosyası oluşturulur ... çünkü bazen mantıktaki bazı değişiklikleri işlemek daha kolaydır).

    Şaşırtıcı bir şekilde, PHP - ve Facebook ve diğer birçok büyük projede yazılmıştır. Tabii ki, hala iyi çalışması ve yapıldığı gibi olmaması için kendi şeyleri yazmam gerekiyordu, ama yaptılar. Prensipte ne yazdığınızın bir önemi yok ama ben Perl'i önermiyorum. Burada ve şimdi, elbette, kimse web için sıfırdan bir şey yazmıyor. Herkes bir tür çerçeve veya başka bir şey yazar. Online mağaza? Bir çevrimiçi mağaza için bir çerçeve indirdik - hepsi bu, bir çevrimiçi mağaza yazdık.

    İş programlama

    Ardından, sıkıcı bir banka başvurusu yazmak istiyorsunuz. Ya da mesela sim kart satan biri var mı? Belki hiç telefon falan aldınız ve size “İşte sistem askıda, yapabileceğimiz bir şey yok” dediler. Böyle bir uygulamayı neye yazacaksınız? (İzleyicilerden Python hakkında bir haykırış) Python'da böyle şeyler yazamazsınız, nesiniz?! Python'da iş için hiçbir şey yazılmamalıdır. Neden? Çünkü Python'da bir şey yazdığınızda, yazma sürecinde önemli sayıda hata bulamazsınız. Python, mümkün olan her şekilde dinamik olarak yazılmıştır ve genel olarak, orada bir hatayı gizleyebilirsiniz, böylece bu dolandırıcı kullanıcıların orada ne yaptığını bile anlayamayacağınız, sizin için her şeyin bozulduğu bir durumda ortaya çıkar. Yani, Python'da kendiniz için küçük komut dosyaları yazmak daha iyidir - orada neler olduğunu ve ne yapıldığını anlıyorsunuz. Ya da atmaktan çekinmeyeceğiniz bir şey: rakiplerinizden önce bir şey ortaya çıkarmak istiyorsunuz, peki ya her seferinde bozulursa. Python'da yazdınız ve hepsi bu - pazarı ele geçirdiniz. Ve uzun süre bir şey yazarsanız, örneğin bir tür bankacılık uygulaması (kredileri onaylaması için, başka bir şey) - onu Java'da yazarsınız. Çünkü orada ciddi bir mesele var, kağıtlar, para, belgeler, başka bir şey ama her şeyi bozacak kadar karıştıramazsınız, aksi takdirde insanlar gücenir - paraları gitti ve hiçbir yere ulaşmadı, çünkü siz varsınız. bir an dize bir sayıya dönüştü veya tam tersi. Yani, metodik olarak Java'da alıp yazdığınız, yazdığınız anlamına gelir ... Peki ya da .Net'te, prensipte bu tür durumlar da olur. Orada elbette sorunlarla da karşılaşabilirsiniz, ancak yine de bunun olasılığı biraz daha düşüktür.

    Ordu, havacılık endüstrisi için programlama

    Şimdi sizi bir roketle aya göndermeye karar verdiklerini hayal edin. Roket motorlarını kontrol eden kodu ne olarak yazmayı tercih edersiniz? Bir göz atalım. Bu, muhtemelen (öğretim görevlisi Perl, Python, PHP, Ruby'yi işaret ediyor) buna değmez - yavaşlar, başka bir şey olur, genel olarak, böyle bir roketle uçmayı kabul etmem. C++'da mı? Dürüst olmak gerekirse, ben de yapmazdım çünkü C++'ta kendini öldürmenin çok fazla yolu var. Uzayda bir yerde olduğunuzda, bu pek iyi değil.

    Belki Java'da? Orada her şey oldukça güvenilir görünüyor ve mimari iyi, vahşi tipler yok, fazladan bellek taşması yok. Diyelim ki en önemli an geldi ve Java'mız bizim için çöp toplamaya karar verdi. İnmemiz gerekiyor, yavaşlıyoruz ve o "Hayır, çöp gidiyor" diyor. Genel olarak, o kadar da değil.

    Dürüst olmak gerekirse, bu programın Pascal ile yazılmasını tercih ederdim. Tabii ki Pascal'ı pek sevmiyorum ama bir şekilde bu tür konularda çok havalı olurdu.

    Aynı anda yazılım geliştirme için birden çok dili kullanma

    Peki, genel olarak modern diller hakkında söylenmesi gerekenler. Artık pek çok proje herhangi bir dilde yaşamıyor, yani bazıları bir dilde, bazıları başka bir dilde ve bazıları üçüncüsünde yaşıyor. Örneğin, çılgın miktarda bilgiyi işleyen bir tür web uygulamanız varsa, disklere erişimler (veritabanlarına bile değil, o kadar büyükler ki zaten orada yazılmış bir veritabanı bile çekemez) muhtemelen bazılarına yazılır. düşük seviyeli C, diske çılgınca hızlı yazmak ve tüm bunlar. Doğal olarak, tüm projeyi C'de yazmaya değmez. Belki Java'da yazılmış, hızlı aramalar için C işlevlerini çağıran bazı ara mantıklar vardır. Pekala, ön uç (kullanıcının baktığı şey), elbette, zaten bir şeye, bazı komut dosyalarına, doğrudan tarayıcı (JavaScript) tarafından yürütülen şeye yazılmıştır. Ve tüm bunlar birlikte yaşıyor ve başarılı bir şekilde etkileşime giriyor.

    Bazı uygulamaların geliştirilmesinde, hatta büyük olanlarda, bazen insanlar ne yapar? Onu alıyorlar ve Python'da bir prototip yazıyorlar (hepsi nasıl çalışacak), eskizini çıkarıyorlar, bir tür mimari üzerinde düşünüyorlar. Üzerine yazmak gerçekten çok hızlı - bir prototip attılar, denediler ve şöyle dediler: “Vay canına! Bu çok havalı! Ve tamamen yeniden yazıldı. Görünüşe göre işi iki kez yaptılar, bu da iki kat daha uzun sürdü (yani bir buçuk). Ama hayır! Genellikle bu yolun fena olmadığı ortaya çıkıyor, çünkü hemen bir şeye, örneğin Java'ya yazarsanız ve sonra karar verirseniz: "Hayır, yeniden düzenleyelim, mimariyi tamamen değiştirelim ve tüm bunlar", o zaman 10 kez harcarsınız. daha fazla zaman Böyle şeyler de var ve yaşıyor.

    Herhangi bir programlama dilinin başarısı için koşullar

    Şimdi bazı güzel dillerin neden hayatta kalamadıklarından ya da çok sınırlı bir alanda yaşadıklarından bahsedelim. Wirth, Apple, Borland ve tüm bunların Pascal'ına ne kadar kötü şirketler yaptığını görünce daha da iyi bir dil buldu - Oberon. Sadece çılgınca minimalistti - yani çok az komut vardı (Dizeler? Neden dizelere ihtiyacımız var? Bir dizi karakter oluşturacağız!). Pekala, onunla gidebileceği ölçüde bir şeyler yolunda gitmedi.

    Bir şey daha. ABD ordusu onlardan her şeyin çalıştığı ve her şeyin yazılabileceği havalı bir dil geliştirmelerini istedi. Sonuç, oldukça canavarca bir Ada diliydi, ancak yine de bir şeyler yazılıyor, ancak yine - yalnızca ordu için.

    Sorun nedir? Başlangıçta hiçbir şirketin desteklemediği Python gibi bazı diller neden piyasayı ele geçirdi. Yine kötü tasarlanmış olan PHP, pazarı (çoğu) tek başına devraldı ve ele geçirdi. Ve her türden milyarlarca dolar yatırıldı (öğretim görevlisi Ada'yı işaret ediyor) ve hiçbir yere gitmedi, hiçbir şey olmadı. Ne ile bağlantılı? Bunun nedeni, bu dillerin etrafında herhangi bir altyapı olmamasıdır. Yani, dil mükemmel olabilir, ancak belgeler olmadığı sürece, soruları yanıtlayabilecek bir topluluk olmadığı sürece (Yığın Taşması'nda) ve son olarak, en önemlisi, büyük olmadığı sürece. kitaplık sayısı, dil çekmez. Yani, örneğin, Oberon'da bir web sitesi yazmak istediniz. Ve bu nedir, neden olmasın? Ve sorun başlıyor ... Hafifçe test etmek için web sunucunuzu Oberon'a kuramazsınız, Oberon'da olmadıkları için herhangi bir kitaplığa bağlanamazsınız. Ve tüm bunlar bir tür koltuk değneği aracılığıyla yapılır, kuvvetler gider ve genel olarak sitenizi tükürür ve Oberon yerine saf C'ye yazarsınız. Ve diğer dillerden kütüphaneleri kullanabilen diller iyi yaşıyor. Yavaşladığı yerlerde aynı Python. Genel olarak, sıralama gibi her türlü standart şey ve başka bir şey C'de yazılır ve o (Python) onlarla nasıl etkileşime gireceğini bilir.

    Java ayrıca bir Java Yerel Arayüzüne sahiptir. Bu esasen C'dir, yani orada (bence hep yasaklamak isterler ama görünüşe göre henüz yasaklamamışlar) bu diller mevcut kütüphanelerle (esas olarak C'ler) etkileşime girebilir. Ve bu nedenle alıyorlar ve çalışıyorlar. Size aktarmaya çalıştığım fikri anlıyorsunuz, değil mi? C-kütüphanesini nasıl bağlayacağını bilmeyen dillerde yazmayın. Peki, havalı bir şey kullanmak istiyorsan. Eh, ve yavaş yavaş onlar (diller) bir tür altyapı kazanıyorlar. Ve iyi yaşıyorlar.

    Programlama dili ve kariyer rehberliği

    Şimdi hayattan ne istediğinizi nasıl anlayacağınızdan bahsedelim. Harika şeylerden ne olur? Biraz sistem programlaması yapabilirsin, değil mi? Bu baytları orada saymak harika, quadrocopters, bir tür kamera başlatmak istiyorsunuz, başka bir şey yapın. O zaman C muhtemelen senin seçimin.

    Yazmak istiyorsanız, belki hayattaki en ilginç uygulamalar değil, ama onları tasarlamanız, hepsini düşünmeniz ve çoğu zaman oturup sıkılmak için çok para kazanmanız harika (bunun için ödeme yapmanız gerekiyor) iyiysen seni özledim), işte buradalar - Java, .Net. Bir bankada işe gidiyorsunuz, yazıyorsunuz, dokuzda beyaz gömlekle işe gidiyorsunuz, iyi bir maaş alıyorsunuz ve en iyi Java geliştiricilerinin, .Net koyunun tavsiyelerine göre yazıyorsunuz ve tüm bunlar ...

    Bazı uygulamalar, biraz tarayıcı, biraz oyuncak, başka bir şey yazmak istiyorsanız, o zaman C ++ harikadır. Web siteleri yazmak istiyorsanız, işte buradalar, seçtiğiniz diller (öğretim görevlisi Perl, Python, PHP, Ruby'yi gösterir), pek bir fark yoktur. Tek şey, PHP Python'dan önce ölecek, bu yüzden yeni şeyler öğrenmek için çok tembelseniz Python öğrenin. Büyük bir fark görmeyeceksiniz, ancak daha uzun süre dayanacaksınız.

    Ruby'ye ne olduğu da belirsiz. Eh, zaten öğrendiyseniz PHP'yi de yapabilirsiniz, çünkü o kadar basitler ki orada yeniden öğrenmek çok uzun sürmüyor.

    Ve son olarak, programlama dillerinin başka bir uygulama alanı daha var - bu, programcı olmayan birinin onları kullandığı zamandır. Diyelim ki bir matematikçi, fizikçi, kimyager, analist, herhangi birisiniz ve hızlı bir şekilde bir şeyler hesaplamanız, bazı verileri analiz etmeniz gerekiyor (örneğin, Komutan Adaları'nda kaç tilki yaşıyor biyologlara). Tüm bunları Excel'de bir tabloya aktarabilir veya bir şeyle analiz edebilirsiniz. Python da bunun için çok uygundur, metinle çalışabilir ve kütüphaneler her türlü istatistiksel ve diğer şeylerle doludur. Bir tür Makine Öğrenimi yapmak, bazı verileri işlemek, tahmin etmek istiyorsanız, Python bunu da şimdi en hızlı şekilde yapıyor. Doğru, görevlerin çok farklı olduğu belirtilmelidir. Örneğin, fiyatların sürekli değiştiği koşullarda borsada anında işlem yapmak istiyorsanız, Python'da Makine Öğrenimi ne kadar havalı yazarsanız yazın, bunu daha hızlı bir şekilde yazan kişilerin her şeyi daha erken satın almak için zamanları olacaktır. Algoritmaları daha kötü olsa bile siz sayılana kadar. Bu nedenle, bu makine öğrenimi görevleri bile (bazıları) yüksek performans (ve son derece yüksek) ve buna bağlı olarak başka diller gerektirir.

    Ne istediğini anlamanın tek yolu her şeyi denemektir. Şimdi her şeyi nasıl deneyebileceğinizin vizyonlarından biri olarak söyleyeceğim. Nasıl programcı olunur ve mutlu olunur? Bu yüzden. Sıfırdan başlıyoruz. Burada matematik, Rusça ve okuldaki diğer zorunlu ve seçmeli dersleri çalışıyorsunuz ve programlama alanındaki bilginiz şu anda tahtaya yansıyor (öğretim görevlisi boş bir tahtayı gösteriyor). Ve mutlu bir insan olmak, sevdiğin şeyi yapmak, çok para kazanmak ve kendini hiçbir şeyden mahrum bırakmamak ve mutlu olmak istiyorsun.

    Bunu başarmanın yollarından biri. Hiç üniversiteye gitmeyen veya okulu bırakıp milyarder, şirket sahibi vb. Ancak, milyarder olmayabilecek ama aynı zamanda iyi yaşayan insanların çoğunluğunun yine de bir noktada üniversiteden mezun olduğu belirtilmelidir.

    Üniversiteye girmekle ilgili durumumuz nedir (şimdi okulda okuyorsunuz)? Okuldayken, bir sonraki adımın kayıt olmak olduğunu anlamanız ve bununla ilgilenmeniz gerekir. Sınavı geçin veya Olimpiyatı kazanın. Sınavda Pascal, C ++ (saf C dahil), Python (onlardan daha fazla bahsetmeyeceğim) kullanabilirsiniz. Olimpiyatta - aynı Pascal, aynı C ++, aynı Python (şimdi sorunları hakkında konuşacağız) ve çoğu zaman Java var. Olimpiyatlara bağlı olarak her şey olur, ama mesele bu değil.

    Bilişimde Tüm Rusya Olimpiyatlarında dillerin dağıtım programı nasıl görünüyor? En havalı Olimpiyat olan tüm Rusya'ya katılan insanlar ne üzerine yazıyorlar? Şöyle görünüyor (burada Pascal anlamına geliyor ve burada yaklaşık 2000 ve burada yaklaşık sıfır, işte C ++ ve işte 2015).

    2000 yılında neredeyse hiç kimse C++ yazmadı. 15 yıl geçti ve Pascal modern olmasına rağmen neredeyse hiç kimse Pascal'da yazmıyor. Hemen hemen aynı şeyi yapabilen bir dil. Sadece herkes bunu öğrenemeyecek kadar tembelleşti, her türlü yeni trendle ve herkes elbette hiçbir şey yapamayan Borland Pascal'da yazmaya devam ediyor. C++'da insanlar sıralamak için bazı algoritmalar (STL) yazarlar - harika, sort() yazdılar ve hepsi bu. Pascal'da, her zamanki gibi, eskide - bu bir problem. Bazı setler (gerekli) yazdılar - mükemmel, C ++ ile yazdılar, Pascal'da yine tam bir eziyet. Yeni Pascal'larda elbette bunu yapabilirsiniz, ancak genel olarak paraya mal olurlar. Bunu fark etmemiş olabilirsiniz, ama öyle.

    Java da var ama Java'da çok fazla harf var. Büyük projeler içindir, ancak küçük tek seferlik programlar için oldukça kötü olduğu ortaya çıkıyor çünkü çok fazla ekstra harf var. Ama bazı insanlar da yazıyor, üzerine yazmayı öğrenebilirsiniz. Ancak KULLANIM'da mevcut değildir ve KULLANIM'ın çoğunlukla alınması gerekecektir.

    Sınav için en iyisi nedir? Sınav için Python öğrenmek en iyisidir (eğer hiçbir şey bilmiyorsanız ve okulda size hiçbir şey öğretmiyorlarsa). Sınav sorularının bir kısmı çok iyi çözülmüş. Olimpiyatta genel olarak C ++ 'nın (kullanıldığı) ortaya çıktı, çünkü Python çok yavaş, üzerinde her şey çözülmedi.

    Böylece, dilin küçük bir alt kümesini ve bazı algoritmaları (belki) öğrendiniz ve Olimpiyatlarınızdan diploma almak ve daha yüksek bir eğitim almak için üniversiteye gitmek için birçok sorunu çözdünüz.

    Şimdi Yandex ile yaptığımız Uygulamalı Bilimler Fakültesi uygulamalı matematik ve bilgisayar bilimlerinde EYO'da kursu nasıl oluşturduğumuzdan, dillerin hangi sırayla öğretildiğinden, nasıl işlendiğinden bahsedeceğim. İlk yarıyılda - Python (tam olarak değil, okulda nasıl öğretilmesi gerektiği hakkında) ve C ++ (zaten daha geniş, genellikle okullarda öğretildiğinden çok daha geniş). Hemen söyleyelim ki korkmayın, canınız bir anda yapmak isterse “Ne yani ben bunları zaten biliyorum, neden bir yere gidip ders çalışayım? Başka bir yere gitmeyi tercih ederim." Nasıl programlanacağını zaten iyi bilenler için, hemen algoritma çalışmasına ve oldukça teorik bir hazırlık yapma fırsatı var. Şimdi onlara bakmıyoruz, bu (tahtaya işaret ediyor) ortalama programlayanlar ya da hiç programlamayanlar içindir.

    İlk sömestr size Python'un temellerini öğretir, böylece insanlar programlamayı öğrenebilsin ve kimse fazla gücenmesin. Python okullarda nadiren öğretilir, çoğunlukla insanlar Pascal veya C ++ bilgisiyle gelir. Bir kitle okulu ise, temelde Pascal bile. Pekala, kimse gücenmesin diye herkes yeni bir dil öğreniyor (sanki eşit şartlardaymış gibi). Ve C++, çünkü C++'dan istediğiniz yere gidebilirsiniz.

    Ardından "Algoritmalar" kursu ve ayrı bir kurs projesi gelir. Uygulamalı klasik algoritmalar. Teoride bir şey aldığımızdan değil, karmaşıklığı hesapladık. Derste aldık, karmaşıklığı hesapladık, seminerde - aldık, algoritmayı uyguladık. Proje, öğrencilerin bitmiş bir şeyi yapmasıdır. Örneğin projelerden biri şuydu: hesaplamak ... Diyelim ki Moskova'da çok sayıda daireniz var ve anlıyorsunuz: “Ah, fazladan bir sürü şeyim var, bir tane kiralayacağım. Ve bir fiyat belirlediler ve kimse sizden bir daire kiralamak istemiyor - muhtemelen çok pahalı. Ya da bir fiyat koydular, hemen sizden aldılar ve "Ah, muhtemelen ucuza geçtim" diye düşünüyorsunuz - ve siz de üzülüyorsunuz. Yani, bir daire kiralamanın ne kadara mal olduğunu hesaplamak gerekiyordu? Verileri girersiniz - sizin için bir değerlendirme oluşturur. Birkaç şeyden oluşan böyle bir site: cümleleri alın, ayrıştırın, bir tür makine öğrenimi algoritması uygulayın (muhtemelen) basit ve içinde bir şey seçebileceğiniz, bir şeyler sürebileceğiniz, birkaç metre, birkaç oda, dairenizdeki sauna sayısı, jakuzi sayısı ve kabaca maliyet tahmini. Yani, biraz bitmiş, çok karmaşık olmayan bir şey. Burada (öğretim görevlisi algoritmalar üzerine bir kursu işaret eder) konsol G / Ç ile çok güçlü bir C ++ anlamına gelir. Pekala, ve burada (öğretim görevlisi "proje" yazısını işaret ediyor), bir akıl hocasının rehberliğinde, belki veritabanlarıyla, belki metin ayrıştırmayla ve başka bir şeyle.
    Ardından üçüncü dönem gelir - "Bilgisayar Sistemleri" adlı bir ders. Anlaşılması gereken oldukça fazla derleyici var (çok az) ve sonra, saf C'ye benzer bir şey ve işletim sistemleriyle etkileşim, özünde sistem programlama. Ve seminer projesi aynı zamanda her tür ağ etkileşimi konusuyla ilgili, oldukça düşük seviyeli bir şey: bazı yardımcı programlar geliştirin, örneğin rsync (senkronizasyon, muhtemelen biliyorsunuzdur. Saf C'de, aşağı yukarı, bir analog yazın. rsync, tüm dosya erişimine sahip ağ eşitleme klasörlerine sahip olacaksınız vb.).

    Ve son olarak, dördüncü. Buna ne isim vereceğimi bile bilmiyorum, web geliştirme gibi gerçek geliştirme için gereken teknolojiler karmaşası. Yani, bu, veritabanlarının pratik uygulamasıdır, yine projede yapılanlara benzer bir şey (öğretim görevlisi projede 2 ders gösterir), ancak zaten daha derinlemesine. Yani, zaten az çok somut şeyler, pratik programlama. Buna paralel olarak herhangi bir teori var, burada hala bilim yapıyorlar.

    Ve iki dersten sonra, insanlar ilgilendikleri şeyi yapmak için dağılırlar, çünkü bu şey programlamanın bu tür temellerini oldukça geniş bir şekilde kapsar ve bu noktada insanlar zaten bilgisayar sistemleriyle hiçbir şekilde uğraşmak istemediklerini anlarlar (örneğin, onlar sistem programlamayı sevmediler), ancak bazı teorik algoritmalar, saymanın karmaşıklığı, bazı yeni şeyler icat etmek, dağıtmak veya başka bir şeyle uğraşmak istiyorlar. Ya da tam tersine, burada fazla bir şeyleri olmadığını düşünüyorlar ( öğretim görevlisi Python ve C ++ ile ilk dersin satırını işaret ediyor) gitti, sonra ( Öğretim görevlisi, sistem programlama ile üçüncü dersin satırını işaret eder.) - nasıl beğenmezseniz, baytları sayın ve her türlü okuma-yazma kısıtlamasını ayarlayın, akışlar, ileti dizileri ve başka şeyler yapın. Ve buna göre insanlar bir yön seçer ve çalışırlar. Yani, prensip olarak, "ördek yavrusu sendromu" geliştirmemeniz için - Pascal'ınızı ilk gören sizdiniz ve şimdi "Pascal güçtür" diyorsunuz; veya daha ileri düzey - C ++ 'ı gördünüz ve herkes hakkında C ++' nın güçlü olduğu ve diğer her şeyin orada pek iyi olmadığı hakkında konuşmaya başladınız.

    Burada ona daha geniş bir şekilde bakmanız gerekir (öğretim görevlisi tahtadaki dersler listesini işaret eder) - bu, özellikle EYO'da seçilen yöntemlerden biridir (yakın zamanda ortaya çıkmıştır, bu nedenle oldukça moderndir) . Buluşmanın başka yolları da var. Diğer iyi üniversitelerin biraz farklı bir düzeni ve farklı aksanları vardır. Ama aynı zamanda insanlara sahip oldukları her şeyi tanıtmaya çalışırlar.

    Programcı olarak iş nasıl bulunur?

    Sen ( öğretim görevlisi ders listesini işaret eder) her şeyi yaptı, üniversitede öğrendi, iki yıl daha verimli bir şeyler yaptı ve işe gitmen gerekiyor. Çalışmak için bir şeyi nasıl seçersiniz? Öncelikle, her şeyi bilmelisin, bir yerlerde derinlere inmelisin ve neyi sevdiğini zaten biliyorsun. Doğal olarak neyi sevdiğinizi seçmelisiniz. Çünkü severseniz, çabalarınızı harcarsınız, motivasyonunuz olur ve genel olarak her şey yoluna girer. Çünkü bu sadece parayla ilgili değil, onu sizin için ilginç ve keyifli hale getirmekle ilgili. Peki, havalı bir şirkete girmek istiyorsan, bir iş bul. Şahsen ne tür bir insan görmek isterim? Diyelim ki bana yüz öğrenci geldi - işe iki ya da bir götürmem gerekiyor. Neden geliyorlar, kim olduklarını, ne olduklarını, nasıl olduklarını hiç anlamıyorum? En iyi ihtimalle bana üniversitede aldıkları diplomayı gösterecekler ve ben de “Vay canına! Bu harika bir diploma, ama bu o kadar da havalı değil!” Ve bu arada, yanılıyor olabilirim. Belki kişinin çok fazla boş zamanı vardı ve çok daha iyi öğrendi.

    Ne harika olurdu? İlk olarak, baştan sona yazdığınız bazı açık kaynaklı projeler. Tercihen, verilerin hızlı bir şekilde okunması için bir tür altyapı veya başka bir şey yapıyorsam, o zaman elbette benim için açık kaynaklı bir şey yazmakla ilgilenirim. Bir tür web sitesi yapmadılar, konuyla ilgili bir şeyler yaptılar. Bu benim için neden ilginç? Kodunuza bakabilirim, ne sıklıkta taahhütte bulunduğunuzu görebilirim, kullanıcılardan gelen hatalara, onu kullanan geliştiricilerden gelen hatalara nasıl tepki verdiğinizi görebilirim - her şey kaydedilir, her şeye bakarım ve şöyle düşünürüm: "Vay canına, bu hata iki yıldır kapalı, sonra kaba bir şekilde kullanıcıya cevap verdiniz, başka bir şey daha var - bunu kabul etmiyorum. Yani bu senin kişisel projen.

    Sonra, başka ne harika olurdu? Takım çalışmasını nasıl yaptığınızı görmek isterim. Yani, bir röportaj için bana gelip şöyle diyorsunuz: “Üniversiteden çocuklar ve ben iyi bir başvuru yaptık. Orada bir veritabanı yaptım, orada bir tür mobil uygulama yaptılar ve orada çalışan bir adamımız da vardı, bir tasarımcı kız, bir teknik destek elemanı. Beş kişiydik ve harika bir proje yaptık.” Peki, gerçekten senin projen ne diye bakıyorum, “Seninki ne?” Koda tekrar bakıyorum ve insanlarla bir takımda nasıl çalışılacağını bildiğinizi anlıyorum.

    Bir programcı, garajda, ışıklar kapalı bir yerde tek başına (böyle bir indie) oturan, kimseyle konuşmayan, sakal bırakan ve yazan kişi değildir. Yine de insanlarla bir tür etkileşim var. Örneğin, bazen size küfreden bir patronla (patronlar, onlar böyledir, her zaman kibar değillerdir). Ve insanlarla nasıl çalışılacağını bildiğini görüyorum ve iyi bir ekibin olması beni mutlu ediyor. İyi olmasa bile hiç yoktan iyidir.

    Kişisel olarak başka ne isterim? Kendinizi büyük projelerde gösterdiyseniz. Örneğin, Linux çekirdeğine bir şey işlediniz, sistem programlamayla ilgileniyorsanız, bazı hataları düzelttiniz. Yani, başka birinin kodunu okuyabileceğinizi ve onda bazı değişiklikleri nasıl yapacağınızı bildiğinizi gösterdiler. Bakıyorum: "Ah, gerçekten, karmaşık bir şey buldun ve bazı hataları düzelttin!" Ve bundan gerçekten zevk almaya başlıyorum. Çünkü ben... şey, bilmiyorum... bu yüzden programcım işi bıraktı çünkü rakipleri ona daha yüksek bir maaş teklif etti ve acilen onun yerini dolduracak birine ihtiyacım var - sana. Görünüşe göre sadece sıfırdan yazmışsın ve başka birinin kodunu nasıl okuyup düzenleyeceğini bilmiyorsun ve ben üzülüyorum.

    Ve son olarak, belirli pozisyona bağlı olarak, farklı başka şeyler de vardır. Analist olarak iş başvurusunda bulunuyorsanız, veri analizi problemlerini Kaggle üzerinden çözmenizi isterim. Bazı algoritmik şeylerde bir iş bulursan, spor programcılığında bazı algoritmalar yapmanı isterim. Ve son olarak, meslek hakkında düşünürseniz, mülakatların nasıl gittiğini okursanız, orada bazı insanların büyük memnuniyetsizliklerini dile getirdiğini görürsünüz: “Geldim ve bana hobimin ne olduğunu soruyorlar. Baykuş gibi oturuyorum ve cevap vermiyorum çünkü hobim yok” ve bunu İK'ların yaptığını düşünüyorlar. Aslında, ne kadar arkadaş canlısı ve yeterli olduğunuzu anlamaya çalışıyorlar. Dost canlısı ve yetersizseniz, o zaman ne kadar dahi ve işkolik, harika bilgi birikimine sahip havalı bir uzman olursanız olun, ekibin sizinle çalışması zor olacaktır ve projeyi tek başınıza çıkaramazsınız. Ayrıca çıkarsanız bile şirketin nasıl bir yük ile karşı karşıya olduğunu tahmin edebilirsiniz. Peki yarın ne gelecek ve “Maaşımı 10 kat artırın yoksa sizi bırakacağım” diyeceksiniz. Elbette firmalar böyle bir duruma düşmek istemezler. Bu nedenle, kendi içinde yeterlilik ve iyi niyet geliştirmek, (en azından) bazı mesleki becerileri geliştirmek kadar önemlidir.

    Özetle, ne söylenebilir? Hangi diller iyi hangileri kötü? Pekala, bazı dil grupları içinde, örneğin Ruby, Python ve PHP arasında, ne seçilmeli? Elbette doğru cevap Python'dur, ancak aslında aralarındaki fark, izin verilen hata sayısında, başka bir şeyin miktarındadır -% 5, belki% 10. Yani, zaten PHP'de yazılmış bitmiş bir projeniz varsa, o zaman aklı başında hiç kimse "Python'da her şeyi yeniden yazalım" demez. "Daha fazla PHP geliştiricisi tutalım ve PHP ile yazmaya devam edelim" diyecekler. Tamam, bu iyi bir seçim. Elbette, aniden bir tür proje yazmaya başlarsanız, o zaman şimdi Python'u seçmek akıllıca olabilir. Bununla birlikte, aynı zamanda bağlıdır. Belki piyasada bir sürü ucuz PHP geliştiricisi var ve Python olanlar pahalı ve "Evet, teknoloji daha havalı ama hazır geliştiricilere para kazandıracağım" diye düşünüyorsunuz. Ve her şey yolunda, zaten gelip orada çalışıyorsun.
    Java ve C++ arasında nasıl seçim yapılır? Evet, tam olarak aynı şey oluyor. Yeni bir büyük projeye hangi dilde başlayacağınıza karar verdiğinizde profesyonel alanınızda bilgi sahibi olacağınızı ve doğru seçimi yapabileceğinizi düşünüyorum. Şu anda henüz bu seçimi yapmak zorunda değilsiniz ve bu yüzden size zevk aldığınız şeyi yapmanızı tavsiye ediyorum.

    Temel bilgiler, dediğim gibi, programlamanın temelleri (işlev nedir, if'ler, for'lar, diziler, başka şeyler nelerdir) aşağı yukarı herhangi bir dilde öğrenilebilir. Örneğin, C ++ 'da, birçok şey ona benzer olduğundan ve içindeki ayrıntılar (bu düzeyde) yazmak için en az ve en az gereksiz harflerdir. Pekala, o zaman bazı karmaşık mimari şeyleri öğrendiğinizde öğreneceksiniz ve bunun için fazla endişelenmenize gerek yok. Yani, asıl mesele denemek, neyi sevdiğinizi aramak ve zaten sabah saat 4 olduğunu fark ettiğinizde ve eğlenmek için oturup yazmak, çünkü bundan hoşlanıyorsunuz - muhtemelen şu anda .

    Bir programlama dilinin popülaritesini ölçmenin birçok yolu vardır. Ancak uzmanlara olan talep analizinin en doğru olduğuna inanıyoruz. Geliştiricilere, kariyer olanaklarını geliştirmek için ihtiyaç duydukları becerileri açıkça gösterir.

    2018'in en çok talep gören yedi programlama dilini belirlemek için Indeed.com'da yayınlanan iş ilanlarını inceledik. Swift ve Ruby gibi bazı diller, işverenler arasında daha az popüler oldukları için ilk yediye giremedi.

    2018'de Java'ya olan talep, 2017'ye kıyasla yaklaşık 6.000 açık pozisyon azaldı. Ancak bu programlama dili hala popüler. Java, 20 yılı aşkın bir süredir dünya çapında milyonlarca geliştirici ve milyarlarca cihaz tarafından kullanılmaktadır. Java Virtual Machine aracılığıyla herhangi bir donanım ve işletim sisteminde çalışabilir.

    Tüm Android uygulamaları Java tabanlıdır. Fortune 500 şirketlerinin %90'ı Java'yı sunucu tarafı programlama dili olarak kullanıyor.

    2. Piton

    Python'un popülaritesi yaklaşık 5.000 iş ilanıyla arttı. Web geliştirme için kullanılan genel amaçlı bir programlama dilidir. Ayrıca bilimsel hesaplama ve veri madenciliğinde yaygın olarak kullanılmaktadır. Makine öğrenimi geliştiricilerine yönelik sürekli talep, Python'a olan talebi artırıyor.

    3. JavaScript

    JavaScript, bugün 2017'de olduğu kadar popüler. Bu programlama dili, geliştiricilerin %80'inden fazlası ve tüm sitelerin %95'i tarafından web sayfalarında dinamik öğeler oluşturmak için kullanılır. React ve AngularJS gibi bir dizi ön uç JavaScript çerçevesi büyük potansiyele sahiptir. IoT ve mobil cihazlar giderek daha popüler hale geliyor, bu nedenle yakın zamanda JavaScript programcılarına olan talepte bir düşüş göreceğimizden şüpheliyiz.

    4.C++

    C++ talebi 2017'den bu yana çok az değişti. Bu programlama dili, sistem/uygulama yazılımı oluşturmak, oyunlar, sürücüler, istemci-sunucu uygulamaları geliştirmek için kullanılır. Birçok programcı, C++'ı Python veya JavaScript gibi programlama dillerinden daha karmaşık bulur. Ancak yine de büyük işletmelerdeki birçok eski sistemde kullanılmaktadır.

    5.C#

    C#'ın ("C diyez" olarak telaffuz edilir) popülaritesi bu yıl biraz azaldı. C#, Microsoft .NET platformunda geliştirme için tasarlanmış nesne yönelimli bir programlama dilidir.

    C++ gibi C# da video oyunu geliştirmede kullanılır, bu nedenle acemi programcılar her iki dili de aynı anda öğrenmelidir.

    6 PHP

    Bu sunucu tarafı programlama dili, sıralamamızda (geçen yıla kıyasla) altıncı sıraya yükseldi. Çoğu geliştirici, HTML'nin desteklemediği özellikleri uygulamak için PHP kullanır. Ve ayrıca MySQL veritabanlarıyla etkileşim için.

    7. İnci

    Perl'e olan talep yaklaşık 3.000 iş düştü ve sıralamamızda yedinci sırada kaldı. Perl, sistem ve ağ yöneticileri arasında popüler olmaya devam ediyor.

    geleceğe bir bakış

    Bunlar henüz derecelendirmemize dahil edilmemiş programlama dilleridir. Ancak 2018'de daha popüler hale geldiler. Gelecekte onları takip edin!

    • Swift: Apple tarafından 2014 yılında piyasaya sürülen iOS ve macOS için bir programlama dili, sıralamamızda 14. sırada. Bunun nedeni, birçok geliştirici işinin, belirli bir dil belirtmeden gereksinimleri "iOS" olarak belirtmesidir. Swift giderek popülerlik kazanıyor.
    • R: Reytingimizde 11. sırada yer aldı. Ancak bu programlama dilinin birkaç yıl içinde fırlamasını bekliyoruz. Hem uluslararası sıralamalarda hem de Amerika Birleşik Devletleri'nde popülerlik kazanıyor. R geliştiricilerine olan talepteki artış, veri analizinde dilin artan kullanımından kaynaklanmaktadır.
    • Rust : Rust, Google Trends'e göre sıralamamızda çok üst sıralarda yer almasa da, istikrarlı bir şekilde gelişiyor.

    Bilinmesi gereken diğer teknolojiler

    Aşağıda listelenen teknolojiler resmi olarak programlama dilleri değildir. Ancak, işverenlerin geliştiricilere dayattığı gereksinimler listesine dahil edilirler.

    • SQL: Veritabanlarında bilgi depolamak ve işlemek için tasarlanmış standart bir sorgulama dili. SQL bilgisi, işverenler arasında yüksek talep görmektedir. 30 binden fazla boş kadroda adı geçiyor.
    • .NET: Microsoft'un masaüstü, mobil ve web uygulamaları geliştirmeye yönelik platformu. C#, Visual Basic ve F# gibi programlama dilleri tarafından kullanılır. Ve teknolojinin platformlar arası uygulaması, .NET'i iOS, Linux ve Android için genişletiyor.
    • Düğüm: Sunucu tarafında JavaScript kodunu çalıştırmanıza izin veren açık kaynaklı bir ortam. Bu, tüm web uygulaması için bir programlama dili kullanma yeteneği sağlar. Node.js'yi öğrenmek için biraz zaman ayırmanızı öneririz.
    • MEAN : MEAN yığını (MongoDB, ExpressJS, AngularJS ve Node.js) sıralamamızda 18. sırada yer alıyor. Yığını kullanmak, tam teşekküllü JavaScript uygulamaları oluşturmanıza olanak tanır. MEAN öğrenmek, dünyanın en popüler programlama dillerinden birinde gelişmek için bir temel sağlayacaktır.

    Makale çevirisi "2018'in En Çok Talep Gören 7 Programlama Dili" samimi bir proje ekibi tarafından hazırlandı.

    İyi kötü

    Bilgisayar programları oluşturma sürecinin temellerinde uzmanlaşmaya karar veren herhangi bir kişi, günümüzde en popüler programlama dillerinin hangileri olduğunu ve hangilerinin öğrenilmesi en iyi olduğunu merak eder. Ve ilk soruyu cevaplamak çok kolaysa, planlarına ve ihtiyaçlarına göre öğrencinin ikinci sorunun cevabını kendisi araması gerekecektir.

    En popüler programlama dillerine hızlıca bir göz atalım, böylece size hitap edeni seçip öğrenmeye başlayabilirsiniz.

    programlama?

    Ana programlama dillerini parçalara ayırmadan ve tanımlamadan önce, kavramın kendisini parçalara ayırmak gerekir.

    Bir programlama dili, bilgisayar programları yazmak için kullanılan resmi bir işaret sistemidir. Diğer herhangi bir dil gibi, kendi sözcüksel, anlamsal ve sözdizimsel kurallarına sahiptir.

    Düşük ve yüksek programlama seviyelerine sahip dilleri ayırın. Bugüne kadar, ikincisi esas olarak kullanılmaktadır.

    Yüksek ve düşük seviyeli programlama dilleri

    Düşük seviyeli bir programlama dili yapıya yakın bir yapıya sahiptir, bu durumda komutlar sıfırlar ve birlerle değil, anımsatıcı notasyon yardımıyla gösterilir. En iyi bilinen düşük programlama dili, montaj dilidir.

    Dillerden herhangi biriyle çalışmak yüksek nitelikler, anlayış gerektirir, ayrıca program yazmak çok zaman alır. Aynı zamanda düşük olanların yardımıyla küçük ama aynı zamanda etkili programlar oluşturabilirsiniz. Acemi programcılara onlarla tanışmaya başlamaları önerilmez.

    Üst düzey programlama dilleri, işlemleri açıklamak için anlamsal yapıların varlığıyla karakterize edilir. Çalışmaları çok zaman alır ve pratikte uygulanmaları, sözdizimi ve kelime dağarcığının temel yapılarına ve kurallarına dikkat ve anlayış gerektirir. Ancak aynı zamanda, üst düzey dil bilgisi, rekor sürede büyük, renkli, çok işlevli projeler oluşturmanıza olanak tanır.

    Yüksek seviye Pascal, Java, C, C++, C#, Delphi ve diğerlerini içerir. Yazılım ve uygulama programları yazmak için kullanılırlar.

    En popüler programlama dilleri

    Günümüzde en popüler programlama dilleri nelerdir?

    Son yıllarda programlama dillerinin başında gelen Java, C, C++, Python, C# en popüler ve rağbet gören dillerdir. Modern programların temelini oluştururlar ve herhangi bir büyük proje yazarken kullanılırlar. Programcıların %70'inden fazlası bu dillerle çalışıyor. Önümüzdeki 10 yılda da bugün olduğu gibi aynı talepte olacakları tahmin ediliyor.

    Ruby, PHP, JavaScript daha az popüler sayılmaz. Çoğu uzman onlara odaklanır.

    Genel olarak, popülerliğine bakılmaksızın, az ya da çok kendine saygı duyan herhangi bir uzman, farklı seviyelerde en az birkaç dil bilmelidir. Bunun nedeni, çoğu büyük projenin farklı dillerde geliştirilmesidir. Örneğin, bazı modüller C kullanılarak yazılır, diğerleri Java ile geliştirilir ve yine de diğerleri Delphi ile yazılır.

    C, C++ ve C#

    C ailesi ile başlayalım.

    C dili 70'lerde derlenmiş ve geliştirilmiştir. Temelinde, daha sonra C ++ ve C #, Java gibi diller oluşturuldu.

    C++, hem düşük seviye yardımcı programlar ve sürücüler hem de çok etkileyici uygulamalar ve yazılım paketleri oluşturmak için tasarlanmış güçlü bir dildir.

    C#, C ve C++ tabanlı modern bir nesne yönelimli dildir. Güvenli tip sistemine sahiptir. Ayırt edici özelliklerinden biri, başka bir popüler programlama dili olan Java'ya da çok benzemesidir.

    Dilin dezavantajlarından biri, yalnızca Windows işletim sistemi için uygulama oluşturmanıza izin vermesi ve ayrıca çok ağır olması, yani içinde yazılan programların çok yer kaplamasıdır.

    Birçok yönden C, C++ ve C#'ın yeni başlayanlar için programlama dilleri olduğu belirtilebilir. Onlara hakim olduktan sonra, yeni bir dil öğrenmenin minimum zaman alacağından emin olabilirsiniz.

    Onlarla tanışabilir ve ilk uygulamalarınızı özel bir ortam olan Borland veya Visual Studio'da yazabilirsiniz.

    JavaScript

    JavaScript, nesne yönelimli yeteneklere sahip bir dildir. 1996 yılında geliştirildi ve bugün en popülerlerinden biri. Dil, çoğunlukla web komut dizisinde kullanılır ve Internet Explorer, Firefox, Opera gibi büyük tarayıcılarda çalışır. HTML ve CSS ile de yakından ilişkilidir, bu yüzden öğrenmeye başlamadan önce bu dillerin temellerine hakim olmanız gerekir.

    İsim benzerliğine rağmen JavaScript ve Java'nın tamamen farklı iki dil olduğunu belirtmekte fayda var.

    Bu dil, tarayıcılar ve komut dosyaları, uygulamalar ve bunlara eklentiler oluşturmaya odaklananlar için uygundur. Kendi sitelerinizi oluşturmayı planlıyorsanız, onu daha iyi tanımanız da gerekir.

    java

    En popüler programlama dilleri göz önüne alındığında, Java'dan söz edilemez. 1995 yılından beri kullanılmakta olan nesne yönelimli bir programlama dilidir. Çok hafiftir ve herhangi bir mimarideki herhangi bir Java makinesinde çalışır. Android ve iOS için uygulama geliştirmek için kullanılır.

    Piton

    Ana görevi geliştiricinin üretkenliğini artırmak olan Python, kodu daha okunaklı hale getirir. Küçük bir sözdizimi yapıları listesine ve çok etkileyici bir standart işlev kitaplığına sahiptir. Dilin gelişimi 90'larda başladı ve bugüne kadar devam ediyor. Çeşitli projeler geliştirmek, uzantılar ve önceden geliştirilmiş uygulamaların entegrasyonu için kullanılır.

    Python dilinin temelleri hem programlamaya başlangıç ​​olarak hem de ikinci bir ek dil olarak öğrenilebilir.

    yakut

    Ruby, Perl, Smalltalk, Eiffel, Ada ve Lisp'in bölümlerini içeren üst düzey bir programlama dilidir. 1995'ten beri kullanılmaktadır. Dilin ana avantajları basitliği ve esnekliğidir. Hem küçük uygulamalar yazmak hem de ciddi programlar geliştirmek için uygundur.

    PHP dili

    PHP, web uygulamaları oluşturmak için tasarlanmış oldukça popüler bir betik dilidir. Oldukça sık, "Yeni Başlayanlar İçin Programlama Dilleri" listesine de dahil edilir ve çalışma için önerilir.

    Bununla birlikte, çok kısa sürede yüksek kaliteli web uygulamaları oluşturabilirsiniz. Basit ve anlaşılır bir yapıya sahip olan dil, onu birkaç gün içinde öğrenmenizi sağlar.

    Çözüm

    Çalışmaları gelecekte projelerinizi başarıyla oluşturmanıza ve bir programcı olarak para kazanmanıza yardımcı olacak en popüler programlama dillerini inceledik. Hangi dilin çalışılacağı konusunda bir fikir birliği yoktur, ancak aynı zamanda uzmanlar, faaliyet alanını daha da genişleteceği ve çeşitli ekip projeleri üzerinde çalışmayı kolaylaştıracağı için birkaç programlama dili bilmenin arzu edildiğini belirtmektedir.

    Yeni başlayanlar için programlama

    Başlangıç ​​olarak, herkesin bir bilgisayarı yönetebileceğini ve program oluşturabileceğini söylemek isterim. Bilgisayar programları oluşturmak için inanılmaz bir zekaya veya matematik derecesine sahip olmanıza gerek yok. Tek ihtiyacınız olan bir şeyi anlama arzusu ve dersleri bırakmamak için sabır.

    Program yazma becerisi, yüzme, dans etme veya hokkabazlık yapma becerisiyle aynı beceridir. Bazı insanlar aslında bunu diğerlerinden çok daha iyi yapar, ancak herkes doğru uygulama ile belirli sonuçlara ulaşabilir. Bu nedenle çocuklar erken yaşta programlama ustası olurlar. Çocuklar mutlaka parlak değildir; sadece yeni şeyler öğrenme eğilimindedirler ve hata yapmaktan korkmazlar.

    Bilgisayarlar çok karmaşık elektronik canavarlar gibi görünse de rahat olun. İnternette ihtiyacınız olan bilgileri hızlı bir şekilde bulmanızı sağlayan arama motorlarının tam olarak nasıl çalıştığını çok az kişi bilir ve bazı insanlar araba kullanmayı çözmemiştir. Benzer şekilde, hemen hemen herkes bir bilgisayarın tam olarak nasıl çalıştığının ayrıntılarına girmeden program yazmayı öğrenebilir.

    Genel olarak konuşursak, bir program bilgisayara belirli bir sorunu nasıl çözeceğini söyler. Dünya sorunlarla dolu olduğu için insanların yazabileceği programların sayısı sonsuzdur.

    Ancak, bir bilgisayara büyük bir sorunu nasıl çözeceğini söylemek için, genellikle bilgisayara büyük sorunu oluşturan bir dizi küçük sorunu nasıl çözeceğini söylemeniz gerekir.
    Aslında programlama hiç de zor değil ve gizemli ve doğaüstü bir şey değil. Bir kişinin evinizi bulmasını sağlayacak adım adım talimatlar yazabiliyorsanız, bir bilgisayar programı yazabilirsiniz.

    Programlamanın en zor yanı, çözmeniz gereken sorunu oluşturan küçük sorunları belirlemektir. Bilgisayarlar kesinlikle aptal olduğundan, onlara herhangi bir eylemi nasıl gerçekleştireceklerini söylemeniz gerekecek.

    Bir program oluşturmanın onu kullanmaktan daha ilginç olduğunu düşünüyorsanız, bilgisayar programları oluşturmak için ihtiyacınız olan her şeye sahipsiniz. Bilgisayar programlarının nasıl yazılacağını öğrenmek istiyorsanız, aşağıdaki üç niteliğe ihtiyacınız var.

    Kovalama. Bir şeyi gerçekten istiyorsanız, kesinlikle alacaksınız (ancak yasa dışı bir şey yaparsanız, hapishanede çok fazla zaman geçirme riskiniz var). Nasıl programlanacağını öğrenmek istiyorsanız, yolunuza ne kadar engel çıkarsa çıksın arzunuz size kesinlikle yardımcı olacaktır.

    Merak. Sağlıklı bir dozda merak, bu kitabı okuduktan sonra bile programlama becerilerinizi deneme ve geliştirme arzunuzu körükleyebilir. Merak, programlamayı öğrenmeyi sizin için daha az sıkıcı ve daha ilginç hale getirecektir. Ve ilgileniyorsanız, kesinlikle bununla tamamen ilgilenmeyen herhangi bir kişiden (örneğin, patronunuzdan) daha fazla bilgi öğrenecek ve hatırlayacaksınız.
    Hayal gücü. Bilgisayar programları oluşturmak bir beceridir, ancak hayal gücü bu becerinin daha mükemmel ve yönlendirilmiş olmasına yardımcı olacaktır. Hayal gücüne yeni başlayan bir programcı, hayal gücünden yoksun harika bir programcıdan her zaman çok daha ilginç ve faydalı programlar yaratacaktır. Programlama becerilerinizle ne yapacağınızı bilmiyorsanız, yeteneğiniz hayal gücü olmadan ölecektir.

    Tutku, merak ve hayal gücü, her programcının sahip olması gereken en önemli üç niteliktir. Bunlara sahipseniz, yalnızca küçük şeyler hakkında endişelenmelisiniz: hangi programlama dilini öğrenmeli (örneğin, C ++), matematikte ne var, vb.

    Pek çok programlama dili arasında, belirli bir görevi çözmek için tam olarak uygun olan dili her zaman bulabilirsiniz. Yeni bir sorun türü ortaya çıktığında, insanlar yeni diller yaratırlar.

    Tabii ki, gerçekte bilgisayar, makine dili adı verilen sıfırlardan ve birden oluşan tek bir dili anlar. Tipik bir makine dili programı şuna benzer:

    0010 1010 0001 1101

    UN 1100 1010 1111

    0101 BT 1101 0101

    1101 1111 0010 1001

    Ayrıca, dilin hangi amaçla seçildiği çok önemlidir - programlama öğretmek veya belirli bir uygulamalı sorunu çözmek için. İlk durumda, dilin anlaşılması kolay, katı ve mümkünse "tuzaklar" içermemesi gerekir. İkincisi - ne istediğini bilen bir profesyonel için karmaşık ama etkili ve etkileyici bir araç olsa da.

    Şimdi size bir programlama dilini (Basic, Pascal), genellikle bir programlama ortamının (Quick Basic, Virtual Pascal) - kaynak kodlarını düzenlemek için bir dizi araç - parçası olarak sunulan uygulamasından ayırmanız gerektiğini açıklamak istiyorum. , yürütülebilir kod oluşturma, hata ayıklama, projeleri yönetme vb. Bir programlama dilinin sözdizimi ve anlambilimi, dil standardında sabitlenmiştir. Her programlama ortamı, genellikle standartta sabit olmayan yapıların kullanımına izin veren bu dilden kendi yorumlayıcısını veya derleyicisini sağlar.

    Ana ve popüler programlama dillerini göz önünde bulundurun

    montajcı Bu, kavramları donanım uygulamasına dayanan düşük seviyeli dillerin en parlak temsilcisidir. Doğrudan işlemci kodlarında programlama için bir otomasyon aracıdır. Makine komutları, yeterince yüksek bir kod değiştirilebilirliği elde etmeyi mümkün kılan anımsatıcı işlemler biçiminde açıklanır. Farklı işlemcilerdeki talimat seti farklı olduğu için uyumluluktan bahsetmeye gerek yoktur. Bir derleyici kullanmak, doğrudan donanımla etkileşime geçmeniz veya kod oluşturma üzerinde daha fazla kontrol nedeniyle programın bir bölümünde daha fazla verimlilik elde etmeniz gereken durumlarda kullanışlıdır.

    COBOL- 1950'lerin sonlarında geliştirilen üst düzey bir programlama dili. ticari ve ekonomik sorunları çözmek için CADASIL derneği. Gelişmiş dosyalarla çalışma yöntemlerinde farklılık gösterir. Bu dilde yazılan programların komutları, sıradan İngilizce kelime ve sözdizimini yoğun bir şekilde kullandığından, Cobol en basit programlama dillerinden biri olarak kabul edilir. Şu anda ekonomik, bilgi ve diğer sorunları çözmek için kullanılmaktadır.

    Fortran- IBM tarafından 1956'da hesaplama problemlerini çözmeye yönelik algoritmaları tanımlamak için geliştirilen üst düzey bir programlama dili. Prosedür odaklı diller kategorisine aittir. Bu dilin en yaygın sürümleri Fortran IV, Fortran 77 ve Fortran 90'dır. Tüm bilgisayar sınıflarında kullanılır. En son sürümü, paralel mimariye sahip bilgisayarlarda da kullanılmaktadır.

    ada- Gerçek zamanlı sistemlerde kullanıma yönelik ve örneğin yerleşik (gemi, havacılık vb.) bilgisayarlardaki süreçleri ve / veya cihazları yönetme görevlerini otomatikleştirmek için tasarlanmış üst düzey bir programlama dili. 1980'lerde ABD Savunma Bakanlığı'nın girişimiyle geliştirildi. Adını 1815-1851 yılları arasında yaşamış olan İngiliz matematikçi Ada Augusta Byron'dan (Lovelace) almıştır.

    TEMEL(Yeni Başlayanlar İçin Çok Amaçlı Sembolik Talimat Kodu) 60'larda Amerika'da doğdu. BASIC, hızlı öğrenme için basit bir dil olarak tasarlandı. BASIC, hem öğrenme hem de uygulamadaki basitliği nedeniyle tam olarak Mikrobilgisayarlar için fiili standart haline geldi. Bu kaliteyi elde etmek için, programlama öğrencilerinin stilini olumsuz etkileyen bir dizi karar verildi (yazma eksikliği, satır numaralandırma ve yapısal olmayan GOTO, vb.). dilin birbiriyle uyumlu olmayan çok sayıda lehçesi. Edinilen "yapısallığa" rağmen BASIC'in modern, özel sürümleri (Visual Basic gibi), aynı eksikliklere sahiptir, öncelikle - türlerle ilgili dikkatsizlik ve Açıklamalar Öğrenmenin ilk aşamasında, bir otomasyon aracı olarak (ilgili sistemlerde yerleşik olduğu durumlarda) veya hızlı bir şekilde uygulama oluşturma aracı olarak kullanıma uygundur.

    PascalÜnlü teorisyen N. Wirth tarafından Algol-68'in fikirlerine dayanarak geliştirilen Pascal, öncelikle programlama öğretmek için tasarlanmıştı. "Gerekli ve yeterli" ilkesi üzerine inşa edilmiş, güçlü tip kontrolüne, keyfi veri yapılarını tanımlamak için yapılara, küçük ama yeterli bir yapısal programlama operatörleri grubuna sahiptir. Ne yazık ki, basitlik ve katılığın tersi, dil yapılarının betimlemelerinin hantallığıdır. En ünlü uygulama - Turbo / Borland Pascal - Pascal standardından farklılıklara rağmen, bir eğitim dilinden MS-DOS ortamında programlar geliştirmek için endüstriyel bir sistem oluşturan bir ortam ve bir dizi kitaplıktır.

    C ve C++ C dili, bir sistem programcısının gereksinimlerine dayanmaktadır: tüm bilgisayar kaynaklarına tam ve verimli erişim, üst düzey programlama araçları, programların farklı platformlar ve işletim sistemleri arasında taşınabilirliği. C++, C ile uyumluluğunu korurken, bir sınıf (nesne) fikrini kullanıcı tanımlı bir tür olarak ifade ederek nesne yönelimli programlamanın olanaklarını sunar. Bu nitelikleri sayesinde C/C++ her görev için evrensel bir dil konumuna gelmiştir. Ancak, mümkün olan en kısa sürede kullanıma hazır bir sonuç elde etmenin gerekli olduğu veya prosedürel yaklaşımın kendisinin kârsız hale geldiği durumlarda kullanımı verimsiz hale gelebilir.

    Delfi- bu, nişi olan Borland Pascal / Borland C'nin halefi değil - yani. hızlı uygulama geliştirme (Hızlı Uygulama Geliştirme, RAD). Bu tür araçlar, önemsiz şeyler için çok fazla çaba harcamadan hazır bileşenlerden mümkün olan en kısa sürede bir çalışma programı oluşturmanıza olanak tanır. Bu tür sistemlerde özel bir yer, veritabanlarıyla çalışma olasılığı tarafından işgal edilir.

    Lisp- 1960 yılında J. McCarthy tarafından geliştirilen ve veri öğeleri listelerini manipüle etmeyi amaçlayan algoritmik bir dil. Yapay zeka ile ilgili sorunları çözmek için öncelikle ABD üniversite laboratuvarlarında kullanılır. Avrupa'da yapay zeka çalışmaları için Prolog kullanmayı tercih ediyorlar.

    önsöz- Yapay zeka sistemleri ve programlarının geliştirilmesi için tasarlanmış üst düzey bildirimsel programlama dili. Beşinci nesil diller kategorisine aittir. 1971 yılında Marsilya Üniversitesi'nde (Fransa) geliştirilmiştir ve yaygın olarak kullanılan ve sürekli gelişen dillerden biridir. En son sürümü Prolog 6.0'dır.

    LOGO-Matematiksel kavramları öğretmek amacıyla 1970'lerde Massachusetts Institute of Technology'de geliştirilen üst düzey bir programlama dili. Ayrıca okullarda ve PC kullanıcıları tarafından bir monitör ekranında çizimler oluşturmak ve bir kalem çiziciyi kontrol etmek için programlar yazarken kullanılır.

    java Uzmanlaşmanın en iyi örneği olarak Java dili, programları WWW istemci tarafında verimli bir şekilde çalıştırabilen ideal olarak taşınabilir bir dile olan ihtiyaca yanıt olarak doğdu. Ortamın doğası gereği Java, Internet/Intranet teknolojisi üzerine kurulu bir sistem için iyi bir seçim olabilir.

    Algol- Hesaplama problemlerini çözmek için algoritmaların açıklamasına odaklanan üst düzey bir programlama dili. 1958 yılında Batı Avrupa ülkelerinden uzmanlar tarafından bilimsel araştırmalar için oluşturulmuştur. Bu dilin Algol-60 versiyonu, Paris'teki Uluslararası Konferans (1960) tarafından kabul edildi ve 2. nesil bilgisayarlarda yaygın olarak kullanıldı. 1968'de Uluslararası Bilgi İşleme Federasyonu'ndan (IFIP) bir grup uzman tarafından geliştirilen Algol-68 versiyonu, yalnızca hesaplama değil, aynı zamanda bilgi problemlerini de çözmeye odaklanan uluslararası bir evrensel programlama dili statüsü aldı. Algol bugün pek kullanılmasa da, örneğin Ada, Pascal vb.

    En iyi dil yoktur. Program yazma konusunda profesyonel olacaksanız, üst düzey programlama dillerinden birini (C++ en popüler programlama dilidir) ve veritabanı programlama dillerinden birini ( SQL gibi). C++ programlama dilini bir kez öğrendikten sonra yanlış gidemezsiniz. Bu dili bilerek, herhangi bir programlama şirketinde her zaman iş bulabilirsiniz.
    C++ programlama dilinin büyük popülaritesine rağmen, diğer diller sıklıkla kullanılmaktadır. Birçok eski bilgisayar hala COBOL programlama dilinde yazılmış programları çalıştırmaktadır. Bu nedenle, bu programları geliştirebilecek ve yenilerini yazabilecek programcılara ihtiyacımız var. Çoğu zaman, büyük şirketler bu tür programcılara yüksek maaşlar öderler.
    Kendi başınıza çalışacaksanız, kendi veritabanı programlarınızı nasıl yazacağınızı öğrenmek en iyisidir. Bunun için Microsoft Access programında kullanılan SQL veya VBA gibi programlama dillerini öğrenmeniz gerekecektir. Web sayfaları oluşturmak için HTML bilmenizin yanı sıra Java, JavaScript, VBScript ve İnternet için diğer programlama dilleri hakkında biraz bilgi sahibi olmanız gerekir. En gerekli olan, size verilen görevleri kolay ve hızlı bir şekilde çözmenizi sağlayacak programlama dili olacaktır. C++, BASIC, Java, SQL veya birleştirme dili olabilir.

    Sonuç olarak, profesyonel bir bakış açısından programcının hangi dilde ve hangi ortamda çalıştığından çok işini nasıl yaptığının önemli olduğunu not ediyoruz. Donanım ve işletim sistemleri değişiyor. Yeni problemler, çeşitli konu alanlarından kaynaklanmaktadır. Geçmiş gitti ve yeni diller ortaya çıkıyor. Ancak insanlar kalır - yazanlar ve kendileri için yeni programlar yazdıkları ve bu değişikliklerden bağımsız olarak kalite gereksinimleri aynı kalanlar.
    İşte sizlerle birlikteyiz ve programlamanın temellerini ve ana programlama dillerini inceledik.

    Programlamanızda başarılar dilerim!