19.05.2019 20:42
Occul
 
Есть множество языков, которые сейчас не популярны, но в ближайшем будущем могут стать мега востребованными. Про 13 таких языков мы сейчас расскажем.Все языки имеют различную спецификацию работы и структуру кода, но обладают некоторыми сходствами: после их совершенствования и автоматизации языки получат высокие шансы стать самыми быстрыми, умными и стабильными. Каждый пункт способен уже совсем скоро (через год, два или 5 лет) произвести революцию в сфере программирования. Они являются самыми перспективными для самообразования разработчиков.

R
Условно R является языком программирования, но точнее его можно описать как набор запросов, шаблонов, призванных выполнять анализ и обработку данных. Данный язык достаточно молодой (всего 20 лет), но успел стать одним из лучших в своей нише за счёт доступность, лёгкости освоения и простоты работы. За время существования появилось много литературы и несколько мощных IDE: Commander и Studio.

Способ изменения будущего: анализ объёмных данных станет общедоступным и получит бытовой уровень, что-то подобное случилось с электронными таблицами.

Java 8
Нельзя Javaназвать новым языком, практически во всех рейтингах он занимает если не лидирующую позицию, то находится в тройке лидеров. Сегодня ВУЗы с мировыми именами, преимущественно в США, в обязательном порядке сдают тест APCS, выполняющийся на Java – это является стандартной проверкой знаний в программировании.




Популярность и звание лидера вполне заслужено, так как язык включает неоглядные возможности, которые выходят далеко за рамки используемых сегодня функций. Одни из важных функций – возможность использовать функциональное программирование и поддержка многопоточности процессов, то есть асинхронный обработчик событий с несколькими потоками обработки данных.

Как проявит себя в будущем: популярность языка объединяет лучших программистов в поисках решения существующих проблем и разработки новых возможностей. Даже в случае провала всей идеи, след на компьютерной разработке останется колоссальным.

Swift
Язык Swift не является универсальным решением всех жизненных трудностей, но используется для разработки всевозможных программ на продуктах компании Apple. Является лучшим средством на платформах MAC OS и iOS. Язык лишён многих проблем, свойственных для остальных известных языков (Objective-C, Python, Java), от чего код становится чище и повышается скорость работы продукта.

Какая перспектива: в случае сохранения прироста популярности языка, Swift станет обязательным для изучения всех программистам, направленным на разработку приложений под мобильные платформы.

Go
Столь масштабная и развитая система программных продуктов как у Google стала нуждаться в отдельном языке, который бы позволил предельно быстро обрабатывать данные. Так появился язык Go, в котором преследуется цель предельного упрощения кода, порой за счёт отказа от ряда полезных замыслов, свойственных конкурентам.




Акцент был поставлен правильно, о чём свидетельствует набирающая популярность языка, регулярные пресс-релизы и высокая скорость работы. Является идеальным решением для работы с большими потоками данных, так как устойчива к появлению сбоев и ошибок.

Чего ожидать от Go: взаимодействие и работа с искусственным интеллектом через Go станет настолько доступными, что даже школьник сможет ради забавы заняться этим.

CoffeeScript
Ещё один вариант, который находится между классическими представлениями оболочки и полноценного языка. С ролью красивой оболочки он справляется на все 100%. При работе с JavaScript появляется многочисленные вложения и скобки, чего лишён CoffeeScript. Особых отличий между языками нет, кроме простоты использования второго. Возможно, со временем о JS будут вспоминать исключительно в качестве компилируемого языка для CoffeeScript.

Как улучшит жизнь: уберёт нагромождённый язык JavaScript и сделает код значительно чище.

D
Сегодня всё ещё множество программистов – это ярые приверженцы языка C из-за минимального синтаксиса, максимального контроля за процессами, резкого появления ошибок кода. Такие разработчики несмотря на преимущества C желают получить ещё больше хороших возможностей. Стоит присмотреться к языку D, который собрал главные функции и преимущества С и С++, а сверху добавил надстройки для управления памятью, внедрил обилие типов данных. Важное преимущество – теперь можно писать параллельный и функциональный код.

Чем повлияет на мир: станет концом эры С и превратит гиков C++ в динозавров.

Less JS
Этот язык является родным братом CoffeeScript только направленным на CSS. Его основная задумка – программировать с минимальными временными вложениями и работа даже со сложными проектами. Здесь есть циклы, внедрены переменные и другие классические конструкции для JS кода. Теперь надстройка сможет стать даже мощнее самой основы.

Как повлияет: заказчик не знает, чего хочет и желает посмотреть несколько вариантов сайтов на сайте, а разработчик, затратив пару минут, представит 5-6 цветных вариаций.

MATLAB
В начале пути MATLAB был исключительно языком математиков и учёных, и то исключительно хардкорных. В современной вариации язык преподаётся в ВУЗах, на нём разрабатываются решения для большинства задач, которые сталкиваются с необходимостью анализа огромного массива данных и их визуального представления.

Гики серьёзно занялись тестирование широкого спектра функций языка и сопровождающего ПО, но сегодня всё ещё не было выявлено негативных результатов. Представить MATLAB в ещё более совершенной версии сложно.

Как изменит будущее: весьма стабильный, быстродействующий и универсальный язык станет обязательной составляющей каждой компании.

Arduino
Мнения экспертов сходятся в одном – будущее IT будет идти «на короткой ноге» с IoT, соответственно ожидается переход на языки, которые применяются для его организации. Выбор в пользу Arduino лежит на поверхности, так как язык является самым популярным и перспективным. Вообще его сложно назвать языком, скорее красивой обёртка C/C++. Дальнейшее совершенствование Arduino приведёт к возможности быстрой и качественной реализации умной электронной сети.

CUDA
Немногие айтишники, а о простых смертных и речь не идёт, представляют количество обрабатываемых данных в видеоадаптере во время запуска в простеньких игр или просмотра фильмов в HD качестве или 4k. Необходимость организации эффективного распределения данных привёл компанию Nvidia к пониманию, что без собственного языка здесь не обойтись. CUDA по своей сути является обрезанным языком C, который работает с несколькими вычислительными процессами.

Не так давно всем желающим предоставили доступ к GPU-архитектуре. Теперь использование CUDA выходит далеко за пределы компании Nvidia.

Чего ждать: удастся выживать хорошую скорость обработки даже со старых видеокарт.

Scala
Функциональное программирование (ФП) практически захватило умы IT-мира. В Scala вся работа выполняется не с значением или конкретной переменной, а с целыми функциями, описывающими значения. Среди ФП Scala занимает первые позиции, язык компилируется в JVM. Достоинство Scala – поддержка всех платформ, на которых работает Java, а сегодня сложно найти другую.

На начальном этапе важно понять язык и выйти за пределы стандартных стереотипов программирования, затем изучение не вызовет больших сложностей.

Что предстоит увидеть: ФП перейдёт в широкие массы и частично потеснит Java.

Haskell
У Scala есть и достойные конкуренты в мире ФП. За предыдущим вариантом можно закрепить звание самого популярного в области, а за Haskell – самого любимого.




Постепенно, но есть тенденция перехода больших компаний, работа которых связана с обработкой массивов данных на Haskell. Одним из последних является Facebook. Среди его преимуществ – интуитивная ясность действий и компактность.

Чего ожидать: может занять место Scala или идти на равных.

Jolt
Во времена XML – формата big data, лучшим инструментом для обработки XML являлся XSLT. После потери лидерства и передачи её JSON, заменил XSLT как раз Jolt. Позволяет создавать простейшие фильтры, выполнять группирование колоссальных массивов данных с минимальными затратами ресурсов. Если перед разработчиком стоит сложная задача, то лучше присмотреться к более функциональным языкам.
20.05.2019 07:29
OlegON
 
Ну, если вспомнили Java, то зря не упомянули Kotlin... Если вспомнили Hackell и Go, то почему-то не упомянули Python...
Языков уж больно много развелось. Раньше еще были шансы их все знать, сейчас это даже можно не пытаться делать... Причем, многие с совершенно противоположным синтаксисом, что исключает беспроблемное их использование параллельно - мозг взрывается.
26.06.2019 08:09
FinSoft
 
Для тех, кто интересуется языками программирования, я бы порекомендовал поискать в сети статью Брюса Баррингтона "История создания Clarion". Или "Clarion: мощное оружие, точно бьющее в цель", где эта статья перепечатана. Там создатель языка кларион рассматривает, как создавался язык, сравнивает его с другими популярными на тот момент языками, объясняет, почему было сделано так, а не иначе. Рассказывает с любовью к своему детищу. Статья позволяет посмотреть на вопрос создания языка изнутри. Я давно пишу на кларионе, немного на других языках. "Современные" языки на мое восприятие выглядят какими-то не очень продуманными, с различными условностями, вводимыми на каких-то этапах развития для решения каких-то частных задач. Возможно по этой причине остается много приверженцев классических языков.
26.06.2019 08:11
FinSoft
 
Вот начало этой статьи.

