Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему так не любят Delphi? 
:(
    Опции темы
k0rvin
Дата 29.8.2013, 17:51 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(drkot @  29.8.2013,  17:23 Найти цитируемый пост)
возражения по существу есть?
или так... ИМХО в слух?

Констатация факта. Ни в одном другом известном мне языке такой уродской портянки не будет.
Код
std::string GetAddPrefix()
{
        try {
                IniFile f(path);
                return f.ReadString("AD", "Prefix", "");
        } catch (e) {
                // exception handling
                return std::string("");
        }
}



--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
drkot
Дата 29.8.2013, 18:37 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(Zloxa @  29.8.2013,  17:33 Найти цитируемый пост)
не позволяющих объявить переменную по месту

и в сотый раз... with решает совсем другие задачи.
А вот те кто пытается применять его как 
Цитата(Zloxa @  29.8.2013,  17:33 Найти цитируемый пост)
кастыль для ЯП

в котором на уровне языка это запрещено, действительно вызывают только жалость.

Цитата(Zloxa @  29.8.2013,  17:33 Найти цитируемый пост)
красотой и изяществом не был наделен

понятие красоты относительно и уж не как не совпадает в С и Pascal. Так как первый не имеет стандарта синтаксиса и морфологии, а второй детерминирован почти до предела.

Цитата(k0rvin @  29.8.2013,  17:51 Найти цитируемый пост)
Ни в одном другом известном мне языке такой уродской портянки не будет

вот по этому "изящным" драйвера писать и не дают... да и в проектах повышенной надежности (не важно на каком языке писаных) выставляют жесткие ограничения на языковые конструкции. Наверное они "уроды", просто "изящества" не понимают.

Добавлено через 1 минуту и 22 секунды
Да и к стати... Что так мало минусов? Что только три тролля в теме?


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
k0rvin
Дата 29.8.2013, 19:21 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(drkot @  29.8.2013,  18:37 Найти цитируемый пост)
вот поэтому "изящным" драйвера писать и не дают...

Плюсовикам драйвера не дают писать? o_O'
Или сишникам?
Много ли драйверов на делфи писано?


Цитата(drkot @  29.8.2013,  18:37 Найти цитируемый пост)
да и в проектах повышенной надежности (не важно на каком языке писаных) выставляют жесткие ограничения на языковые конструкции. 

И с чего ты думаешь, что там будет уродская делфийская портянка try, но при этом не будет RAII? И о какой именно надежности речь?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
drkot
  Дата 29.8.2013, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(k0rvin @  29.8.2013,  19:21 Найти цитируемый пост)
Много ли драйверов на делфи писано?

а много ли сишников писали драйвера?
или может жавастеры драйвера пишут?

k0rvin, может Вы, любезный, проспали лекции, и не понимаете разницы между компилятором и языком? или есть другие причины?

Цитата(k0rvin @  29.8.2013,  19:21 Найти цитируемый пост)
И о какой именно надежности речь?

Надежность есть только одна. Если у Вас их много, то удачи.

Цитата(k0rvin @  29.8.2013,  19:21 Найти цитируемый пост)
будет уродская делфийская портянка

ой как грубо... неужели самому не воняет? или своё не воняет?

Цитата(k0rvin @  29.8.2013,  19:21 Найти цитируемый пост)
но при этом не будет RAII

наверно уже писал ранее, что особо ценю излишне "наивных" людей, хотя я не одобряю грехопадение современного высшего образования. Так что меня радует, такое суждение. 
А могли бы Вы, уважаемый, изобразить формулу надежности для программного обеспечения?

А так, очистив Вашу реплику от гуано, могу ответить.
Конечно же компилятор продаваемый Embarcadero не будет использован для построения систем повышенной надежности, равно как и любые публичные компиляторы любых языков и производителей. Так, что само существование, Вашей последней реплики, достаточно полно характеризует Вас как специалиста.
Но могу утверждать, что в выше упомянутых системах, для разработки применяются детерминированные языки, и совершенно не важно какой синтаксис и морфология взяты за основу. Так как глупо придумывать свои 30 слов.
И как ни странно, но наибольшей популярностью пользуется синтаксис Modula, Pascal и Basic, а вот Си подобных не могу вспомнить (разве что студенческие проекты в Массачусетском технологическом). О "модных" аббревиатурах и "интеллектуальных" компиляторах там и речи быть не может.

Мое мнение: разработчик и только он, решает где, что и в каком количестве объявить, выделить или освободить; где и как изменить видимость; как и когда отреагировать на ошибку выполнения. Компилятор должен помогать придерживаться правил указывая на возможные отступления. Никакая ошибка выполнения не должна прерывать или изменять последовательность команд, если это не прописано явно. Никакого связывания на этапе разработки, особенно внешнего. 
Если кому нравится разгребать свои и чужие пируэты, ничего против не имею, резолюция прав человека, однако. Осуждаю только навязывание ошибочного мнения, в тех случаях когда за этот процесс не платят.



--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
k0rvin
Дата 29.8.2013, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
а много ли сишников писали драйвера?

Да уж поболее большинства других.


Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
может Вы, любезный, проспали лекции, и не понимаете разницы между компилятором и языком? или есть другие причины?

А может ты пропустил, что мои замечания не имеют никакого отношения к компиляторам?

Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
Надежность есть только одна.

Да ну? http://ru.wikipedia.org/wiki/Надёжность
Цитата
Надёжность в «широком» смысле — комплексное свойство, которое в зависимости от назначения объекта и условий его эксплуатации может включать в себя свойства безотказности, долговечности, ремонтопригодности и сохраняемости, а также определённое сочетание этих свойств.

Так о каком именно сочетании свойств идет речь?

Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
ой как грубо... неужели самому не воняет? или своё не воняет?

Что, правда глаза режет? Начинаешь кирпичи производить? =)

Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
Конечно же компилятор продаваемый Embarcadero не будет использован для построения систем повышенной надежности

Ну так и зачем тогда завел разговор про это?

Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
"модных" аббревиатурах

Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
и совершенно не важно какой синтаксис

Лол, это ты про RAII? Никакого отношения к синтаксису. Но...
Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
...само существование, Вашей последней реплики, достаточно полно характеризует Вас как специалиста.


Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
и "интеллектуальных" компиляторах там и речи быть не может.

Компилятор Ады достаточно интеллектуален, язык обязывает, чтобы выявлять больше ошибок во время компиляции.

Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
Мое мнение: разработчик и только он, решает где, что и в каком количестве объявить, выделить или освободить; где и как изменить видимость; как и когда отреагировать на ошибку выполнения.

Ну да, «когда коту делать нечего...»

Цитата(drkot @  29.8.2013,  22:09 Найти цитируемый пост)
Если кому нравится разгребать свои и чужие пируэты, ничего против не имею

Это как раз про ту портянку, ага.


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
k0rvin
Дата 29.8.2013, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Да, вот еще: http://stackoverflow.com/questions/243387/...itical-software
Цитата
Although C and C++ were not specifically designed for this type of application, they are widely used for embedded and safety-critical software for several reasons. The main properties of note are control over memory management (which allows you to avoid having to garbage collect, for example), simple, well debugged core run-time libraries and mature tool support. A lot of the embedded development tool chains in use today were first developed in the 1980s and 1990s when this was current technology and come from the Unix culture that was prevalent at that time, so these tools remain popular for this sort of work.

While manual memory management code must be carefully checked to avoid errors, it allows a degree of control over application response times that is not available with languages that depend on garbage collection. The core run time libraries of C and C++ languages are relatively simple, mature and well understood, so they are amongst the most stable platforms available. Most if not all of the static analysis tools used for Ada also support C and C++, and there are many other such tools available for C. There are also several widely used C/C++ based tool chains; most tool chains used for Ada also come in versions that support C and/or C++. 



--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
LSD
Дата 30.8.2013, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(drkot @  29.8.2013,  18:23 Найти цитируемый пост)
а кто ему запрещает? или есть законы LSD для компиляторов, в коих это запрещено?

Есть LS который декларирует как должен вести себя компилятор. Все что не описано в LS - subject to change without notice.


Цитата(drkot @  29.8.2013,  18:23 Найти цитируемый пост)
Кому должны? Или это еще один закон LSD? Давай ссыль на собрание "Законов LSD". Думаю всем будет интересно.

Там нет ни слова про должны, там говорится что они могут.


Цитата(drkot @  29.8.2013,  18:23 Найти цитируемый пост)
LSD, вообще мну тебя либить, искренне и беззаветно.

Ты по моему перестарался во время подтяжки орфографии, и вообще затянул ее нафиг  smile 


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
drkot
Дата 1.9.2013, 18:16 (ссылка)    | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(k0rvin @  29.8.2013,  22:47 Найти цитируемый пост)
Да уж поболее большинства других.

имья, сестра, имья? 
Цитата(k0rvin @  29.8.2013,  22:47 Найти цитируемый пост)
никакого отношения к компиляторам

а к чему тогда? 
Цитата(k0rvin @  29.8.2013,  22:47 Найти цитируемый пост)
Да ну? http://ru.wikipedia.org/wiki/Надёжность

и? Вы читали? или просто ссылка? поясните своими словами, или слабо?
Цитата(k0rvin @  29.8.2013,  22:47 Найти цитируемый пост)
Что, правда глаза режет?

нет, просто считаю, что отходы жизнедеятельность не должны выходить через тоже отверстие, что и слова.
Цитата(k0rvin @  29.8.2013,  22:47 Найти цитируемый пост)
чтобы выявлять больше ошибок во время компиляции

все таки умные мысли есть. только это не "интеллектуален", а детерминирован. Так как этого требует стандарт языка.
Как собственно компиляторы Pascal и Delphi. Чего не скажешь про компиляторы языков C, так сишный компилятор может собрать заведомо не работающий бинарник, так как не проверяет практически ничего (только формальный синтаксис).
Цитата(k0rvin @  29.8.2013,  22:47 Найти цитируемый пост)
Ну да, «когда коту делать нечего...»

вам еще учиться и учиться, хотя вряд ли Вам это нужно. 

Собственно требования жестко следовать правилам и напрягают "молодые дарования", на их пути к вершине. 
Думаю, также накладывается влияние учебных заведений где, упомянутых ранее дарований, типа учат как правильно, но им кажется что их валят... в следствии вырабатывается неприязнь ко всему, что связано с ненавистным процессом...
Ну и главное, это бездумное отождествление себя с используемым инструментом. И как следствие признание недостатком объекта отождествления равносильно признанию недостатков в себе. А большинство индивидов не могут пойти на такой шаг, так как это единственно "кульное", что есть в их жизни... прям как у таксистов: работа дрянь, машина г..но, вокруг одни козлы... вот и подставляются на дороге, чтоб другим тоже не жизнь малиной не казалась.
Мало кто понимает область применения той или иной технологии, и это несомненно радует.

Цитата(LSD @  30.8.2013,  16:18 Найти цитируемый пост)
и вообще затянул ее нафиг

жать что у тебя содержательности не прибавилось, наверное не судьба...


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
LSD
Дата 2.9.2013, 13:48 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(drkot @  1.9.2013,  19:16 Найти цитируемый пост)
жать что у тебя содержательности не прибавилось, наверное не судьба... 

Как мило, вначале полностью проигнорировать содержательную часть, а потом сетовать на ее отсутвие.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
k0rvin
Дата 2.9.2013, 17:46 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(drkot @  1.9.2013,  18:16 Найти цитируемый пост)
имья, сестра, имья?

/lib/modules/`uname -r`/

Цитата(drkot @  1.9.2013,  18:16 Найти цитируемый пост)
и? Вы читали? или просто ссылка? поясните своими словами, или слабо?

Пояснить что? Ты заговорил про надежность, я спросил, что именно имеется в виду. По ссылке перечислены различные показатели надежности, которые могут быть актуальны в том или ином случае. Ты будешь уточнять о какой надежности говорил, или нет?

Цитата(drkot @  1.9.2013,  18:16 Найти цитируемый пост)
все таки умные мысли есть. только это не "интеллектуален", а детерминирован. Так как этого требует стандарт языка.

Детерминированность тут не при чем.

Цитата(drkot @  1.9.2013,  18:16 Найти цитируемый пост)
Как собственно компиляторы Pascal и Delphi. Чего не скажешь про компиляторы языков C, так сишный компилятор может собрать заведомо не работающий бинарник, так как не проверяет практически ничего (только формальный синтаксис).

Твое определение детерминированности в студию. Иначе всякие Agda, Coq и прочие языки с зависимыми типами уделают по количеству проверок любой другой ЯП. Или Prolog теперь тоже детерминированный язык?

Цитата(drkot @  1.9.2013,  18:16 Найти цитируемый пост)
вам еще учиться и учиться, хотя вряд ли Вам это нужно. 

