Понятно. Это конечно другая оптимизация.
Честно сказать, не знаю. Статья на хабре уже написана. Переписывать на Паскаль ее смысла нет. И - есть гигантское количество других оптимизаций. В числе которых протяжка констант например.
Понятно. Это конечно другая оптимизация.
Честно сказать, не знаю. Статья на хабре уже написана. Переписывать на Паскаль ее смысла нет. И - есть гигантское количество других оптимизаций. В числе которых протяжка констант например.
Я и не говорю, что переписывать. В Паскале много своих особенностей. Например то, что локальные переменные работают быстрее глобальных, работа с указателями отличается от C#. Я, кстати, уже спрашивал про оптимизацию с помощью хэша процессора, но никто мне так и не ответил.
Ахо теперь что, без Ульмана пишет? Я когда-то по их книге писал кросс-компилятор… Эх, были же времена…
Если Вы их обнаружили, может быть, стоит говорить о том, чтобы рассказать именно в этом ключе, что быстрее работает и почему?
Прямо здесь рассказать, или в статье?
Как Вы смотрите на то, чтобы добавить какое-нибудь ключевое слово (подобное out - модификатору параметра из C#, или, насколько помню, рез из КуМир). При чтении заголовка подпрограммы можно будет сразу понимать какая переменная не будет считаться инициализированной при входе в тело подпрограммы, и инициализация которой обязательна до завершения подпрограммы.
В языке Паскаль любому формальному параметру, который не имеет описателя var, при вызове подпрограммы должно быть сопоставлено некоторое значение. Нет var - оно копируется в формальный параметр. Есть var - в формальный параметр копируется ссылка. Просто, как мычание, в чем проблема-то?
Переменные автоинициализируются.
@RAlex, может быть, имелся ввиду параметр, доступный из метода только для записи? WriteOnly - параметр?
Я не могу пытаться догадываться, что имелось в виду. Привык читать, что написано, а не между строк.
Ну, там ясно сказано про out - параметр из C#. В C# есть 3 вида параметров:
Обычные параметры
ref - параметры, передаваемые по ссылке. Паскалевский аналог - Var
out - параметры, передаваемые по ссылке и доступные только для записи.
Замечаете, что последнее время что бы не обсуждали - это не про ABC.NET, а или про то, как это сделано в С++/С#, или о том, что этого нет в Delphi? Странно это все. И лично меня потихоньку раздражает. Каждый язык прежде всего должен иметь индивидуальность.
С индивидуальностью у паскаля всё прекрасно, а вот функционала часто не хватает. Лучше, по вашему, предлагать рандомные идеи, а не то что проверено опытом в других языках?
Замечаю, только это не моя была идея. Мне проще придумать, где использовать WriteOnly - свойства, чем out - параметр.
Я скажу грубовато, но просто: не надо выпендриваться. Функционала в языке в рамках того, для чего он предназначался, выше крыши! Уже выкусывать лишнее впору. Понатыкано столько, что не хватит тысячи страниц это все описать.
А разве я где-то писал, что она Ваша? ))
Согласен и с Вами и с Сергеем. Слишком много ненужного функционала, а нужный разработчики откладывают в долгий ящик.
Он имеет. И введение ключевого слова (подобного out) никак не навредит его индивидуальности - все индивидуальное то у него останется.
А я скажу, что не надо тут говорить грубовато. Тут приличный форум и Вы не с кентами с площадки разговариваете.
Я бы предпочел все-таки прочитать, зачем все это надо.