Кому нужен язык будущего




Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

«СЕВЕРО-ЗАПАДНЫЙ ГОСУДАРСТВЕННЫЙ ЗАОЧНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

Институт информационных систем и вычислительной техники

 

РЕФЕРАТ

По теме

«НАСТОЯЩЕЕ И БУДУЩЕЕ

МОЕЙ СПЕЦИАЛИЗАЦИИ»

 

 

Студента Герасимов С. Д. ___

Шифр 0403020021 ___ группа 230105 _____

 

Санкт-Петербург

ОГЛАВЛЕНИЕ

1. ВВЕДЕНИЕ

2. Вырезка из статьи: «Окончание статьи Пола Грэма о языках программирования будущего»

3. ПРО ПЕРСПЕКТИВЫ

4. ИТОГ

5. ЛИТЕРАТУРА

 

 

ВВЕДЕНИЕ

На данный момент наша жизнь просто переполнена компьютерами и различными рода ЭВМ. Ведь компьютеры теперь так сказать «основательно оккупировали нашу жизнь»! Примеров тому можно приводить бесконечное множество: Мобильные телефоны с встроенной ОС (коммуникаторы), различные ЭБУ и ЭСУД в двигателях на автомобилей (ремонт теперь производится с помощью ПК и парочки подходящих проводов), ведение бухгалтерии (программы фирмы 1С)… Да по сути та же микроволновка в быту имеет массу функций.

Так же хотелось отметить не маловажную роль ИТ – обучение. Ведь теперь школьники более продвинутые в этой сфере нежели лет так 10 назад, тогда компьютеры были мало кому доступны и понятны в использовании.

Теперь, получая аттестат, выпускник простой средней школы в какой то степени владеет Basic-ом или Pascal-ем.

Но с начальными знаниями языков программирования далеко не уйдёшь, вот тут «как гром среди ясного неба» появляется человек с чудо профессией – программист! Почему восхваливаю эту профессию? Лично я считаю, что программист – это в первую очередь очень эрудированная личность, с богатыми знаниями не только языков программирования, но и точных (математика различных видов, физика т. д.) и гуманитарных (философия, иностранные языки и т. д.) наук, стремившаяся познавать что то новое, порой неадекватное и не всегда всем понятное.

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

 

Вырезка из статьи: «Окончание статьи Пола Грэма о языках программирования будущего»

Кто изобретет язык программирования будущего

Одна из поразительных тенденций последнего десятилетия - это появление множества языков с отрытыми исходниками, таких как Perl, Python и Ruby. Дизайн языков захвачен хакерами. Результаты пока неоднозначны, но уже способны воодушевить. В языке Perl, например, попадаются сногсшибательные идеи. Правда, попадаются и ужасные, но так всегда и бывает с амбициозными проектами. Бог знает, что может вырасти из Perl за сто лет, если он продолжит мутировать такими темпами.

Говорят, что те, кто не может - учит. Это не так (некоторые из лучших хакеров, с которыми я знаком, являются профессорами), но действительно есть множество вещей, которыми невозможно заниматься, когда преподаёшь. Занятия наукой накладывают кастовые ограничения. В любой научной области есть темы, над которыми можно работать, и темы, которых лучше избегать. К несчастью, разница между ними обычно заключается в том, насколько интеллектуально звучит описание исследования в научных статьях, а не в том, насколько оно важно для получения хороших результатов.

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

Языки всё реже разрабатываются в "исследовательских" целях, и всё чаще как проекты с открытым исходным кодом. Дело, впрочем, не в этом. Тенденция, скорее, состоит в том, что языки теперь придумывают не авторы компиляторов, а прикладные программисты, которым и придётся с ними работать. Мне кажется, это хорошая тенденция, и я рассчитываю, что она сохранится.

Язык будущего сегодня

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

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

Какую программу хотелось бы писать? Неважно, лишь бы программирование требовало меньше труда. Есть одно "но": если бы ваше представление о программировании не было искажено языками, к которым вы привыкли сейчас, что угодно требовало бы меньше труда. Привычки могут быть настолько навязчивыми, что пересилить их можно с великим трудом. Может показаться, что таким ленивым существам как мы должно быть очевидно, как выражать свои мысли в программах с наименьшими усилиями. На самом же деле, язык, на котором мы думаем, так ограничивает наши представления о возможном, что более простые способы формулировки программ удивят нас.

Приблизительно оценить сложность написания программы можно по её длине. Разумеется, измерять длину программы надо не в символах, а в отдельных синтаксических элементах - фактически, нас интересует размер дерева грамматического разбора. Написать короткую программу не всегда проще, но лучше уж целиться в ясную мишень краткости, чем в расплывчатую мишень меньшего труда. Это значит, что при разработке языка надо действовать так: посмотрим на программу и спросим себя, существует ли способ записать её ещё более кратко.

Кому нужен язык будущего

На поверку оказывается, что написать программу на воображаемом языке будущего удаётся, только когда используются лишь базовые возможности языка. Написать процедуру сортировки можно и сейчас. Но нельзя предвидеть, какие библиотеки понадобятся через сто лет. Скорее всего, многие из них будут служить для решения проблем, которых сейчас попросту нет. Если проектSETI@home завершится успешно, нам потребуются библиотеки для связи с инопланетянами. Впрочем, возможно, инопланетяне уже достаточно развиты, чтобы поддерживать связь в формате XML.

С другой стороны, я думаю, основу языка будущего можно было бы придумать и сегодня. В сущности, кое-кто может сказать, что он, по большей части, ужепридуман в 1958 году.

Если бы мы получили язык программирования будущего, стали бы мы использовать его? Чтобы попытаться ответить на этот вопрос, оглянемся назад. Захотел бы кто-нибудь программировать на современных языках сорок лет назад?

С одной стороны, ответ отрицательный. Сегодняшние языки подразумевают инфраструктуру, которой не было в 1960 году. Например, языки, в которых отступы в тексте имеют значение (к их числу относится Python), сложно использовать с терминалами на базе печатающих устройств. Однако если не обращать внимания на проблемы такого рода (предположим, что программы просто пишутся на бумаге), вопрос остаётся: захотели бы программисты шестидесятых использовать языки, которые мы используем сейчас?

Думаю, да. Самым ограниченным из них, наверное, мешали бы въевшиеся в мозг особенности ранних языков (разве можно манипулировать данными без операций с указателями? как организовать ветвление, когда нет goto?) Однако у самых умных программистов тех времён не возникло бы проблем с большинством современных языков, доведись им столкнуться с ними.

Сейчас из языка будущего, по крайней мере, вышел бы отличный псевдокод. Но подошёл бы он для написания настоящего программного обеспечения? Поскольку язык будущего должен транслироваться в быстрый код для некоторых видов приложений, он, вероятно, сможет работать достаточно эффективно на современном "железе". Нам придётся больше заботиться об оптимизации, чем программистам через сто лет, но мы всё равно можем остаться в выигрыше.

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

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

 


Про перспективы.

Возможно:
1)Софт будут собирать из кубиков, то бишь из специальных модулей написанных на разных языках, устроенных по принципу черного ящика (известно что на входе и что на выходе, остальное интеллектуальная собственность). Такой подход позволит быстро собирать софт сосредоточившись на функциях и архитектуре. Вот хочу например текстовый редактор - покупаю интерфейс, покупаю модуль редактирования текста, покупаю модуль проверки орфографии, покупаю модуль шаблонов, добавляю пару своих модулей и собираю софт. Дальше продаю сей продукт на рынке. При этом сокращаться себестоимость, время на разработку, и тестирование, да и штат нужен минимальный Это приведет к тому что программистов уже станет на рынке меньше.

2)Несладко будет и кодерам - модули будут писаться на неком формальном языке, а потом переводиться в любой другой. При чем все будет настолько автоматизировано что обучение понадобиться минимальное. Девочка из ПТУ справиться. Кодеров будут клепать как пирожки в булочной, в итоге их будет некоторый избыток и платить можно будет меньше.

3)Упроститься импортирование, весь софт будет выполняться в виртуальной машине контролирующей опасные операции, достаточно будет перенести песочницу на другую платформу и весь софт пойдет без изменений - это то же снизит нагрузку на программистов.

4)Написание софта станет гораздо более автоматизированным во всех аспектах, на оптимизацию кода будут плевать с большой колокольни - избыточная мощь ПК компенсирует жирность алгоритмов Это убавит работы оптимизаторам.

5)Уйдут на помойку писатели антивирусов, фаерволов и пр. Виртуализация и контроль на уровне ОС решат эти проблемы.

6)Количество Online софта резко возрастет - прибавиться работы WEB верстальщикам.

7)Возрастет спрос на системы защиты копирования данных.


Итог

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

По сути возраст не является не преодолимым барьером для трудоустройства по данной специальности, ведь «верхняя» планка в объявлениях примерно 35-40 лет. Да и опыт в данной отрасли по сути приходит не с годами, а с практикой.

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

Есть 2 варианта дальнейшего будущего IT-специалистов:

 

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

 

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

ЛИТЕРАТУРА:

 

https://www.computerra.ru/hitech/35107/

https://articles.org.ru



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: