Тенденции в програмирането. В коя област на програмирането можете да бъдете по-успешни и да си изкарвате по-добре? Чатботове и изкуствен интелект

Този въпрос ни беше изпратен от студент трета година от Факултета по информационни технологии и изцяло звучи така: „Преподават от всичко по малко и сега възникна въпросът: на какво да програмираме? Езикът за програмиране не е толкова важен, защото можете да разберете всичко. По-специално се интересувате от следното: в коя област на програмиране можете да бъдете по-успешни и да изкарвате по-добре?

Нека дадем думата на експертите.

, Главен информационен директор, ръководител на отдела за развитие на вътрешна информация, Mail.Ru Group

Ние съветваме интернет и всичко свързано с него. По-добре е да градите кариера в това, което се развива, а именно интернет услугите са нараснали десетки пъти през последните десет години и няма признаци това развитие да спре.

Надграждане Понижаване

Разбира се, има области на развитие, които представляват определена "модерна" тема. Сега това са мобилни приложения, облачни изчисления, голяма информация. Преди време игрите бяха мегапопулярни. Това обаче не е най-правилната постановка на въпроса, защото технологиите се променят бързо. За да имате перспектива за растеж, трябва да имате добра фундаментална подготовка - доброто познаване на езика и алгоритмите не е достатъчно. Затова трябва да помислите за стаж във фирма. В същото време е наложително да се съчетава работата, без да се засяга ученето. Обърнете внимание на отделите на отделните компании във вашия университет. Големи компании като Parallels имат свои собствени изследователски центрове в MIPT, Baumanka, Санкт Петербургски академичен университет, RosNOU, Новосибирски държавен университет. Там се създават условия, дават се изследователски задачи, които симулират реална работа във фирма за студенти.

Надграждане Понижаване

Сега в нашия свят много неща са свързани с интернет, така че за добри печалби е по-добре да изберете език, който ви позволява да създавате уеб приложения. За да бъдем конкретни, Ruby + JavaScript. Ruby ви позволява да създавате приложения много бързо, а в нашия динамично развиващ се свят това е много важно. Ако можете да направите приложение за няколко дни, ще бъдем много благодарни. Не препоръчвам Java или PHP, защото идеологиите на първия вече са остарели, а вторият е езикът на bydlocoders и е стигнал до задънена улица в своето развитие. Препоръчвам да научите Javascript и още по-добре CoffeeScript (в случая с помощта на Ruby): без тях няма да има динамика на предния край, което означава, че приложението ви ще бъде скучно. Не съветвам да учите от Flashers - тази технология умира.

Не забравяйте да научите как да използвате рамки: за Ruby това е Ruby on Rails, за JavaScript е Angular.js или Ember.js (но никога Backbone.js или Spring.js). Рамките ви позволяват да извайвате приложения не за дни, а за часове!

Със сигурност няма да останете без работа и ще печелите достатъчно (за да осигурите например семейство), ако започнете да се развивате в тази посока.

Друга според мен печеливша индустрия са мобилните приложения. Мисля, че няма нужда да обяснявам защо: дори бездомните имат смартфони. Но тук има един нюанс: ако сами ще пишете някои приложения, тогава най-вероятно няма да спечелите много от това - приложенията винаги се нуждаят от качествена идея. Но въпреки това винаги можете да си намерите работа и да печелите.

Също така искам да ви посъветвам да се съсредоточите върху разработката на Android. Има много устройства на тази платформа и Apple наскоро не е вдъхновявала перспективи за iOS разработчици. Но това е мое субективно мнение.

Определено няма да останете без работа, ако се движите в тази посока, но размерът на приходите ще зависи от вас.

Също така ви съветвам да обърнете внимание на DevOps. Такива специалисти наистина печелят много, но това не се учи в институтите. Няма да говоря подробно за методиката: ако ви е интересно, прочетете я сами.

Сега накъде да гледам несъветвам:

  1. Повтарям, това са езици с остаряла идеология: Java, PHP и др. Ще намерите работа, но рано или късно ще разберете, че трябва да промените нещо. Това ми се случи през 2007 г., когато преминах от PHP към Ruby.
  1. Системни езици като C или езици на ниско ниво. Причината е проста: има малко оферти, но ако има, тогава там плащат добре. Вярно е, че не съм наблюдавал този пазар от дълго време, може и да греша.
  1. Супер нови модерни езици: Erlang, Scala и др. Все още не е ясно дали ще заемат някаква ниша или не. Представете си, че изразходвате енергията си да ги изучавате и те си отиват.

Надграждане Понижаване

Добре, като говорим за пари, по-добре напусни тази работа и се заеми сериозно с изучаването на финанси, защото ще спечелиш много повече на Уолстрийт, отколкото с програмиране на Python. Дори днешните тийнейджъри имат популярна идея да работят като "мениджър в Газпром". Въпреки че отново малко преувеличавам ситуацията. Разбира се, ИТ светът също е общност от хора, които правят доста прилични пари и има определени статистики за заплатите, например разработчиците на Java вече могат да разчитат на по-високи заплати от разработчиците на .Net. Така че мога да препоръчам четене на статистика от уважавани източници, като например hh.ru.

Надграждане Понижаване

Успехът на програмиста се определя наистина не толкова от езика, колкото от способността му да решава конкретни приложни проблеми. Важно е да разберете задълбочено предметната област, да разберете нуждите на клиента (или потенциалния / реалния потребител на програмата) - и да ги разберете дори по-дълбоко и по-широко от самия клиент. Що се отнася до областите, облачните технологии и извличането на данни са във възход. И, разбира се, „вечната“ област е автоматизацията на бизнеса. За последната област, по мое мнение (не съвсем обективно, разбира се), най-добрият избор е 1C. Тази система предоставя широк спектър от възможности за израстване – както като програмист, така и като експерт-консултант в автоматизирането и оптимизирането на бизнес процесите.

Надграждане Понижаване

Нашата компания непрекъснато наблюдава пазара и интервюира професионални разработчици, за да развие нашите продукти в популярни направления. Бъдещата тенденция е свързването на облачните технологии, мобилните приложения и Интернет на нещата. Разработката на различни платформи и създаването на свързани приложения ще бъдат особено търсени. Опитайте RAD Studio XE7.

Надграждане Понижаване

Има военна максима: Добрият избор води до повече възможности за добър избор.

Нека обясня. Около края на 70-те години бързото развитие на средната класа в САЩ доведе до голямо търсене на счетоводители поради появата на голям брой малки фирми. Поради това счетоводните курсове бяха в невероятно търсене и бяха дипломирани невероятен брой счетоводители. Всичко това цъфтеше и миришеше до средата на 80-те години, когато се разпространи персонални компютрипозволи на голям брой хора да използват счетоводни програми. Няма нужда от счетоводители.

Когато хората отидоха да учат счетоводители, не можеха да предвидят такъв обрат на събитията.

Ако сега изберете финанси и отидете на работа в банка, ще спечелите доста. Но! В западната преса се чуват гласове, потвърдени от изследвания, че финансовият сектор всъщност вреди на развитието на икономиката. И че трябва да се намали.

Следователно е вероятно сегашният ви избор на финансовия сектор да се провали.

Опитайте се да разнообразите залозите си. Изучете няколко предметни области, за да разберете как програмирането може да им помогне и как като цяло да прилагат програмирането за решаване на проблеми с домейна.

Изборът на програмиране е вече добър избор. Необходимо е само да се реализира полученото предимство.

Надграждане Понижаване

Успехът не зависи от сферата, а от това колко ще работиш и израстваш професионално в избраната посока. От това следва, че на първо място трябва да намерите дейността, която ви носи най-голямо удоволствие. А парите обикновено намират такива хора.

Надграждане Понижаване

Въпросът правилно посочва, че езикът за програмиране не е толкова важен. През третата година бих посъветвал да не обръщате специално внимание и на индустрията за програмиране, а да се опрете на въпроси общ. Имам предвид например алгоритми, структури от данни, методологии за дизайн и разработка. Всичко това може да се овладее с примера на почти всеки език, свързан с всяка област.

Също така отбелязвам, че въпреки че опитът на истинското развитие е много важен, не трябва да отивате на работа твърде рано и да го прехвърляте на по-висок приоритет от ученето. След като този превключвател се задейства, е трудно да се върнете към пълно обучение. Ще имате определени очаквания за заплата и ще бъде поне психологически по-трудно да преминете към по-лошо платен стаж, въпреки че това може да ви даде много повече за по-нататъчно развитие. Докато сте студент, имате време да участвате в събития като Google Summer of Code, възможности за обучение в чужбина и много други отворени врати. Разбира се, никога не е твърде късно за повечето неща, но има вероятност да пропуснете много, ако започнете твърде рано.

С други думи, ако наистина искате, тогава изберете всяка индустрия, която ви харесва най-много. Но никога не затваряйте очите си за всичко останало в света на програмирането.

Надграждане Понижаване

Програмистът трябва да пише код през цялото време, защото това е единственият начин за постигане на професионално развитие. Ако нямате готов проблем, който се нуждае от решение, научете се как да намирате такива проблеми сами. Повечето от тези задачи ще лежат в областта на личните предпочитания. Например, помислете какво ви липсва на телефона ви, кои сайтове, които са полезни лично за вас, все още не са в интернет и т.н.

Надграждане Понижаване

Разработката на мобилни устройства е най-обещаващият и печеливш клон на програмирането. Ако ги сравним с конвенционалните компютри, предимствата на мобилните устройства са очевидни: преносими, удобни, достатъчно мощни, да не говорим за многото модерни технологииизползвани при създаването им, напр. сензорни екрании технологии за геолокация. Тези устройства могат да се използват както за лични цели, така и за бизнес, логистика, производство и т.н. Като се има предвид колко бързо се развиват технологиите за мобилни устройства и тяхната функционалност, няма съмнение, че тази индустрия има голям потенциал.

Надграждане Понижаване

Тук също има опции: преминете към тясна специализация в дадена технология или вземете широчината на спектъра. Тясната специализация ще ви позволи да бъдете експерт в избраната от вас област, но създава трудности, ако е необходимо нещо друго. Широката гама ви позволява да избирате от по-широк списък с предложения за работа (особено добри в началото), но по правило новодошлите не се научават как да разбират как работят тези системи - те в крайна сметка губят в дългосрочен план. Така че, IMHO, най-добре е да сте експерт в няколко области, но в същото време да имате разбиране за други технологии, за да не пропуснете добър момент, когато познаването на определена технология може да донесе значително предимство.

Също така не забравяйте интереса - като правило не финансовата страна засяга основно смяната на работата, а други фактори: интерес към работата, състоянието на компанията, взаимоотношенията в екипа и др. Финансовата страна може да повлияе само ако има доста голяма разлика в цифрите, като цифрите все още зависят повече от техническата сложност на проектите и от клиента, а не от езика за програмиране и използваните технологии.

Ако изберете cloud computing – област, която се разраства много активно през последните години – тук са възможни два пътя. Можете да създадете самите технологии или да намерите приложения за тях. Търсят се разработчици, които пишат инфраструктура за обработка на милиони или дори милиарди заявки в секунда сигурно съхранениеогромни количества данни и тяхното управление. Тук можете да цитирате google appengine като пример: струва ми се, че това е ярък пример за това как ще се извършва разработката в бъдеще. Но от друга страна, специалистите, които могат да използват всички тези технологии за решаване на различни проблеми, са не по-малко ценени. Това също изисква разбиране къде и какъв инструмент може да се приложи, а това е възможно само при много добро познаване на материята.

От езиците за програмиране все пак бих отбелязал отделно C / C ++. Според мен, ако знаете този език, тогава изучаването на всеки друг не е трудно. Наскоро езикът „go“ също стана модерен: той се популяризира активно от Google.

Надграждане Понижаване

Всяка следваща година носи нови тенденции в програмирането и процеса като цяло. За да сте в крак с времето, трябва да знаете какво готви 2019 г. за уеб програмистите. Какъв ще бъде новият вектор на развитие на индустрията? Нека да разгледаме топ 5 на тенденциите в програмирането през 2019 г. в този обзор.

Основните тенденции в развитието на уебсайтове

Тази година могат да се очакват много обещаващи неща, като нови функции в Javascript или подобрен Motion UI. Какво друго да очакваме и какво да следваме?

Насочване към мобилни устройства

Не толкова отдавна Google стартира , което предполага основната роля на мобилните устройства пред настолните компютри. Също наскоро в информационно пространствоимаше новина, че делът на руските потребители на „само за мобилни устройства“ надхвърля 35%. Това означава, че всеки трети влиза в интернет само от мобилен телефон. Освен това…

Ето защо Yandex и Google въвеждат турбо и AMP страници навсякъде. Следователно за мобилните потребители е неудобно да използват страници от сайта, които не са адаптирани за тях Адаптивно оформлениеи способността за създаване на мобилни решения ще бъде изключително важно умение през 2019 г.


Насочени известия

Всички вече забелязаха пълната популярност на насочените известия миналата година. И в бъдеще тази технология ще става все по-актуална. Ако по-рано те бяха просто начин да убедите потребителя да извърши определено действие, сега това е може би най-обещаващият маркетингов инструмент.

В същото време те са много ефективни както на работния плот, така и в него мобилни приложения, така че във всеки нов проект настройката и свързването на насочени известия ще бъдат включени в проекта в началния етап.

Прогресивност на технологиите

Тенденциите в популярността на езиците за програмиране дават ясна индикация кои сайтове ще бъдат най-популярни тази година. С появата на AngularJS, който значително разширява възможностите на HTML, старите тромави сайтове ще потънат в забрава. Сега сайтовете трябва да бъдат направени много по-„живи“: по-безопасни и по-удобни. Потребителят не трябва да изпитва затруднения при използването на ресурса.

Чатботове и гласови асистенти

Миналата година Yandex представи своя ново развитие– Yandex.Диалози. Всъщност това е удобен интерфейс за взаимодействие на потребителя с бизнеса гласов асистентАлис. Ако погледнете глобалните тенденции, можете да разберете, че чатботовете и гласовите асистенти вече са надраснали рамките на баналните отговори на еднотипни въпроси. Сега те вече могат напълно да заменят някои позиции в компанията и да изпълняват много по-сложни сценарии. Ето защо въвеждането (или разработването) на чат бот или гласов асистент на уебсайт ще осигури предимства в активно развиващия се пазар на електронна търговия.


Автоматизация

Големите фирми отдавна изпитват проблеми с постоянния ръст на доходите и намаляването на разходите при работа в Интернет. Старите схеми за създаване на уеб сайтове вече не могат да задоволят всички нужди на предприемачите. Ето защо уменията за автоматизиране на бизнес процеси в момента са търсени. Създаването на ERP портал и автоматизирането на повечето от рутинните действия върху него е бъдещето на средата и голям бизнесв интернета.

Вместо заключение

Интернет е среда, която може незабавно да създаде нови тенденции и да забрави старите. Това, което е било популярно и ефективно днес, може да стане безполезно утре и обратното. Ето защо за успешен бизнес в Интернет е необходимо постоянно да се подобрява съществуващата функционалност и да се тестват нови функции.


Можете ли да си представите живота си без интернет? Малко вероятно е да можете. Интернет е прекрасно нещо и като се има предвид, че непрекъснато се развива, разработчиците трябва да са в крак с всички текущи промени. Хората използват световната мрежаза почти всичко, което правят днес - гледане на новини, чат, пазаруване, банкиране и др. Ето защо търсенето на уеб разработка нараства, за да отговори на търсенето на милиони интернет потребители по целия свят.

На свой ред, тенденциите са това, което определя уеб разработката в този конкретен момент, и те продължават да се променят, за да приспособят нови идеи и да отменят концепции, които вече са остарели. Ето някои от текущите тенденции в уеб програмирането, които вероятно ще видите тази година.

1. 360 градусово видео

Видеото управляваше интернет за известно време и с течение на времето се разви от това, което беше преди, до нещо по-извън познатия свят. Точно това може да се каже за 360-градусово видео. Тази тенденция гарантира, че потребителите в мрежата имат наистина интерактивно изживяване и че уебсайтовете могат да задържат вниманието на посетителите в мрежата за по-дълги периоди от време. Той също така гарантира, че показванията на уеб страници могат да се увеличат значително, което в крайна сметка може да доведе до повече реализации.

2. Интернет на нещата

Това е тенденция, която завладява все повече света на уеб разработката. Всичко започна преди известно време, въпреки че след 2015 г. има значително увеличение на Интернет на нещата. Това прогнозират специалисти в областта. Тази тенденция позволява обмен на информация по начин, който не беше възможен само преди няколко години. Днес имаме интелигентни обекти, които са свързани с интернет и това е начин да направим нещата много по-лесни за хората.

3. Ruby on Rails

Това е комплектът, на който разчитат все повече разработчици, тъй като е невероятно лесен за използване. С него можете да създавате приложения от една страница, независимо от рамки от Java. В допълнение, усилията, които се влагат в неговото последователно развитие, гарантират, че лицето, което го използва, може да се съсредоточи върху това, което прави най-добре. Ruby on rails се справя с всичко останало с лекота.

4. Използвайте цвят и градиенти

Тези дни шумът е навсякъде плосък дизайнизбледнява и фокусът се измества към това, което дава на марката нейната идентичност, култура и личност. Днес има повече цветове и градиенти за създаване на визуално интересни дизайни с дързък стил, които могат лесно да предадат значението на марката. И когато това се направи заедно с подобрената използваемост за потребителя, уеб разработката ще бъде голям успех за днешните разработчици.

5. Подвижен потребителски интерфейс

Това беше тенденция, която просто отказа да се забави, тъй като продължава да прави вълни тази година. Трафикът е много важен, особено когато става въпрос за привличане на хора да посетят вашия уебсайт. Именно тази тенденция успя да го направи доста лесно. Разработчиците използват движещ се потребителски интерфейсза създаване на уебсайтове, които имат живот и също така отговарят на всеки потребител, който влиза в тяхната система. Това са специални ефекти на вашия екран.

6. Материален дизайн

Материалният дизайн е основно философия на Google, която определя как трябва да изглежда и как трябва да работи едно приложение безжично устройство. Можете да правите всякакви промени с него, включително в стила на уебсайт и в начина, по който анимациите се показват в оформленията. Визуално той поема от подобни интерфейси и става ключов инструментза разработчици.

7. Генератори на статични сайтове

Когато искате да създадете уебсайт, който работи на сървъри, това е нещо, което трябва да имате предвид. Все още продължава да бъде тенденция, тъй като е чудесен начин за създаване на уебсайтове. Файловете за създаване са значително опростени, тъй като се състоят от прости преписи, съхранявани във файлове, различни от бази данни. С тях получавате предимства като управление на трафика, сигурност, увеличени скорости и лекота на използване, наред с други неща. Това улеснява зареждането на уебсайтове и също така подобрява сигурността.

8. Сайтове с една страница

Множеството раздели за сърфиране и страници, които препращат към още повече страници, вече са нещо от миналото. Уебсайтовете вече не са объркващи и трудни за навигация. Вече е възможно да преминете през целия уебсайт само на една страница, поради което компании, блогове, както и други потребители избират този тип уебсайт. Те са лесни за използване, особено на мобилни устройства, което улеснява прегледа, когато потребителят е на път.

Angular 2 дойде с много трансформации, като рамката на Google JavaScript, която беше напълно преработена. Предимството му е, че се възползва от предимствата, открити в JavaScript ES6. Очакват се още актуализации в близко бъдеще, което означава още повече най-добри характеристикии функции, които ще направят уеб разработката много по-лесна и по-ефективна.

10. Мениджър на пакети за прежди

Една тенденция, която продължава да расте за уеб разработчиците, са мениджърите на пакети. Те набират популярност и улесняват разработчиците да извършват различни операции в приложенията, които създават. Това включва конфигуриране на приложения, както и как те трябва да бъдат актуализирани или инсталирани. Освен това е възможно премахването на кодови модули. Има мениджъри на пакети, които съществуват от много дълго време, като Bower и NLM. Сега е така Преждае мениджър на пакети, разработен от Facebook в сътрудничество с Google, Exponent и Tilde. Това е друго важно нещо, което трябва да вземете предвид тази година, а и през следващите години.

11. Виртуална реалност

Това е предстояща и много популярна тенденция в уеб разработката, особено в игралната индустрия. Започна с пристигането на Vive и Oculus Rift, които донесоха страхотни възможности в света на игрите, но не спря дотук. Глобални компании като Google и Mozilla въвеждат API, които значително ще помогнат при прехода към виртуална реалност.

Много е важно за уеб разработчиците да са в крак с най-новите тенденции в уеб програмирането, за да създават уебсайтове, които са в съответствие с тези тенденции и които ще нарастват потребителски опит. И въпреки че всички тенденции се променят с развитието на програмирането, трябва да сте нащрек, за да сте винаги в тенденция.

„През 2018 г. професионалното израстване е много важно за всеки разработчик. Трябва ли да изучавам JavaScript (JS) в този случай? Този език за програмиране се използва за създаване на интерактивни и функционални уеб приложения, които не са просто пълни с монотонни страници. Приблизително 94,5% от всички интернет сайтове го използват. JavaScript също се използва за скриптове от страна на клиента, които се интегрират безпроблемно в HTML от потребителя, и за код от страна на сървъра, използвайки механизма за изпълнение на различни платформи Node.js“, пишат от Hyperiondev.

Популярността на JavaScript през 2018 г

Това състояние на нещата се потвърждава от индекса на популярността на езика за програмиране PYPL (Programming Language Popularity Index), който проследява колко често търсачка Google търси курсове за обучение в определени области. Според данните, получени през март 2018 г., JavaScript се изкачи до позиция 3 в тази класация. Индексът PYPL ви помага да решите кой език за програмиране да започнете да изучавате или да използвате в нов проект. Ето петте най-популярни езика по този критерий:

Имате ли нужда от още причина да разберете колко е важно да научите JavaScript? Изследването на състоянието на изкуството на програмирането, което анализира дейностите на повече от 21 700 разработчици в 169 страни, установи, че JavaScript е най-популярният език за програмиране. Използва се в работата си от повече от 9,7 милиона програмисти. Това е с 2,4 милиона повече от класирания на второ място език.

Защо JavaScript е толкова популярен език за програмиране?

Ясно е, че JavaScript е сред най-популярните езици за програмиране тази година, но има и други тенденции, за които трябва да внимавате. Например, за да оцените търсенето на разработчици на JavaScript и нивото на заплатите в тази област.

Заплата на разработчиците на JavaScript през 2018 г

Търсене на JavaScript разработчици през 2018 г

Един от начините да се изчисли търсенето на разработчици е да се анализират обявите за работа. Общността на Coding Dojo разгледа 7 от най-популярните работни места в Indeed.com. JavaScript в този аспект е на трето място. Струва си да се отбележи, че броят на свободните работни места е намалял с 2000 от 2017 г.

През 2018 г. JavaScript ще продължи да бъде търсен сред разработчиците поради широкото си приложение и добрите заплати. Освен това JavaScript е удобен и обикновен езикза тези, които искат да започнат своята кариера в сферата на ИТ технологиите.

2017 г. ни доближава още повече до бъдещето, което е било начертано толкова много пъти от изобретателните умове на писатели на научна фантастика. Изкуствен интелект, виртуална реалност, квантови изчисления – всичко това изглеждаше като плод на нечие богато въображение преди няколко години, а сега е на крачка от мейнстрийма. Това означава, че програмистите трябва да се подготвят за пристигането на новите технологии. Мартин Пуйре, който е лидер учебни програмии практикуващ треньор-ментор в училището по програмиране Coding Dojo, сподели мислите си за уменията и необходимите средства с InformationWeek разработване на софтуер, което ще бъде актуално за програмистите тази година. Той посочи и четири технологии, които според него ще надделеят над останалите.

Хибридна клиент-сървър архитектура.Векторът, зададен преди няколко години за прехвърляне на компютрите към облака, ще остане непроменен тази година. Ще се появят още софтуерни системи, който ще комбинира локални и облачни изчислителни среди в различни пропорции. За пояснение: ако уеб програмирането включва свързване на браузъра към сървъра за поддръжка, от страната на който се извършва действителната обработка на данни, тогава за работа местни програмине е необходимо - всички изчисления се извършват на самото устройство, било то смартфон или лаптоп.

Например, приложения като OneNote или Firefox работят на локални устройства, докато уеб услуги като Amazon или Gmail работят на облачни сървъри. Но има и хибридни системи: тъй като някои от изчисленията, които произвеждат, могат да се извършват както от страна на облака, така и локално, те не могат да бъдат класифицирани нито като приложения, нито като услуги. Вземете, например, Xbox One. Игрите, написани за тази система, могат да използват локалния ресурс на конзолата в офлайн режим, но при преминаване към мултиплейър режим обработката на местоположенията се възпроизвежда от мрежовата услуга Xbox Live.

Примерът с Xbox One е показателен, но не е уникален и има все повече такива системи. По същия начин - позволявайки ви да избирате офлайн режимили режим на мрежова връзка - приложенията GMaps или Outlook работят. По този начин границата между уеб услугите и конвенционалните приложения се размива, което принуждава компаниите да създават интегрирани хибридни решения. Това се случва на фона на увеличаване на изчислителната мощност както на самите устройства, така и на увеличаване на честотна лентауеб услуги. Няма индикации, че процесът на софтуерна "хибридизация" ще се забави или спре, още повече, че неговият пристрастие - към облачност или автономност - ще зависи от специфичните нужди на конкретна система или функция.

Ако трябва да осигурите функционалността, която трябва да работи на всяко устройство или браузър (възможност за изпращане на съобщения и известия до потребителите, достъп до камера, звук, GPS, файлова система, контакти и т.н.), тогава трябва да обърнете внимание на инструментите за разработка на различни платформи (Appcelerator Titanium, Kony Platform, Adobe PhoneGap, Xamarin, Cordova и др.). Част от инфраструктура на приложение или услуга, която е в реално време или активно консумира мрежов трафик, трябва да се сервира на място. Както вече споменахме, изборът на архитектура ще зависи от изискванията към софтуера, но трябва да имате предвид, че по-голямата част от него ще се движи по хибридния път.

Голям данни. Нашите дигитална ерагенерира неизчислим брой битове информация. Преди имаше много, но сега се разраства с биометрични данни, събрани от устройства за носене; натрупващи се бази за кликвания, от които сайтовете се нуждаят, за да проследяват поведението на потребителите, и други данни, които нарастват експоненциално. Мощни инструменти като облачни изчисления и алгоритми се използват за анализ на големи данни машинно обучение.

Очевидно за решаване на проблеми в областта на големите данни разработчиците трябва да използват подходящите инструменти – Python или езици за функционално програмиране като Scala. Имайте предвид, че нарастването на използването на системи за машинно обучение за анализ на данни става видимо. Тяхната работа далеч надхвърля традиционното програмиране с неговите специфични причинно-следствени връзки - софтуерът, който е в основата на машинното обучение, работи около традиционните практики, понякога водещи до резултати, които са в противоречие с очакванията. Нуждата от системи за машинно обучение за анализ на големи данни обаче ще нараства, както и нуждата от квалифицирани инженери и анализатори на данни.

Виртуална реалност.Всякакви нова технологиявинаги предизвиква интерес. Подобно нещо се случи с виртуалната реалност (VR), но високата цена на устройствата попречи на популярността. Може би тази година ще бъде повратна точка за VR, тъй като много компании работят за намаляване на цената му. Най-много в тази насока се е придвижил Google - цената на неговия шлем Daydream VR е $79, а за сравнение, шлемът HTC Vive струва $800.

Важно е, че предишните тромави и иначе ограничаващи VR джаджи продължават да намаляват по размер. Заедно с това броят на устройствата с добавена реалност (AR) нараства на пазара. За разработчиците на приложения това може да означава само едно нещо: време е да усъвършенствате вашите специфични за VR/AR умения за проектиране и разработка. По пътя ще трябва да уловите един от най-важните аспекти: „трансформацията на съзнанието“ - когато потребителите все още няма да оставят настрана смартфони с приложения / услуги, прикачени към тях с „плосък“ потребителски интерфейс, но вече ще бъдат подготвени за преход към VR.

За да ги впечатлят, създателите на VR софтуер ще трябва да положат усилия и това не е само въпрос на въображение, но и на умение: разработването на виртуален софтуер трябва да комбинира дизайнерски умения както в 2D, така и в 3D. В краткосрочен план разработчиците трябва да имат предвид, че повечето 3D приложения ще трябва да бъдат конвертирани в 2D и обратно, в противен случай това заплашва да раздели или дори да загуби клиентската база. Вземете например Skype: трябва ли да бъде разделен на два продукта - един за VR и един за всички останали? Или трябва да е комбиниран продукт?

Тук стигаме до въпроса за проектиране на интерфейси, които работят еднакво както във, така и извън виртуалната среда. Това е сериозен проблем по отношение на дизайна на приложението, който скоро ще трябва да бъде решен. Друг неразрешен проблем е настройването на системни елементи на VR, като сензори за проследяване или светлина, необходими за улавяне на движенията на главата и очите, за да контролират приложения, които не са свързани с игри. Разбира се, за да напишете софтуер за устройства като Oculus Rift, HTC Vive, Google Daydream и Cardboard, можете да използвате Unreal Engine или Unity game engine, но, първо, трудността се състои във факта, че за това софтуерът трябва да бъде преобразуван в 3D, и, второ, задачата за препредаване на кода се усложнява от обвързването към патентован софтуер и оборудване на конкретно VR устройство. За опростяването му ще помогне стандартизацията на хардуерните спецификации, която възпрепятства растежа на популярността на VR.

Квантово изчисление.Пазарът на компютри е в упадък от няколко години, което означава, че Intel и AMD не бързат да се съобразят със закона на Мур и да спестят пари за разработването на нови технически процеси. Освен това не става дума толкова за това, колкото за факта, че производителите на компоненти не могат да намалят размера на транзисторите за неопределено време. Междувременно Google и Microsoft се впускат в други пътища, като наемат експерти по квантови изчисления, които да работят по инженерни проекти.

Квантовите компютри са нова дума в областта на ИТ, мненията на учените за тяхната пригодност за обработка на традиционни задачи са разделени, но едно е сигурно - такива компютри са способни да извършват изчисления с порядък по-бързо от транзисторните. Възможно е в бъдеще квантовите процесори да послужат като основа за създаването на още по-малки и в същото време повече мощни устройства. Със сигурност някои компании (Apple или Microsoft, например) вече се опитват да създадат едно носимо супер устройство, което напълно да замени телефона, таблета и лаптопа.

Според Puyret програмистите трябва да се образоват, за да увеличат знанията си за технологии като квантово изчисление, големи данни и смесена реалност; Няма да ви навреди да опресните знанията си в области, в които вече сте експерт, но не пренебрегвайте и новите езици за програмиране. От също вярва, че тази година програмирането ще достигне ново ниво и ще стане по-малко нишова професия.