Вышла новая версия компилятора FreePascal
Модератор: Модераторы
причем тут С++
просто наглядный пример привел
вот тогда так
http://javascript.ru/basic/closure
вопрс простой - есть или нет подобные и будут ли ?
противоречит не противоречит
но в делфях последних вроде добавляли подобные вещи
http://interactiveasp.net/blogs/spgilmo ... -2010.aspx
просто наглядный пример привел
вот тогда так
http://javascript.ru/basic/closure
вопрс простой - есть или нет подобные и будут ли ?
противоречит не противоречит
но в делфях последних вроде добавляли подобные вещи
http://interactiveasp.net/blogs/spgilmo ... -2010.aspx
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
perlpunk, мало ли что в дельфях добавили...
Гарантию дать не может никто, но я бы особо не ждал.
Гарантию дать не может никто, но я бы особо не ждал.
- alexs
- долгожитель
- Сообщения: 4066
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
perlpunk писал(а):противоречит не противоречит
но в делфях последних вроде добавляли подобные вещи
Бред
Как бы ещё извернуться - чтобы самому выстрелить себе в ногу...
Это разве что в для наказания, заставлять кого то разбираться в таком чужом коде...
И всё из за того, что некоторым лень соблюдать порядок.
Нет в этом реального смысла.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
kazalex, что ж... придется писать свой компилятор раньше, чем я ожидал... правда, я нифига не понял некоторых моментов, но это уже не так страшно -- не впервые начинать то, в чем нифига не понимаю((((
Лекс Айрин, а анонимных методах нет ничего страшного, это прекрасная штука если не злоупотреблять. Кстати, в мейл-листе разработчиков fpc, недавно один товарищ озвучивал свои планы по созданию анонимных методов совместимых с дельфями вплоть до деталей реализации.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
kazalex, один из разработчиков Lazarus (как минимум, компонент для него) резко против этого... и он объяснил почему.
Добавлено спустя 54 секунды:
На С и его потомки не указывайте... они не предназначены для нормальной верификации кода.
Добавлено спустя 54 секунды:
На С и его потомки не указывайте... они не предназначены для нормальной верификации кода.
Лекс Айрин, иррациональные срахи это не объяснение... это иррациональные страхи.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
kazalex, это НЕ иррациональный страх. Не надо делать из одного языка другой. Тем более, добавлять сущности явно лишние. Того же почти результата наверняка легче добиться уже существующими методами. Если честно, то постоянная погоня за дельфи это скорее зло, чем благо.
perlpunk писал(а):Дож писал(а):А замыкания есть с 2.6.0 («is nested» ссылки)
http://wiki.freepascal.org/FPC_New_Feat ... _variables
http://www.freepascal.org/docs-html/ref/refse17.html
я имел ввиду чтото вменяемое
типа как в C++Код: Выделить всё
auto lambda = [](auto x) {
return x;
};
типа используем
writeln(lambda("Hello generic lambda!\n"));
объявление сразу в блоке кода и присваивание переменной
Чем приведённый код принципиально (не синтаксически) отличается от
Код: Выделить всё
procedure Code;
function Lambda(const S: AnsiString): AnsiString;
begin
Exit(S);
end;
begin
writeln(lambda("Hello generic lambda!\n"));
end;
?
вопрс простой - есть или нет подобные и будут ли ?
Будут.
Лекс Айрин, страх самый что ни на есть иррациональный. Из той же оперы, что и страх перед codepage-aware strings. Замыкания не присущи какому-то одному языку, поэтому их наличие в паскале не сделает его тем "другим языком", это просто очень удобная в некоторых случаях абстракция.
Анонимный метод в дельфях это, в общем-то, потомок от TInterfacedObject с захваченным контекстом. Никакой магии, всё можно сделать и вручную. Но это уж точно не легче да и писанины сильно больше.
Впитывать лучшее из имеющегося это не зло, это жизненная необходимость.
Лекс Айрин писал(а):Того же почти результата наверняка легче добиться уже существующими методами
Анонимный метод в дельфях это, в общем-то, потомок от TInterfacedObject с захваченным контекстом. Никакой магии, всё можно сделать и вручную. Но это уж точно не легче да и писанины сильно больше.
Лекс Айрин писал(а):Если честно, то постоянная погоня за дельфи это скорее зло, чем благо
Впитывать лучшее из имеющегося это не зло, это жизненная необходимость.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
kazalex писал(а):это просто очень удобная в некоторых случаях абстракция.
ключевое слово "некоторых". И потом, код нужно не только писать, но и поддерживать, а это уже совсем другая кухня.
а насчет codepage-aware strings... и прочего этого хлама... так это всего лишь последствия а) экономии б) несогласованности. Надо всего-лишь договориться, что кодировка одна и для всех. Ну и со временем привести код в соответствие с ней. Но этого никто, по крайней мере пока, делать не будет.
kazalex писал(а): Но это уж точно не легче да и писанины сильно больше.
Интерфейсы почти такое же зло как и кодовые страницы. Язык программирования, изначально, это средство упростить ассемблер... вместо этого иногда проще писать на самом ассемблере... имхо, это неправильный путь... Зачем три названия для одного и того же? ... Мы уже приходим к тому, что код программы, зачастую, невозможно нормально поправить.
kazalex писал(а):Впитывать лучшее из имеющегося это не зло, это жизненная необходимость.
Вот только где уверенность, что это лучшее... догоняя нельзя обогнать. Зачем держать язык (его реализацию) на вторых ролях (точнее, даже на третьих... сам дельфи, судя по всему, начинает "догонять С++"). Лично меня раздражает, что сейчас FPC это дельфи для бедных.
Лекс Айрин писал(а):ключевое слово "некоторых"
Именно так. Никто не заставляет применять анонимные методы ради применения анонимных методов. Но там, где им самое место, без них очень не удобно.
Лекс Айрин писал(а):И потом, код нужно не только писать, но и поддерживать, а это уже совсем другая кухня
Как раз код с анонимнымми методами поддерживать код сильно проще, нежели с ООП-суррогатами замещающими их.
Лекс Айрин писал(а):а насчет codepage-aware strings... и прочего этого хлама... так это всего лишь последствия а) экономии б) несогласованности. Надо всего-лишь договориться, что кодировка одна и для всех. Ну и со временем привести код в соответствие с ней. Но этого никто, по крайней мере пока, делать не будет
Я и не сомневался, что вся критика новых строк от непонимания.
Лекс Айрин писал(а):Интерфейсы почти такое же зло как и кодовые страницы
Непонимание в квадрате.
Лекс Айрин писал(а):Вот только где уверенность, что это лучшее... догоняя нельзя обогнать. Зачем держать язык (его реализацию) на вторых ролях (точнее, даже на третьих... сам дельфи, судя по всему, начинает "догонять С++")
В собственном диалекте FPC, у которого нет нужды иметь совместимость с дельфями, что-то не наблюдается никаких "вкусностей" позволяющих ему стать лидером. А потому только впитывать и догонять.
Лекс Айрин писал(а):Лично меня раздражает, что сейчас FPC это дельфи для бедных
А меня раздражает, что совместимость с дельфями остаётся на уровне Delphi 7, а код собирающийся в Delphi 2006 самый свежий FPC собрать без оговорок не может.
- Лекс Айрин
- долгожитель
- Сообщения: 5723
- Зарегистрирован: 19.02.2013 16:54:51
- Откуда: Волгоград
- Контактная информация:
kazalex писал(а): Никто не заставляет применять анонимные методы ради применения анонимных методов.
Наличие лишь ради наличия это тоже странно. Паскаль был, изначально, простым языком. Хотелось бы избежать усложнения.
kazalex писал(а):Я и не сомневался, что вся критика новых строк от непонимания.
Да мне все равно какие там строки... главное чтобы какие-то одни. Перекодировка замедляет выполнение программы и приводит к непредсказуемым последствиям. и очень тяжело отлаживается.
kazalex писал(а):В собственном диалекте FPC, у которого нет нужды иметь совместимость с дельфями, что-то не наблюдается никаких "вкусностей" позволяющих ему стать лидером.
Может быть потому, что у него слишком много от Дельфи даже в таком виде?
kazalex писал(а):А меня раздражает, что совместимость с дельфями остаётся на уровне Delphi 7, а код собирающийся в Delphi 2006 самый свежий FPC собрать без оговорок не может.
Может быть еще будем собирать программы написанные на С#? На Лиспе? Задача переноса с системы на систему не так уж часто и возникает в работе нормального программиста. Да и приступая к портированию программы всегда надо быть готовым к проблемам. Иначе не было бы необходимости портировать.
Лекс Айрин писал(а):Наличие лишь ради наличия это тоже странно. Паскаль был, изначально, простым языком. Хотелось бы избежать усложнения.
Наличие ради использования. Если тебя сейчас посадить за Виртовский паскаль ты по другому заговоришь.
Лекс Айрин писал(а):Да мне все равно какие там строки... главное чтобы какие-то одни.
Неконсистентность RTL и LCL это не проблема новых строк.
Лекс Айрин писал(а):Может быть потому, что у него слишком много от Дельфи даже в таком виде?
Что, и тут дельфя мешает развиваться?
Лекс Айрин писал(а):Может быть еще будем собирать программы написанные на С#? На Лиспе?
Если будет декларирована совместимость с шарпом и лиспом таки будем.
Лекс Айрин писал(а):Задача переноса с системы на систему не так уж часто и возникает в работе нормального программиста
Не с системы на систему, а с популярнейшего диалекта паскаля на компилятор в котором заявлена поддержка этого диалекта. Причём я не говорю ни о чём сверх объявленного поддерживаемым.
