![]() |
|
Модераторы: Се ля ви |
![]()
|
|
| foRaver |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 561 Регистрация: 6.7.2003 Где: Düsseldorf Репутация: нет Всего: 3 |
Кто изобретет язык программирования будущего
Одна из поразительных тенденций последнего десятилетия - это появление множества языков с отрытыми исходниками, таких как Perl, Python и Ruby. Дизайн языков захвачен хакерами [примечание: здесь и далее слово "хакер" употребляется в его исходном положительном значении, а не как синоним "компьютерного преступника"]. Результаты пока неоднозначны, но уже способны воодушевить. В языке Perl, например, попадаются сногсшибательные идеи. Правда, попадаются и ужасные, но так всегда и бывает с амбициозными проектами. Бог знает, что может вырасти из Perl за сто лет, если он продолжит мутировать такими темпами. Говорят, что те, кто не может - учит. Это не так (некоторые из лучших хакеров, с которыми я знаком, являются профессорами), но действительно есть множество вещей, которыми невозможно заниматься, когда преподаёшь. Занятия наукой накладывают кастовые ограничения. В любой научной области есть темы, над которыми можно работать, и темы, которых лучше избегать. К несчастью, разница между ними обычно заключается в том, насколько интеллектуально звучит описание исследования в научных статьях, а не в том, насколько оно важно для получения хороших результатов. Увы, между дозволенными исследованиями и исследованиями, которые приводят к появлению хороших языков, нет почти ничего общего. Возьмём, к примеру, типы данных, которые, кажется, превратились в неисчерпаемый источник тем для научных статей. А ведь статический контроль типов исключает существование истинных макросов, без которых, по моему мнению, ни одним языком не стоит пользоваться. Языки всё реже разрабатываются в "исследовательских" целях, и всё чаще как проекты с открытым исходным кодом. Дело, впрочем, не в этом. Тенденция, скорее, состоит в том, что языки теперь придумывают не авторы компиляторов, а прикладные программисты, которым и придётся с ними работать. Мне кажется, это хорошая тенденция, и я рассчитываю, что она сохранится. Язык будущего сегодня Развитие физики в течение следующих ста лет предсказать невозможно. Программирование - совсем другое дело. Думаю, принципе, сейчас вполне возможно изобрести язык, который будет привлекателен для пользователей через сто лет. Вот один из способов: просто возьмём и попробуем написать такую программу, которую хотелось бы иметь возможность написать. Не нужно заботиться о том, существует ли компилятор, чтобы перевести её в машинный код, или "железо", на котором она заработает. Когда пишете, рассчитывайте на неограниченные ресурсы. Чтобы вообразить неограниченные ресурсы, не нужно ждать сто лет. Это можно сделать прямо сейчас. Какую программу хотелось бы писать? Неважно, лишь бы программирование требовало меньше труда. Есть одно "но": если бы ваше представление о программировании не было искажено языками, к которым вы привыкли сейчас, что угодно требовало бы меньше труда. Привычки могут быть настолько навязчивыми, что пересилить их можно с великим трудом. Может показаться, что таким ленивым существам как мы должно быть очевидно, как выражать свои мысли в программах с наименьшими усилиями. На самом же деле, язык, на котором мы думаем, так ограничивает наши представления о возможном, что более простые способы формулировки программ удивят нас. Приблизительно оценить сложность написания программы можно по её длине. Разумеется, измерять длину программы надо не в символах, а в отдельных синтаксических элементах - фактически, нас интересует размер дерева грамматического разбора. Написать короткую программу не всегда проще, но лучше уж целиться в ясную мишень краткости, чем в расплывчатую мишень меньшего труда. Это значит, что при разработке языка надо действовать так: посмотрим на программу и спросим себя, существует ли способ записать её ещё более кратко. Кому нужен язык будущего На поверку оказывается, что написать программу на воображаемом языке будущего удаётся, только когда используются лишь базовые возможности языка. Написать процедуру сортировки можно и сейчас. Но нельзя предвидеть, какие библиотеки понадобятся через сто лет. Скорее всего, многие из них будут служить для решения проблем, которых сейчас попросту нет. Если проект SETI@home завершится успешно, нам потребуются библиотеки для связи с инопланетянами. Впрочем, возможно, инопланетяне уже достаточно развиты, чтобы поддерживать связь в формате XML. С другой стороны, я думаю, основу языка будущего можно было бы придумать и сегодня. В сущности, кое-кто может сказать, что он, по большей части, уже придуман в 1958 году. Если бы мы получили язык программирования будущего, стали бы мы использовать его? Чтобы попытаться ответить на этот вопрос, оглянемся назад. Захотел бы кто-нибудь программировать на современных языках сорок лет назад? С одной стороны, ответ отрицательный. Сегодняшние языки подразумевают инфраструктуру, которой не было в 1960 году. Например, языки, в которых отступы в тексте имеют значение (к их числу относится Python), сложно использовать с терминалами на базе печатающих устройств. Однако если не обращать внимания на проблемы такого рода (предположим, что программы просто пишутся на бумаге), вопрос остаётся: захотели бы программисты шестидесятых использовать языки, которые мы используем сейчас? Думаю, да. Самым ограниченным из них, наверное, мешали бы въевшиеся в мозг особенности ранних языков (разве можно манипулировать данными без операций с указателями? как организовать ветвление, когда нет goto?) Однако у самых умных программистов тех времён не возникло бы проблем с большинством современных языков, доведись им столкнуться с ними. Сейчас из языка будущего, по крайней мере, вышел бы отличный псевдокод. Но подошёл бы он для написания настоящего программного обеспечения? Поскольку язык будущего должен транслироваться в быстрый код для некоторых видов приложений, он, вероятно, сможет работать достаточно эффективно на современном "железе". Нам придётся больше заботиться об оптимизации, чем программистам через сто лет, но мы всё равно можем остаться в выигрыше. Таким образом, у нас есть две идеи, и если сложить их, обнаружатся интересные возможности. Во-первых, язык программирования будущего, в принципе, может быть изобретён сегодня. Во-вторых, такой язык может годиться для программирования и в наше время. Сложно удержаться и не подумать: так почему бы не попробовать написать язык будущего прямо сейчас? При разработке языков программирования стоит помнить о будущем. Когда учат водить автомобиль, один из принципов такой: смотреть надо вперёд, а не на дорогу под колёсами. Даже если всё, что вас волнует, расположено не далее трёх метров. С языками программирования следовало бы придерживаться того же правила. © www.computerra.ru Это сообщение отредактировал(а) foRaver - 15.8.2004, 19:01 |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
О чем это?
Статья - размазывание по огромной тарелке ложки каши. На мой взгляд в будущем будут яызки все меньше привязанные к аппаратуре(по восприятию), например не будем говорить, что обьект хранится в памяти и т.д. Придумают новые сущности, возможно языки будут больше придеживаться парадигмы функционально-логических яызков. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| GrayCardinal |
|
|||
|
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: нет Всего: 58 |
А можно скромное IMHO ? На кой черт сокращать размер кода посредством совершенствования (упрощения) языка ? Лучше б придумали новый метод ввода кода. Я бы на асме попрограммил с удовольствием. А то, блин, моя клава уже при трехсот дымиться начинает... разве ж это дело ?
|
|||
|
||||
| Andrey1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 621 Регистрация: 27.2.2004 Где: Moscow Репутация: нет Всего: 5 |
А почему в Part II не стоит автора? В Part I был "Author: Пол Грэм".
Андрей -------------------- Созерцание и мудрость - едины. Соцерцание - это основа мудрости, а мудрость - это функция (т.е. умение использовать) созерцания. из сутры помоста шестого патриарха Хуэйнена |
|||
|
||||
| foRaver |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 561 Регистрация: 6.7.2003 Где: Düsseldorf Репутация: нет Всего: 3 |
Andrey1, вы совершенно правы. Просто забыл добавить. Автор остаётся один и тот-же. И © тоже вроде как его.
|
|||
|
||||
| ДокторТуамОсес |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: нет Всего: -12 |
Я уже работаю над этим. «Микрософт», «Си++», «Линукс», «Виндовс» … Очень скоро эти слова выйдут из употребления. Потому что в настоящее время я заканчиваю разработку новой концепции в теории программирования, которая перевернёт цивилизацию и в корне изменит взгляд на процесс программирования. После этого я планирую создать свою корпорацию, которая будет реализовывать мою концепцию в новом языке программирования и новой операционной системе. Этот язык программирования будет радикально лучше всех ныне существующих языков. Поэтому они благополучно окажутся па помойке истории и будут восприниматься как курьёзы. На этом языке будет написана новая операционная система, которая вытеснит на свалку истории всякие виндовсы/луниксы. Всем талантливым и умеющим нестандартно мыслить программистам, которые хотят, чтобы их имена (как имена людей, стоявших у истоков создания самой мощной софтверной корпорации 3-го тысячалетия) навеки вошли в историю предлагаю работу в моей корпорации и принять участие в реализации моей концепции. Свои подробные резюме прошу посылать мне на e-mail [email protected] Это сообщение отредактировал(а) ДокторТуамОсес - 1.12.2010, 00:55 --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
|||
|
||||
| A5uKa |
|
|||
|
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: нет Всего: 16 |
Nemerle победит.
|
|||
|
||||
| ДокторТуамОсес |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: нет Всего: -12 |
Откуда такая уверенность? Вы же ещё не знакомы с той концепцией, которую я разрабатываю --------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: нет Всего: 250 |
||||
|
||||
| A5uKa |
|
||||
|
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: нет Всего: 16 |
Учите Nemerle |
||||
|
|||||
| mimik |
|
|||
![]() не Rohoss Я ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 1.11.2010 Репутация: нет Всего: 2 |
||||
|
||||
| alexvs11 |
|
|||
|
hell is here ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 21.8.2010 Репутация: нет Всего: 10 |
слова асинхронный поток мыслей
во всяком случае по первым абзацам |
|||
|
||||
| ДокторТуамОсес |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 242 Регистрация: 8.6.2009 Репутация: нет Всего: -12 |
Прежде чем разработать новый язык программирования, нужно сначала разработать новую концепцию. Чем я и занимаюсь
--------------------
"Извините! А это ничего, что я говорю в тот момент, когда Вы меня перебиваете?"™ |
|||
|
||||
| afiskon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 31.3.2011 Где: Россия, Москва Репутация: нет Всего: 4 |
Самому молодому из них уже лет 20 как минимум. Дальше не читал, потому что такую глупость мог написать только репортер, которому заплатили 4$ за килознак на какой-нибудь бирже копирайтинга. |
|||
|
||||
| luxadevianta |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 14.12.2007 Репутация: нет Всего: 2 |
над этой фразой поржал от души. А так в целом статья - одна вода. Не люблю, когда такое пишут. Место занимает, а пользы - ноль. |
|||
|
||||
![]()
|
| Правила раздела "Философия программирования": | |
|
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Философия программирования | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |