Идея такая:
развернуть обсуждение о создании нового языка программирования между довольно опытными программистами разных специализаций. На выходе получить концепцию языка, удовлетворяющего всех.
Причем начать можно с самых общих (почти философских вещей).
Цель в том, что-бы новый язык во-первых учитывал недостатки уже существующих. Во-вторых был бы универсальным для разных областей (сколько можно плодить эти языки). В-третьих имел бы заложенные мощные механизмы по наращиванию и расширению. Т.е. основная концепция должна быть достаточно универсальна (микро-ядро)?
Ваши мнения?
Re: Проэктируем новый язык программирования
От:
Аноним
Дата:
27.08.02 22:00
Оценка:
Здравствуйте IO, Вы писали:
IO>Цель в том, что-бы новый язык во-первых учитывал недостатки уже существующих. Во-вторых был бы универсальным для разных областей (сколько можно плодить эти языки). В-третьих имел бы заложенные мощные механизмы по наращиванию и расширению. Т.е. основная концепция должна быть достаточно универсальна (микро-ядро)?
А мне наоборот непонятно, зачем плодить универсальные языки. К тому же я с трудом представляю, как можно объединить в одном языке достоинства C++, Prolog, Haskell и, скажем, Perl.
Здравствуйте Аноним, Вы писали:
А>Здравствуйте IO, Вы писали:
IO>>Цель в том, что-бы новый язык во-первых учитывал недостатки уже существующих. Во-вторых был бы универсальным для разных областей (сколько можно плодить эти языки). В-третьих имел бы заложенные мощные механизмы по наращиванию и расширению. Т.е. основная концепция должна быть достаточно универсальна (микро-ядро)?
А>А мне наоборот непонятно, зачем плодить универсальные языки. К тому же я с трудом представляю, как можно объединить в одном языке достоинства C++, Prolog, Haskell и, скажем, Perl.
Полностью согласен
Здравствуйте IO, Вы писали:
IO>Идея такая: IO>развернуть обсуждение о создании нового языка программирования между довольно опытными программистами разных специализаций. На выходе получить концепцию языка, удовлетворяющего всех. IO>Причем начать можно с самых общих (почти философских вещей). IO>Цель в том, что-бы новый язык во-первых учитывал недостатки уже существующих. Во-вторых был бы универсальным для разных областей (сколько можно плодить эти языки). В-третьих имел бы заложенные мощные механизмы по наращиванию и расширению. Т.е. основная концепция должна быть достаточно универсальна (микро-ядро)?
IO>Ваши мнения?
Вот тебе первая философская мысль:
Действительно непонятно зачем это надо делать — помоему надо ставить не на новые гипер универсальные языки, а
на переносимые технологии — посмотри к чему щас все идет — появляются новые технологии, а потом пишутся их реализации на разных языках
ИМХО, не надо плодить новых языков — советую еще сходить по этой ссылке и посмотреть на один универсальный язык http://www.newarchitectmag.com/documents/s=2457/new1011393632235/
Взойти на гору можно разными путями, но само восхождение остается неизменным.
Здравствуйте IO, Вы писали:
IO>развернуть обсуждение о создании нового языка программирования между довольно опытными программистами разных специализаций. На выходе получить концепцию языка, удовлетворяющего всех.
Уже говорили об этом. Принципиально невозможно.
Один хочет чтобы можно было писать while(*p++ = *q++);
а другой требует, чтобы так нельзя было писать. Точка.
Здравствуйте Igor Trofimov, Вы писали:
IT>Здравствуйте IO, Вы писали:
IO>>развернуть обсуждение о создании нового языка программирования между довольно опытными программистами разных специализаций. На выходе получить концепцию языка, удовлетворяющего всех.
IT>Уже говорили об этом. Принципиально невозможно.
IT>Один хочет чтобы можно было писать while(*p++ = *q++); IT>а другой требует, чтобы так нельзя было писать. Точка.
Думаю вы избираете неверный путь. Этот путь уже объезжен многими.
Могу доказать научно, что универсальный язык не может быть эффективным языком!!!
Откровенно говоря, я начал свой проект (если кто-то слышал XASM)
То есть направление такое, создать не язык программирования, а нечто совершенно другое...
IO>Ваши мнения?
Предлагаю потратить эту энергию в мирных целях.
Например, в целях собственного обогашения. Или образования — в целях дальнейшего обогащения.
Здравствуйте IO, Вы писали:
IO>Идея такая: IO>развернуть обсуждение о создании нового языка программирования между довольно опытными программистами разных специализаций. На выходе получить концепцию языка, удовлетворяющего всех. IO>Причем начать можно с самых общих (почти философских вещей).
Когда-то хотели создать универсальный язык — Эсперанто... Создать-то создали...
IO>Цель в том, что-бы новый язык во-первых учитывал недостатки уже существующих. Во-вторых был бы универсальным для разных областей (сколько можно плодить эти языки). В-третьих имел бы заложенные мощные механизмы по наращиванию и расширению.
Лексики? Синтаксиса? Семантики?
IO>Т.е. основная концепция должна быть достаточно универсальна (микро-ядро)?
IO>Ваши мнения?
Ох, и передерутся же собравшиеся на обсуждение... :down:
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте Edmond, Вы писали:
IT>>Уже говорили об этом. Принципиально невозможно. IT>>Один хочет чтобы можно было писать while(*p++ = *q++); IT>>а другой требует, чтобы так нельзя было писать. Точка. Давайте точек не ставить. Нет нерешаемых проблем. Если несложно дайте ссылку на этот разговор.
E>Могу доказать научно, что универсальный язык не может быть эффективным языком!!!
Будьте добры, докажите. Хотя бы общие соображения, если формальное доказательство слишком громоздкое.
E>Откровенно говоря, я начал свой проект (если кто-то слышал XASM) E>То есть направление такое, создать не язык программирования, а нечто совершенно другое...
Очень интерестно было бы ознакомиться.
Всем: машин много разных, но тем не менее у всех стоит двигатель внутреннего сгорания (и на легковых и на грузовых и т.д.).
Здравствуйте IO, Вы писали:
IO>Здравствуйте Edmond, Вы писали:
IT>>>Уже говорили об этом. Принципиально невозможно. IT>>>Один хочет чтобы можно было писать while(*p++ = *q++); IT>>>а другой требует, чтобы так нельзя было писать. Точка. IO>Давайте точек не ставить. Нет нерешаемых проблем. Если несложно дайте ссылку на этот разговор.
E>>Могу доказать научно, что универсальный язык не может быть эффективным языком!!! IO>Будьте добры, докажите. Хотя бы общие соображения, если формальное доказательство слишком громоздкое.
Например: "Закон систем"
Чем система больше, тем меньше каждая её часть знает о системе.
Или: "Принцип сохранения..."
Процесс программирования -- это преобразование архитектурной инфогрмациии в информацию другого вида.
При это происходит потеря информации при преобразовании из-за несоответствия информационных архитектур (мозг человека -- абстракция ЯВУ)
Язык машины в свою очередь имеет на несколько порядков больше вариантов чем ЯВУ, то есть более вместимую информационно архитектуру.
Это означает, что потери избежать не возможно (что-то вроде прохождения луча через более плотную среду)
При этом выполняетсья след зависимость:
Чем обстрактней и "шире" по назначению будет язык, тем потери архитектурной информации будут больше, и соответственно хуже результат...
Но!!!!!!!!!!!
Чем более язык полнее описывает данную область: значит описывает все комбинации представления информации -- тем будут меньше потери информации при преобразовании (здесь преобразование это перевод в машинные коды)
Примеры: Язык SQL -- как спец язык имеет потенциал 90% соответствия с "идеальным кодом"
Где "идеальный код" -- это максимально эффективный код, из всех возможных вариантов реализации.
Надеюсь это было достаточно понятно.
E>>Откровенно говоря, я начал свой проект (если кто-то слышал XASM) E>>То есть направление такое, создать не язык программирования, а нечто совершенно другое... IO>Очень интерестно было бы ознакомиться.
Давай в приват, эта тема не для форума, слишком идея новая
EdmondXASM@mail.ru
IO>Всем: машин много разных, но тем не менее у всех стоит двигатель внутреннего сгорания (и на легковых и на грузовых и т.д.).
Видители, у меня такое чувство, что Вы раздраженны. Понимаю, ещё и как, понимаю.
Когда я выбрасил свою тему про XASM там такое заширудилось... ООО!!!
Существует большое количество языков программирования, но наиболее популярны сейчас диалекты C/C++. Реально удобный язык, в меру переносимый, короче всем хорош. Даже UNIX на нем от и до написан. На каком еще языке есть реализованные операционные системы?
Проблемы начинаются при больших объемах исходных текстов, приходится использовать деление на классы, COM-объекты и пр, чтобы не потерять баланс в программе. Хотелось бы писать отдельные классы на чем угодно, а собирать их в работающие программы по кускам с использованием чего-то еще. Например, чтобы можно было добавить новый пункт в меню из стороннего кода по определенным известным заранее правилам без перекомпиляции исходной программы.
Короче это я про то, что возникают новые задачи для которых надо придумывать новые средства реализации. А для того, что уже есть нечего и городить. А идея может быть такая: создать среду для написания объектов (XML inside?), которая будет их преобразовывать в C++/C#/Java или еще чего.
Здравствуйте henson, Вы писали:
H>Существует большое количество языков программирования, но наиболее популярны сейчас диалекты C/C++. Реально удобный язык, в меру переносимый, короче всем хорош. Даже UNIX на нем от и до написан. На каком еще языке есть реализованные операционные системы?
На ассемблере
H>Короче это я про то, что возникают новые задачи для которых надо придумывать новые средства реализации. А для того, что уже есть нечего и городить. А идея может быть такая: создать среду для написания объектов (XML inside?), которая будет их преобразовывать в C++/C#/Java или еще чего.
А чем тебя CLR не устраивает?
Здравствуйте AndrewVK, Вы писали:
AVK>Здравствуйте henson, Вы писали:
H>>Существует большое количество языков программирования, но наиболее популярны сейчас диалекты C/C++. Реально удобный язык, в меру переносимый, короче всем хорош. Даже UNIX на нем от и до написан. На каком еще языке есть реализованные операционные системы? AVK>На ассемблере
От процессора зависит сильно
H>>Короче это я про то, что возникают новые задачи для которых надо придумывать новые средства реализации. А для того, что уже есть нечего и городить. А идея может быть такая: создать среду для написания объектов (XML inside?), которая будет их преобразовывать в C++/C#/Java или еще чего. AVK>А чем тебя CLR не устраивает?
Меня и CLR устраивает и MIDP явовская и много чего еще, только стремление создавать программы за минимальное время и чтобы они делали то, что надо с этим никак не связано. Вот например сборка мусора в памяти, она позволяет уменьшить время потраченное на поиск разных утечек в памяти. Это реальный эффект. Что еще можно вспомнить на эту тему? Из вот таких нюансов и можно получить быстрое и надежное программирование.
Здравствуйте AndrewVK, Вы писали:
AVK>Здравствуйте henson, Вы писали:
H>>Существует большое количество языков программирования, но наиболее популярны сейчас диалекты C/C++. Реально удобный язык, в меру переносимый, короче всем хорош. Даже UNIX на нем от и до написан. На каком еще языке есть реализованные операционные системы? AVK>На ассемблере
Не тянет на идеальный язык
H>>Короче это я про то, что возникают новые задачи для которых надо придумывать новые средства реализации. А для того, что уже есть нечего и городить. А идея может быть такая: создать среду для написания объектов (XML inside?), которая будет их преобразовывать в C++/C#/Java или еще чего. AVK>А чем тебя CLR не устраивает?
Здравствуйте <Аноним>, Вы писали:
AVK>>На ассемблере А>От процессора зависит сильно
Тем не менее ОС на нем писали и пишут.
AVK>>А чем тебя CLR не устраивает?
А>Меня и CLR устраивает и MIDP явовская и много чего еще, только стремление создавать программы за минимальное время и чтобы они делали то, что надо с этим никак не связано. Вот например сборка мусора в памяти, она позволяет уменьшить время потраченное на поиск разных утечек в памяти. Это реальный эффект. Что еще можно вспомнить на эту тему? Из вот таких нюансов и можно получить быстрое и надежное программирование.
Проблема в том что очень сложно создать одновременно универсальное и эффективное средство. Если мы хотим сделать что то хорошо и быстро инструментарий приходится затачивать под конкретную задачу. А так, безотносительно предметной области, никакого смысла в подобных разговорах нет.
Здравствуйте henson, Вы писали:
AVK>>На ассемблере H>Не тянет на идеальный язык
А я и не говорил что он идеальный.
H>Хрен (.NET) редьки (Java2) не слаще !
Ну все таки немножко послаще, особенно в плане быстродействия.
Здравствуйте IO, Вы писали:
IO>Идея такая: IO>развернуть обсуждение о создании нового языка программирования между довольно опытными программистами разных специализаций. На выходе получить концепцию языка, удовлетворяющего всех. IO>Причем начать можно с самых общих (почти философских вещей). IO>Цель в том, что-бы новый язык во-первых учитывал недостатки уже существующих. Во-вторых был бы универсальным для разных областей (сколько можно плодить эти языки). В-третьих имел бы заложенные мощные механизмы по наращиванию и расширению. Т.е. основная концепция должна быть достаточно универсальна (микро-ядро)?
IO>Ваши мнения?
В чем-то это даже интересно. Мы как раз над этой проблемой работаем. Первый язык был нами разработан в 98 году, он был ориентирован на Геоинформационные системы. Сейчас мы заняты тем, что пытаемся усовершенствовать «наш» язык, чтобы с помощью него можно было решать задачи в различных отраслях народного хозяйства.
Быстро как-то заглохло ваше обсуждение.
Нарвусь на оскорбления, но по-моему было высказано много чужих мыслей не своими же словами.
Никто, к примеру, не возмущается тому, что появляются новые ассемлеры, то бишь расширяется набор инструкций. Возможно, производителям компиляторов это и доставляет головную боль, но там люди работают постоянно.
В сообществе же обычных программистов обыкновенно не любят расширения и новые ключевые слова — какие уж там новые, когда про все старые-то лень прочитесть.
И потом — реплики об эффективности и специализации выражают устаревший взгляд. Как сорок лет назад считалось, что сборка мусора это плохо и дорого, так до сих пор многие в этом остаются уверены.
А насчет while(*++q = *++p) , так ведь чаще проблема не в том, что не нравится стиль. Часто программист просит, дайте мне хоть #/./s.p-/.i. , лишь бы работало и решало мою задачу.
Конечно же, программируя на C++ я могу гордиться, мол моя программа будет даже на Sparc работать. Только будет это слишком самонадеяно, а самое главное: кто из нас Спарк хотя бы раз видел и трогал в живую?
Предлагаю продолжить обсуждения, а то как-то даже немного обидно.
Здравствуйте Poudy, Вы писали:
P>Быстро как-то заглохло ваше обсуждение. P>Нарвусь на оскорбления, но по-моему было высказано много чужих мыслей не своими же словами.
Да, это весьма смелое высказывание — наверное не следует обобщать, правильнее наверное говорить конкретнее.
P>Никто, к примеру, не возмущается тому, что появляются новые ассемлеры, то бишь расширяется набор инструкций. Возможно, производителям компиляторов это и доставляет головную боль, но там люди работают постоянно.
Это заслуживает отдельного сабжа
P>В сообществе же обычных программистов обыкновенно не любят расширения и новые ключевые слова — какие уж там новые, когда про все старые-то лень прочитесть.
Ну чтож, надеюсь я отношусь к необычным программистам
P>И потом — реплики об эффективности и специализации выражают устаревший взгляд. Как сорок лет назад считалось, что сборка мусора это плохо и дорого, так до сих пор многие в этом остаются уверены.
Ну, типа давайте посмотрим на Java.
P>А насчет while(*++q = *++p) , так ведь чаще проблема не в том, что не нравится стиль. Часто программист просит, дайте мне хоть #/./s.p-/.i. , лишь бы работало и решало мою задачу.
Ну это наверное не совсем так — определенно считаю, что стиль значит очень много
P>Конечно же, программируя на C++ я могу гордиться, мол моя программа будет даже на Sparc работать. Только будет это слишком самонадеяно, а самое главное: кто из нас Спарк хотя бы раз видел и трогал в живую?
Я могу с гордостью заявить что видел и писал под него — ну так ничего особенного.
P>Предлагаю продолжить обсуждения, а то как-то даже немного обидно.
Ну вроде бы все еще в процессе
Взойти на гору можно разными путями, но само восхождение остается неизменным.