Собственно требования жестко следовать правилам и напрягают "молодые дарования", на их пути к вершине.
...

Мда... Так называемому «энтерпрайзу» нужно чтобы быстро, много и дешево, ты же не из тех, кто «не понимает область применения той или иной технологии», да?


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
drkot
Дата 2.9.2013, 21:24 (ссылка)  | (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(k0rvin @  2.9.2013,  17:46 Найти цитируемый пост)
различные показатели надежности

во первых никаких "различных показателей" там не перечислено. А Вы уважаемый просто путаете "показатели" со "сферами применения". Советую прежде чем писать проработать терминологию.
Цитата(k0rvin @  2.9.2013,  17:46 Найти цитируемый пост)
будешь уточнять о какой надежности говорил

скорее нет, так как надежность одна, а вот заблуждений по всей видимости бывает много... 

Цитата(k0rvin @  2.9.2013,  17:46 Найти цитируемый пост)
Детерминированность тут не при чем

а что причем?
Цитата(k0rvin @  2.9.2013,  17:46 Найти цитируемый пост)
Твое определение детерминированности в студию

Моего нет, ориентируюсь только на общедоступные источники толкования. Вряд ли бы Вы осилили свободный лингво-семантический подход к словообразованию, вот и приходится использовать "убогий" синтаксис, где "у" - приставка, "бог" - корень, а "ий" - окончание о толковании попробуйте догадаться сами.

Цитата(k0rvin @  2.9.2013,  17:46 Найти цитируемый пост)
ты же не из тех, кто

как минимум не из тех кто натягивает condom на голову.

Цитата(LSD @  2.9.2013,  13:48 Найти цитируемый пост)
содержательную часть

Где? Слова, а тем более "букавы" - это не содержательно... А ничем другим твои посты похвастаться не могут.
Хотя, возможно, у грызунов именно это и есть содержательно.

Дискутировать с Вами, уважаемые, очень тяжело, так как бедность словарного запаса и убогость его толкования сводят столь высокоинтеллектуальную беседу "о сабже" к вопросам, задавать которые, человек с "верхним" образованием, в приличном обществе, постеснялся бы... 
Вы, господа (или где там Ваша отчизна), даже троллить качественно не можете...
Мне за Вас стыдно, уважаемые... 


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
LSD
Дата 4.9.2013, 16:33 (ссылка) |  (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Цитата(drkot @  2.9.2013,  22:24 Найти цитируемый пост)
Где? Слова, а тем более "букавы" - это не содержательно... А ничем другим твои посты похвастаться не могут.
Хотя, возможно, у грызунов именно это и есть содержательно.

Дискутировать с Вами, уважаемые, очень тяжело, так как бедность словарного запаса и убогость его толкования сводят столь высокоинтеллектуальную беседу "о сабже" к вопросам, задавать которые, человек с "верхним" образованием, в приличном обществе, постеснялся бы... 
Вы, господа (или где там Ваша отчизна), даже троллить качественно не можете...
Мне за Вас стыдно, уважаемые...  

Я сделал простое утверждение, что with не дает никаких принципиальных преимуществ перед local variable объявленной "по месту". Ты начал рассказывать про какие-то там преимущества в скорости, на что я заметил что:
1) Неплохо бы показать language specification где оговаривается такое поведение на всех поддерживаемых платформах (тут нам Акелла постоянно рассказывает как дельфи бороздит просторы аппсторов).
2) local variable дает точно такое же преимущество в скорости.
В ответ от тебя никаких контр примеров не последовало, только хамство и переходы на личности.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
k0rvin
Дата 4.9.2013, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(drkot @  2.9.2013,  21:24 Найти цитируемый пост)
Советую прежде чем писать проработать терминологию.

Ты для начала проработай применение слова «детерминированный» к языкам программирования. Например.

Цитата(drkot @  2.9.2013,  21:24 Найти цитируемый пост)
а что причем?

Система типов и статический анализ.

Цитата(drkot @  2.9.2013,  21:24 Найти цитируемый пост)
Моего нет, ориентируюсь только на общедоступные источники толкования.

Ссылки на источники?

