Здравствуйте, opener, Вы писали:
O>А нахрена, собственно? Меня и так все устраивает. O>Я считаю синтаксис С++ достаточно хорошим и приятным, а если хомячкам что-то не нравится — для вас придуман замечательный язык для программирования кофемолок — Джаба.
эти хомячки, которым не нравится синтаксис С++, сидят в WG21, а самого главного хомячка зовут Stroustrup.
если Вы считаете синтаксис С++ хорошим, то Вы просто не знаете С++.
Здравствуйте, cserg, Вы писали:
C>Здравствуйте, pepsicoca, Вы писали:
P>>2. Отказаться от ключевых слов. Все ключевые слова должны обрабатываться уже после синтаксического анализа. C>Предлагаете избавиться от терминальных символов в грамматике, а как-же тогда делать синтаксический анализ?
Так и делать. По именам разбор, а потом уже типизация.
Здравствуйте, pepsicoca, Вы писали:
P>1. Разнести алгоритмы и типизацию. То есть пишется всегда шаблон, а типизируется этот шаблон в отдельном месте.
С этим согласен, неплохо было бы. Но это нужно сделать очень красиво и удобно, чтобы не порождать писанину как в С++.
Возможно — просто ввести "метатипы", то есть кроме фиксированных типов ("int", "char" etc.) ввести некие обобщенные типы; код с такими типами автоматически превращается в шаблонный и при компиляции типизируется как будто это шаблон. А использовать их наравне с обычными, без всяких "template" и прочего словесного мусора.
P>2. Отказаться от ключевых слов. Все ключевые слова должны обрабатываться уже после синтаксического анализа. Алгоритмы обработки ключевых слов должны быть доступны для переопределения пользователем, а не как сейчас — жестко прошиты в трансляторе.
Это будет уже не язык программирования. Что-то другое, но не язык программирования в классическом понимании этого слова. Большинству нужно именно программирование в его классическом смысле — для решения прикладных задач, с прикладными библиотеками и фреймворками, а не генерация уникальных языков программирования под каждого программиста.
P>3. Ну там по мелочи — функции объявлять без списка аргументов, а фактический список аргументов указывать в вызове.
Здравствуйте, pepsicoca, Вы писали:
P>1. Разнести алгоритмы и типизацию. То есть пишется всегда шаблон, а типизируется этот шаблон в отдельном месте. P>2. Отказаться от ключевых слов. Все ключевые слова должны обрабатываться уже после синтаксического анализа. Алгоритмы обработки ключевых слов должны быть доступны для переопределения пользователем, а не как сейчас — жестко прошиты в трансляторе. P>3. Ну там по мелочи — функции объявлять без списка аргументов, а фактический список аргументов указывать в вызове.
1. ну и нафига? где шаблоны используется? контейнеры, фукторы/сигналы иииии еще пара мелочей
зачем шаблоны ставить во главу угла куда ни попадя если на практике они нужны для 0.5% кода?
и вообще их парктически не использую и не вижу особой выгоды от тех шаблонных извратов которые тут на рсдн обсуждаются
3. а ну пример плз шо это такое(помнится в инсте нам про такой друний язык рассказыали в плане того что ракета из за этого упала ибо забыли параметр передать а проверки не было)
вообще академиков-теоретиков при создании языков нужно использовать по-минимуму
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Здравствуйте, cserg, Вы писали:
C>Здравствуйте, pepsicoca, Вы писали:
C>
C>call start2
C>
C>В этом фрагменте call это ключевое слово или нет?
C>
C>start1 stop1 in=b=c out=a a=b=c=int
C>
C>В этом фрагменте in, out это ключевые слова или нет?
в идеале нет
в идеале in out call int обрабатываются уже на этапе разобраного дерева
но это просто фантазии на тему, может быть и не получится обойтись без ключевых слов
Здравствуйте, Kingofastellarwar, Вы писали:
K>Здравствуйте, pepsicoca, Вы писали:
P>>1. Разнести алгоритмы и типизацию. То есть пишется всегда шаблон, а типизируется этот шаблон в отдельном месте. P>>2. Отказаться от ключевых слов. Все ключевые слова должны обрабатываться уже после синтаксического анализа. Алгоритмы обработки ключевых слов должны быть доступны для переопределения пользователем, а не как сейчас — жестко прошиты в трансляторе. P>>3. Ну там по мелочи — функции объявлять без списка аргументов, а фактический список аргументов указывать в вызове.
K>1. ну и нафига? где шаблоны используется? контейнеры, фукторы/сигналы иииии еще пара мелочей K>зачем шаблоны ставить во главу угла куда ни попадя если на практике они нужны для 0.5% кода?
бросить все и уехать в Урюпинск...
K>и вообще их парктически не использую и не вижу особой выгоды от тех шаблонных извратов которые тут на рсдн обсуждаются
секс это неинтересно, я читала (С) Валерия Новодворская
K>3. а ну пример плз шо это такое(помнится в инсте нам про такой друний язык рассказыали в плане того что ракета из за этого упала ибо забыли параметр передать а проверки не было)
У нас тоже был похожий случай. Бабка с двенадцатого этажа упала. Сама вдребезги, а галоши целы...
K>вообще академиков-теоретиков при создании языков нужно использовать по-минимуму
Здравствуйте, pepsicoca, Вы писали:
P>Здравствуйте, Kingofastellarwar, Вы писали:
K>>Здравствуйте, pepsicoca, Вы писали:
P>>>1. Разнести алгоритмы и типизацию. То есть пишется всегда шаблон, а типизируется этот шаблон в отдельном месте. P>>>2. Отказаться от ключевых слов. Все ключевые слова должны обрабатываться уже после синтаксического анализа. Алгоритмы обработки ключевых слов должны быть доступны для переопределения пользователем, а не как сейчас — жестко прошиты в трансляторе. P>>>3. Ну там по мелочи — функции объявлять без списка аргументов, а фактический список аргументов указывать в вызове.
K>>1. ну и нафига? где шаблоны используется? контейнеры, фукторы/сигналы иииии еще пара мелочей K>>зачем шаблоны ставить во главу угла куда ни попадя если на практике они нужны для 0.5% кода?
P>бросить все и уехать в Урюпинск...
K>>и вообще их парктически не использую и не вижу особой выгоды от тех шаблонных извратов которые тут на рсдн обсуждаются
P>секс это неинтересно, я читала (С) Валерия Новодворская
K>>3. а ну пример плз шо это такое(помнится в инсте нам про такой друний язык рассказыали в плане того что ракета из за этого упала ибо забыли параметр передать а проверки не было)
P>У нас тоже был похожий случай. Бабка с двенадцатого этажа упала. Сама вдребезги, а галоши целы...
K>>вообще академиков-теоретиков при создании языков нужно использовать по-минимуму
P>бей профессоров, они гадюки...
просто если учитывать подобные рекомендации, то получится 100500й никому не нужный язык, потому что его могут понять только те кто его создал
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.
Здравствуйте, pepsicoca, Вы писали:
P>Здравствуйте, cserg, Вы писали:
C>>Здравствуйте, pepsicoca, Вы писали:
C>>
C>>call start2
C>>
C>>В этом фрагменте call это ключевое слово или нет?
C>>
C>>start1 stop1 in=b=c out=a a=b=c=int
C>>
C>>В этом фрагменте in, out это ключевые слова или нет?
P>в идеале нет P>в идеале in out call int обрабатываются уже на этапе разобраного дерева P>но это просто фантазии на тему, может быть и не получится обойтись без ключевых слов
И, да, даже если in out call int это ключевые слова, то они не в тексте собственно алгоритма.
Собственно текст алгоритма свободен от ключевых слов.
А инстанцирование шаблонов должно происходить в другом файле.
Здравствуйте, Abyx, Вы писали:
A>Здравствуйте, opener, Вы писали:
O>>А нахрена, собственно? Меня и так все устраивает. O>>Я считаю синтаксис С++ достаточно хорошим и приятным, а если хомячкам что-то не нравится — для вас придуман замечательный язык для программирования кофемолок — Джаба.
A>эти хомячки, которым не нравится синтаксис С++, сидят в WG21, а самого главного хомячка зовут Stroustrup. A>если Вы считаете синтаксис С++ хорошим, то Вы просто не знаете С++.
Здравствуйте, opener, Вы писали:
A>>эти хомячки, которым не нравится синтаксис С++, сидят в WG21, а самого главного хомячка зовут Stroustrup. A>>если Вы считаете синтаксис С++ хорошим, то Вы просто не знаете С++.
O>Да ну? Удивительно. Чего я еще не знаю?
что именно для Вас удивительно? то что есть С++11 потому что в С++03 была куча проблем с синтаксисом, и что сейчас делают С++14 потому что С++11 тоже не достаточно хорош?
Здравствуйте, Abyx, Вы писали:
A>Здравствуйте, opener, Вы писали:
A>>>эти хомячки, которым не нравится синтаксис С++, сидят в WG21, а самого главного хомячка зовут Stroustrup. A>>>если Вы считаете синтаксис С++ хорошим, то Вы просто не знаете С++.
O>>Да ну? Удивительно. Чего я еще не знаю? A>что именно для Вас удивительно? то что есть С++11 потому что в С++03 была куча проблем с синтаксисом, и что сейчас делают С++14 потому что С++11 тоже не достаточно хорош?
чем Страуструп отличается от кота?
когда Страуструпу нечего делать, он полирует синтаксис С++
Здравствуйте, grendel, Вы писали:
G>А это все равно не дает возможности использовать С++ библиотеки.
А С++ сам себе тоже не дает возможности использовать С++ библиотеки.
Даже две static lib с разной memory/runtime model не линкуются вместе. Что уж говорить про остальное.
Здравствуйте, NeoCode, Вы писали:
NC>Для начала — вот этот стиль... "x: double" , который пихают сейчас во все языки... откуда это?
Это традиционная математическая нотация, используемая во всех известных мне книгах и статьях по теории типов и языкам программирования.
NC> Традиционный сишный синтаксис гораздо проще и удобнее.
Традиционный сишный синтаксис лабался как бог на душу положит инженерАми, чтобы побыстрячку выпустить переносимый ассемблер для рабочего класса.
NC>Зачем "type", "obj" (а также всевозможные var, val, let и т.д.), если по идентфикатору и так известно что это имя типа???
Классический пример неоднозначности грамматики Си, требующий контекста:
a * b;
Это выражение умножения; или объявление переменной b типа указатель на a?
Или в C++:
a b(c);
Это определение переменной b типа a, инициализируемой c; или объявление функции b, принимающей c, и возвращающей a?
NC>А вообще автор явно паскалист:) чего стоит только предложение заменить == на = и = на :=.
Здравствуйте, Qbit86, Вы писали:
Q>Я бы не рискнул брать на должность C++-программиста человека, который считает синтаксис C++ хорошим.
Ну, я считаю синтаксис С++ хорошим... потому что видал плохие синтаксисы.
Уж во всяком случае, не настолько он плох, чтоб всё вдребезги взять и разломать.
Да, компилятору тяжело приходится.
Но, если не ставить себе задачу обфускации, то вполне можно писать сколь угодно сложные и сколь угодно ясные программы.
А обфускацию хоть на языке Ада сделать нетрудно.
С++ не ограничивает пользователя синтаксисом. Только в некоторых случаях заставляет быть чуть многословнее, чем хотелось бы: template typename всякие и лишние скобки в определениях переменных и в макросах.