|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.12.2011, 17:14 | #171 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я против шаблонов по типу С++.
лучше уж генерики. вообще насчет бумаги все верно, там то красиво, а на практике оптимизаций нужно будет до*** проводить.(хоть не грозит проблема асм->bin) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
18.12.2011, 00:53 | #172 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
в общем небольшой итог синтаксиса(и его вкусностей):
что уже решено: 1)синтаксис сишного стиля. 2)препроцессор отсутствует. 3)классы: один родитель, множество реализаций интерфейса. 4)перегрузка операторов, ужесточена немного по сравнению с С++. например насчет операторов смещения(обязательны оба), и насчет операторов сравнения. запрещена одновременная реализация присвающего оператора(+=) и не присвающего(+). так же думаю вводить ограничение по правилу "от перемены мест слагаем/множителей сумма/произведение не меняется". для некоторых интерфейсов так же будет введено дополнительное ограничение. 5)шаблонов не будут, будут генерики.(правда это больше разница для компиляции) 6)возможность ограничения параметров генериков: Код:
7)автовывод типов(в том числе для параметров функции, для него идет прогон по коду в цели анализа кода функции(может там есть зацепка) или же по вызову функции). если нет возможности понять то ошибка. 8)тип по типу аналогично decltype из C++11. 9)делегатам быть) причем два принципа. delegate==указатель на одну функцию. event==список вызова.* 10)type&==ссылка. type*==итератор этого типа. 11)foreach нужен. 12)лямбды нужны. 13)компилятор будет анализировать функции на побочность. если функция не имеет побочного эффекта, то она может быть отложена до необходимости*. все это будет помечаться в итоговом файле если библиотека. 14)нет указателям. 15) Цитата:
17)ведение документации прямо в коде, причем для библиотек последняя включается в саму библиотеку. 18)компилятор изолирован от других dll(не наших), доступ к ним только через механизм наподобие маршалинга. 19)поддержка более удобного синтаксиса для RAII. что-то вроде: Код:
хм, думаю полезно может оказаться чтото вроде else для using(эта часть обсуждаема) сборщик тут не нужен(но компилятор проследить за уходом переменных наружу) что в обдумавании(или требует изменений): 1) Цитата:
2) Цитата:
3)см принятые решения п 18. поскольку в else ветке может быть нужно узнать причину невозможности получения ресурсов, то все исключения будут доступны(или через map(точнее аналог), или если одно исключение через lastError, в зависимости от п4). и насчет else таже проблемка что и в мыслях п1. 4)так же, насчет RAII using. нужно ли пытаться получить все ресурсы(чтоб сразу узнать обо всех проблемах с ресурсами? *возможна параллельность, но она не основа, но мысли насчет нее есть. в общем пока так. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|||
18.12.2011, 17:05 | #173 | |||
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Фигурные скобки в том числе? А как насчёт отступов? Чтобы отступы обозначали блоки кода? Причём можно дать возможность писать и так, и так, как это сделано в Haskell и, вроде, в Nemerle. Основным способом я бы считал отступы, а фигурные скобки только для того, чтобы выделить большой блок без необходимости выставлять отступы у сотен строк кода (уже после того, как блок написан)
Что это? Я долго думал о том, нужно ли выделять отдельный тип-ссылку и давать синтаксис для конструирования этого типа. Я пришёл к выводу, что компилятор вполне может сам определить, где использовать значения, а где ссылки. Или вы про передачу параметров функции? Я бы запретил изменять параметры в функции. Пусть лучше функции могут возвращать несколько значений (кортежем, массивом и т.д.) А это зачем? Я бы назвал его просто for, а обычный for убрал бы - слишком опасен и нечитабелен. Цитата:
Цитата:
Во-вторых, я за такой синтаксис, он красивей: Код:
Цитата:
Нет, нечитабельный же вариант. Лучше структурированно, как и в случае исключений: Код:
Код:
|
|||
18.12.2011, 17:41 | #174 | ||||||||||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Код:
Цитата:
а при желании возвращать вы всегда сможете структуркой. Цитата:
в более сложных конструкциях может быть полезно. Цитата:
в принципе и то(если не вошло в цикл) и то(в зависимости от типа выхода) полезно. но как то нужно это аккуратно внести в синтаксис. Цитата:
Цитата:
но будет foreach и repeat циклы, которые куда проще и удобны. Код:
тип выводиться автоматически. [start,end] - промежуток выполнения.(если для шага это возможно то end войдет) step - шаг выполнения. цикл так же может идти в обратную сторону, если переменные выпали так.(шаг будет изменен автоматически на отрицательный) Цитата:
Цитата:
Код:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||||||||||
18.12.2011, 17:55 | #175 | ||||||||
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
После того как перешёл с Delphi на С++, вапше не понимаю как можно жить без указателей. Цитата:
Всё остальное(синт.сахар и прочее) - мне кажется, лишнее. Но это всего лишь моё ИМХО. |
||||||||
18.12.2011, 18:16 | #176 | ||||||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
про препроцессор, можно хоть один аргумент его необходимости?
я и в С++ его не применяю. Цитата:
плодить кучу VMT, и тп и тп. шаблоны ужастно тормозят компиляцию, а так же не дают возможности скрывать сорцы. зачем мне их тянуть если могу обеспечить подобный механизм без этого? Цитата:
Цитата:
Цитата:
зато вижу массу ошибок с указателями у других людей. Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||||||
18.12.2011, 19:26 | #177 | ||||
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Цитата:
Цитата:
Цитата:
Цитата:
P.S. Понимаю, что не смогу повлиять на то, что вы будете реализовывать в своём языке, поэтому скажу так: хозяин - барин. |
||||
18.12.2011, 19:48 | #178 | ||||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Код:
Код:
Цитата:
тем более через new вы не сильно то её контролируете. благо язык имеет четкие правила сборки мусора и возможность освободить переменную раньше конца блока. Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||||
18.12.2011, 20:51 | #179 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Пепел Феникса, всем все равно не угодишь .
Цитата:
Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика Последний раз редактировалось Utkin; 18.12.2011 в 20:55. |
||
18.12.2011, 21:00 | #180 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
2Пепел Феникса, А как Вы собираетесь реализовать автовывод типов и перегрузку функций вместе? Как генерическую функцию? Тогда что с примитивными типами, вроде int? Будут генерироваться специализированные ф-ции для примитивов, или параметры будут упаковываться? В любом случае, я против автовывода, так как это, как правило, сильно замедляет компиляцию.
И ещё кое что. Уверены ли Вы по поводу отсутствия уборщика мусора? Мне кажется, ссылочная семантика и отсутствие уборщика мусора плохо скажутся на простоте контроля над памятью. И есть ли реальная необходимость в decltype, если нет шаблонов? Насчёт foreach, отсутствия препроцессора, анонимных функций и анализа на побочность функций - это я за, также хочу проголосовать за callbyname функции, и возможность определения неизменяемых переменных, а также за кортежи. Не вижу смысла в п. 14, п. 18 и Обдумывание.п.2. 2_-Re@l-_, C++09 не существует. decltype официально принят в C++11. И да, препроцессор не нужен, можно покрыть весь его функционал модулями и чем-нибудь вроде D-го version или static if |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
можно ли подобный текст перевести на человеческий язык? | alexxx777 | Помощь студентам | 0 | 24.05.2010 19:56 |
Как создать вид подобный SolidWorks. | KemanSR | Общие вопросы C/C++ | 6 | 04.05.2010 21:30 |
Добавить модуль в phpnuke-подобный движок | Able2Know | Фриланс | 3 | 23.04.2010 16:29 |
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? | An_ton | SQL, базы данных | 5 | 16.01.2009 17:55 |