Mga sikat na programming language. Ang pinakasikat na programming language. Mga wika sa programming para sa mga nagsisimula

Ang pananatili sa tuktok ay isang pangunahing kadahilanan sa mundo ng IT. Gayunpaman, ang pagpili ng pinakamahusay na wika mula sa higit sa 600 natatanging mga programming language ay hindi isang madaling gawain.

At para matulungan ka sa desisyong ito, nag-compile kami ng listahan ng 10 programming language na maaari mong matutunan sa 2018. Upang matukoy ang naaangkop na programming language para sa iyong proyekto, kailangan mong tasahin ang mga pangangailangan ng proyekto.

Listahan ng mga programming language:

1. matulin

Sa likod mga nakaraang taon Ang Swift ay naging mas sikat kaysa sa Objective-C. Ito ay isang programming language para sa pag-unlad katutubong aplikasyon para sa iOS o Mac OS. Masasabi rin na ito ang programming language na may pinakamalaking potensyal na baguhin ang hinaharap. Napag-alaman na ang mga native na app ay higit na mahusay sa cross-platform na hybrid na apps, habang ang SpriteKit engine ay nagpadali sa paggawa ng mga 2D na laro. Sa katunayan, binuo ni Swift ang mga tagumpay ng C at Objective-C, ngunit walang mga paghihigpit sa compatibility.

Ang isang pangunahing papel sa pagbuo ng Swift ay naiimpluwensyahan ng mga programming language tulad ng Ruby at Python. Ito ay itinuturing na user-friendly at masaya gamitin. Ang Swift ay isang mataas na antas, multi-paradigm na wika na binuo ng Apple para sa iOS. Kung ang pagtatrabaho sa mga produkto ng Apple ang iyong layunin, ito ang wika para sa iyo. Ang Swift ay isang statically typed na wika. Nangangahulugan ito na sinusuri ng Xcode ang iyong mga error para sa iyo, kaya mas madaling masubaybayan ang mga ito.

May kalamangan ang Swift sa mga kakumpitensya nito dahil mayroon din itong Automatic Reference Counter (ARC), isang kilalang feature na namamahala sa paggamit ng memory ng application sa real time, atbp. Ang paggamit ng wikang ito ay maaaring magbigay sa iyo ng kalamangan dahil iOS apps madalas na mas kumikita kaysa sa mga Android app.

2.Pumunta ka

Ang Go ay isang wika ng 2009 - ang panahon ng mga multi-core na processor, habang ang mga wikang tulad ng Python at Java ay lumitaw sa mga taon ng single-threaded development environment. Ito ang dahilan kung bakit isinasaalang-alang ng wikang Go ang multitasking at gumagana ayon dito. Sa halip na ang kilalang Thread, na sa karamihan ng mga wika ay tumatagal ng maraming memorya (halimbawa, sa Java ito ay 1 MB bawat thread), ang Go ay nagbibigay ng mga goroutine na "kumakain" lamang ng 2 KB ng memorya. Maaari kang lumikha ng hindi bababa sa isang libo o isang milyong goroutine, at ito ay halos walang epekto sa pagpapatakbo ng application.

Mabilis na oras ng pagsisimula, gamit ang memorya lamang kapag kinakailangan (mga naka-segment ngunit napapalawak na mga stack ng goroutine), at iba pang mga pakinabang, ang Go ay napakapopular sa paglutas ng mga problemang may maraming sinulid. Hindi ito pagmamalabis wika ng server hinaharap, at sa 2018 ay tiyak na hindi niya isusuko ang kanyang posisyon.

3.PHP

Ginagamit ang PHP kahit saan salamat sa WordPress. 80% ng mga site na may higit sa 10 milyong mga gumagamit ay gumagamit ng PHP. Kabilang sa mga halimbawa ng naturang mga site ang Facebook at Wikipedia. Ang PHP ay walang anumang mahigpit na panuntunan sa pagsulat ng code, at ito ay nababaluktot din sa solusyon iba't ibang problema. Ang PHP ay mahusay na pagpipilian para sa mga web developer, dahil isa itong server-side scripting language para sa parehong Worldpress at Facebook.

Sa karamihan ng mga kaso pag-aaral ng PHP para sa isang web developer ang susi sa tagumpay, dahil ang kaalaman tungkol dito ay nagbibigay-daan sa iyo na lumikha ng mga kamangha-manghang dynamic na website. Maaari mong gamitin ang PHP para sa iba't ibang mga proyekto sa web. Ito ay isang medyo simple, open source na wika na may mahusay na suporta para sa maraming mga database, pati na rin ang maraming mga tool at sa iba't ibang direksyon para gamitin.

4. C++

Ang C++ ay nilikha noong 1983 bilang isang alternatibo sa C, at agad na nakakuha ng karapat-dapat na katanyagan. Ang kanyang pangunahing tampok ay mga paunang natukoy na klase. Microsoft Windows at Google Chrome ay ang pinaka sikat na mga halimbawa mga proyektong ginawa sa C++. Ang listahang ito ay maaaring dagdagan ng mga proyekto mula sa Adobe at Amazon. Ang programming language na ito ay nananatiling in demand hanggang sa araw na ito dahil mayroon itong makapangyarihang mga tool na maaaring iakma sa iba't ibang larangan, tulad ng pananalapi, pagbabangko, mga laro, komunikasyon, mga elektronikong sistema ng pagbabayad, tingi at marami pang iba.

Ang kaalaman sa C++ ay magbibigay-daan sa iyong madaling magsulat ng mga laro at kumplikadong komersyal na sistema kasama ng mga simpleng application. Ito ay isa sa pinakamalakas na programming language na nagbibigay ng kaunting mga kapaki-pakinabang na tampok.

5.Python

Ang wikang ito ang kinabukasan, at hindi ito pagmamalabis. Una, ito ay madaling maunawaan at gamitin: Ang Python ay unti-unting ipinapasok sa kurikulum, kahit saan ay pinapalitan ang lumang Pascal at iba pang "kahoy" na mga wika. Pangalawa, ito mga neural network: kung tumama ang developer machine learning, pagkatapos ay ibinaling kaagad ang kanyang atensyon kay Python. Bakit? Kaya lang ang wikang ito ay nakakuha ng sapat na bilang ng mga aklatan na nakatuon sa mga neural network (malaking talo si Ruby sa bagay na ito).

Mga de-kalidad na balangkas, napakalaking materyal na pang-edukasyon, isang magiliw na komunidad, kadalian ng coding: lahat ng ito ay ginagawang isang tunay na mapagkumpitensyang wika ang Python na malamang na hindi mawala ang posisyon nito sa darating na 2018.

6. JavaScript

Ayon sa mga istatistikang nakolekta ng Stackoverflow (Stack Overflow Developer Survey), na umabot sa audience ng higit sa 64,000 developer mula sa 173 bansa, ang JavaScript ang naging pinakaginagamit na programming language sa mundo. Nagbibigay ito ng kakayahang lumikha ng mga interactive na website at isa sa mga pangunahing teknolohiya sa web kasama ng HTML at CSS, dahil karamihan sa mga browser ay maaaring gumamit ng JS sa ilang anyo.

JavaScript mahusay na wika upang simulan ang iyong paglalakbay sa web development. Ang wikang ito ay angkop para sa paglikha ng mga interactive na website sa Internet. SA Kamakailan lamang Lumawak ang JavaScript at magagamit na ngayon sa pagsulat ng mga mobile application, laro, at desktop application. Tiyak na naimpluwensyahan nito ang katanyagan ng wika.

7. Java

Ang Java ay isa sa mga pinaka-praktikal na programming language na matututunan. Ang katanyagan nito ay hindi masasabing sobra-sobra dahil ang karamihan (90%) ng mga kumpanya ng Fortune ay gumagamit ng Java upang bumuo ng mga backend system at desktop application. Ang cross-platform ay nakakamit salamat sa JVM.

SA Java, tulad ng sa maraming modernong wika, kabilang ang C++, Python, atbp. Ginagamit ang prinsipyo ng object-oriented programming (OOP). Ang Java ay pangunahing ginagamit upang lumikha ng mga application ng server at mobile software. Pati ito ang batayan ng mga katutubong application para sa Android. Ang wikang ito ay napakapopular sa mga developer, bagama't may posibilidad na sa mga tuntunin ng mga mobile application, maaaring alisin ng Kotlin ang lahat ng katanyagan sa lalong madaling panahon.

8. C#

Binuo ng Microsoft, ang multi-paradigm programming language na ito Pangkalahatang layunin ginamit upang bumuo ng mga application sa platform ng Microsoft. Ang C# ay isang object-oriented na wika na ginagamit upang bumuo ng mga application batay sa .NET frameworks. At, kung ito ang iyong market, ang C# ay ang pinakamahusay na wika para sa paglikha ng mga katutubong application para sa Microsoft platform. Ito rin ang inirerekomendang wika para sa pagbuo ng mga laro gamit ang Unity Game engine.

Ang priyoridad ng mga nag-develop ng wikang ito ay ang pagiging simple nito, at dahil ito ay isang wika mataas na lebel, ito ay mas katulad ng Ingles kaysa sa iba. Binibigyang-daan ng C# ang developer na tumuon sa algorithm sa halip na sa mga detalye ng pagpapatupad, dahil isinasama nito ang mga kumplikadong konstruksyon sa mga abstraction.

Maaari kang magsulat ng kahit ano sa C#: mga serbisyo sa web, mobile software, mga application ng server at iba pa. At habang sinasabi ng mga eksperto na bumababa ang demand para sa C#, Pinabulaanan ng Xamarin ang mga pahayag na ito dahil lumalabas na pinapadali ng platform ang paggawa ng mga app para sa Android at iOS.

9.Kotlin

Ang Kotlin ay mabilis na umuunlad at may ilang mga pakinabang. Sa kanila:

  • conciseness ng programming language;
  • katugmang Java;
  • suportado ng Google;
  • Lumalaki ang komunidad.

Posible na sa lalong madaling panahon ang mga application para sa mga Android device ay isusulat nang eksklusibo sa Kotlin, kaya ang mga nagnanais na bumuo sa direksyon pagpapaunlad ng mobile Lubos na inirerekomenda na tingnan mong mabuti ang wikang ito.

10. kalawang

Noong 2016, niraranggo si Rust bilang numero uno sa poll na "kung ano ang pinakagusto ng mga developer" sa Stack Overflow. Ang Rust ay naging isang programming language na talagang pinahahalagahan ng mga developer (79.1% ng mga boto). Isang open source development language na binuo ng Mozilla Foundation, ito ay gumagana bilang isang mababang antas ng wika.

Ang pinaka-kagiliw-giliw na bagay dito ay binibigyang diin ng Rust ang ligtas na code (iyon ay, ang mga bagay ay kinokontrol ng programming language mula simula hanggang matapos). Bagama't wala itong mana, mayroon itong mga katangian at istruktura. Ang programming language na ito ay unibersal at nakabatay sa tatlong haligi: ergonomya, bilis at kaligtasan.

Napakahalaga ng pagpili ng tamang programming language, kaya talagang isipin kung para saan mo ito gagamitin.

Ang debate tungkol sa kung aling programming language ang mas mahusay ay hindi humupa sa loob ng maraming taon. Maraming tao ang sumasang-ayon na imposible pa ring pag-usapan ang tungkol sa "pinakamahusay na programming language." Ang ilan ay mas karaniwan, ang ilan ay mas kaunti. Bukod dito, habang nag-aaral ng isang programming language, kailangan mong matutunan ang mga bagay na nauugnay dito, na kadalasang humahantong sa pag-aaral ng isa pang programming language, pagkatapos ay ang susunod, at iba pa...

Upang maipakita kung aling mga programming language ang higit na hinihiling o laganap sa sandaling ito, maraming organisasyon ang nagpapanatili ng kanilang sariling mga rating. Ang mga ranggo na ito ay nakuha mula sa isang bilang ng mga mapagkukunan ng data. Ito ay mga forum, mga alok ng trabaho para sa mga programmer, mga pagbanggit sa mga social network, mga survey, mga imbakan ng code. Ang mga ganitong uri ng rating ay kapaki-pakinabang para sa pagsubaybay sa mga uso. Pagpapatuloy sa ilang mga rating na itinuturing na pinaka-makapangyarihan.

