Ҳадди дохилшавӣ: баланд, паст, миёна
Дар байни барномасозон, шумо метавонед аксар вақт дар бораи "ҳадди дохилшавӣ" - консепсияе шунидаед, ки миқдори заҳматеро, ки барои як фарди "ҷавон" барои азхуд кардани забони барномасозӣ дар сатҳи кофӣ барои навиштани аввалин барномаи ҷиддии худ ва пайдо кардани ҷои кор лозим аст, инъикос мекунад. "Адди дохилшавӣ" аз дониш иборат аст:- хусусиятхои синтаксис ва тобишхои забон;
- китобхонаҳо;
- алгоритмҳо ва сохторҳои додаҳо.
Веб ё веб нест?
Веб
Барномасозони вебро метавон ба таҳиягарони Frontend ва Backend тақсим кард . Бояд фаҳмем, ки ин истилоҳҳо чӣ маъно доранд. Таҳиягарони "Frontend" бо ҷониби ба истилоҳ муштарӣ сарукор доранд - он чизе ки корбар хоҳад дид. "Backend" қисми нармафзор ва сахтафзори хидмат мебошад, ки дар server кор мекунад. Барои як таҳиягари Frontend қарор мекунад, ки кадом забони барномасозиро интихоб кунад, JavaScript ва чаҳорчӯбаи он ҳатмист : Angular JS, React ва дигарон. Лаҳҷаҳои JS мисли волидайнашон маъмул нестанд, аммо метавонанд муфид бошанд: CoffeeScript, TypeScript. Инчунин флеши AS вуҷуд дорад, қаблан JScript ва VBScript вуҷуд дошт, аммо танҳо динозаврҳо дар хотир доранд, ки =) Илова бар ин, шумо бояд HTML ва CSS-ро фаҳмед .Ғайривеб (корхона, мизи корӣ, мобилӣ)
Ман махсусан ин забонҳои барномасозиро ба категория бо чунин номи аҷиб гурӯҳбандӣ кардам. Аксари онҳо метавонанд барои навиштани корхона, мизи корӣ ва ҳатто барномаҳои мобилӣ истифода шаванд. Python , як OOLP осон фаҳмо, ба наздикӣ аз ҳисоби рушди Machine Learning бениҳоят маъмул шуд : пайравони он Python-ро васеъ истифода мебаранд. ML як соҳаи хеле ҷавон дар IT аст ва гарчанде ки меваҳои аввал аллакай гирифта шудаанд, ман ҳангоми интихоби забони барномасозӣ шитоб намекунам, ки ба ин соҳа ворид шавам. Аввалан, шумо бояд дар математика хеле хуб бошед. Сониян, мавҷи маъруфият метавонад ба ҳамон роҳе равад, ки бо “блокчейн” ё “нанотехнология” меравад. Илова бар ин, тавре ки шумо дар ёд доред, Python дар таҳияи веб истифода мешавад. C++ : классикӣ, ҳама чиз дар асоси "плюсҳо" сохта шудааст. Ин забон пешвои ҳама OOLP-ҳои маъмул буд ва як шурӯъкунанда бояд ҳатман ба он диққат диҳад. Бисёр барномаҳои маъмул дар асоси он. Аммо эҳтимоли баланди "паррондан ба пои худ" ва синтаксиси душворфаҳм эҳтимоли азхуд кардани ин мастодони барномасозиро рад мекунад. Kotlin - Java барои hipsters - омехтаи девона аз OOP ва барномасозии функсионалӣ. Ба наздикӣ маъмул аст, зеро таҳиягари ботаҷрибае, ки аз Java ба Котлин мегузарад, маҳсулнокии худро ба таври назаррас беҳтар мекунад. Таҳиягари ботаҷриба зуд ба ин забон одат мекунад. Воқеан, ин ба Scala дахл дорад, аммо Котлин дар Android маъмул аст. Java барои шурӯъкунандагон омӯхтан осон аст. Аз ҷумла, ба шарофати JavaRush : маҳз дар ҳамин ҷо ман фаҳмидам, ки чӣ гуна забони барномасозиро интихоб кардан лозим аст =) Синтаксиси Java равшан аст, имкони "паррондан ба пои худ" вуҷуд дорад, аммо муҳим нест.OOP ё POP?
Муносибати мурофиавӣ
Равиши ба тартиб нигаронидашуда навиштани барномаеро дар бар мегирад, ки аз изҳороти пайдарпай иборат аст, ки барои ҳалли самараноки доираи мушаххаси масъалаҳо ба як ягона ҷамъ оварда мешаванд. Ба ин забонҳо дохил мешаванд: C , PureBasic ва Pascal . Ҳамонҳое, ки хонандагони мактаби миёна ва навҷавононро ноумедӣ меоранд. Инчунин як GO нисбатан ҷавон вуҷуд дорад . Аммо, шиносоӣ бо забонҳои мурофиавӣ барои таҳиягари эҳтимолӣ хеле муфид аст. Барои ман, таъмид ба забонҳои мурофиавӣ бо системаи Mathematica (Wolfram) ва фаъолияти тадқиқотии донишгоҳ алоқаманд аст. Ба шарофати равишҳои дурусти алгоритмӣ ва расмиёти оддӣ, ки аз аввали барнома то охири он ба таври хаттӣ ҳаракат карда, ман тавонистам арзишҳоеро ҳисоб кунам, ки ба физикаи назариявии муосир мувофиқанд. Маҳз ба шарофати ин забонҳои "пайвандӣ" шумо мефаҳмед, ки баъзан навиштани code назар ба ҳисоб кардани худ осонтар аст. Омӯзиши PPP омӯзиши хуби алгоритмиро фароҳам меорад, ки корфармо онро қариб ҳамеша ҳангоми ба кор қабул кардан мехоҳад дар номзад бинад. Асосҳои ҳама чиз ва ҳама дар IT бар забонҳои мурофиавӣ сохта шудаанд, бинобар ин онҳоро нодида нагиред. Дар омади гап, шурӯъкунандагоне, ки қарор медиҳанд, ки кадом забони барномасозиро барои омӯхтан интихоб кунанд, аксар вақт фикр мекунанд, ки мултипликатсия имтиёзи истисноии OOP аст. Ин нодуруст аст. Забонҳои барномасозии мурофиавӣ инчунин ба шумо имкон медиҳанд, ки ҳисобҳои параллелӣ анҷом диҳед.Муносибати ба an object нигаронидашуда
Онҳое, ки бо забонҳои мурофиавӣ оғоз кардаанд, аксар вақт дар бораи математика, алгоритмҳо ва сохторҳои додаҳо дониши хуб доранд (ин бо сабаби таваҷҷӯҳ ба ин соҳаҳои дониш дар донишгоҳҳои техникӣ мебошад). Аммо, дар воқеияти муосир, барномасозони муваффақ аксар вақт онҳое мебошанд, ки равиши дигари барномасозӣ - an object нигаронидашударо хуб азхуд кардаанд. Идеологияи OOP имкон медиҳад, ки системаҳои воқеан глобалӣ бунёд карда шаванд. Хусусияти ин равиш шабоҳати он ба ҷаҳони воқеӣ аст:- an objectҳои гуногун бо ҳамдигар амал мекунанд ва новобаста аз ҳамдигар вуҷуд доранд.
- an objectҳо иерархия доранд ва қодиранд рафтори аҷдодони худро қабул ё тағир диҳанд.
- Шумо метавонед бо мафҳумҳои абстрактӣ амал кунед, аммо танҳо an objectҳои воқеан мавҷудбуда метавонанд мутақобила кунанд.
Мисол Забонҳои ба расмият нигаронидашуда воситаҳои ҳалли мушкилоти мушаххас мебошанд. Ва агар вазифаи шумо, ҳатто як чизи ночиз, тағир ёбад, шумо эҳтимолан барои аз нав навиштани ҳама алгоритмҳо вақт ва кӯшиш сарф мекунед. Представим программу, описывающую автосалон, который продает легковые и грузовые автомоб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ова архитектура у конкретного процессора. «Написано однажды —работает всегда».
-
Документация.
Пойгоҳи васеътарини ҳуҷҷатгузорӣ: ҳуҷҷатҳои расмии Oracle, порталҳои омӯзишӣ, ҷомеаи доимо инкишофёбанда. Ҷавобҳоро ба аксари саволҳое, ки ҳангоми таҳия ба миён меоянд, дар тӯли чанд дақиқа пайдо кардан мумкин аст, чизи асосӣ фаҳмидани он аст, ки дар системаи ҷустуҷӯӣ чӣ нависед =)
-
Маъруфият.
Java маъмултарин забони барномасозӣ дар ҷаҳон аст: ба ғайр аз таҳиягарони дар боло зикршудаи Android ва веб, қариб ҳар як таҳиягари корхона бори аввал бо Java менависад. Корхона як рушди дохилӣ мебошад, ки барои эҳтиёҷоти корпоратсияҳои калон зарур аст.
Ҳар сол нафраткунандагон "марги Java" -ро пешгӯӣ мекунанд, онҳо мегӯянд: " Oracle дастгирии онро қатъ мекунад ва шумо умуман бемаънӣ мекунед ." Ин нодуруст аст! Ваъда шудааст, ки versionҳои нави Java ҳар шаш моҳ бароварда мешаванд. Муҳимтарин навовариҳо ва хусусиятҳои versionи охиринро дар ин ҷо хондан мумкин аст .
Барои ман, ламбдаҳо дар Java 8 инқилоб ва кашфиёт буданд, на аз versionҳои нав! Ҳоло ман дар як лоиҳаи "ретроградӣ" кор карда истодаам, аз ин рӯ ман ба навоварӣ намеравам, аммо он далел аст, ки Java зиндагӣ мекунад.
-
Android.
Android дар тӯли 4 соли охир беш аз 80% бозори телефонҳои мобorро бо боварӣ ишғол кардааст ; телевизорҳо, плеерҳои медиавӣ ва ҳатто системаҳои медиавӣ дар мошинҳо таҳти ин системаи оператсионӣ кор мекунанд. Ва таҳияи ин ОС асосан дар Java амалӣ карда мешавад. Танҳо тасаввур кунед, ки чӣ гуна пешомадҳо кушода мешаванд. Вақте ки ман ба ҳайси таҳиягари Android кор гирифтам, ман шавқ пайдо кардам: маҳсулоте, ки ман таҳия карда истодаам, чанд пул аст? Маълум шуд, ки нарх дар як сол тақрибан 5 доллар аст. Саволи асоснок ба миён омад: маблаги ин идора, барои маош, печенье, столи теннис, роботхо ва дигар «чизхои хуб» аз кучо пайдо шуд? Ин масъалаи миқдор аст: барномаи мо 20 миллион корбар дорад.
-
Музди мехнат.
Ва барои шириниҳо: маоши як таҳиягари Java яке аз баландтарин дар ин соҳа аст. Шумо барномасозиро барои як ҳадафи мушаххас омӯхта истодаед: ба даст овардани кори хуб.
Маъруфияти забони барномасозӣ
Ҳангоми интихоби забони барномасозӣ, шумо бояд дар бораи ҳадафи ниҳоии омӯзиш - гирифтани кори аввалини худ фикр кунед. Барои арзёбии маъруфияти забонҳои гуногун, ман ба портали машҳури рекрутинг рафтам ва ба дидани шумораи ҷойҳои холӣ барои дархостҳои гуногун барои Маскав шурӯъ кардам. Қуйида натижалар билан танишишингиз мумкин.Java: | 277 |
питон: | 227 |
php: | 188 |
c#: | 147 |
c++: | 131 |
ёқут: | 40 |
скала: | 24 |
Котлин: | 20 |
НАТИЧАХО
Ин аст он чизе ки шурӯъкунандагон ҳангоми интихоби забони барномасозӣ бояд ба он таваҷҷӯҳ кунанд:- Маъруфият (Java пайваста мавқеи пешсафро ишғол мекунад);
- Ҳадди дохилшавӣ (Барои Java - миёна: доираи салоҳиятҳое, ки корфармо талаб мекунад, хеле васеъ аст);
- Маводҳои дастрас (ба забони русӣ ягон порталҳои монанд ба JavaRush вуҷуд надоранд, бинобар ин, хурмо барои тахмин кардани кӣ меравад =));
- Соҳаҳои татбиқ: чӣ қадаре ки дар онҳо забони барномасозӣ истифода шавад, ҳамон қадар бештар мутахассисон дар бозор талаб карда мешаванд. Ман аллакай дар бораи кросс-платформа сӯҳбат кардам, аммо ман аз такрори он хаста намешавам.
GO TO FULL VERSION