В будущем абсолютно каждый сможет запрограммировать своего собственного робота.
Нeтруднo сeбe прeдстaвить нeдaлeкoe будущee чeлoвeчeствa, в кoтoрoм всe сыны Земли будут oкружeны рoбoтaми и умными устрoйствaми. С другoй стoрoны этo означает, что-нибудь количество работы по программированию всего электронного окружения возрастет во числа раз. А учитывая увеличивающуюся сложность и интеллектуальность устройств, обычным людям придется все чаше вторгаться в область, которая принадлежит профессиональным программистам, ведь профессиональных программистов бери всех попросту не хватит. К примеру, людям придется хоть один однова программировать поведение своих личных роботов, самостоятельно создавать простые приложения, которые заставят смартфон или принтсервер делать то, что необходимо пользователю.
Поэтому многие группы исследователей безотлагательно работают над созданием совершенно новых языков программирования, которые сделают не спросясь процесс программирования легким, доступным и понятным любому человеку. И некоторые специалисты прогнозируют, ровно такие языки могут появиться уже через три или четыре возраст.
Одним из путей упрощения процесса программирования считается упаковка последовательностей команд больше низкого уровня в более естественные, общие команды и директивы языка. К примеру, «незамедлительно, что бы запрограммировать движения робота-собаки, человеку требуется думать о таких мелочах, во вкусе движение каждого сустава робота и координация движений» — объясняет Инсуп Ли (Insup Lee), программист из университета Пенсильвании. — «Наша сестра с коллегами работаем над «автоматизацией» таких деталей и мелочей, после чего род (человеческий смогут давать роботам команды более высокого уровня, типа «двигайся вперед» или «вверх по очереди все ноги. Мы работаем над поднятием того, что-нибудь программисты называют уровнем абстракции языка программирования».
Другая группа программистов работает по-над тем, что бы сделать будущий язык более устойчивым к возникновению ошибок и неопределенностей. «У большинства современных языков программирования (у)потреблять один недостаток — если программист сделал ошибку, то в большинстве случаев вся программа начинает выполняться вкривь и вкось. Поэтому, даже если сейчас быстро и дешево написать программу, никак неважный (=маловажный) избежать длительной и дорогостоящей отладки. В будущем все будет реализовано так, точно допущенная ошибка повлияет только на один участок, не затрагивая работу программы в целом».
До сих пор одна особенность программирования с использованием традиционных языков, таких как C, C++ или Java, заключается в книжка, что человек должен обладать алгоритмическим мышлением, т.е. четко представлять себе всю последовательность действий, необходимую интересах решения той или иной задачи. Увы, это дано не всем людям, и исследователи видят разрешение (вопроса данной проблемы в создании сред так называемого «визуального программирования». Такой ход может избавить пользователя вообще от написания какого-либо кода, а в случае необходимости таковой код может быть написан на языке, напоминающем язык формул в Microsoft Excel, тот или уже давно и успешно используется многими людьми, далекими от программирования.
И, заключительным по этапу воплощения будущего процесса программирования исследователи считают возможность постановки задач роботам и устройствам получи и распишись обычном естественном языке. Для этого компьютер должен будет обладать развитым искусственным интеллектом, способным сосчитать не только то, что явно написано в инструкции, но и то, который мог подразумевать человек, писавший эту инструкцию. Конечно, воплощение этой идеи произойдет уже не скоро, но это единственное приемлемое решение, которое позволит минус проблем и ограничений любому человеку программировать любое устройство.