Rating ng RedMonk

Ang kumpanya ng analytics na ito ay regular na naglalathala ng sarili nitong ranggo ng mga programming language. Ito ay batay sa kumbinasyon ng kasikatan sa GitHub at aktibidad ng talakayan sa Stack Overflow. Ang mga pinuno dito ay JavaScript, Java, PHP at Python.
  • JavaScript
  • sawa
  • Layunin-C
  • Shell
  • Scala
  • Haskell
  • matulin
  • Matlab
  • Visual Basic
  • Clojure

IEEE Spectrum

Ang IEEE Spectrum ay isang magazine na inilathala ng Institute of Electrical and Electronics Engineers (IEEE). Ilang araw na ang nakalilipas, inilathala ng magazine na ito ang pagraranggo nito sa katanyagan ng mga programming language. Tulad ng nakikita mo, ang pinuno dito ay C, na sinusundan ng Java, Python at C++.

Medyo hindi karaniwan sa ranking na ito ay ang pagpasok ni R sa ikalimang puwesto. Ang paliwanag dito ay simple - ang wikang ito ay hinihiling sa mga system para sa pagproseso ng malalaking volume ng data. Alinsunod dito, lumalaki ang bilang ng mga kahilingan sa Stack Overflow. Dapat ding isaalang-alang na ang 62 libong mga bagong repository ay agad na lumitaw sa GitHub. Maraming mga bagong bukas na trabaho at pagbanggit ng wika sa mga publikasyong pananaliksik.

Upang gawin ang kanilang pagraranggo, gumamit ang mga eksperto ng IEEE ng 12 iba't ibang sukatan mula sa 10 pinagmumulan. Ang pangunahing bagay ay upang maghanap ng mga resulta para sa query na "pangalan programming language» sa ilang sikat na site. Isinasaalang-alang din ang mga materyal na lumalabas sa mga resulta ng paghahanap sa Google. data ng Google Mga uso, pagbanggit sa mga social network.

TIOBE

Ang TIOBE Software, na nag-publish ng rating nito, ay nagpapansin sa lumalaking katanyagan ng assembler. Ayon sa rating na ito, ang wika ay tumaas ng dalawang posisyon - mula ika-12 hanggang ika-10 na lugar. Ito ay dahil sa mabilis na pag-unlad ng Internet of Things. Ang pagsusuri ng data ay isinasagawa batay sa mga resulta Mga Resulta ng Paghahanap maraming system, kabilang ang Google, Google Blogs, Yahoo!, Wikipedia, MSN, YouTube, Bing, Amazon at Baidu.

Ano ang ibig sabihin ng lahat ng ito?

Lamang na ang pinakamahusay na programming language sa mundo ay hindi umiiral. Maraming mga developer ang nagtatrabaho sa hindi isa, ngunit ilang mga programming language, na nag-aaral ng mga bagong teknolohiya habang tumatakbo. Bilang karagdagan, ang katanyagan at pangangailangan para sa isang programming language ay higit na nakasalalay sa pangangailangan para sa teknolohiya na nangangailangan ng paggamit ng isang partikular na wika. Ngayon ang uso ay Malaking Data, at, tulad ng nakikita natin, ang kahalagahan ng R ay nagsisimulang lumago. Nakikita rin natin na ang malinaw na mga pinuno ng lahat ng tatlong rating ay C, Java at Python. Gusto mo bang matutunan ang alinman sa mga wikang ito? Halos hindi ka magkamali.

Ngunit ang mga rating ay pag-iisip lamang. Kung magsisimula ka nang mag-aral ng programming language, maaaring maging kapaki-pakinabang sa iyo ang impormasyong ito. Ngunit hindi ka dapat bulag na magtiwala sa rating; mas mabuting pag-aralan ang mga tampok ng bawat wika. Kung ikaw ay isang bihasang programmer, kung gayon ikaw ay magiging interesado pa rin sa pagtingin sa mga istatistika - marahil para sa kapakanan ng isport, o marahil upang malaman kung anong mga taas ang malalampasan sa susunod na pagkakataon.

Ang aming iba pang mga publikasyon:

Ito ay mga maunlad na panahon para sa mga programmer. Ito ay hindi para sa wala na ang Department of Labor Statistics ng US Department of Labor ay hinuhulaan ang isang walong porsyento na pagtaas sa demand para sa propesyon ng programming sa susunod na pitong taon, isinulat ni Mashable. Sa tulong ng punong opisyal ng nilalaman ng Lynda, si Doug Winney, natukoy ng publikasyon ang pinakasikat na mga programming language noong 2015.

Paglalarawan: Steve Jurvetson

1. Java

Ang Java ay isa sa pinaka mga tanyag na wika para sa backend na pag-unlad ng modernong corporate web application. Gamit ang Java at ang mga framework nito, ang mga developer ay makakagawa ng mga scalable na web application para sa malawak na hanay ng mga user. Ang Java rin ang pangunahing wikang ginagamit upang bumuo ng mga katutubong Android application para sa mga smartphone at tablet.

2. JavaScript

Ang bawat modernong website ay gumagamit ng JavaScript. Ito ang pangunahing wika para sa paglikha ng interactivity ng website o pagbuo ng mga user interface gamit ang isa sa isang dosenang sikat na JavaScript frameworks.

3. C#

Ang C# ay ang pangunahing wika para sa pag-unlad sa mga platform at Mga serbisyo ng Microsoft. Pag-unlad man ito modernong mga web application Gumagamit man ng Azure at .NET, mga application para sa mga "device" ng Windows o makapangyarihang mga application na "desktop" para sa negosyo, ang C# ay ang pinaka mabilis na paraan samantalahin ang lahat ng iniaalok ng Microsoft. Bilang karagdagan, ito ay isa sa mga pangunahing wika ng Unity game development engine.

4.PHP

Nagsusulat ka ba ng isang web application upang gumana sa data? wika ng PHP kasama ang mga database (halimbawa, MySQL) ay isang mahalagang tool para sa paglikha ng mga modernong web application. Nakatuon ang karamihan sa mga website malaking volume datos. Ito rin ang pinagbabatayan na teknolohiya ng makapangyarihang mga sistema ng pamamahala ng nilalaman tulad ng WordPress.