Цитата(drkot @  2.9.2013,  21:24 Найти цитируемый пост)
Вряд ли бы Вы осилили свободный лингво-семантический подход к словообразованию, вот и приходится использовать "убогий" синтаксис, где "у" - приставка, "бог" - корень, а "ий" - окончание о толковании попробуйте догадаться сами.

Оценивать смысл слова по смыслу отдельных его частей, да еще и без контекста, — это сильно, да. Все равно что переводить с одного языка на другой дословно.

Это сообщение отредактировал(а) k0rvin - 4.9.2013, 18:26


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
drkot
Дата 5.9.2013, 02:16 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Цитата(LSD @  4.9.2013,  16:33 Найти цитируемый пост)
В ответ от тебя никаких контр примеров не последовало, только хамство и переходы на личности

Солнышко, ты пословицу про зеркало помнишь? Так вот и не кивай. Тебя, счастье мое, просто взяли и нежно мокнули лицом в твои же экскременты. Заметь, нежно. В результате, лапуля, ты сначала негодовал, потом обижался, а теперь притих и мало помалу, начал говорить как адекватный человек, а не как 12-ти летняя девочка у которой гормоны играют. Заметь, тебя долго и вежливо призывали к конструктивной беседе.
Уважай окружающих и они будут уважать тебя. 
Цитата(LSD @  4.9.2013,  16:33 Найти цитируемый пост)
на что я заметил что:1) Неплохо бы показать language specification

было бы неплохо указать на место где ты об этом просил ранее, причем именно в такой форме... 
И как раз language specification, в форме свободного изложения, привел и настоятельно просил дать на неё критику, от чего ты усердно уворачивался 
Цитата(LSD @  4.9.2013,  16:33 Найти цитируемый пост)
никаких принципиальных преимуществ перед local variable объявленной "по месту"

ну а какие преимущества угольного комбайна перед сельскохозяйственным? Уже долгое время, указываю на то, что нельзя сравнивать принципиально разные механизмы только потому, что они синтаксически сходны.
Конечно, запретов на конструкции которые привел Акелла нет, но при этом и нет никакой выгоды от такого использования. ИМХО подобные конструкции порождены полиглотами (в том числе и авторами книг), без понимания сути механизма. В результате применение with, как костыль для local variable прочно закрепилось среди Delphi программистов.
Сначала о local variable: почему они не нужны в Delphi и необходимы в C. В Delphi есть вложенные функции. Глубина вложенности не ограничена. За счет этого можно очень гибко управлять видимостью переменных (и функций), не нарушая при этом правил декларирования переменных. При желании можно организовать весьма причудливые области видимости. В C(++) такого механизма нет. Для ограничения видимости применяются local variable (в терминах Delphi "local variable" - это переменные объявленные в функции). Поэтому сравнивать "with" (С[++]) нужно с вложенными функциями Delphi, но никак не с языковой конструкцией "with do end". Хотя они и похожи лингвистики.
Теперь о том что делает "with do end". Как писал ранее, with изменяет/переключает область видимости. То есть область видимости повышается до local. По словам разработчиков (и это подтверждают тесты) применение with повышает скорость доступа к полям, методам, свойствам и всем прочим объявлениям. Примеры такого использования в книгах встречаются не часто, еще реже в живом программном коде...
Код

var
  l: TList<TItem>;

procedure DemoWith;
var
  x: IXMLItemList;

  function MyAddItem: TItem; inline;
  begin
    Result:= TItem.Create;
    l.Add(Result);
  end;

var
  i: integer;
begin
// загружаем xml-ку
  for i:= 0 to Pred(x.Count) do begin

    with MyAddItem, x.Items[i] do begin

      iProp1:= xProp1;
      iProp2:= xProp2;
      ....
      ....
      iPropXX:= xPropXX;

    end;

  end;
end;
   
Собственно, для подобных конструкций with и предназначен.

Цитата(k0rvin @  4.9.2013,  18:23 Найти цитируемый пост)
Например.

если хочешь и можешь что-то сказать говори, давать ссылки типа "догадайся сам что я хотел сказать", выдают школоту. Не пались так плз.
Цитата(k0rvin @  4.9.2013,  18:23 Найти цитируемый пост)
Ссылки на источники?

может в лесу живешь? в школе не учился? или тебя поисковики забанили?
А может просто сказать не чего а постить надо? 
Цитата(k0rvin @  4.9.2013,  18:23 Найти цитируемый пост)
«детерминированный» к языкам программирования

