Giriş bosagasy: ýokary, pes, orta
Programmistleriň arasynda köplenç “giriş bosagasy” hakda eşidip bilersiňiz - bu aýratyn “kiçi” adamyň ilkinji çynlakaý programmasyny ýazmak we iş tapmak üçin ýeterlik derejede programma dilini özleşdirmek üçin zerur güýji görkezýän düşünje. “Giriş bosagasy” bilimlerden ybarat:- sintaksisiň aýratynlyklary we diliň nuanslary;
- kitaphanalar;
- algoritmler we maglumatlar gurluşlary.
Web ýa-da ýok?
Web
Web programmistleri “Frontend” we “Backend” döredijilerine bölmek mümkin . Bu adalgalaryň manysyna düşünmelidiris. “Frontend” döredijiler müşderi tarapy diýilýän zat - ulanyjynyň görjek zady bilen iş salyşýarlar. “Backend” hyzmatyň programma üpjünçiligi we apparat bölegi - serwerde işleýän zat. Haýsy programmirleme dilini saýlamalydygyny kesgitleýän “Frontend” döredijisi üçin hökmany JavaScript we onuň çarçuwalary: Angular JS, React we başgalar. JS şiweleri ene-atalary ýaly meşhur däl, ýöne peýdaly bolup biler: CoffeeScript, TypeScript. JScript we VBScript-den ozal fleş AS hem bar, ýöne diňe dinozawrlar muny ýatda saklaýarlar =) Mundan başga-da, HTML we CSS-e düşünmeli .Web däl (kärhana, iş stoly, ykjam)
Bu programmirleme dillerini şeýle geň at bilen kategoriýa böldüm. Olaryň köpüsi kärhana, iş stoly we hatda ykjam programmalar ýazmak üçin ulanylyp bilner. Düşünmek aňsat OOLP bolan Python , Machine Learning- iň ösmegi sebäpli soňky döwürde ajaýyp meşhurlyk gazandy : onuň tarapdarlary Python-dan giňden peýdalanýarlar. ML IT ulgamynda diýseň ýaş sebit, ilkinji miweler eýýäm alnan hem bolsa, programmirleme dilini saýlanda bu pudaga çümmäge howlukmaýaryn. Ilki bilen, matematikadan gaty ökde bolmaly. Ikinjiden, meşhurlyk tolkuny “blockchain” ýa-da “nanotehnologiýa” ýaly bolup biler. Mundan başga-da, ýadyňyzda bolsa, Python web ösüşinde ulanylýar. C ++ : nusgawy, hemme zat “plýuslar” esasynda gurulýar. Bu dil ähli meşhur OOLP-leriň nesilbaşysydy we täze öwreniji hökman oňa üns bermelidir. Köp meşhur programmalar şoňa esaslanýar. “Öne“ özüňi aýakdan atmagyň ”ähtimallygy we düşünmek kyn sintaksis, bu programmirlemegiň mastodonyny öwrenip başlamagyň ähtimallygyny aradan aýyrýar. Kotlin - hipsterler üçin Java - OOP we funksional programmirlemegiň däli garyndysy. Javaaňy-ýakynda Java-dan Kotline geçýän tejribeli işläp düzüjiniň öndürijiligini ep-esli ýokarlandyrýandygy sebäpli meşhur. Tejribeli işläp düzüji bu dile çalt öwrenişer. Theeri gelende aýtsak, bu Scala-da degişlidir, ýöne Kotlin “Android” -de meşhur. Java öwrenýän üçin öwrenmek aňsat. Şol sanda, JavaRush-yň kömegi bilen : programmirleme dilini nädip saýlamalydygyna şu ýerde düşündim =) Java sintaksisiniň düşnükli, “özüňi aýakdan atmagyň” mümkinçiligi bar, ýöne tankydy däl.OOP ýa-da POP?
Prosessual çemeleşme
Prosedura gönükdirilen çemeleşme, belli bir meseläni netijeli çözmek üçin bitewi bir ýere jemlenip boljak yzygiderli jümlelerden ybarat programma ýazmagy öz içine alýar. Bu diller: C , PureBasic we Paskal . Orta we orta mekdep okuwçylaryna umytsyzlyk getirýänler. Şeýle hem birneme ýaş GO bar . Şeýle-de bolsa, prosessual diller bilen tanyşlyk potensial dörediji üçin örän peýdalydyr. Prosessual dillere çümmek Matematika ulgamy (Wolfram) we uniwersitetiň gözleg işleri bilen baglanyşykly. Dogry algoritmiki çemeleşmeleriň we ýönekeý proseduralaryň kömegi bilen programmanyň başyndan ahyryna çenli çyzykly hereket edip, häzirki zaman teoretiki fizika bilen baglanyşykly bahalary hasaplap bildim. Bu “yzygiderli” dilleriň kömegi bilen, kod ýazmagyň kämahal özüňe ynanmakdan has aňsatdygyna düşünip başlaýarsyň. PPP-ni öwrenmek gowy algoritmiki okuwy üpjün edýär, iş beriji işe alnanda dalaşgäriň hemişe diýen ýaly görmek isleýär. Hemme zadyň we IT ulgamynda işleýänleriň hemmesi prosedura dillerine esaslanýar, şonuň üçin olara baha bermäň. Theeri gelende aýtsak, haýsy programmirleme dilini öwrenmelidigini saýlaýanlar, köp okalmagy OOP-yň aýratyn hukugy diýip hasaplaýarlar. Bu nädogry. Prosessual programmirleme dilleri hem parallel hasaplamalary amala aşyrmaga mümkinçilik berýär.Obýekte gönükdirilen çemeleşme
Prosessual dillerden başlanlar köplenç matematika, algoritmler we maglumatlar gurluşlaryny gowy bilýärler (bu tehniki uniwersitetlerde bilimleriň bu ugurlaryna ünsi çekýär). Şeýle-de bolsa, häzirki zaman hakykatlarynda üstünlikli programmistler köplenç programmirleme - obýekte gönükdirilen başga bir çemeleşmäni gowy özleşdirenlerdir. OOP ideologiýasy hakykatdanam global ulgamlary gurmaga mümkinçilik berýär. Bu çemeleşmäniň aýratynlygy, onuň hakyky dünýä meňzeşligi:- dürli jisimler biri-biri bilen täsirleşýär we biri-birine garaşsyz bar.
- obýektleriň iýerarhiýasy bar we ata-babalarynyň özüni alyp barşyny üýtgetmäge ýa-da üýtgetmäge ukyply.
- Abstrakt düşünjeler bilen işläp bilersiňiz, ýöne diňe bar bolan zatlar täsir edip biler.
Mysal Prosessual gönükdirilen diller belli bir meseläni çözmek üçin guraldyr. Eger-de işiňizde üýtgeşiklik bar bolsa, hatda kiçi hem bolsa, ähli algoritmleri täzeden ýazmak üçin wagt we güýç sarp etmeli bolarsyňyz. Представим программу, описывающую автосалон, который продает легковые и грузовые автомобor, How новые, так и подержанные. В proceduresном языке для каждого an object нужно описать функции, обрабатывающие ввод or вывод данных для нового легкового, нового грузового, б/у легкового и б/у грузового автомобилей. А что предлагает ООП? При an objectно-ориентированном подходе нужно просто описать базовый класс ТРАНСПОРТ, который будет хранить в себе характеристики, присущие и тому, и другому типу автомобилей:
И методы для ввода-вывода информации. Затем создадим an objectы, наследующие характеристики класса ТРАНСПОРТ: ЛЕГКОВУШКА и ГРУЗОВИК. Они содержат уточнённую информацию, присущую именно таким видам транспорта, а также методы ввода-вывода. Внезапно руководство салона решило расширить ассортимент и продавать еще и мотоциклы. Процедурный подход предложит переписать всю логику для новых и б/у мотоциклов с самого начала, в то время How ООП-язык позволит просто создать новый an object МОТОЦИКЛ, наследующий все характеристики суперкласса ТРАНСПОРТ и содержащий уточнения. А что будет, если добавлять разные транспортные средства? Процедурная реализация будет требовать больших трудозатрат, чем ООП. Причем чем больше ассортимент, тем меньше нужно будет делать манипуляций с an objectми. |
- ООП предполагает независимую разработку отдельных модулей, предоставляя программисту or команде выбирать способ и границы соприкосновений и обмена информацией.
- Разбиение на небольшие модули намного проще для восприятия, чем монолитные proceduresы. Благодаря этому сторонний разработчик быстро разберется в твоем codeе, а ты при необходимости войдешь в новый проект.
- Изменение одного an object может ниHow не отразиться на взаимодействии с другим, но способно повлиять на иерархию дочерних an objectов. Освоив такой подход, расширение и доработка программы становится тривиальной задачей.
-
Кроссплатформенность.
Java работает везде благодаря JVM —виртуальной машине Java. Один из главных плюсов этого языка — кроссплатформенность: не нужно думать о том, Howую библиотеку подключить, Howова архитектура у конкретного процессора. «Написано однажды —работает всегда».
-
Документация.
Iň giň resminama binýady: resmi Oracle resminamalary, okuw portallary, yzygiderli ösýän jemgyýet. Ösüş döwründe ýüze çykýan soraglaryň köpüsine birnäçe minutdan tapyp bilersiňiz, esasy zat gözleg motoryna näme ýazmalydygyna düşünmek =)
-
Meşhurlyk.
Java dünýäde iň meşhur programmirleme dilidir: ýokarda ady agzalan Android we web döredijilerden başga-da, ilkinji gezek kärhana döredijisi Java-da ýazýar. Kärhana iri korporasiýalaryň zerurlyklary üçin zerur içerki ösüşdir.
Her ýyl ýigrenýänler “Java-yň ölümini” çaklaýarlar, “ Oracle muny goldamagy bes eder we umuman manysyz işleýärsiňiz ” diýýärler . Bu nädogry! Java-yň täze wersiýalarynyň her alty aýdan bir gezek çykjakdygy wada berilýär. Iň soňky wersiýanyň iň möhüm täzelikleri we aýratynlyklaryny şu ýerden okap bilersiňiz .
Java 8-de lambdalar meniň üçin täze wersiýalary aýtmazlyk üçin öwrülişik we açyş boldy! Indi “retrograd” taslamasynyň üstünde işleýärin, şonuň üçin täzeliklere göz aýlamok, ýöne Java-yň ýaşaýandygy hakykat.
-
Android.
“Android” soňky 4 ýylda jübi telefon bazarynyň 80% -den gowragyny ynam bilen eýeledi ; telewizorlar, media pleýerleri we hatda awtoulaglardaky media ulgamlary bu operasiýa ulgamynyň çäginde işleýär. Bu OS üçin ösüş esasan Java-da amala aşyrylýar. Geljegiň nähili açylýandygyny göz öňüne getiriň. “Android” dörediji hökmünde işe girenimde gyzyklandym: ösdürýän önümimiň bahasy näçe? Yearylda bahasynyň takmynan 5 dollardygy ýüze çykdy. Oňaýly sorag ýüze çykdy: bu edara, aýlyk, gutapjyklar, tennis stoly, robotlar we beýleki “gowy zatlar” üçin serişde nireden geldi? Bu mukdar meselesi: programmamyzda 20 million ulanyjy bar.
-
Aýlyklar
Şirinlik üçin: Java döredijiniň aýlygy bu pudakda iň ýokary. Belli bir maksat bilen programmirlemegi öwrenjek bolýarsyňyz: gowy iş tapmak.
Programmirleme diliniň meşhurlygy
Programmirleme dilini saýlanyňyzda, öwrenmegiň esasy maksady - ilkinji işe girmek hakda pikirlenmeli. Dürli dilleriň meşhurlygyna baha bermek üçin meşhur işe alyş portalyna bardym we Moskwa üçin dürli haýyşlar üçin boş ýerleriň sanyna seredip başladym. Netijeleri aşakda görüp bilersiňiz.Java: | 277 |
piton: | 227 |
php: | 188 |
c #: | 147 |
c ++: | 131 |
ýakut: | 40 |
skala: | 24 |
kotlin: | 20 |
Netijeler
Ine, başlangyç dilini programmirleme dilini saýlanyňyzda üns bermeli zatlary:- Meşhurlyk (Java yzygiderli öňdebaryjy orny eýeleýär);
- Giriş bosagasy (Java üçin - ortaça: iş beriji tarapyndan talap edilýän başarnyklaryň diapazony gaty giň);
- Elýeterli materiallar (rus dilinde JavaRush-a meňzeş portal ýok, şonuň üçin palma kimiň kimdigini çaklamaga gidýär));
- Ulanylýan ugurlar: programmirleme dilini ulanyp boljak pudaklar näçe köp bolsa, bazarda şonça-da hünärmen gerek. Men eýýäm platforma barada gürleşipdim, ýöne gaýtalamakdan ýadamaryn.
GO TO FULL VERSION