5. C++

Kung para sa maximum na pagbabalik kapangyarihan ng processor, kailangan mong direktang kumonekta sa hardware, makakatulong ang wikang C++. Ito perpektong pagpipilian upang bumuo ng isang malakas na desktop software, mga larong may hardware acceleration, pati na rin ang mga application para sa PC, console at mga mobile device, na nangangailangan ng malaking halaga ng memory upang gumana.

6.Python

Magagawa ng Python ang halos lahat ng nasa itaas. Mga aplikasyon sa web, mga interface ng gumagamit, pagsusuri ng data, mga istatistika - anuman ang problema na kailangan mong makahanap ng solusyon, ang Python ay malamang na magkaroon ng angkop na balangkas. Higit pang mga kamakailan, ang mga siyentipiko ay dumating sa konklusyon na ang Python ay maaaring gamitin bilang pangunahing tool para sa pagproseso ng malaking halaga ng data sa halos anumang industriya.

7. C

Bakit sikat pa rin si C? Dahil sa laki: maliit, mabilis at makapangyarihan. Kung bumuo ka ng software para sa mga naka-embed na system, makikipagtulungan ka mga kernel ng system o gusto lang i-squeeze ang bawat huling drop out ng mga resources na nasa kamay, C ang kailangan mo.

8.SQL

Ang data ay laganap at laganap. Ginagawang posible ng SQL na mahanap kinakailangang impormasyon mabilis at sa isang maaasahang paraan. Gamit ang SQL, madali kang makakapag-query at makakabawi ng malalaking halaga ng data mula sa malaki at kumplikadong mga database datos.

9. Ruby

Gusto mo bang maglunsad ng isang proyekto sa rekord ng oras o prototype ng isang bagong ideya para sa isang cool na web application? Sa Ruby (at Ruby on Rails) posible ito nang mabilis. Sa hindi kapani-paniwalang kapangyarihan, ang wika ay madaling matutunan. Dagdag pa rito, maraming tanyag na web application sa buong mundo ang nakasulat dito.

10. Layunin-C

Nagpaplano ka bang magsulat ng isang application para sa iOS? Pagkatapos ay dapat mong malaman ang Objective-C. Sa kabila ng hype noong nakaraang taon sa bagong wika Apple Swift, ang Objective-C ay patuloy na naging pangunahing wika ng aplikasyon para sa Ecosystem ng Apple. Gamit ang Objective-C at opisyal na software development tool ng Apple na XCode to App Store- isang bato lang ang layo.

11. Perl

Maaari bang tawaging esoteric na wika ang Perl? Oo. Nakakalito ba? Oo. Ito ba ay isang napakalakas na wika at pangunahing sangkap sa cybersecurity arsenal? Oo na naman. Ang mga developer ay gumagamit ng Perl mula pa noong madaling araw ng Internet, at ito ay isinasaalang-alang pa rin pangunahing kasangkapan para sa sinumang espesyalista sa IT.

12.NET

Kahit na hindi isang wika per se, .NET ay susi platform ng Microsoft para sa pagbuo ng cloud at hindi masyadong cloud na mga serbisyo at application. Nagiging mas advanced at mahalaga sa bawat bagong release. Salamat sa pinakabagong pagsusumikap ng Microsoft sa open source development, .NET ay darating na ngayon sa Google at Apple platform. Bilang resulta, maaari mong gamitin ang .NET sa iba't ibang mga programming language upang lumikha ng mga multi-platform na application.

13. Visual Basic

Ang pangunahing wika ng .NET platform, Visual Basic ay nagbibigay-daan sa iyo na lumikha ng mga application upang suportahan ang negosyo, pati na rin ang pag-automate makapangyarihang mga aplikasyon MSOffice.

14. R

Ang R ay nagtutulak sa malaking rebolusyon ng data. Sa 2015, ito ang dapat na wika para sa sinumang nangangailangan ng seryosong pagsusuri ng data, mula sa agham at negosyo hanggang sa entertainment at social media.

15. matulin