для невежд поясню... итак, смысловой аналог в "великом и могучем" - фатальный, то есть предопределенный за ранее. И никакого другого смысла нет и не было.
Цитата(k0rvin @  4.9.2013,  18:23 Найти цитируемый пост)
Оценивать смысл слова по смыслу отдельных его частей, да еще и без контекста, — это сильно, да.

Э... милок, создай тему на каком нибудь филологическом форуме и потом расскажешь чем тебя считают, что ты должен сделать с этой фразой и куда тебя надо пойти. И все это будет на чистом литературном русском языке.
Не позорился бы... 

Меня же, смущает то, что даже программисты Delphi, не знают языка на котором пишут, его "жирностей" не говоря о тонкостях. Как следствие смешные аргументы на глупые вопросы...
Оппоненты, конечно, вообще, как правило не разбираются... Но им то простительно, не их это... Хотя они и в своем так же разбираются...
О культуре и воспитании, и говорить не хочется... Все таки прав был профессор Преображенский...



--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
k0rvin
Дата 5.9.2013, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(drkot @  5.9.2013,  02:16 Найти цитируемый пост)
если хочешь и можешь что-то сказать говори, давать ссылки типа "догадайся сам что я хотел сказать", выдают школоту. Не пались так плз.

Что, такой умный человек не способен прочитать пару предложений и, воспользовавшись силой "свободного лингво-семантического подхода к словообразованию", понять о чем там речь и сделать выводы?
Скрытый текст
Не помню где прочитал: слово "школота" употребляет школота, чтобы не выглядеть школотой перед другой школотой.

Ну да ладно. И так:
Цитата(drkot @  5.9.2013,  02:16 Найти цитируемый пост)
для невежд поясню... итак, смысловой аналог в "великом и могучем" - фатальный, то есть предопределенный за ранее. И никакого другого смысла нет и не было.

1) "Основная идея здесь состоит в том, что выражениям в недетерминистском языке разрешается иметь более одного возможного значения."
Одним из примеров является функция rand, т.к. возвращает различные значения, так же как и любая функция, значение которой зависит от внешнего окружения.
Цитата
A variety of factors can cause an algorithm to behave in a way which is not deterministic, or non-deterministic:

    If it uses external state other than the input, such as user input, a global variable, a hardware timer value, a random value, or stored disk data.
    If it operates in a way that is timing-sensitive, for example if it has multiple processors writing to the same data at the same time. In this case, the precise order in which each processor writes its data will affect the result.
    If a hardware error causes its state to change in an unexpected way.

Although real programs are rarely purely deterministic, it is easier for humans as well as other programs to reason about programs that are. For this reason, most programming languages and especially functional programming languages make an effort to prevent the above events from happening except under controlled conditions.

The prevalence of multi-core processors has resulted in a surge of interest in determinism in parallel programming and challenges of non-determinism have been well documented.[1][2] A number of tools to help deal with the challenges have been proposed[3][4][5][6][7] to deal with deadlocks and race conditions.

А теперь вперед, расскажи какая Ада детерминированная.

2) Однако с другой стороны, функциональное программирование почти безальтернативно требует наличия GC, что приводит к сложностям в определении использования оперативной памяти, а в случае ленивых языков еще и времени выполнения, т.к. исходный код довольно неоднозначно ложится на нижележащий вычислитель, поэтому в системах, критичных к использованию программами аппаратных ресурсов, такие языки не используются, в отличие от C/C++ (если не применять оптимизации). Это на основе опыта знакомого, занятого в разработке авиационного софта. У них нет средств приобретать сертифицированный компилятор (цена вопроса около $1M, насколько помню), зато есть возможность тестировать объектный код.

Цитата(drkot @  5.9.2013,  02:16 Найти цитируемый пост)
Э... милок, создай тему на каком нибудь филологическом форуме и потом расскажешь чем тебя считают, что ты должен сделать с этой фразой и куда тебя надо пойти. И все это будет на чистом литературном русском языке.
Не позорился бы... 

Да ну? Может сам это все расскажешь? Воспользуюсь твоей же фразой:
Цитата(drkot @  5.9.2013,  02:16 Найти цитируемый пост)
если хочешь и можешь что-то сказать говори, давать ссылки типа "догадайся сам что я хотел сказать", выдают школоту. Не пались так плз.



--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1641 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.