Цитата:
Как это часто бывает, я просто пытался доставить себе удовольствие. Я купил свой первый
персональный компьютер, смотрел на него и хотел писать программы для него. Это моя
работа. Паскаль имел тогда слишком ограниченные возможности, а С на этой платформе
еще не было. Поэтому я попробовал BASIC. Все что мне было нужно - это несколько
интеллектуальных программ, работающих с экраном и клавиатурой. Так? Возможно, иногда,
индексно-последовательный доступ. Так?
Неправильно! Я мог все это сделать. Но я не мог сделать это просто и элегантно. К тому
времени я уже лет 10 работал с инструментальными средствами программирования
собственной разработки. Они мне нравились. Тут мне пришло в голову, что может быть
всем действительно нужен еще один язык программирования - универсальный,
ориентированный на административные и экономические задачи. Разработанный
специально для персональных компьютеров.
Может показаться противоречивым сочетание .универсальный язык, ориентированный
на экономические задачи., но в мире ПК много .языков., предназначенных для решения
экономических задач, но которые трудно назвать универсальными. Допускаю, что
пользоваться макросами электронной таблицы - это программирование, но вряд ли можно
назвать язык макроопределений универсальным языком программирования. В силу этого
большинство языков баз данных не являются универсальными языками. Это скорее набор
инструкций, предназначенных для исполнения программой управления базами данных.
Даже язык СУБД dBase, который можно компилировать и выполнять отдельно от самой
СУБД, не может, честно говоря, считаться универсальным языком программирования.
По моему определению универсальный язык программирования должен управлять всей
совокупностью возможностей, заложенных в компьютер, на котором он установлен. Это
значит, что программа должна быть в состоянии прочитать любой раздел любого файла,
доступного операционной системе. Он должен поддерживать все разнообразие элементов
взаимодействия с пользователем. Он должен стандартным образом сопрягаться с другими
языками программирования и программными системами. Универсальный язык
программирования не должен засорять программу собственным .интуитивно понятным
интерфейсом.. Он не должен ставить преград, которые приходится преодолевать. Наоборот,
он гарантирует программисту широкий диапазон возможностей и подходов для решения в
любом стиле большого круга задач.
Но почему ограничивать новый язык только персональными компьютерами? В других
широко известных языках преносимость на другие платформы тщательно продумана. Я
решил, что персональные компьютеры заслуживают особого обращения. Даже в 1984 г.,
когда эта работа начиналась, ПК уже составляли существенную долю всех установленных
в мире компьютеров. Но ПК и отличались от других типов ЭВМ тем, что они были задуманы,
как устройства для одного пользователя, в состав которых входили клавиатура и монитор.
Доступ к клавиатуре и монитору можно было получить непосредственно, без модемов и
линий связи. Для этих устройств нужны были интерактивные прикладные программы,
быстро реагирующие на ввод данных. Я решил поддержать эти особенности ПК, включив в
язык программирования отображение видеопамяти. Если программа на Clarion.е будет
работать .лишь. на 40 или 50 милл. компьютеров, я буду удовлетворен.
Моим стимулом в работе было убеждение, что программирование должно быть проще,
что языки программирования должны облегчать чтение и написание программ и что низкая
производительность, связанная с процессом разработки программ, коренится в
неадекватных и слабо спроектированных инструментальных средствах программирования.
Эти убеждения начались с .вечных вопросов.: Зачем каждый раз оформлять оператор
IF в виде IF...THEN BEGIN; .операторы.; END ELSE...(Pascal)? Какой особый смысл
ключевых слов THEN, BEGIN, END в этой структуре? Зачем пользоваться знаком .:=.
вместо .=. в операторе присваивания (Pascal, Modula-2, ADA)? Разве не знал разработчик
языка, что оператор присваивания - это самый распространенный оператор в программе
или что знак .:=. трудно набирать на клавиатуре, так как она состоит из комбинации клавиш,
нажимаемых с клавишей Shift и без нее? Ну а предложение READ...AT END (COBOL),
которое присваивает значение переменной, которая проверяется для прекращения цикла
чтения по достижению конца файла? Почему нельзя просто проверять в цикле конец файла?
Почему, объявив переменную, нужно напоминать компилятору, чтобы он преобразовал ее
в выражении с переменными различных типов. Компилятор не может помнить об этом
сам? Вы когда-нибудь выполняли операцию lint collection ? А не спрашивали себя, почему?
Ну а шестнадцатиричные дампы? Вспомните ШЕСТНАДЦАТИРИЧНЫЕ ДАМПЫ!
Двадцать лет программирования породили во мне такое же чувство, как у главного героя
фильма .Сеть., который, высунувшись из окна, закричал: .Я с ума сойду. Я не могу больше
этого выносить!.
26.06.2019 08:13
FinSoft
 
Вот еще выдержка.
Цитата:
В качестве ключевых ориентиров при создании Clarion были выбраны компактность (простота написания) и выразительность (простота чтения). Разработчики продвигались в направлении, противоположном общепринятому: сначала было написано много программ с целью экспериментов над синтаксисом и семантикой, пока они не стали на что-то похожи. Потом была проделана работа над небольшим справочником по языку. Когда он был закончен, программисты начали писать компилятор.

"Язык менялся ежедневно. Недавно я перечитал старые записки разработчиков и вспомнил, сколько раз и сколькими людьми был обдуман каждый элемент языка. Одни идеи предлагались и отвергались по эстетическим соображениям, другие - в силу их слабой технологичности, были и просто безумные мысли. Уцелели, по Дарвину, только сильные".

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.