Sa wala pang isang taon ng pag-iral, ang wika Mabilis na programming mga developer sa buong mundo bilang isang bago, simple at mabilis na paraan upang bumuo para sa mga operating system OS X at iOS. Makapangyarihan at palakaibigan Mabilis na syntax nagbibigay-daan sa iyo na isulat ang susunod na killer application para sa mga gumagamit ng Apple.

  • C++
  • Java,
  • JavaScript
  • Ang mga developer ng software ay nasa malaking demand ngayon. Sa ilang kumpanya, kahit na ang mga intern programmer ay tumatanggap ng mataas na suweldo. Ang mga kumpanya ng IT ay nakikipagkumpitensya sa isa't isa para sa talento.

    At ang mga tauhan naman ay nakikipaglaban para sa isang lugar sa araw. Ang tagumpay ng pareho ay depende sa kung gaano nila kahusay na mapanatili ang kanilang daliri sa pulso, maging nasa uso, at gamitin mga promising na teknolohiya at mga programming language. Upang maunawaan kung ano ang tututukan at kung anong direksyon ang pupuntahan, pinag-aaralan ng mga developer ng software at kanilang mga employer ang iba't ibang pag-aaral at rating ng katanyagan - ito man ay mga modelo ng negosyo o parehong mga teknolohiya at programming language.

    Gayunpaman, ang ilang mga manlalaro sa merkado ng IT ay naging masigasig at lumikha ng mga proyekto na nakatuon sa mga ranggo at uso. Halimbawa, sa linggong ito inilathala ng GitHub ang sarili nitong ranggo ng 15 pinakasikat na programming language. Siyempre, ang kasikatan ay tinutukoy ng bilang ng mga pull request sa GitHub sa nakalipas na taon.

    Sa kasalukuyan ay may 5.8 milyong kontribusyon sa GitHub aktibong gumagamit, 331 libong organisasyon at 19.4 milyong repositoryo.

    Hindi. 15 - TypeScript:

    Utang ng wika ang hitsura nito sa Microsoft. Ito ay dinisenyo bilang isang web application development tool na nagpapalawak ng mga kakayahan ng JavaScript. Ang pangunahing developer ng TypeScript na wika ay si Anders Hejlsberg, na dating lumahok sa paglikha ng Turbo Pascal, Delphi at C#. Malapit nang ilabas ang TypeScript 2.0.

    Hindi. 14 - Mabilis:

    Wikang gawang bahay - mula sa Apple. Ito ay nilikha para sa mga iPhone application noong 2014. Gayunpaman, ganoon si Swift panandalian nagawang makakuha ng kasikatan.

    Muling isinulat ng serbisyo ng taxi na Lyft ang iPhone app nito sa wika at nag-ulat ng "malaking hakbang" sa pagganap.

    At kamakailan lang, ang bagong Swift Playgrounds app ay inilabas - ang pinakamadaling paraan upang maging pamilyar sa wikang Swift. Sa pamamagitan ng kahit na, Craig Federighi, senior vice president ng software ng Apple, ay kumpiyansa dito.

    Hindi. 13 - Scala:

    Ang programming language na ito ay inilabas noong 2001. Pinulot ito ng ganoon malalaking kumpanya, tulad ng Airbnb at Apple. Sa kanilang opinyon, mas madali at mas mabilis na magsulat ng mga aplikasyon para sa kanilang mga pangangailangan dito kaysa sa nakakainip na wikang Java.

    Ang Scala, na sumusuporta sa object-oriented at functional na paradigms, ay orihinal na idinisenyo upang isalin sa Java at .NET bytecode. Sa paglipas ng panahon, lumitaw din ang isang tagasalin ng Scala JavaScript code- Scala.js. Gayunpaman, noong Mayo 2016, nalaman na ang proyekto ng Scala Native ay lumilikha ng isang compiler na nangangako na pabilisin ang pagpapatupad ng mga application na nakasulat sa wikang ito.

    Hindi. 12 - Layunin-C:

    Nagustuhan ng mga tao ang orihinal na C kaya nakakuha siya ng mga tagasunod. Sa partikular, ang ilan sa kanila ay naging inspirasyon upang lumikha ng Objective-C, na inilabas sa publiko noong 1983. Siyempre, ang mga bagong ideya at elemento ng wikang Smalltalk ay idinagdag dito, ngunit pinakoronahan ng titik C ang pangalan nito sa isang kadahilanan.

    Ang Objective-C ay naging lalong popular sa mga developer para sa mga platform ng Apple. Sa ngayon, hawak nito ang mga posisyong ito, ngunit nagbabanta si Swift na ililipat ang inapo C sa lalong madaling panahon.

    Hindi. 11 - Shell:

    Isa itong pangit na sisiw sa iba pang mga kalahok sa listahan: Ang Shell ay hindi masyadong isang wika bilang isang command interpreter para sa pagsasagawa ng ilang mga aksyon sa mga operating system Pamilya ng UNIX. Ang mga script nito ay ginagamit, halimbawa, upang i-automate ang mga pag-update ng software. Naglalaman ito ng mga karaniwang konstruksyon para sa looping, branching, function declarations, at iba pa.

    Hindi. 10 - Pumunta:

    Nabuo sa loob Google. Ang unang pag-unlad ni Go ay nagsimula noong Setyembre 2007, kasama sina Robert Griesmer, Rob Pike, at Ken Thompson na nangunguna sa gawaing disenyo. Ang wika ay opisyal na ipinakilala noong Nobyembre 2009.

    Ang wika ng Go ay binuo bilang isang programming language ng system para sa paglikha ng napakahusay na mga programa na tumatakbo sa mga modernong distributed system at mga multi-core na processor. Ito ay makikita bilang isang pagtatangka upang lumikha ng isang kapalit para sa wikang C.

    Sa panahon ng pag-unlad, ang pansin ay binabayaran Espesyal na atensyon tinitiyak ang lubos na mahusay na compilation. Ang mga programa ng Go ay pinagsama-sama sa object code (bagama't available din ang isang interpreter) at hindi nangangailangan ng virtual machine para sa pagpapatupad.

    Hindi. 9 - C:

    Ito ay isang wika na ngayon ay sinusubukan nilang maghanap ng kapalit. Ang wikang C ay binuo ni Dennis Ritchie noong 1972 sa Bell Labs. Ito ang hinalinhan ng mga programming language tulad ng C++, Java, C#, JavaScript at Perl. Dahil dito, ang pag-aaral ng wikang ito ay humahantong sa pag-unawa sa iba pang mga wika. Ang wikang C ay ginagamit para sa pagbuo ng mga mababang antas ng aplikasyon, dahil ito ay itinuturing na pinakamalapit sa hardware, pangalawa lamang sa wika ng pagpupulong.

    Hindi. 8 - C#:

    Ang C# ay kabilang sa pamilya ng Microsoft ng mga programming language at binuo noong 2000 at naging bahagi ng unang paglabas ng .NET framework. Pinagsasama ng C# na wika ang tibay ng C++ sa karagdagang mga tampok Java. Samakatuwid, kung alam mo nang mabuti ang Java, madali kang lumipat sa C# at vice versa.

    Ang wikang C# ay nagpapahintulot sa iyo na bumuo ng halos anumang application na nauugnay sa Visual Studio IDE.

    Hindi. 7 - CSS:

    Mga Cascading Style Sheet (cascading style sheet) - pormal na wika mga paglalarawan hitsura dokumentong nakasulat gamit ang markup language.
    Pangunahing ginagamit bilang isang paraan ng paglalarawan at pagdidisenyo ng hitsura ng mga web page na nakasulat gamit ang mga wika HTML markup at XHTML, ngunit maaari ding ilapat sa anumang mga XML na dokumento.


    Hindi. 6 - C++:

    Ang wikang C ay kulang sa trabaho sa mga bagay. Upang malutas ang problema, ang C++ ay binuo noong 1986, na isa sa mga pinakakaraniwang ginagamit na wika sa mundo. Google Chrome, Mozilla Firefox, Winamp at ang linya ng produkto ng Adobe ay binuo gamit ang C++. Bilang karagdagan, ang ilan modernong laro at ang mga operating system ay binuo sa C++ dahil sa mabilis nitong pagproseso at pagsasama-sama. Bilang karagdagan, ang mga developer ng C++ ay may malaking pangangailangan sa merkado ng paggawa.

    Hindi. 5 - PHP:

    Ang PHP ay isa sa pinakamalawak na ginagamit na wika para sa pagbuo ng mga dynamic na website. Ang PHP ay binuo noong 1995 at ito ay isang server-side scripting language, na nangangahulugan na ang PHP code ay pinoproseso sa server, at ang resulta ay natanggap ng user sa anyo ng plain HTML.

    PHP bukas na wika pag-unlad, kaya libu-libong mga module ang naisulat na na maaaring mabago sa kinakailangang pag-andar.

    Gayunpaman, ang mga masamang hangarin ay hindi natutulog: Jeff Atwood. ang nagtatag ng Stack Exchange, minsan ay sumulat na ang PHP ay hindi kahit isang programming language, ito ay isang grupo ng mga hindi nauugnay na piraso ng functionality.

    Hindi. 4 - Ruby:

    Simple lang si Ruby at nababasang wika programming na nakatuon sa pagbuo ng web application. Binuo ni Yukihiro Matsumto noong 1995, ang Ruby framework ay ginamit upang bumuo ng Github, Scribd, Yammer, Shopify, at Groupon. Pinagsasama ni Ruby ang ilan sa mga tampok ng Lisp, Pearl, at Eiffel. Si Ruby ay may magandang market ng trabaho at ang mga developer ay binabayaran nang disente.

    Hindi. 3 - Python:

    Iba ang sawa mataas na antas ng wika programming at madalas na itinuturing na pinakamadaling wika dahil sa pagiging simple nito, pagiging madaling mabasa at syntax. Ang Python ay binuo ni Guido Van Rossum noong 1991. Ang Python ay hindi gaanong ginagamit sa nakaraan, ngunit naging mas sikat sa mga nakaraang taon salamat sa mga pamumuhunan mula sa Google. Sa ngayon, ang ilang napakasikat at maaasahang mga site ay tumatakbo sa python, lalo na sa pinterest.com, instagram.com at rdio.com. Tulad ng PHP, maaaring gamitin ang Python upang bumuo ng mga web application.

    Hindi. 2 - Java:

    Ang Java ay binuo ni James Gosling noong 1990 sa Sun Microsystems. Ang Java ay higit na nagpapahusay sa mga kakayahan ng C++ na wika. Ang ginagawang espesyal sa Java ay ito ang unang purong object-oriented na programming language. Ang Java ay dinisenyo gamit ang WORA (Write Once Run Anywhere) na prinsipyo. Pinag-uusapan natin ang tungkol sa Java portability. Kailangan mo lang i-compile ang Java source code nang isang beses at pagkatapos ay patakbuhin ito sa anumang makina na may naka-install na JVM (Java Virtual Machine) at pagkatapos ay gamitin ito.

    Hindi. 1 - JavaScript:

    Ang mga wika sa scripting sa gilid ng server ay mainam para sa pagbuo ng mga kumplikadong web application, ngunit ang bawat ganoong gawain ay naglalagay ng mabigat na pagkarga sa server. Samakatuwid, itinalaga ng mga developer ang ilan sa mga function sa panig ng kliyente at gumamit ng JavaScript. Ang JavaScript ay isang programming language na tumatakbo sa client browser at nagpoproseso ng mga command sa computer ng end user kaysa sa server, na nagreresulta sa pagbawas ng load sa server at pagtaas ng bilis ng application. Ang JavaScript ay binuo ng Netscape at halos walang mga website na hindi gumagamit nito.


    Ang paglago sa katanyagan ng wika ay ipinahiwatig bilang isang porsyento. Ang lugar nito sa pagraranggo ay tinutukoy ng bilang ng mga kahilingan sa paghila ng user. Ang rating ay sumasalamin sa katanyagan ng paggamit ng mga programming language sa mga repositoryo.

    Ayon sa GitHub, ang JavaScript, C# at Go ay nagpakita ng dobleng paglaki sa madla. At ang madla para sa Swift at TypeScript ay lumago nang 3.5 beses.

    Ibinahagi ng TIOBE index ang mga lugar nang medyo naiiba: Java ang nasa unang lugar, na sinusundan ng C, C++, C# at Python. At ang pinuno ng ranggo ng GitHub ay tumatagal lamang ng ika-6 na lugar dito.

    PAKSANG-ARALIN: Mga modernong wika programming

    Sinuri_______________

    Kasaysayan ng pag-unlad.

    Ang mga unang programa ay binubuo ng pag-install ng mga key switch sa front panel aparatong pang-compute. Malinaw, maliliit na programa lamang ang maaaring isulat sa ganitong paraan. Sa pag-unlad ng teknolohiya ng computer doon lumitaw wika ng makina, sa tulong ng kung saan ang programmer ay maaaring magtakda ng mga utos, na nagpapatakbo sa mga cell ng memorya, na ganap na ginagamit ang mga kakayahan ng makina. Gayunpaman, mahirap gamitin ang karamihan sa mga computer sa antas ng machine language, lalo na pagdating sa input/output. Samakatuwid, kinailangan naming iwanan ang paggamit nito. Halimbawa, upang basahin ang isang bloke ng data mula sa isang floppy disk, ang programmer ay maaaring gumamit ng 16 na magkakaibang mga utos, ang bawat isa ay nangangailangan ng 13 mga parameter, tulad ng numero ng bloke sa disk, ang numero ng sektor sa track, atbp. Kapag ang disk nakumpleto ang operasyon, nagbabalik ang controller ng 23 na halaga na sumasalamin sa presensya at mga uri ng mga error na kailangang suriin. "Mga salita" sa wika ng makina ay tinatawag mga tagubilin, bawat isa ay kumakatawan sa isang elementarya na aksyon para sa gitnang processor, gaya ng, halimbawa, pagbabasa ng impormasyon mula sa isang memory cell. Ang bawat modelo ng processor ay may sariling hanay ng mga tagubilin sa makina, bagama't karamihan sa mga ito ay pareho. Kung lubos na nauunawaan ng Processor A ang wika ng Processor B, ang Processor A ay sinasabing compatible sa Processor B. Ang Processor B ay sasabihin na hindi tugma sa Processor A kung ang A ay may mga tagubilin na hindi kinikilala ng Processor B. Sa kaso kung saan kinakailangan na magkaroon ng isang mahusay na programa sa halip na mga wika ng makina, ginagamit ang mga wikang nakatuon sa makina na malapit sa kanila - mga assembler. Gumagamit ang mga tao ng mga mnemonic na utos sa halip na mga utos ng makina.

    Ngunit kahit na ang pagtatrabaho sa assembler ay medyo kumplikado at nangangailangan ng espesyal na pagsasanay. Halimbawa, para sa Zilog Z80 processor, ang pagtuturo sa makina 00000101 ay nagtuturo sa processor na bawasan ang B register nito ng isa Sa assembly language, ito ay isusulat din bilang DEC B.

    Nakabalangkas na programming

    Ang susunod na hakbang ay ginawa noong 1954, nang ang unang mataas na antas ng wika, ang Fortran, ay nilikha. FORTRAN - FORmula Tagasalin). Ginagaya ng mga mataas na antas ng wika natural na mga wika gamit ang ilang salita sinasalitang wika at pangkalahatang tinatanggap mga simbolo ng matematika. Ang mga wikang ito ay mas maginhawa para sa mga tao sa kanilang tulong, maaari kang magsulat ng mga programa hanggang sa ilang libong linya ang haba. Gayunpaman, madaling maunawaan sa maikling programa, naging hindi nababasa at mahirap pangasiwaan ang wikang ito pagdating sa malalaking programa. Ang solusyon sa problemang ito ay dumating sa pag-imbento ng mga structured programming language. nakabalangkas programming wika), gaya ng Algol (1958), Pascal (1970), C (1972). Ang structured programming ay nagsasangkot ng tiyak na tinukoy na mga istruktura ng kontrol, mga bloke ng programa, walang unconditional jump (GOTO) na mga tagubilin, mga autonomous na subroutine, suporta para sa recursion at mga lokal na variable. Ang kakanyahan ng diskarteng ito ay ang kakayahang hatiin ang isang programa sa mga bahaging elemento nito. Nilikha din functional(applicative) na mga wika (Halimbawa: Lisp - English. LISt Pinoproseso, 1958) at pang-aasar ng utak mga wika (halimbawa: Prolog - English) Programming sa LOGic, 1972). Bagama't ang structured programming, kapag ginamit, ay gumawa ng mga natitirang resulta, kahit na ito ay nabigo kapag ang programa ay umabot sa isang tiyak na haba. Upang magsulat ng isang mas kumplikadong (at mas matagal) na programa, kailangan mo bagong diskarte sa programming.

    OOP

    Bilang resulta, ang mga prinsipyo ng object-oriented programming ay binuo noong huling bahagi ng 1970s at unang bahagi ng 1980s. Pinagsasama ng OOP ang pinakamahusay na mga prinsipyo ng structured programming na may makapangyarihang mga bagong konsepto, ang mga pangunahing konsepto ay tinatawag encapsulation, polymorphism At mana. Ang mga halimbawa ng mga object-oriented na wika ay: Object Pascal, C++, Java, atbp. Binibigyang-daan ka ng OOP na mahusay na ayusin ang mga programa, hatiin ang problema sa mga bahaging bahagi nito at magtrabaho sa bawat isa nang hiwalay. Ang isang programa sa isang object-oriented na wika, paglutas ng isang tiyak na problema, ay mahalagang naglalarawan ng isang bahagi ng mundo na may kaugnayan sa problemang ito.

    Pangunahing Konsepto ng Programming Languages

    Standardisasyon ng mga programming language

    Ang isang programming language ay maaaring katawanin bilang isang set ng mga detalye na tumutukoy sa syntax at semantics nito. Ang mga internasyonal na pamantayan ay nilikha para sa maraming malawak na ginagamit na mga programming language. Ang mga espesyal na organisasyon ay regular na nag-a-update at nag-publish ng mga detalye at pormal na kahulugan ng kaukulang wika. Sa loob ng balangkas ng naturang mga komite, ang pagbuo at modernisasyon ng mga programming language ay nagpapatuloy at ang mga isyu sa pagpapalawak o pagsuporta sa mga umiiral at bagong pagbuo ng wika ay nalutas.

    Uri ng data

    Moderno mga digital na kompyuter ay karaniwang binary at ang data ay nakaimbak sa binary (binary) code (bagaman ang mga pagpapatupad sa iba pang mga sistema ng numero ay posible rin). Ang mga data na ito ay karaniwang nagpapakita ng impormasyon mula sa tunay na mundo(mga pangalan, bank account, sukat, atbp.) na kumakatawan sa mga konseptong may mataas na antas. Ang espesyal na sistema kung saan ang data ay nakaayos sa isang programa ay uri ng sistema wika ng programming; Ang pagbuo at pag-aaral ng mga sistema ng uri ay kilala bilang teorya ng uri. Ang mga wika ay maaaring uriin bilang mga sistema na may static na pag-type at mga wika na may dynamic na pag-type. Ang mga statically typed na wika ay maaaring higit pang hatiin sa mga wika na may mandatoryong deklarasyon, kung saan ang bawat variable at function na deklarasyon ay may kinakailangang uri ng deklarasyon, at mga wika na may hinuha na mga uri. Minsan tinatawag ang mga dynamic na na-type na wika nakatago na na-type .

    Mga istruktura ng data

    Binibigyang-daan ka ng mga type system sa mga high-level na wika na tukuyin ang kumplikado, mga uri ng tambalan, tinatawag na mga istruktura ng data. Bilang panuntunan, ang mga uri ng data ng istruktura ay nabuo bilang isang produkto ng Cartesian ng mga pangunahing (atomic) na uri at mga dating tinukoy. mga pinagsama-samang uri. Ang mga pangunahing istruktura ng data (mga listahan, queues, hash table, binary tree, at pares) ay kadalasang kinakatawan ng mga espesyal na syntactic na konstruksyon sa mga high-level na wika. Awtomatikong nakaayos ang naturang data.

    Semantika ng mga programming language

    Mayroong ilang mga diskarte sa pagtukoy ng mga semantika ng mga programming language. Ang pinakalaganap na mga varieties ay ang sumusunod na tatlo: operational, denotations (matematika) at derivational (axiomatic). Kapag naglalarawan ng semantika sa loob diskarte sa pagpapatakbo Karaniwan, ang pagpapatupad ng mga konstruksyon ng programming language ay binibigyang kahulugan gamit ang ilang haka-haka (abstract) na computer. Inilalarawan ng derivational semantics ang mga kahihinatnan ng pagpapatupad ng mga construct ng wika gamit ang wika ng lohika at pagtukoy ng mga pre- at postconditions. Gumagana ang Denotational semantics sa mga konseptong tipikal ng matematika - set, sulat, pati na rin ang mga paghatol, pahayag, atbp. Ang programming language ay binuo alinsunod sa isa o iba pangunahing modelo computing at programming paradigm. Sa kabila ng katotohanan na ang karamihan sa mga wika ay nakatuon sa kinakailangang modelo ng mga kalkulasyon na tinukoy ng von Neumann computer architecture, mayroong iba pang mga diskarte. Maaari naming banggitin ang mga wika na may stack computing model (Forth, Factor, Postscript, atbp.), pati na rin ang functional (Lisp, Haskell, ML, atbp.) at logical programming (Prolog) at ang Refal language, batay sa modelo ng computing na ipinakilala ng Soviet mathematician na si A .A. Markov Jr. Sa kasalukuyan, ang mga wikang nakatuon sa problema, deklaratibo at visual na programming ay aktibong umuunlad din.

    Pinagsama-sama at binibigyang kahulugan ang mga wika

    Ang mga programming language ay maaaring nahahati sa pinagsama-sama at binibigyang kahulugan. Ang isang programa sa isang pinagsama-samang wika, gamit ang isang espesyal na programa ng compiler, ay na-convert (na-compile) sa isang hanay ng mga tagubilin para sa isang partikular na uri ng processor (machine code) at pagkatapos ay nakasulat sa isang executable na module, na maaaring ilunsad para sa pagpapatupad bilang isang hiwalay programa. Sa madaling salita, isinasalin ng compiler ang source code ng isang program mula sa isang high-level na programming language papunta sa binary code mga tagubilin ng processor. Kung ang isang programa ay nakasulat sa isang binibigyang kahulugan na wika, ang interpreter ay direktang nagpapatupad (nagpapakahulugan) sa pinagmulang teksto nang walang paunang pagsasalin. Sa kasong ito, ang programa ay nananatili sa orihinal na wika at hindi maaaring ilunsad nang walang interpreter. Masasabi nating ang computer processor ay isang interpreter code ng makina. Sa madaling salita, isinasalin ng compiler ang source code ng isang program sa machine language kaagad at sa kabuuan nito, na lumilikha ng isang hiwalay na executable program, at ang interpreter ay nagpapatupad ng source text habang tumatakbo ang program. Ang paghahati sa pinagsama-sama at binibigyang kahulugan na mga wika ay medyo arbitraryo. Kaya, para sa anumang tradisyonal na pinagsama-samang wika, tulad ng Pascal, maaari kang sumulat ng isang interpreter. Bilang karagdagan, karamihan sa mga modernong "purong" interpreter ay hindi direktang nagsasagawa ng mga konstruksyon ng wika, ngunit pinagsama-sama ang mga ito sa ilang mataas na antas na intermediate na representasyon (halimbawa, na may variable na dereferencing at macro expansion). Maaaring gumawa ng compiler para sa anumang na-interpret na wika - halimbawa, ang Lisp na wika, na natively interpreted, ay maaaring i-compile nang walang anumang mga paghihigpit. Ang code na nabuo sa panahon ng pagpapatupad ng programa ay maaari ding dynamic na i-compile sa panahon ng pagpapatupad. Ang mga nai-interpret na wika ay may ilang partikular na karagdagang mga tampok (tingnan sa itaas), bilang karagdagan, ang mga programa sa mga ito ay maaaring tumakbo kaagad pagkatapos ng pagbabago, na ginagawang mas madali ang pag-unlad. Ang isang programa sa isang na-interpret na wika ay kadalasang maaaring patakbuhin iba't ibang uri mga makina at operating system na walang Dagdag na pagsusumikap. Gayunpaman, ang mga na-interpret na programa ay tumatakbo nang kapansin-pansing mas mabagal kaysa sa mga pinagsama-sama, at hindi sila maipatupad nang walang karagdagang interpreter program. Ang mga modernong programming language ay idinisenyo upang gamit ang ASCII, iyon ay, accessibility sa lahat graphic Mga character na ASCII ay isang kinakailangan at sapat na kondisyon para sa pagsulat ng anumang mga konstruksyon ng wika. Mga manager Ang mga character na ASCII ay ginagamit sa isang limitadong lawak: tanging ang carriage return CR, line feed LF, at horizontal tab na HT (kung minsan din vertical tab VT at page feed FF) ang pinapayagan. Ang mga unang wika na lumitaw sa panahon ng 6-bit na mga character ay gumamit ng mas limitadong hanay. Halimbawa, ang alpabetong Fortran ay may 49 na character (kabilang ang espasyo): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ " : Ang isang kapansin-pansing pagbubukod ay ang wikang APL, na gumagamit ng maraming mga espesyal na karakter. Ang paggamit ng mga hindi ASCII na character (tulad ng KOI8-R na mga character o Unicode na mga character) ay nakadepende sa pagpapatupad: kung minsan ang mga ito ay pinapayagan lamang sa mga komento at character/string constant, at minsan sa mga identifier. Sa USSR, mayroong mga wika kung saan ang lahat ng mga keyword ay nakasulat sa mga titik na Ruso, ngunit ang mga naturang wika ay hindi nakakuha ng maraming katanyagan (ang pagbubukod ay ang built-in na programming language 1C: Enterprise). Ang pagpapalawak ng hanay ng mga simbolo na ginamit ay pinipigilan ng katotohanan na maraming mga proyekto sa pagbuo ng software ay internasyonal. Napakahirap na magtrabaho kasama ang code kung saan ang mga pangalan ng ilang mga variable ay nakasulat sa mga letrang Ruso, ang iba sa Arabic, at ang iba pa sa mga character na Tsino. Kasabay nito, sinusuportahan ng mga bagong henerasyong wika ng programming (Delphi 2006, C#, Java) ang Unicode upang gumana sa data ng text.