Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2012.04.29;
Скачать: [xml.tar.bz2];

Вниз

и чего дельфи хоронят?..   Найти похожие ветки 

 
antonn ©   (2011-12-21 18:34) [0]

Пишу в (распальцованном и восхваляемом) шарпе (точкаНет2.0), какой-то быдлокодогенератор. ОверООП, многопоточность через одно место, а уж посмотреть реализацию внутренних методов - можно и не мечтать.
:(

ЗЫ нет обертки над ini-форматом, еще больше ненавижу xml :(


 
Dimka Maslov ©   (2011-12-21 18:48) [1]


> нет обертки над ini-форматом


Что и функции WinAPI забанены?


 
antonn ©   (2011-12-21 18:56) [2]

да, "административно" :)


 
TUser ©   (2011-12-21 19:25) [3]

А че мороженное за 48 копеек похоронили? Вполне себе мороженное.


 
o_O   (2011-12-21 19:34) [4]


> нет обертки над ini-форматом

годный вброс


 
antonn ©   (2011-12-21 19:47) [5]

да ладно ini, а вот, например, посмотреть как реализованы методы всяких FtpWebRequest/FtpWebResponse - как? только описание


 
Jeer ©   (2011-12-21 19:59) [6]


> А че мороженное за 48 копеек похоронили?


Я и за 10..20 коп помню вкус, особенно Пятигорское. :)


 
TUser ©   (2011-12-21 20:08) [7]

Тоже похоронили. Почему-то.


 
знайка   (2011-12-21 20:55) [8]


>  посмотреть как реализованы методы всяких FtpWebRequest/FtpWebResponse - как? только описание
Тулов тьма, бесплатных и не очень, можно и свой написать.


 
Dennis I. Komarov ©   (2011-12-21 20:58) [9]


> antonn ©   (21.12.11 18:34)  

А что, ответ сам не напрашивается?


 
знайка   (2011-12-21 21:04) [10]


> Пишу в (распальцованном и восхваляемом) шарпе (точкаНет2.0),
ну и в четвертом пора давно :)


 
Кто б сомневался ©   (2011-12-21 21:26) [11]

Минусуют те, кто не работал в Delphi длительное время.
Вобщем то я помню раньше минусовали его за то что размер exe большой, лишний код, компоненто-кидатели. Это во времена Cpp.
Теперь же все стало наоборот, C# код жрет много ресурсов, exe большого размера, акцент на компонентное строительство программы, неповоротливое GUI - и сишники поутихли.
На деле нужно смотреть объективно: время на разработку, качество результата, наличие мультиплатформы (опционно), цена инструментов.  Для больших компаний - популярность инструмента - т.к. надо нанимать персонал.

Время на разработку в Delphi и C# одинаковое - т.к.  оба языка развиты, качество результата лучше в Delphi т.к. нативный код. Цена - меньше с C#, популярность - больше в C# .Последние 2 пункта - т.к. раскручивает этот язык наибольшая корпорация в software мире. Мультиплатформа - официально нет у обоих. Хотя в Delphi есть компилятор MacOs - но нет VCL. Аналогично и с Mono в C#.


 
Кто б сомневался ©   (2011-12-21 21:29) [12]

Еще один момент - при разработке сложных систем, где важна производительность в C# нужно знать (т.е. не только читать, но и писать) по факту 2 языка - C# и С++. Для Delphi только один язык - delphi . Это также плюс.


 
antonn ©   (2011-12-21 21:38) [13]

свой я уже писал, потому знаю что не стоит его писать на C# "просто так"


 
antonn ©   (2011-12-21 21:39) [14]

[13] к [8] =)


 
Ega23 ©   (2011-12-21 21:55) [15]

"Бородино" за 28 и простое эскимо за 20.
Помню, приезжала бабка в гости, я её пошёл на экспресс 16-тичасовой провожать. Она выдала мне 40 копеек, чтобы я постригся. А я купил 2 эскимо и сожрал.


 
Jeer ©   (2011-12-21 22:00) [16]


> Для Delphi только один язык - delphi


Увы, тоже не так - для высокопроизводительных систем приходится использовать C/С++ в довесок, т.к. Delphi пока не побило Intel C.


 
Ega23 ©   (2011-12-21 22:01) [17]

С - понимаю. Но почему С++?


 
Сергей М. ©   (2011-12-21 22:02) [18]


> в (распальцованном и восхваляемом) шарпе


А ты это DiamondShark"у скажи - вы с ним хорошо снюхались, судя по последним баталиям).. Вот и спроси у него при случае, чего он там на тему Шарпа гнет и хвалит по поводу и без повода)


 
O_o   (2011-12-21 22:08) [19]


> Теперь же все стало наоборот, C# код жрет много ресурсов,
>  exe большого размера

тоже годно


 
O_o   (2011-12-21 22:13) [20]


> O_o   (21.12.11 22:08) [19]

аргументирую малость
про размер - молчу, бо бредни не привык комментировать

про ресурсы и скорость - одна из самых быстрых реализайций "вм" на icfpc2007 была на c#
так что яйца напильником рихтуйте, что бы танцевать не мешали

зы
если что, сам последнее время пишу на ц++, на делфи остался один проект на поддержке
на шарпе не писал


 
Ega23 ©   (2011-12-21 22:16) [21]

Вспомнил!
"Плодово-ягодное" за 15 копеек!
Верните, гады!


 
Dennis I. Komarov ©   (2011-12-21 22:20) [22]

Сишный синтаксис придуман извращенными москами ради прикола...
Пожалуй только перл переплюнул...


 
Inovet ©   (2011-12-21 22:26) [23]

> [15] Ega23 ©   (21.12.11 21:55)
> "Бородино" за 28 и простое эскимо за 20.

простое - гуд, за 48 копеек оно же только 500 грамм. В Бородино мороженое нормальное, но обмазка приторная на мой вкус, но главное это его неудобная упаковка - просто завёрнуто в бумагу в виде трубки, результат при поедании на улице может быть где угодно на одежде, на руках всегда. Поэтому стаканчики с простым за 20 копеек рулят, как бумажные так и вафелные тоже.

Про Бородино. Видел дядьку - изобретателя Бородино. Ему с командой приносили современные образцы разных производителей, они пробовали и указывали на недостатки. Так только у одного производителя Бородино соответсвовало их изобретению. Ещё они рассказывали как идея пришла, как реализовывали, сложности были - потребители жаловались что отваливается эта обмазка (как она там правильно называется), потом они её стали приклеевать на что-то.


 
antonn ©   (2011-12-21 22:28) [24]


> Сишный синтаксис придуман извращенными москами ради прикола.
> ..

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

Не, ну в c# куча удобных вещей (например работа с эксепшнами, хотя они тут, на мой взгляд, немного иначе воспринимаются чем в дельфи, но удобно), довольно быстро можно наваять что-то пытающееся работать и интегрировать куда нибудь. Но недоступность базовых исходников убивает :(
А еще редактор в VS2008 отвратителен, как будто я в ворде текст набираю, сам что-то куда-то переносит, форматирует, мешает самовольничать. И вообще студия тормозная, вечно что-то по пять раз перерисовывается с мерцанием.


 
Inovet ©   (2011-12-21 22:28) [25]

> [15] Ega23 ©   (21.12.11 21:55)
> А я купил 2 эскимо

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


 
Inovet ©   (2011-12-21 22:31) [26]

> [21] Ega23 ©   (21.12.11 22:16)
> "Плодово-ягодное" за 15 копеек!

Это иногда можно в жару.


 
Юрий Зотов ©   (2011-12-21 22:31) [27]

Так кто-нибудь скажет, стандартизован ли в C (C++, C#) порядок вычисления параметров функции при ее вызове? Или неопределенность в моем любимом примере так и остается?

int sum (int x, int y) {
 return x+y;
}

int z () {
 int i = 0;
 return sum (i, i++); // Результат зависит от порядка вычисления параметров
}


 
O_o   (2011-12-21 22:33) [28]


> Сишный синтаксис придуман извращенными москами ради прикола.
> ..

ууу
разработчики c, c++, c#, java, javascript, php (что там еще?) всенепременно хотели именно над вами прикольнуться, да
чсв в старой оболочке еще не жмет?


 
Inovet ©   (2011-12-21 22:34) [29]

> [27] Юрий Зотов ©   (21.12.11 22:31)
> стандартизован ли в C (C++, C#) порядок вычисления параметров
> функции при ее вызове?

А разве нет? Разве перечисление и запятая не слева направо?


 
O_o   (2011-12-21 22:36) [30]


> Юрий Зотов ©   (21.12.11 22:31) [27]

параметры должны вычисляться ранее
иначе как быть в случае
f(10, bar()) ?


 
Inovet ©   (2011-12-21 22:36) [31]

> [30] O_o   (21.12.11 22:36)
> параметры должны вычисляться ранее

Вопрос о порядке вычисления.


 
O_o   (2011-12-21 22:43) [32]


> параметры должны вычисляться ранееиначе как быть в случаеf(10,
>  bar()) ?


точнее так
void bar(int &i) {
i *= 10;
}

int foo(int x, int y) {
return x+y;
}

int x = 10;
cout << foo(x, bar(x));

если это UB, то в стандарте должно быть описано, но я не помню такого
потому думаю, параметры считаются слева направо


 
O_o   (2011-12-21 22:45) [33]


> Вопрос о порядке вычисления.

я понял уже чуть позднее поста
стандарт наизусть не помню, сказать точно не могу
из компиляторов под рукой есть gcc\g++ и CBuilder, на VC проверить не могу


 
O_o   (2011-12-21 22:46) [34]


> void bar(int &i) {i *= 10;}

естественно
int bar (int &i) {
i *= 10;
return i;
}


 
Marser ©   (2011-12-21 22:48) [35]


> antonn ©   (21.12.11 18:34)
>
> Пишу в (распальцованном и восхваляемом) шарпе (точкаНет2.
> 0), какой-то быдлокодогенератор. ОверООП, многопоточность
> через одно место, а уж посмотреть реализацию внутренних
> методов - можно и не мечтать.
> :(
>
> ЗЫ нет обертки над ini-форматом, еще больше ненавижу xml
> :(

Ничего себе :-)
Вроде мой ровесник, а уже обскурантист :-)
Пишу в .NET 4.0, XML обожаю, .INI когда-то тоже обожал, а теперь считаю высером.
Многопоточность - вполне замечательная (не, ну я не спорю, что если BackgroundWorker какой, то может и...)
Посмотреть реализацию внутренних методов? Это в смысле рефлексия? Или?


 
Юрий Зотов ©   (2011-12-21 23:00) [36]


> Inovet ©   (21.12.11 22:34) [29]

Может быть и слева направо, и справа налево. Зависит от реализации конкретного компилятора, если не оговорено в стандарте языка.


> O_o   (21.12.11 22:36) [30]
> параметры должны вычисляться ранее

Где это сказано? Если нигде, значит как хочу - так и вычисляю.


 
antonn ©   (2011-12-21 23:08) [37]


> Вроде мой ровесник, а уже обскурантист :-)

это что-то обидное, да? =)


> .INI когда-то тоже обожал, а теперь считаю высером.

у ини лучше воспринимаемость человеком. Да и не в этом дело, в дельфи я в любом месте любого класса прочитать параметр из одного файла без особых проблем и так же записать параметр в файл. А тут я серилизую структуру/класс (вот блин, мне данные нужны, а xml методы серилизует?) и должен как-то подвывернуться чтобы в общий файл как-то все записать, а потом и прочитать. Т.е. такие мелкие неудобства нервируют. А если у меня метод называется что-то типа "awptThermalHeadWidth", то так и влезет в xml (как обойти знаю, но этож пипец как надо нагородить). В общем не удовлетворяют меня дефолтные методы :)


> Посмотреть реализацию внутренних методов? Это в смысле рефлексия?
>  Или?

в смысле взять и открыть исходник класса

(рефлексия понравилась в общем-то, хоть и тормознутая вещь :))


 
Dennis I. Komarov ©   (2011-12-21 23:15) [38]


> O_o   (21.12.11 22:33) [28]


   "В 1969 году AT&T завершила работу над проектом операционной системы
Multics Брайан и я только что начали работу с ранней реализаций Паскаля, разработанной в  лаборатории проф. Вирта в Швейцарии, и находились под впечатлением элегантности, простоты и мощи этого  языка. Деннис как раз прочитал  "Уставший от колец", веселую сатиру на знаменитую трилогию Толкина "Властелин  колец". Ради шутки мы решили написать пародии на среду Multics и Паскаль. Деннис и я отвечали  за операционную среду. Глядя на  Multics, мы спроектировали новую систему настолько сложной и запутанной, чтобы  максимально "испортить  жизнь" рядовым  пользователям, назвали  ее UNIX как пародию на Multics, добавив  много других достаточно рискованных  аналогий.

   Затем Деннис и Брайан разработали по-настоящему извращенный  диалект Паскаля, назвав его "A".  Когда мы обнаружили, что  другие действительно пытаются писать  программы на  A, мы  быстро добавили еще парочку хитрых примочек, создав B, BCPL, и, наконец, Си. Мы остановились, добившись успешной компиляции следующего:

   for(;P("\n"),R-;P("|"))for(e=C;e-;P("_"+(*u++/8)%2))P("| "+(*u/4)%2);

   Мы не могли даже представить, что современные программисты будут пытаться использовать язык, допускающий подобный оператор! Мы даже собирались продать все это Советам, чтобы отбросить развитие их  компьютерного дела на 20  лет назад.  Представьте наше удивление,  когда AT&T, а также другие американские корпорации начали пытаться использовать UNIX и Си! Более 20 лет ушло на  то, чтобы приобрести достаточный опыт для  создания хоть немного полезных приложений с использованием этой технологической пародии  60-х. Мы  были поражены  упорством и целеустремленностью (если не чувством здравого смысла) типичного программиста, использующего UNIX и/или Си. В  любом случае, Брайан, Деннис  и я в течение  последних лет работали исключительно на Паскале в среде Apple Macintosh и чувствуем себя  по-настоящему  виноватыми  в  том  хаосе, путанице и действительно скверном программировании, причиной которых явилась наша неудачная шутка столько лет тому назад."


 
antonn ©   (2011-12-21 23:16) [39]

да и ладно с ini (первый же день я ваял класс для работы с такой структурой, простой и незамысловатый, даже с регулярками, т.к. функции работы со строками не сильно поддавались  =)), мне вообще не очень нравятся эти стотыщьмильенов абстракций. Если в дельфи (по крайней мере в D7) я вижу тип integer, то и ожидаю получить его и ничего более.
А тут приходится много читать просто чтобы знать что какая-то гадость имеет перегруженный tostring() и вернет не число, а строку (в смысле не число строкой, а текст). Например FtpWebResponse.StatusCode.ToString() выведет текстом описание состояния, а вот ((int)FtpWebResponse.StatusCode).ToString() уже выдаст число строкой. Суматоху разводят... :(


 
O_o   (2011-12-21 23:30) [40]


> Где это сказано? Если нигде, значит как хочу - так и вычисляю.

не помню стандарт, уже писал
если это не так, то это UB фактически для любой функции, чего на практике замечено не было


> Dennis I. Komarov ©   (21.12.11 23:15) [38]

более боянистых приколов над хомяками не нашел?
или думаешь, что это правда? :-)


 
O_o   (2011-12-21 23:32) [41]


> Где это сказано? Если нигде, значит как хочу - так и вычисляю.

кстати, (не для холивара ради), а для делфи стандарт есть?
ведь подобные финты возможны и там, через те же указатели


 
Dennis I. Komarov ©   (2011-12-21 23:34) [42]


> более боянистых приколов над хомяками не нашел?
> или думаешь, что это правда? :-)

Какая разница, речь была о синтаксисе... :)


 
Anatoly Podgoretsky ©   (2011-12-21 23:34) [43]

> antonn  (21.12.2011 23:08:37)  [37]

Темный человек


 
Ega23 ©   (2011-12-21 23:36) [44]


> ведь подобные финты возможны и там, через те же указатели


Подобные - сомневаюсь
http://lurkmore.to/I%2B%2B


 
O_o   (2011-12-21 23:37) [45]


> Какая разница, речь была о синтаксисе... :)

и я о нем

теперь поищи историю текста, который ты привел


 
O_o   (2011-12-21 23:40) [46]


> Ega23 ©   (21.12.11 23:36) [44]

я про

> O_o   (21.12.11 22:43) [32]

с поправкой на [34] (без этого не скомпилится даже)
подобное (а о нем и был вопрос) возможно и в делфи


 
DVM ©   (2011-12-21 23:45) [47]


> antonn ©   (21.12.11 23:16) [39]


> Например FtpWebResponse.StatusCode.ToString() выведет текстом
> описание состояния, а вот ((int)FtpWebResponse.StatusCode).
> ToString() уже выдаст число строкой. Суматоху разводят..
> .

Могу тебя обрадовать, в делфи теперь все это тоже есть.


 
DVM ©   (2011-12-21 23:47) [48]


> antonn ©   (21.12.11 22:28) [24]


> И вообще студия тормозная, вечно что-то по пять раз перерисовывается
> с мерцанием.

А мне показалось наоборот. В разы быстрее чем делфи запускается.


 
antonn ©   (2011-12-21 23:51) [49]


> Могу тебя обрадовать, в делфи теперь все это тоже есть.

иттицкая сила... :(


 
Eraser ©   (2011-12-21 23:54) [50]

все равно все в итоге закончится хтмлом5 и джаваскриптом )


 
Inovet ©   (2011-12-22 00:00) [51]

> [36] Юрий Зотов ©   (21.12.11 23:00)
> если не оговорено в стандарте языка.

Я сейчас не помню точно, но это должно относится к оператору запятая ",", а значит слева направо.


 
Кто б сомневался ©   (2011-12-22 00:22) [52]


> Dennis I. Komarov ©   (21.12.11 22:20) [22]
>
> Сишный синтаксис придуман извращенными москами ради прикола.
> ..
> Пожалуй только перл переплюнул...


С этим я согласен. Человек который разрабатывал синтаксис языка не сильно задумывался о читабельности кода.
Почему то он решил что лучше будет регистрозависимый код - Var и var и VaR - были разными переменными.
Почему то он решил обозначить символами ряд простых операций, вместо букв, такие как && вместо простого and  || = or итп . Что интересно набрать and or быстрее чем символы т.к. для символов надо нажать шифт.
Краткость, которой надо избегать, т.к. когда код пишет человек это возможный рассадник ошибок - приветствуется - такие конструкции как int ((int*) ())(int *) () или та же i = ++i + ++i. Возможно сделано это для того чтобы код был нечитаемым для неподготовленных, казался "сложным".

Или та же возможность - объявлять переменные в любом месте - помню в php - Си подобном языке часто происходило такое - пишешь название вызываемой функции - и в ее параметрах ошибаешься на одну букву - все ок, но не работает. Получалось при вызове функции вместо уже объявленной переменной (var) создавалась новая переменная(vaar), которая и отправлялась в функцию.

Разработичиков языка паскаль, позже Delphi уважаю за то что они создали язык с учетом возможностей человека, с учетом того что человек часто бывает невнимателен.
В C# кстати также пришли к этому, ряд конструкций из С и С++ выбросили. Возможно повлияло на это еще и то что MS купили одного из талантливых разработчиков языка Delphi.


 
Кто б сомневался ©   (2011-12-22 00:23) [53]


> Возможно сделано это для того чтобы код был нечитаемым для
> неподготовленных, казался "сложным".

Эта фраза к символам относится.


 
O_o   (2011-12-22 00:38) [54]


> Почему то он решил обозначить символами ряд простых операций,
>  вместо букв, такие как && вместо простого and  || = or
> итп . Что интересно набрать and or быстрее чем символы т.
> к. для символов надо нажать шифт.

копитан очевидность подсказывает, что Ц разрабатывался, когда еще байты экономили
так же КО утверждает, что || или  OR особо никого не заботят (в mysql, например, можно и так и так), кроме упертых человеков, ниразу собсно на Цподобных языках неписавших

> ((int*) ())(int *) ()

признайся, что от балды придумал
это не скомпилируется
больше не ври

>  Возможно сделано это для того чтобы код был нечитаемым
> для неподготовленных, казался "сложным".

шизофазия?

> Или та же возможность - объявлять переменные в любом месте
> - помню в php - Си подобном языке часто происходило такое
> - пишешь название вызываемой функции - и в ее параметрах
> ошибаешься на одну букву - все ок, но не работает. Получалось
> при вызове функции вместо уже объявленной переменной (var)
> создавалась новая переменная(vaar), которая и отправлялась
> в функцию.

так кто идиот?


 
Кто б сомневался ©   (2011-12-22 00:44) [55]


> O_o   (22.12.11 00:38) [54]

Одна вода.

Т.е. ты хочешь подчеркнуть что ошибаются только идиоты?
Само собой ты не идиот, и никогда не ошибаешься.


 
Кто б сомневался ©   (2011-12-22 00:49) [56]


> копитан очевидность подсказывает, что Ц разрабатывался,
> когда еще байты экономили


Серьезно? Напомню паскаль в 1970 разрабатывался.


 
antonn ©   (2011-12-22 00:50) [57]


> Почему то он решил что лучше будет регистрозависимый код
> - Var и var и VaR - были разными переменными.

о дааа, это вообще современнее некуда, впендюрить регистрозависимость :)


> Или та же возможность - объявлять переменные в любом месте

а это вроде на дотнете повыше чем 2.0, там же тип можно не всегда указывать


 
O_o   (2011-12-22 00:50) [58]


> Кто б сомневался ©   (22.12.11 00:44) [55]

я где-то говорил, кто, где и когда ошибается? %-)
не люблю фанатиков

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

посмотреть, что востребовано больше - поиск по hh.ru, monster.com дадут вполне адекватный результат

зы
о
> ((int*) ())(int *) ()
ответ будет?


 
O_o   (2011-12-22 00:53) [59]


> Серьезно? Напомню паскаль в 1970 разрабатывался.

напомню
паскаль - учебный язык
а Ц вполне использовался в написании, например, UNIX


 
DiamondShark ©   (2011-12-22 00:53) [60]


> antonn ©   (21.12.11 19:47) [5]
> да ладно ini, а вот, например, посмотреть как реализованы
> методы всяких FtpWebRequest/FtpWebResponse - как? только
> описание

ILDASM в комплект входит.

А Reflector тебе хоть на сишарп, хоть на дельфи исходник выдаст.


 
antonn ©   (2011-12-22 00:56) [61]


> ILDASM в комплект входит.
>
> А Reflector тебе хоть на сишарп, хоть на дельфи исходник
> выдаст.

я про то, чтобы была возможность нормально смотреть и править генофонд, как в дельфи


 
Inovet ©   (2011-12-22 00:56) [62]

> [52] Кто б сомневался ©   (22.12.11 00:22)
> ++i + ++i

такой красивее:)
i+++++i


 
Inovet ©   (2011-12-22 00:58) [63]

> [52] Кто б сомневался ©   (22.12.11 00:22)
> php - Си подобном языке часто происходило такое

В Си такое не произойдёт.


 
Anatoly Podgoretsky ©   (2011-12-22 00:59) [64]

Одной из целей было обеспечение высоких зарплат.


 
DiamondShark ©   (2011-12-22 01:00) [65]


> Юрий Зотов ©   (21.12.11 22:31) [27]
> Так кто-нибудь скажет, стандартизован ли в C (C++, C#) порядок
> вычисления параметров функции при ее вызове? Или неопределенность
> в моем любимом примере так и остается?

Если у программиста где-то появился код (не для "чиста паржать", а реальный), зависящий от порядка вычисления параметров, то такого кадра надо ссаными тряпками гнать вон из профессии.


 
Кто б сомневался ©   (2011-12-22 01:00) [66]


> O_o   (22.12.11 00:50) [58]
>
>
> > Кто б сомневался ©   (22.12.11 00:44) [55]
>
> я где-то говорил, кто, где и когда ошибается? %-)

[54] В самом конце.

> не люблю фанатиков

Также не люблю фанатиков. Я рассуждаю объективно.
Если ты думаешь что это не так, аргументируй.


> посмотреть, что востребовано больше - поиск по hh.ru, monster.
> com дадут вполне адекватный результат

Эт ты о чем?
Эмм. Мы как бы рассуждаем о другом. О том что С язык когда придумывали, не задумывались о читабельности кода, удобстве и его восприятии для человека.


> паскаль - учебный язык

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


 
O_o   (2011-12-22 01:02) [67]


> Если у программиста где-то появился код (не для "чиста паржать",
>  а реальный), зависящий от порядка вычисления параметров,
>  то такого кадра надо ссаными тряпками гнать вон из профессии.

я специально не стал это писать
жду таки ответ на счет делфи в такой ситуации


 
DiamondShark ©   (2011-12-22 01:06) [68]


> я про то, чтобы была возможность нормально смотреть и править
> генофонд, как в дельфи

Смотри и правь, кто мешает?

Поставь Reflector плагином к студии. Будешь видеть исходник (причём, язык на выбор, хочешь -- сишарп, хочешь -- бейсик, хочешь -- паскаль), сможешь трассировать на уровне исходника.

Декомпилируй илдасмом или тем же рефлектором (он тебе даже студийный проект создаст), потом пересобери.

Я так в 1.1 баги в System.Data правил, в 2.0 их потом поправили.
Нот э рокет сайнс.


 
O_o   (2011-12-22 01:07) [69]


> [54] В самом конце.

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


> Если ты думаешь что это не так, аргументируй.

что аргументировать?


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

где я ошибся? :-\


 
DiamondShark ©   (2011-12-22 01:12) [70]


>  return sum (i, i++); // Результат зависит от порядка вычисления параметров

Кстати, бред. Не зависит.
Есть компиляторы, которые кладут болт на строгое следование правилам в сценариях, которые у психически здорового кодера могут возникнуть только прикола ради.
Это не баг, это фича.


 
O_o   (2011-12-22 01:14) [71]


> DiamondShark ©   (22.12.11 01:12) [70]

вопрос был о стандарте официальном
логикой-то то всем понятно, но ЮЗ хочет пункт стандарта, как я понял
на память не помню, искать лень


 
знайка   (2011-12-22 01:19) [72]

Для меня регистрозависимость является удобством и "объявление в любом месте" тоже.


 
DiamondShark ©   (2011-12-22 01:27) [73]


> O_o   (22.12.11 01:14) [71]

Этак ЮЗ скоро захочет пункт стандарта, в котором сказано, например, что любой литерал примитивного типа равен сам себе.

Сайд-эффект постфиксного оператора должен проявляться ПОСЛЕ того, как вычислено выражение, в котором используется терм с постфиксным оператором.
В отцитированном примере -- ПОСЛЕ возврата управления из вызова sum().


 
O_o   (2011-12-22 01:28) [74]

неожиданно для меня
таки UB, но не всегда
на совести программера

http://stackoverflow.com/questions/621542/compilers-and-argument-order-of-evaluation-in-c

на днях должен придти новый стандарт в бумаге, посмотрю там


 
Юрий Зотов ©   (2011-12-22 02:36) [75]

> DiamondShark ©   (22.12.11 01:00) [65]

Всегда с большим удовольствием читаю Ваши сообщения. Вы открываете для меня много нового, о чем я раньше даже и не догадывался. Большое Вам за это спасибо.


 
Кто б сомневался ©   (2011-12-22 03:37) [76]


> O_o   (22.12.11 01:07) [69]


Ты запутался в трех соснах. Это напоминает треп с фанатиком христианства. Ему говоришь вполне объективные вещи, а он дальше про Ерему, думая что Ерему реально ругают.
Никто не ругает С, с чего ты взял.
Я написал что С - язык когда его разрабатывали, про читабельность кода и человеческий фактор не особо задумывались.
Ничто разработчикам не мешало сделать язык приближенным к английскому тексту, как тот же паскаль, втч и экономия байт, - т.к. это позволит совершать меньше ошибок, и легче читать его, и быстрее выучить не знающему его. Не зря тот же паскаль являлся учебным языком - как раз из за того что его код очень похож на английский текст - его читаешь как книгу, причем даже неподготовленный может догадаться что там происходит.


 
TUser ©   (2011-12-22 04:52) [77]

Чего я не понимаю, - зачем писать, используя заведомо сомнительные конструкции, навроде z (i, i++). Конечно, это греет душу программиста, вот, мол, какие я тонкости языка умею использовать, но создает проблемы для читателя кода (да, он, конечно, ламер мастдайный), а также в случае миграции на другой компилятор.


 
Kerk ©   (2011-12-22 07:23) [78]


> O_o   (21.12.11 23:32) [41]
>
> > Где это сказано? Если нигде, значит как хочу - так и вычисляю.
>
> кстати, (не для холивара ради), а для делфи стандарт есть?

В Delphi порядок вычисления операндов зависит от calling convention данной функции.
А стандарта на Delphi вообще нет. Но т.к. производитель фактически один, это не большая проблема.


 
Псарь   (2011-12-22 08:29) [79]


> Кто б сомневался ©  


+86748


 
Inovet ©   (2011-12-22 09:06) [80]

> [52] Кто б сомневался ©   (22.12.11 00:22)
> Почему то он решил обозначить символами ряд простых операций,
> вместо букв, такие как && вместо простого and  || = or
> итп .

Он же ещё гад такой придумал сделать совершенно нечитаемые "+", "-", "*", "/" вместо понятных add, minus, multiplicate, divide, subtract. И верх его больного воображения - "%" вместо mod это же он в своих фантазиях представлял вот под этими кружочками с палочкой - дробь. Ужас! А может не дробь, а... ну вы поняли.


 
Ega23 ©   (2011-12-22 09:07) [81]


> я про то, чтобы была возможность нормально смотреть и править
> генофонд, как в дельфи


За более 10 лет генофонд пришлось править один единственный раз. Связано было именно с 2010-й Delphi и с тем, как оно MSXMLDOM создавало.
Один раз.


 
Kerk ©   (2011-12-22 09:10) [82]


> Inovet ©   (22.12.11 09:06) [80]

Евгений Ваганыч?


 
Ega23 ©   (2011-12-22 09:12) [83]

=, == (а особенно === в некоторых быдлоязыках) - вот где Адъ и Израиль.
Когда приходится писать в стиле if (5==a) штоб не дай Б-г не ошибиться...
Это не хорошо.

Хотя что-то слышал на этот счёт, мол, поправили? Сишники, проясните, кто в теме?


 
antonn ©   (2011-12-22 09:14) [84]


> За более 10 лет генофонд пришлось править один единственный
> раз.

а мне за 5 лет только 2.5 раза


 
Inovet ©   (2011-12-22 09:19) [85]

> [83] Ega23 ©   (22.12.11 09:12)
> if (5==a) штоб не дай Б-г не ошибиться...

Компиляторы ворниг выдают на if(a=5). Но вот так некоторые пишут для типа оптимицации
if(a=b=с==5)


 
Inovet ©   (2011-12-22 09:22) [86]

> [82] Kerk ©   (22.12.11 09:10)
> Евгений Ваганыч?

Это Перосян что ли под псевдонимом Кернига Ритчи творил?


 
euru ©   (2011-12-22 10:34) [87]


> Кто б сомневался ©   (22.12.11 03:37) [76]


> Ничто разработчикам не мешало сделать язык приближенным
> к английскому тексту, как тот же паскаль
> его код очень похож на английский текст

Наверно, вам встречались тексты (художественные произведения, периодика), написанные в таком стиле, раз вы это утверждаете. Можно увидеть пару примеров?


> быстрее выучить не знающему его

Незнающие почему-то бейсик учат быстрее паскаля.


> даже неподготовленный может догадаться что там происходит.

Неподготовленный, а особенно если он ещё и английского языка не знает, никогда не догадается.

А теперь сравним два языка A и B.

Операция присваивания
// язык А                                      |   * язык В
x := x + 10;                                   |   add 10 to x.


Вызов подпрограммы
// язык А                                      |   * язык В
proc(a, b);                                    |   perform proc using a changing b.


Цикл
// язык А                                      |   * язык В
for i := 1 to n do begin                       |   do n times.
  ...                                         |     ...
end;                                           |   enddo.


Обработка массива
// язык А                                      |   * язык В
for i := low(a) to high(a) do                  |   loop at a assigning <a>
begin                                          |       where fld1 = "a"
  if a[i].fld1 = "a" and                      |         and fld2 between 10 and 20.
    a[i].fld2 >= 10 and a[i].fld2 <= 20 then  |     clear: <a>-fld3, <a>-fld4.
  begin                                       |   endloop.
    a[i].fld3 = 0;
    a[i].fld4 = "";
  end;
end;


Какой из этих двух языков будет понятен большему количеству людей?


 
Kerk ©   (2011-12-22 11:00) [88]


> Какой из этих двух языков будет понятен большему количеству
> людей?

Безусловно второй. В американских ВУЗах проводились исследования среди студентов, начинающих изучать программирование. Студентов, способных описывать реализацию решения задач на естественном языке в разы больше чем тех, кто преуспевает в этом, используя языки программирования.

Твой пример с циклом очень показателен. Синтаксис типа
for item in list do...
воспринимается начинающими намного проще, чем
for i := 0 to list.count-1 do
begin
 item := list[i];


P.S. Только не надо доводить до абсурда, заменяя общеизвестную со школы математическую нотацию хрен знает чем. К чему это петросянство?


 
Rouse_ ©   (2011-12-22 11:14) [89]


> DiamondShark ©   (22.12.11 01:00) [65]
> Если у программиста где-то появился код (не для "чиста паржать",
>  а реальный), зависящий от порядка вычисления параметров,
>  то такого кадра надо ссаными тряпками гнать вон из профессии.

"Complete Boolean Eval" для "чиста паржать" стало быть?
С включенным флагом почти весь VCL не соберется ибо выражения плана:
if (SomeVariable <> nil) and (SomeVariable.SomeParams <> nil) then
там рассованы по всему коду.
Ну так как, будем весь отдел разработки Эмбаркадеры ссаными тряпками гнать из профессии или пусть себе живут?


 
Игорь Шевченко ©   (2011-12-22 11:23) [90]

euru ©   (22.12.11 10:34) [87]

COBOL rulezz fareva


 
Kerk ©   (2011-12-22 11:36) [91]

Удалено модератором


 
OW ©   (2011-12-22 12:04) [92]


> Какой из этих двух языков будет понятен большему количеству
> людей?

Средний, которого тут нет.
читается лучше
>   add 10 to x.

> for i := 1 to n do begin              
> times.
>   ...                                  
> end;                                    

> proc(a, b);

последнее плохо и там и там :)


 
Ega23 ©   (2011-12-22 12:09) [93]

Удалено модератором


 
DiamondShark ©   (2011-12-22 12:18) [94]


> Ничто разработчикам не мешало сделать язык приближенным  к английскому тексту, как тот же паскаль его код очень похож на английский текст

Паскаль так же похож на английский текст, как язык 1С похож на русский текст.


 
euru ©   (2011-12-22 12:31) [95]


> Игорь Шевченко ©   (22.12.11 11:23) [90]
> COBOL rulezz fareva

Не совсем. Это его родственник - АВАР.


 
euru ©   (2011-12-22 12:49) [96]


> OW ©   (22.12.11 12:04) [92]


> Средний, которого тут нет.

В отличие от среднего языки А и В реально существуют. Это Паскаль и АВАР.


> for i := 1 to n do begin times.

для i какой-то смайлик в пропорции 1 к n сделать начальные разы.
Утрирую, конечно. Но всё-таки чем такая конструкция понятнее "do n times"?


> последнее плохо и там и там :)

А аргументировать?


 
Ega23 ©   (2011-12-22 12:58) [97]


>  Но всё-таки чем такая конструкция понятнее "do n times"?


Она не то чтобы понятнее. Она унифицирована.
Если вводить "do n times", то тогда надо вводить "do n times step k", "do n times with some condition" и т.д.
А зачем?
Ну теоретически можно согласиться с for item in list. Наверное да, это удобно, если регулярно что-то перебирать, не заморачиваясь на порядок перебора.


 
Компромисс ©   (2011-12-22 13:02) [98]


> Ну теоретически можно согласиться с for item in list


Почему теоретически? Эта конструкция есть во многих ЯП.


 
OW ©   (2011-12-22 13:10) [99]


> euru ©   (22.12.11 12:49) [96]
Ega23 ©   (22.12.11 12:58) [97]

не, times там ни к чему, это так скопировалось :)

аргументировать последнее..
трудно.

> for item in list.

думаю понятнее всего.
т.е. современный delphi, которого, правда, сам еще не видел :), наверное, ближе к понятности.


 
euru ©   (2011-12-22 13:12) [100]


> Ega23 ©   (22.12.11 12:58) [97]


> Она не то чтобы понятнее. Она унифицирована.Если вводить
> "do n times", то тогда надо вводить "do n times step k",
>  "do n times with some condition" и т.д.
Т.е. конструкция "for..." менее понятна (хотя я спрашивал именно про понятность), но зато унифицирована.
Тогда как в ней описать варианты типа "do n times step k" и "with same conditions"? И если это всё-таки невозможно, почему тогда "for ... do" более унифицирована, чем "do n times"?


 
Anatoly Podgoretsky ©   (2011-12-22 13:13) [101]

> Inovet  (22.12.2011 09:06:20)  [80]

Тебе прямой путь в АДА, тогда сможешь писать так

С := A + B
С := Add(A. B)
С := "+"(A. B)


 
Ega23 ©   (2011-12-22 13:22) [102]


> Почему теоретически? Эта конструкция есть во многих ЯП.


Я не говорю, что её нет. Я говорю о её полезности. goto вот тоже есть, практически во всех ЯП.
Наверное да, полезна. Может быть даже удобна в чём-то. Но вот как-то не сложилось у меня дружба с foreach, не знаю почему.


 
euru ©   (2011-12-22 13:23) [103]


> OW ©   (22.12.11 13:10) [99]


> не, times там ни к чему, это так скопировалось :)
Хорошо. Убираем "times". Оставляем вопрос.


> аргументировать последнее..трудно.
Если оба плохи, но нет аргументов, можно предложить свой "идеальный" вариант.


> for item in list.
Это перебор элементов списка. А если нужен просто цикл? Предложите создавать список длиной n элементов?


 
Kerk ©   (2011-12-22 13:24) [104]


> Ega23 ©   (22.12.11 12:58) [97]
> у теоретически можно согласиться с for item in list. Наверное
> да, это удобно, если регулярно что-то перебирать, не заморачиваясь
> на порядок перебора.

Я конечно не считал, но по-моему 90% (а то и больше) всех циклов -- это обход какого-либо списка по порядку.


 
Inovet ©   (2011-12-22 13:25) [105]

> [101] Anatoly Podgoretsky ©   (22.12.11 13:13)
> С := A + B
> С := Add(A. B)
> С := "+"(A. B)

Нет, это сложно. Хочу так:
Приовить сумму А и Б в С


 
Ega23 ©   (2011-12-22 13:27) [106]


> Тогда как в ней описать варианты типа "do n times step k"
> и "with same conditions"?

with some condition - break.
do n times step k - я бы через while сделал
i := 0;
while i < n do
 try

 finally
   Inc(i, k)
 end;

ИМХО, усложнять язык дополнительной грамматической конструкцией, которая позволяет сделать что-то в две строчки, хотя существующие конструкции позволяют сделать это же что-то в четыре строчки - это должно быть весьма веское обоснование.


 
Ega23 ©   (2011-12-22 13:28) [107]


> Я конечно не считал, но по-моему 90% (а то и больше) всех
> циклов -- это обход какого-либо списка по порядку.


Вот если есть такая статистика, и если это действительно так - то да, такая конструкция крайне полезна, без базара.


 
Kerk ©   (2011-12-22 13:49) [108]


> Это перебор элементов списка. А если нужен просто цикл?
> Предложите создавать список длиной n элементов?

В некоторых языках возможна такая конструкция

for n in 1..10

воспринимается единообразно с обходом списка, а сравнивать ее читаемость вот с этим даже не хочется:

for (i=0; i < 10; i++)

:)


 
DiamondShark ©   (2011-12-22 13:53) [109]


> Rouse_ ©   (22.12.11 11:14) [89]

"Иван Василич, когда вы говорите, такое впечатление, что вы бредите" (Ц).

Речь шла о порядке вычисления АРГУМЕНТОВ, а ты приплёл схему булевских вычислений. К чему она тут -- Ктулху ведомо.

Но если тебя это беспокоит и ты хочешь об этом поговорить, давай поговорим о булевских вычислениях.

В классическом Паскале схема вычислений булевских выражений была одна: короткая, строго слева-направо. Это не случайность, Вирт в "Сообщении" особо отмечал, что такая схема выбрана сознательно исходя как раз из того соображения, что сценарии, подобные
if (SomeVariable <> nil) and (SomeVariable.SomeParams <> nil) then
или
while i < length and a[i] <> 0 do
являются ТИПОВЫМИ.

Потом появился Борланд со своим Турбо Паскалем. В него был введён, КАК РАСШИРЕНИЕ над стандартом, переключатель компилятора $B. По умолчанию переключатель был в состоянии, соответствующем виртовскому паскалю, а в документации было отмечено, что это опция для специальных случаев, когда важен побочный эффект.

И, наконец, состояние $B, а, следовательно, и поведение компилятора находится под контролем программиста, в отличие от рассматриваемого выше случая.

Так что весь ваш пафос, как обычно, мимо тазика.


 
euru ©   (2011-12-22 14:23) [110]


> Ega23 ©   (22.12.11 13:27) [106]

> with some condition - break.
Во-первых, break не является частью оператора for.
Во-вторых, break не накладывает условия на цикл.
В-третьих, оператор, аналогичный break, есть и в АВАРе. Поэтому всё, что с помощью break можно сделать в Паскале, можно сделать и в АВАРе.


> do n times step k - я бы через while сделал
В АВАРе оператор while также имеется. Но мы-то обсуждаем "for .. do" vs "do ... times".


 
OW ©   (2011-12-22 14:23) [111]


> euru ©  

на самом деле, я не готов продолжить разговор, т.к. паскале-ориентированная запись, видимо, все же зашоривает глаза.
do N times
может и лучше чем
for i := 0 to N do

тогда, почему сказал..
наверное потому, что не вижу переменную цикла. т.е. цикл получается по-любому выполняется N раз. Внутри можно ввести переменную, для вычисления какая это итерация по счету и т.п.
Как то все равно, контроль над iterationNumber не видеть непривычно.
(И отсутствует даже теоретическая возможность его сменить
var
 i: integer;
begin
 for i := 0 to 9 do
 begin
   if i = 5 then
     asm
       mov i, 7
     end;
   memo1.Lines.Add(IntToStr(i));
 end;
Да, плохо, может быть неверно в общем случае, никогда не пользуюсь, но так как-то понятнее, именно как это работает все все нутри
)

ну и вторая причина, почти что первая,
не так уж много иных вариантов/языков я знаю :)


 
Андреевич   (2011-12-22 14:30) [112]


> Но вот как-то не сложилось у меня дружба с foreach, не знаю
> почему.

ну бывают же не индексированные списки (к сожалению приходится с ними часто иметь дело :( )


> do N times
> может и лучше чем
> for i := 0 to N do

она лучше пока не нужен i в теле цикла


 
Компромисс ©   (2011-12-22 14:32) [113]

OW ©   (22.12.11 14:23) [111]

Если важно знать номер итерации, то do n time не подходит, конечно.
Кстати, в некоторых языках есть одновременно 2 for:
1) for(i in list) - перебирает индексы, то есть в i записывается индекс и поэтому внутри цикла можно обратиться к list[i] или даже list[i] = anotherList[i]
2) for each(item in list) - перебирает сами элементы, то есть в item записывается list[i]


 
Rouse_ ©   (2011-12-22 14:36) [114]


>  DiamondShark ©   (22.12.11 13:53) [109]
>
>
> > Rouse_ ©   (22.12.11 11:14) [89]
>
> "Иван Василич, когда вы говорите, такое впечатление, что
> вы бредите" (Ц).

"Циля, закройте рот с той стороны" (Ц).

Речь шла за то, что поведение реализованного кода может меняться, причем в том числе и по желанию программиста, на что и был дан пример. Что собственно сродни и использованию стороннего компилятора, который может рассчитывать параметры не стой стороны, бо не стандартизировано.


 
Romkin ©   (2011-12-22 14:36) [115]


> В отличие от среднего языки А и В реально существуют. Это
> Паскаль и АВАР.

как насчет такой середины?

for i in range(1, n+1):
   ...

for i in a:
   if (a[i].fld1 == "a") and (10 <= a[i].fld2 <= 20):
       a[i].fld3, a[i].fld4 = 0, " "


 
Kerk ©   (2011-12-22 14:37) [116]


> 1) for(i in list) - перебирает индексы, то есть в i записывается
> индекс и поэтому внутри цикла можно обратиться к list[i]
> или даже list[i] = anotherList[i]
> 2) for each(item in list) - перебирает сами элементы, то
> есть в item записывается list[i]

Это уже шаг в сторону перла :)


 
Romkin ©   (2011-12-22 14:40) [117]

НУ вот, фигню написал :(
for x in a:
   if (x.fld1 == "a") and (10 <= x.fld2 <= 20):
       x.fld3, x.fld4 = 0, " "


 
euru ©   (2011-12-22 14:42) [118]


> OW ©   (22.12.11 14:23) [111]

> наверное потому, что не вижу переменную цикла. т.е. цикл
> получается по-любому выполняется N раз.
"Ты суслика видишь?" - "Нет." - "А он есть."
Внутри каждого цикла ведётся системная переменная sy-index, хранящая номер текущей итерации. При чём это значение можно легально изменить, не прибегая ни к каким ассемблерным вставкам, и это значение будет действительным до следующей итерации.
Единственный недостаток - это если имеются вложенные циклы, и во внутреннем цикле понадобится значение итератора внешнего цикла. Тогда для этих целей нужно заводить дополнительную переменную, в которую будет копироваться значение итератора внешнего цикла.


 
Ega23 ©   (2011-12-22 14:49) [119]


> Но мы-то обсуждаем "for .. do" vs "do ... times".


Так цимес-то в том, что нет такой необходимости.
Давайте тогда вводить все команды на все случаи жизни.

program AvtoShema;
begin
 ZdelayTakChtobyAvtoShemaRabotalaHoroshoIBezGlukov;
end.


 
euru ©   (2011-12-22 15:00) [120]


> Андреевич   (22.12.11 14:30) [112]
> она лучше пока не нужен i в теле цикла

> Компромисс ©   (22.12.11 14:32) [113]
> Если важно знать номер итерации, то do n time не подходит, конечно.

Номер итерации хранится в системной переменной, значение которой доступно внутри цикла и содержит номер текущей итерации (см. [118]).


 
OW ©   (2011-12-22 15:05) [121]


> euru ©   (22.12.11 14:42)

это я понимаю, там через ECX loop идет скорее всего, иное трудно представить, если только искусственно что-то сделать.

А такой язык, что бы было можно
   push 50;
>  ZdelayTakChtobyAvtoShemaRabotalaHoroshoIBezGlukov;
   mov EAX, 35
>  ZdelayTakChtobyAvtoShemaRabotalaHoroshoIBezGlukov;
и результаты разные :)

>> насчет середины
неплохо, конечно.
Хочешь так, хочешь этак.
с другой стороны - много команд, дублирующих друг друга, позволит писать смешано и будет труба полная :)

По коду выше, под номером 4, где сплошь [] [] и индексы, индексы - вот это в глаза бросается, конечно. Как -то описательно если можно было бы изначально делать - может бы было привычно.
т.е.
Мне паскаль нравится. Если его расширяют новыми версиями - хорошо.
Пусть кто-то пишет как позволяют новые правила/синтаксис.
Сам пока подожду :)


 
Kerk ©   (2011-12-22 15:05) [122]


> euru ©   (22.12.11 15:00) [120]

Так чем вариант из [108] хуже этого извращения с системными переменными? :)


 
Компромисс ©   (2011-12-22 15:10) [123]


> Это уже шаг в сторону перла :)


Это не перл, но мне очень нравится :) Особенно если вот так:

var obj:Object = new Object();
obj.firstName = "Vasya";
obj.lastName = "Pupkin";
for (var propertyName:String in obj){
 trace(property + "=" + obj[propertyName]);
}


Такие шикарные Class Factory писать можно... Они, кстати, даже есть в стандарте.
Типа
var classFactory:IFactory = new ClassFactory(Label);
classFactory.properties = {text:"Vasya Pupkin", height:190}


 
Компромисс ©   (2011-12-22 15:12) [124]


> Номер итерации хранится в системной переменной, значение
> которой доступно внутри цикла и содержит номер текущей итерации
> (см. [118]).


ИМХО, негоже использовать хакерские приемы. А ну как реализация изменится?


 
euru ©   (2011-12-22 15:21) [125]


> Romkin ©   (22.12.11 14:36) [115]

> как насчет такой середины?
Это смотреть в сторону C# с LINQ.


 
Anatoly Podgoretsky ©   (2011-12-22 15:24) [126]

> Ega23  (22.12.2011 13:28:47)  [107]

Данная клнструкция всего лишь вариация FOR, можно спокойно жить без нее и
жили


 
Kerk ©   (2011-12-22 15:24) [127]


> Компромисс ©   (22.12.11 15:10) [123]

Нет, я про то, что синтаксис двух вариантов цикла очень похожий. Такие моменты имеют тенденцию ускользать от внимания и вести к неприятным багам.  К тому же, человеку не знающему язык, вообще непонятно в чем разница между циклами, т.е. до естественности тут далеко.


 
euru ©   (2011-12-22 15:47) [128]


> Kerk ©   (22.12.11 15:05) [122]

> Так чем вариант из [108] хуже этого извращения с системными переменными? :)
Я не говорил, что этот вариант хуже. Просто такого варианта нет в паскале, код которого "очень похож на английский текст" [76],и "даже неподготовленный может догадаться что там происходит" [76]. А именно для этого языка я привёл примеры из другого языка.

А вообще, хотя всю сознательную жизнь программировал на паскале и Delphi, а последние 9 лет на АВАРе, си-подобный синтаксис мне кажется более удобным (если им, конечно, пользоваться с умом).


 
Компромисс ©   (2011-12-22 16:14) [129]


> Нет, я про то, что синтаксис двух вариантов цикла очень
> похожий. Такие моменты имеют тенденцию ускользать от внимания
> и вести к неприятным багам.  К тому же, человеку не знающему
> язык, вообще непонятно в чем разница между циклами, т.е.
>  до естественности тут далеко.


Да, согласен. Но не вводить же for index и for element...


 
Ega23 ©   (2011-12-22 16:15) [130]


> си-подобный синтаксис мне кажется более удобным

Вот уж что-что, а синтаксис сравнивать, ИМХО, последнее дело.
* и & или ^ и @ - дело сугубо привычки. Регистрозависимость... Ну я и так всегда код выдерживаю в ключе регистрозависимости.
++ vs dec - да тоже ерунда. Вот скобочки писать для функции без параметров как-то напрягает. Но не особо. В Delphi тоже пустые скобки допускаются, это просто нас развратил Code Insight.
Возможность ++i и i++ - лично я никогда особых преимуществ не видел, ИМХО, только запутывание. А должно быть всё "пусть безобразно, но единообразно" (с).


 
Ega23 ©   (2011-12-22 16:17) [131]

И всё это нытьё по-поводу синтаксиса исключительно для тех, кто одним из них толком никогда не пользовался. Когда приходилось и на Delphi и на JS одновременно писать, то уже где-то через неделю при переключении окошек редактора в башке щёлкал триггер переключения синтаксиса.


 
Компромисс ©   (2011-12-22 16:36) [132]


> Когда приходилось и на Delphi и на JS одновременно писать,
>  то уже где-то через неделю при переключении окошек редактора
> в башке щёлкал триггер переключения синтаксиса.


Немного не так. Надо работать не меньше недели на одном, а потом переключиться на неделю на другой. Причем, чтоб языки были во многом похожи.
Вот тогда я реально начинал на java писать private var obj: Object вместо private Object obj, а вместо public String toString(){...} писал  public function toString():String{...} :)


 
Inovet ©   (2011-12-22 17:19) [133]

> [130] Ega23 ©   (22.12.11 16:15)
> Возможность ++i и i++ - лично я никогда особых преимуществ
> не видел

Есть там нюансы - operator++() будет вызвана до или после, а в ней мало ли чего наворочено.


 
Ega23 ©   (2011-12-22 17:46) [134]


> Есть там нюансы


да я в курсе нюансов. Я про преимущества.


 
brother ©   (2011-12-22 20:14) [135]

> [38] Dennis I. Komarov ©   (21.12.11 23:15)

я думал это прикол...


 
jack128_   (2011-12-22 23:20) [136]


>  Но вот как-то не сложилось у меня дружба с foreach, не
> знаю почему.

Я могу объяснить, почему в дельфе у меня не сложилось с for in .
Допустим я редакторе напишу:
"for"
Мне тут же генерируется шаблон

for I := 0 to List.Count - 1 do  + объявление переменной I в секцию var. Мне только название коллекции вместо List нужно набрать.

Для for in мне нужно самому переменную объявлять, вспоминать, какой там конкретно тип в коллекции сидит, в общем  вагон проблем созданных из ничего.

Для сравнения - шарп + resharper
Я набираю
"foreach"
генерируется заглушка:
foreach(var [item] in [Items])
{
[]
}
// квадратными скобками показаны плейсхолдеры, по которым можно табом перемещаться.
сначала фокус стоит на Items, причем выпадает popup со списком колекций. Выбираю например Orders + жму Tab, перехожу на item , тут название переменной _автоматом_ меняется на основании имени коллекции (в данном случае "order"), жму еще раз Tab поподаю в тело цикла.

Вывод то прост: IDE (не язык, а именно IDE) определяет сознание в таких мелких улучшениях синтаксиса.
Вот если бы в delphi ide была такая же поддержка for in,  как VS для foreach, то я б только им и пользовался, ибо индекс нужен не часто. Но что имеем, то имеем.


 
DVM ©   (2011-12-22 23:39) [137]


> Rouse_ ©   (22.12.11 11:14) [89]
>
> С включенным флагом почти весь VCL не соберется ибо выражения
> плана:
> if (SomeVariable <> nil) and (SomeVariable.SomeParams <>
> nil) then
> там рассованы по всему коду.
>
>

Меня всегда напрягали такие места. И обычно всегда я переписывал на 2 штуки IF. От греха.


 
antonn ©   (2011-12-22 23:41) [138]

не знаю кому как, а мне перебор по for дает больше уверенности в переборе именно по индексу, foreach до сих пор (5 лет с пхп) просто внутренне не дает уверенности в порядке перебора в той последовательности что они поступали в список :)


 
jack128_   (2011-12-22 23:46) [139]


> а мне перебор по for дает больше уверенности в переборе
> именно по индексу, foreach до сих пор (5 лет с пхп) просто
> внутренне не дает уверенности в порядке перебора в той последовательности
> что они поступали в список :)

Это фобии.

Как сам класс коллекции реализовал GetEnumerator()/GetItem(Index: Integer)  в таком порядке и будет перебор, никаких преимуществ у перебора по индексу тут нету.


 
Игорь Шевченко ©   (2011-12-22 23:47) [140]


> foreach до сих пор (5 лет с пхп) просто внутренне не дает
> уверенности в порядке перебора в той последовательности
> что они поступали в список


И не должен


 
DVM ©   (2011-12-22 23:51) [141]


> antonn ©   (22.12.11 23:41) [138]


> foreach до сих пор (5 лет с пхп) просто внутренне не дает
> уверенности в порядке перебора в той последовательности
> что они поступали в список :)

а for разве тебе переберет их в той последовательности что они поступали?


 
antonn ©   (2011-12-22 23:59) [142]


> Это фобии.
>

наверное, но по индексу как-то спокойнее :)


 
DiamondShark ©   (2011-12-23 00:02) [143]


> не знаю кому как, а мне перебор по for дает больше уверенности
> в переборе именно по индексу,

А зачем вообще нужен перебор по индексу? Я ещё понимаю, если перебор по значению ключевого атрибута. Но в 99.999% случаев индекс в коллекции не имеет никакого смыслового отношения к элементам коллекции.


> foreach до сих пор (5 лет с пхп) просто внутренне не дает
> уверенности в порядке перебора в той последовательности
> что они поступали в список :)

Создай TStringList, задай Sorted := true и твой любимый индекс не будет иметь никакого отношения к последовательности поступления.

Коллекция с гарантированным порядком элементов -- это более специализированный класс коллекций. Если твой код завязан на более специализированный клас, то он хуже генерализован и предъявляет более жёсткие требования к окружению. Что, в свою очередь, ухудшает переносимость, расширяемость и сопровождаемость.


 
DiamondShark ©   (2011-12-23 00:05) [144]

Удалено модератором
Примечание: оскорбление участников форума


 
antonn ©   (2011-12-23 00:05) [145]

путь и не нужен именно индекс в цикле, но при экспорте во всякие ексели для foreach() приходится заводить счетчик для номера строк.
но бывает и индекс нужен, например при пробеге цикла для двух списков с одинаковым содержимым


 
DiamondShark ©   (2011-12-23 00:10) [146]


> заводить счетчик для номера строк.

Дежа вю такое дежа вю.


> при пробеге цикла для двух списков с одинаковым содержимым

как это?


 
DVM ©   (2011-12-23 00:11) [147]


> DiamondShark ©   (23.12.11 00:05) [144]

Тебя послушать, так тут сплошные знахари и неучи собрались.


 
antonn ©   (2011-12-23 00:16) [148]


> Дежа вю такое дежа вю.

вставка в ячейку через одну начиная с определенной строки. м?


> как это?

два индексированных списка с одинаковым кол-вом элементов, так точнее


 
Anatoly Podgoretsky ©   (2011-12-23 00:31) [149]

> antonn  (23.12.2011 00:05:25)  [145]

Второй список лишний


 
antonn ©   (2011-12-23 00:41) [150]


> Anatoly Podgoretsky ©   (23.12.11 00:31) [149]
>
> > antonn  (23.12.2011 00:05:25)  [145]
>
> Второй список лишний

А в Эстонии тормозуха самая лучшая


 
antonn ©   (2011-12-23 00:43) [151]

Ах да, еще стоит подумать над ответом в [149], потому как два списка содержащих одни и теже значения вовсе не одно и тоже что один список с теми же значениями. В процессе работы с ними это может быть очень даже очевидно


 
Kerk ©   (2011-12-23 00:52) [152]

По теме всех этих ваших циклов
http://roman.yankovsky.me/?p=73


 
DiamondShark ©   (2011-12-23 01:18) [153]


> Kerk ©   (23.12.11 00:52) [152]

У Свидетелей Иеговы тоже есть книжка, в которой находятся цитаты на все случаи жизни.


 
Германн ©   (2011-12-23 02:14) [154]

Удалено модератором


 
Компромисс ©   (2011-12-23 10:59) [155]

Из ссылки Kerk ©   (23.12.11 00:52) [152]

Составьте список работников удовлетворяющих хотя бы одному из следующих критериев.
1) Работник занимает должность техника и зарабатывает не менее 6 долларов в час.
...
Уже одни эти результаты указывают на возможность определения языка программирования на естественном уровне более понятного для новичков.


Странный мужик этот ваш "Л.А. Миллер".
SQL уже придуман много лет назад с его
1) select firstName, lastName
from employee
where post_id in (select id from posts where lower(name) like "*technic*")
and hourPayment >= 6
order by 1,2


 
KilkennyCat ©   (2011-12-23 11:06) [156]

Удалено модератором


 
OW ©   (2011-12-23 11:23) [157]

Удалено модератором


 
Inovet ©   (2011-12-23 11:29) [158]

Удалено модератором


 
Inovet ©   (2011-12-23 11:30) [159]

Удалено модератором


 
Думкин ©   (2011-12-23 11:39) [160]

Удалено модератором


 
Inovet ©   (2011-12-23 11:48) [161]

Удалено модератором


 
OW ©   (2011-12-23 12:29) [162]

Удалено модератором


 
Компромисс ©   (2011-12-23 12:36) [163]

Удалено модератором


 
OW ©   (2011-12-23 12:50) [164]

Удалено модератором


 
OW ©   (2011-12-23 12:53) [165]

Удалено модератором


 
Компромисс ©   (2011-12-23 13:20) [166]

Удалено модератором


 
OW ©   (2011-12-23 13:35) [167]

Удалено модератором


 
Лукошко   (2011-12-23 18:38) [168]

Удалено модератором


 
antonn ©   (2011-12-23 18:55) [169]

Удалено модератором


 
Лукошко   (2011-12-23 19:41) [170]

Удалено модератором


 
SQLEX ©   (2011-12-23 20:44) [171]

Удалено модератором :)


 
имя   (2011-12-25 13:52) [172]

Удалено модератором


 
Фокс Йожин   (2011-12-25 15:20) [173]

R.I.P Delphi


 
palva ©   (2011-12-25 17:38) [174]

На этой радостной ноте можно было бы и закончить.


 
MastaK ©   (2011-12-25 17:47) [175]

Удалено модератором


 
Кто б сомневался ©   (2011-12-25 18:23) [176]


> Фокс Йожин   (25.12.11 15:20) [173]
>
> R.I.P Delphi


Наверное когда в Delphi появится поддержка Linux (а уже есть компиляция программ MacOs (unix кстати) в XE2), поддержка мобильных платформ (а известные на базе linux) - на которые заявлено направление причем все поддержки НАТИВНЫЕ.
И все равно некоторые люди будут писать подобное, - видимо привычка. Я понимаю еще во времена  после D7 был смысл говорить Delphi RIP когда borland просто забила на язык, но когда говорят сейчас когда такое развитие...


 
Petr V. Abramov ©   (2011-12-25 18:38) [177]


> Кто б сомневался ©   (25.12.11 18:23) [176]


> аверное когда в Delphi появится поддержка Linux (а уже есть
> компиляция программ MacOs (unix кстати) в XE2), поддержка
> мобильных платформ (а известные на базе linux) - на которые
> заявлено направление

тогда, скорее всего, действительно будет второе пришествие.
а пока под вендой ситуация под названием стабильность: начинать под Д новые проекты смысла нет, но и старые под что-нить другое переводить тоже.


 
TUser ©   (2011-12-25 18:40) [178]


> начинать под Д новые проекты смысла нет

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


 
DVM ©   (2011-12-25 20:07) [179]


> начинать под Д новые проекты смысла нет, но и старые под
> что-нить другое переводить тоже.

А я вот недавно переделывал небольшой проектик с C# обратно на Delphi :)


 
Sergey Masloff   (2011-12-25 20:32) [180]

DVM ©   (25.12.11 20:07) [179]
>А я вот недавно переделывал небольшой проектик с C# обратно на Delphi :)
А смысл?


 
Андреевич   (2011-12-25 20:39) [181]

наверное тормозило сильно :)


 
asail ©   (2011-12-25 20:45) [182]


> Petr V. Abramov ©   (25.12.11 18:38) [177]

> начинать под Д новые проекты смысла нет

Чей-то? А если у нас в отделе все на Д пишут? Чего теперь, всех переучивать? Зачем?
Посему - начинали, начинаем, и будем начинать (надеюсь)...


> DVM ©   (25.12.11 20:07) [179]

> А я вот недавно переделывал небольшой проектик с C# обратно
> на Delphi :)

О! Мсье знает толк в извращениях!.. :)


 
DVM ©   (2011-12-25 20:52) [183]


> Sergey Masloff   (25.12.11 20:32) [180]


> А смысл?

Плохо работало потому что. Неустойчиво. Но вина в том была не столько C# сколько писавшего этот проект, думаю. Плюс функционал этого проектика надо было включить в другой проект большего размера, написанного на Delphi.


 
DVM ©   (2011-12-25 20:56) [184]


> Андреевич   (25.12.11 20:39) [181]
>
> наверное тормозило сильно :)

Это тоже. Не столько тормозило, сколько жрало ресурсов. Программа должна была в реальном времени анализировать пакеты, получаемые с драйвера libpcap, восстанавливать TCP сессии, выделять HTTP сессии и.т.д. Но опять же, виноват не C# думаю.


 
Юрий_   (2011-12-25 22:50) [185]


> , но и старые под что-нить другое переводить тоже.


Потихонечку переводим то, что можно. Сначала приходится погеморроиться, зато потом наступает момент, когда все это окупается - за счет снижения издержек на поддержку.


 
имя   (2011-12-25 23:10) [186]

Удалено модератором


 
имя   (2011-12-25 23:16) [187]

Удалено модератором


 
имя   (2011-12-25 23:19) [188]

Удалено модератором


 
имя   (2011-12-25 23:28) [189]

Удалено модератором


 
Кто б сомневался ©   (2011-12-26 00:54) [190]


> начинать под Д новые проекты смысла нет, но и старые под
> что-нить другое переводить тоже.


Я давно хотел понять почему некоторые говорят что смысла нет?
Вот конкретно объясни почему нет смысла. Какой смысл ты вкладываешь в эту фразу?
Почему на Ruby есть смысл (сужу по тому что его никто не ругает), который менее развит и менее популярен, а персонала знающего Ruby днем с огнем не найдешь, а на Delphi нет?
Результат получится не хуже C#, а т.к. код нативный лучше.
Время на разработку не дольше чем в C# - т.к язык развит. Тогда что вкладывают в эту фразу, обьясните. Что конкретно не так?
Меньше людей знающих delphi чем C#? Но это само собой, т.к. MS лидер в software.

Давай посмотрим статистику популярности среди языков для создания Win программ -
1. С и С++ 2. C# 3. Visual Basic 4. Delphi статистика Tiobe декабрь 2011.
C, С++ - тут все понятно, исключаем, т.к. на нем не пишут программы, обычно используют в игровых движках, в связках C#.
Остаются 2,3,4.
Вы хотите сказать что Visual Basic более развит чем Delphi? - нет конечно, но он на втором месте.

Дальше, в недалеком прошлом я работал на Auslogics в Сиднее, у них все проекты на Delphi, у них все новые проекты также начинаются на Delphi. Пишутся программы сложного уровня - дефрагментатор(учавствовал частично), антивирус, файрволл, восстановление удаленных файлов с NTFS и FAT (лично писал с нуля) итп.
Их бизнес процветает как вы видите, объясните их менеджменту почему им стоит быстренько переходить на другой язык и что это им даст? Мультиплатформу - нет. Тогда какой смысл?


 
Кто б сомневался ©   (2011-12-26 03:08) [191]


> Мультиплатформу - нет. Тогда какой смысл?

Более красивый GUI чем в Delphi? - тоже нет.
Увеличится рынок потребителей? - тоже нет. Возможно даже наоборот, т.к. программы станут более ресурсоемкие.
Разработка станет быстрее? - тоже нет
Затраты компании станут меньше? - нет, наоборот в разы больше (найм\переучивание персонала, покупка новых средств C#, разработка нового конвеера и компонент).
Возможно перспективы в будущем? - нет, мультиплатформа у Delphi уже в разработке, в C# что то не слышно официально.

Ну вот объясните мне, почему "начинать под Д новые проекты смысла нет".


 
Андреевич   (2011-12-26 11:02) [192]


> Разработка станет быстрее? - тоже нет

сейчас упор делается на побольше слоев абстракции и (как наверное должно быть) более простой интеграции. Собсно как раз разработка побыстрее, а вот результат...


 
знайка   (2011-12-26 11:33) [193]


> а вот результат...
С багами всегда?


 
И. Павел ©   (2011-12-26 11:41) [194]

> Более красивый GUI чем в Delphi? &#151; тоже нет.

Вы Expression blend тоже учли?


 
Ega23 ©   (2011-12-26 11:42) [195]


> 1. С и С++


Я бы всё-таки по разным пунктам разнёс.


 
Андреевич   (2011-12-26 14:25) [196]


> знайка   (26.12.11 11:33) [193]
>
> > а вот результат...
> С багами всегда?

зачем баги, есть и другие параметры приложения, например ресурсоемкость и зависимость от всяких компонентов :)


 
DiamondShark ©   (2011-12-26 14:27) [197]


> Вы хотите сказать что Visual Basic более развит чем Delphi?
>  - нет конечно, но он на втором месте.

Что значит "развит"?
Под Visual Basic есть:
1. Большое количество унаследованного кода
2. Большое количество специалистов
3. Нормальная поддержка и отсутствие маркетинговых потрясений со стороны производителя.

Рейтинг используемости ровным счётом ничего не говорит о "развитости" или пригодности для новых проектов.


> Их бизнес процветает как вы видите, объясните их менеджменту
> почему им стоит быстренько переходить на другой язык и что
> это им даст?

Вы так ненавязчиво подменили тезис.
Если у фирмы всё в шоколаде, то, скорее всего, переходить им ни к чему. Но.
Во-первых, почему вы заговорили о переходе сложившегося успешного бизнеса, когда вопрос был о начале нового?
Во-вторых, и вашей замечательной конторе было бы неплохо не класть все яйца в одну корзину, учитывая маркетинговый талант и уровень сервиса нунешних владельцев Дельфи.

Вы помните Дельфи-2005? Я помню. И я вас тоже могу спросить: объясните мне, пожалуйста, почему я должен был ждать пять лет, чтобы "новая" Дельфи достигла того уровня, который MSVS имела уже три года как?

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


 
DiamondShark ©   (2011-12-26 14:29) [198]


> И. Павел ©   (26.12.11 11:41) [194]
> Вы Expression blend тоже учли?

Огненная обезьяна из Улан-Удэ порвёт эти ваши бленды как тузик тряпочку.
Вот только ребята снова с отладчиком разберутся...


 
DVM ©   (2011-12-26 14:47) [199]


> DiamondShark ©   (26.12.11 14:27) [197]


> Во-вторых, и вашей замечательной конторе было бы неплохо
> не класть все яйца в одну корзину, учитывая маркетинговый
> талант и уровень сервиса нунешних владельцев Дельфи.

Если Embarcadero однажды закроется и Delphi умрет, то все проекты написанные на нем в полночь превратятся в тыкву?


 
Jeer ©   (2011-12-26 15:18) [200]


> однажды закроется и Delphi умрет


Delphi - не Fortran и даже не Prolog.
Если умрет, практически гарантировано немедленное инициирование переиздания ( перезаказ ) долгоиграющих проектов.


 
Jeer ©   (2011-12-26 15:19) [201]


> и даже не Prolog.


Тьфу - хотел сказать "не Кобол".


 
DiamondShark ©   (2011-12-26 15:19) [202]


> DVM ©   (26.12.11 14:47) [199]

Например, вполне вероятен сценарий, когда вам для сохранения контроля над своими проектами придётся пользоваться пиратской инсталляцией среды. Собственно, множество унаследованных проектов на старых версиях Дельфи так и сопровождается. Для наших широт это всем пофиг, а вот для сиднейской компании может оказаться неприемлемо.


 
Rouse_ ©   (2011-12-26 17:01) [203]


> DiamondShark ©   (26.12.11 15:19) [202]
> Например, вполне вероятен сценарий, когда вам для сохранения
> контроля над своими проектами придётся пользоваться пиратской
> инсталляцией среды

Поясни...
Вот у меня купленная в цатом году семерка (Delphi 7) и проект писанный на нем.
В каком сценарии может проявится пиратское ПО?
зы: я прост не в курсе про законодательство других стран, мошт там реально использование ПО несуществующей конторы считается пиратством, или... или я просто не понял пост.


 
DVM ©   (2011-12-26 17:26) [204]


> DiamondShark ©   (26.12.11 14:27) [197]


> Не прошло  и десяти лет, как Дельфи научилась не крэшится
> в редакторе.

Ага, а хваленая MS VisualStudio 2010 похоже разучилась. Недавно целый час с ней бился, пытаясь исправить в окне редактора в консольном проекте C++ название включаемого файла include ... вместо того, что было вставлено мастером проекта по-умолчанию. Стирание треугольной скобки или кавычки рушило среду.


 
CRLF   (2011-12-26 17:30) [205]

Удалено модератором


 
DiamondShark ©   (2011-12-26 17:32) [206]


> Rouse_ ©   (26.12.11 17:01) [203]

У конторы есть бизнес-приложение, написанное на заказ, сторонним разработчиком. Исходники, дока -- всё передали, всё есть. Дельфи нет. А нафиг им дельфи? У них и программиста в штате нету, исполнитель все материалы передал.

Надо что-то в приложении подправить. Находит эта контора специалиста -- меня, например, и спрашивает: "Делфи знаешь?", -- "Знаю", -- "Исходники, документы, всё есть. Возьмёшься?", -- "Возьмусь".

А Дельфи у меня нету. Ну, не то, чтобы совсем нету, легальной нету.
Контора не жадная, говорит, мол, купим одну девелоперскую лицензию, ты только пальцем ткни, какую. Смотрю я на их хозяйство, и начинаю репу чесать. Писалось всё на Д7, куча каких-то компонентов, которые существуют только в двоичном виде и для новых версий не существуют. В общем, перенос на доступную версию будет равносилен переписыванию трети кода с опасностью поломать другие две трети.
Когда я называю цену работы, заказчики смотрят на меня как-то недобро и осуждающе. И вот вздохнув над тяжкой долей, достаю я свою пиратку семёрки, качаю с файлопомоек древние компоненты, и дня через два отдаю клиентам предмет их вожделения. Клиент доволен: "Ну вот! А говорил, два месяца, да три штуки зеленью, можешь же, когда захочешь!"


 
картман ©   (2011-12-26 17:36) [207]


> DiamondShark ©  

зачетное сочетание профессионализма с ламерством


 
Rouse_ ©   (2011-12-26 17:36) [208]


> DiamondShark ©   (26.12.11 17:32) [206]
> У конторы есть бизнес-приложение, написанное на заказ, сторонним
> разработчиком. Исходники, дока -- всё передали, всё есть.
>  Дельфи нет.

Ну в принципе вариант, да...
Но это относится и к любым другим средствам разработки, а так, в принципе, да.


 
DiamondShark ©   (2011-12-26 17:42) [209]


> DVM ©   (26.12.11 17:26) [204]

Кто без греха, пусть первый бросит себя об камень.

У 2003 тоже приколов хватало, особенно если с зоопарком навешанных плагинов и компонентов, а вот 2008 реально радовала.

Но 2005-2006 дельфи по глючности и тормознутности стократ превосходили даже откровенно сыроватую VS2003. Собственно, в тот момент я на Дельфи и забил.


 
Anatoly Podgoretsky ©   (2011-12-26 17:53) [210]


> Когда я называю цену работы, заказчики смотрят на меня как-
> то недобро и осуждающе. И вот вздохнув над тяжкой долей,
>  достаю я свою пиратку семёрки, качаю с файлопомоек древние
> компоненты, и дня через два отдаю клиентам предмет их вожделения.
>  Клиент доволен: "Ну вот! А говорил, два месяца, да три
> штуки зеленью, можешь же, когда захочешь!"

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


 
DVM ©   (2011-12-26 18:04) [211]


> DiamondShark ©   (26.12.11 17:42) [209]


> Но 2005-2006 дельфи по глючности и тормознутности стократ
> превосходили даже откровенно сыроватую VS2003. Собственно,
>  в тот момент я на Дельфи и забил.

Сейчас много лучше стало. В Delphi XE я особых проблем не наблюдал вообще. Грузится правда она у меня много медленнее чем VS2010. Чего пока не могу сказать про XE2.


 
DiamondShark ©   (2011-12-26 18:05) [212]


> Rouse_ ©   (26.12.11 17:36) [208]

Да, к любым. 100% совместимости снизу-вверх нет нигде. Но удалённость от идеала, всё-же, разная. У Дельфи она повыше. Раньше это с лихвой  компенсировалось отсутствием достойных соперников. Теперь -- нет.


 
DiamondShark ©   (2011-12-26 18:09) [213]


> DVM ©   (26.12.11 18:04) [211]

Не спорю.
Но поруганой любви не вернёшь.


 
Игорь Шевченко ©   (2011-12-26 18:59) [214]


> В общем, перенос на доступную версию будет равносилен переписыванию
> трети кода с опасностью поломать другие две трети.


но есть нюанс - при покупке свежей версии можно а) получить в подарок старую версию, вплоть до D7, б) использовать лицензию на свежую версию в качестве легализации старой, вплоть до D7. Перенос в этом случае не является необходимым условием.


 
DiamondShark ©   (2011-12-26 19:23) [215]


> Игорь Шевченко ©   (26.12.11 18:59) [214]

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


 
Игорь Шевченко ©   (2011-12-26 19:36) [216]

DiamondShark ©   (26.12.11 19:23) [215]

Про подарки:

http://www.embarcadero.com/products/delphi/previous-versions

Про легализацию сходу найти не могу, увы.


 
Ega23 ©   (2011-12-26 19:40) [217]


> DiamondShark ©   (26.12.11 19:23) [215]
>
>  Если оно так


Ну вроде так было.


 
Anatoly Podgoretsky ©   (2011-12-26 19:56) [218]

> Игорь Шевченко  (26.12.2011 19:36:36)  [216]

you also get access to licenses for older versions - регистритуется на
сайте.
Если нужны подробности, то в sql.ru можно задать вопрос и если подойдет kdv
то получишь полный ответ.


 
Игорь Шевченко ©   (2011-12-26 19:58) [219]

Anatoly Podgoretsky ©   (26.12.11 19:56) [218]

c kdv можно и без sql.ru связаться :)


 
Anatoly Podgoretsky ©   (2011-12-26 20:04) [220]

> Игорь Шевченко  (26.12.2011 19:58:39)  [219]

Ну связись, если есть вопросы, он охотно отвечает.


 
Кто б сомневался ©   (2011-12-26 20:33) [221]


> DVM ©   (26.12.11 14:47) [199]
>
>
> > DiamondShark ©   (26.12.11 14:27) [197]
>
>
> > Во-вторых, и вашей замечательной конторе было бы неплохо
>
> > не класть все яйца в одну корзину, учитывая маркетинговый
>
> > талант и уровень сервиса нунешних владельцев Дельфи.
>
> Если Embarcadero однажды закроется и Delphi умрет, то все
> проекты написанные на нем в полночь превратятся в тыкву?
>


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


> учитывая маркетинговый
> >
> > > талант и уровень сервиса нунешних владельцев Дельфи.
>

А что не так сейчас с Embarcadero? Имхо получше чем было в Борланд в последние годы. И развитие пошло в верном направлении, и темпы развития увеличились и популярность возросла.


> > DiamondShark ©   (26.12.11 14:27) [197]
>
>
> > Не прошло  и десяти лет, как Дельфи научилась не крэшится
>
> > в редакторе.


Честно скажу - очень и очень редко были крэши, раз в 2 года. Delphi 6,7,2009,XE2
А уж со старыми версиями вообще не припомню - 6,7.


> Во-первых, почему вы заговорили о переходе сложившегося
> успешного бизнеса, когда вопрос был о начале нового?


Ну так вот и объясни в чем проблемы сейчас начать новый бизнес\разработку с Delphi. Я не вижу проблем, в 2005 я бы начал на C#, но сейчас 2011 и все изменилось.
Склоняюсь к этой среде именно из за нативности результата (exe) и соответственно производительности, а также из за мультиплатформенного Лазаруса. Embarcadero кстати также делают акцент на нативность, просекли наконец фишку что это их конек в отличии от борланда.


 
Юрий_   (2011-12-26 20:35) [222]

Чего мне лично не хватает в делфи:
1. Возможности использования своих\третьесторонних компонентов в визуальном редакторе без инсталляции. Ибо перенос проекта на другую машину часто становится настоящим геморроем.
Кроме того, бывают компоненты уровня проекта, которые кроме как в этом проекте, больше нигде не нужны. Инсталлировать в среду - плохо, создавать в ран-тайме - неудобно.

2. Наличия стабильно работающих хелперов, в том числе к интерфейсам. И в том числе к TObject.  То, что имеем сейчас, использовать просто опасно из-за ошибок компилятора(D2010). И хорошо еще, если internal error, а то ведь иногда компилирует, только неправильно. К интерфейсам же их нет в принципе.

3. Вменяемого синтаксиса замыканий. Количество ненужной писанины ужасает. Сюда же - вывод типов. Он должен быть, однако.

4.Сборка мусора. Ибо писать в стиле ФП - это хорошо. Но только в ряде случаем не получается - потому что некому подчищать.
Впрочем, если бы пункт 2 был выполнен, проблема бы не стояла так остро, можно было бы использовать саморазрушающиеся интерфейсы. Но без хелперов опять таки не взлетает.
В противном случае просто приходится постоянно писать одно и то же. И дело не в лени, а в качестве продукта, который получается.

Еще несколько слов по синтаксису.
":=" вместо "=", и "=" вместо "==" - это хорошо.
Но на этом преимущества заканчиваются.
Огромное количество писанины, которое приходится писать делфи-программеру, отрицательно влияет на читабельность, не говоря уже о скорости разработки и поддержки.
begin end - это еще пол беды. Беда - это копирование одного и того же в интерфейсе и имплементации. Если мы обязаны дважды писать одно и то же, неважно где, то совершенно очевидно, что мы занимаемся глупостью.
Исключение - ввод пароля при регистрации.
Если раньше такой подход мог быть оправдан читабельностью, то сейчас, когда среда умеет схлопывать блоки, смысла в этом нет ни малейшего.


 
Кто б сомневался ©   (2011-12-26 20:47) [223]


> Огромное количество писанины, которое приходится писать
> делфи-программеру, отрицательно влияет на читабельность,
>  не говоря уже о скорости разработки и поддержки.


С++ это тогда невыносимо огромное кол. писанины. Бредово звучит, где там "огромное кол. писанины" можете пример привести?


> Беда - это копирование одного и того же в интерфейсе и имплементации.
>  


А как по другому то? Особенно если интерфейс в одном модуле, а имплементация в другом и в проекте учавствуют группа программистов - как обычно это и делается. Имплементация кроме интерфейсных методов выполняет еще и кучу своих внутренних методов. Путанница будет, ошибок больше, рыться в коде дольше, особенно при групповой разработке.


 
Кто б сомневался ©   (2011-12-26 20:56) [224]


> Особенно если интерфейс в одном модуле, а имплементация
> в другом

как обычно это делается

Плюс еще и проблемы с синхронизацией когда проект делают как от 2 человек, либо если проекты пересекаются (используют интерфейсы друг друга), если делать так как вы предлагаете.


 
Ega23 ©   (2011-12-26 20:59) [225]


>  Беда - это копирование одного и того же в интерфейсе и
> имплементации. Если мы обязаны дважды писать одно и то же,
>  неважно где, то совершенно очевидно, что мы занимаемся
> глупостью.


"Ctrl + Shift + C" ещё в D5 существовал. Может и раньше, в D5 - точно.


 
Кто б сомневался ©   (2011-12-26 21:00) [226]


> Возможности использования своих\третьесторонних компонентов
> в визуальном редакторе без инсталляции.


Какие то надуманные у вас проблемы - обычно все компоненты проекта\проектов собираются в один package и инсталируются за секунды на новой машине.


 
Игорь Шевченко ©   (2011-12-26 21:12) [227]

Anatoly Podgoretsky ©   (26.12.11 20:04) [220]


> Ну связись, если есть вопросы, он охотно отвечает.


Ты меня ни с кем не путаешь ? :)


 
Игорь Шевченко ©   (2011-12-26 21:14) [228]


> 2. Наличия стабильно работающих хелперов, в том числе к
> интерфейсам. И в том числе к TObject.  То, что имеем сейчас,
>  использовать просто опасно из-за ошибок компилятора(D2010).
>  И хорошо еще, если internal error, а то ведь иногда компилирует,
>  только неправильно. К интерфейсам же их нет в принципе.
>


Я использую. Опасным не нахожу, глюков не замечаю. Хелпер к интерфейсам - это нонсенс


 
Кто б сомневался ©   (2011-12-26 21:17) [229]


> begin end - это еще пол беды.


Наоборот это плюс, в отличии от с подобных языков. При использовании begin end (который кстати автоматом в код вставляется - может вы не в курсе но + еще есть шаблоны вылетающие в виде хинтов где можно выбрать и готовый for,  while, begin-end и др. готовые templates причем для for сразу в вар вставляется переменная) сразу видно блок кода, в отличии от {}, который обычно с трудом замечаешь он сливается с кодом - встречал сишный код где комментами выделяли начало блока и конец чтобы сразу было заметно. Объективно понятно, что проще заметить подсвеченное слово, чем один подсвеченный символ, среди текста.
У меня большую часть времени (80%) занимает не написание кода, а обдумывание реализации.


 
asail ©   (2011-12-26 21:20) [230]


> Кто б сомневался ©   (26.12.11 21:00) [226]

> Какие то надуманные у вас проблемы - обычно все компоненты
> проекта\проектов собираются в один package и инсталируются
> за секунды на новой машине.

Э... Тут как бы нюансы есть... Вот, например, нам приходится иметь дело с разными проектами, использующими одни и те-же сторонние компоненты (DevEx например), но разных версий. Выкручиваемся, конечно, но не без геморроя...


 
Ega23 ©   (2011-12-26 21:58) [231]


> Игорь Шевченко ©   (26.12.11 21:14) [228]
>
> Я использую. Опасным не нахожу, глюков не замечаю.


Что есть то есть. При наличии хелперов и дженериков иногда (корреляцию не уловил) начинают хреново работать:
1. Code Insight (на дженерики)
2. Error Insight (я вообще вынужден был отключить его нафиг. Хотя именно в данном случае - удобство спорное)
3. Find declaration - вообще беда, ссылается чёрт знает куда, хорошо хоть на нужный модуль.
4. И таки да, Internal Error. Не часто, скорее даже редко. Но - тем не менее.
D2010.


 
Ega23 ©   (2011-12-26 22:01) [232]


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


А смысл?
Не, я понимаю, когда есть здоровый проект под D7 (со своим DE) и есть не менее здоровый под 2010 (со своим DE).
Переводить первый проект под десятку - долго, муторно и нецелесообразно. Например.
В данной ситуации я всё понимаю.
Но когда Delphi одинаковой версии...
Зачем?


 
asail ©   (2011-12-26 22:16) [233]


> Ega23 ©   (26.12.11 22:01) [232]

> Зачем?

Исторически сложилось... Есть разные проекты, развивающиеся с какого-то момента независимо друг от друга, хотя, и имеющие общего предка. Например, одним из проектов с некоторых пор (больше 5-ти лет назад) ушел в американское отеление, а недавно вернулся к нам назад. DevEx и там и у нас прикручивался уже после разветвления. Но у нас была купленна версия 5.20, а у них 5.54. Проекты большие - несколько тысяч юнитов, многие из которых в несколько десятков тысяч строк. Уйма форм с весьма развесистым деревом наследования. Тупо смена версии DevEx"a потребует, как минимум, уйму времени в QA... Никто не может гарантировать, что при замене версий, не всплывут какие либо бяки.
Аналогичная ситуевина с QuickReport и рядом других библиотек...
Т.е. проще держать разные версии библиотек компонент, чем искать приключений на пятую точку, просто заменив все...


 
Rouse_ ©   (2011-12-26 22:30) [234]


> Игорь Шевченко ©   (26.12.11 21:14) [228]
> Я использую. Опасным не нахожу, глюков не замечаю.

Значит QC нагло врет :)
http://qc.embarcadero.com/wc/qcmain.aspx?search=1&proj=10&kw=helper&plat=430


 
DiamondShark ©   (2011-12-26 22:30) [235]


> Склоняюсь к этой среде именно из за нативности результата (exe)

Ближайшие года три будут сосуществовать примерно в равных пропорциях х86 и х64. С медленным вытеснением х86, но это процесс всё равно долгий.
Так что сейчас нативность -- скорее, лишний гемор, чем достоинство.


> и соответственно производительности,

Слухи о плохой производительности CLR-приложений сильно преувеличены.


> Имхо получше чем было в Борланд в последние годы. И развитие
> пошло в верном направлении, и темпы развития увеличились
> и популярность возросла.

Как сделать человеку хорошо? Сделать плохо, а потом вернуть как было.


 
Rouse_ ©   (2011-12-26 22:42) [236]


>  DiamondShark ©   (26.12.11 22:30) [235]

Я так думаю натив (не важно х86/64/128 и т.п.) будет востребован минимум до тех пор, пока не придумают как не дать скрипткиду разворачивать код CLR приложения на коленке и вносить в него изменения.
Впрочем это мое ИМХО, не относящееся к сфере корпоративного ПО, где само понятие как контрафакт отсутствует.


 
DiamondShark ©   (2011-12-26 22:56) [237]


> Rouse_ ©   (26.12.11 22:42) [236]

А вы уже придумали, как не дать патчить бинаники?
Кстати, вам оно зачем?


 
Rouse_ ©   (2011-12-26 23:03) [238]


> DiamondShark ©   (26.12.11 22:56) [237]
>
>
> > Rouse_ ©   (26.12.11 22:42) [236]
>
> А вы уже придумали, как не дать патчить бинаники?

Ну примерно года три как назад. (Ну с ньюансом - как реверсер с соответствующей квалификацией найдется - значит опять не придумали.)

> Кстати, вам оно зачем?

Наш софт за сотню деревянных комплект стоит (тридцатка сама оболочка). С учетом что юзверей к второй сотне тыщ подбирается - приходится извращатся, в том числе и в ядре...


 
DiamondShark ©   (2011-12-26 23:35) [239]


> Rouse_ ©   (26.12.11 23:03) [238]

А вот у майкрософта SQL Server Datacenter стоит полтинник вечнозелёных, и юзверей сколько-то там миллионов. И никто не парится возможностью патчей.

Я про длину и диаметр всё понял, а про цель запрета так и не понял.
Можно без намёков?


 
Rouse_ ©   (2011-12-26 23:39) [240]

Цель запрета такая-же как и у "майкрософта SQL Server Datacenter" :)
Сколько мульюенов легальных пользователей в нашей стране и ближайшем забугорье у них, как ты думаешь? :)
Им есть где развернуться в цивильных странах, а у нас такой возможности нет :)


 
Кто б сомневался ©   (2011-12-27 00:06) [241]


> DiamondShark ©   (26.12.11 22:30) [235]
>
>
> > Склоняюсь к этой среде именно из за нативности результата
> (exe)
>
> Ближайшие года три будут сосуществовать примерно в равных
> пропорциях х86 и х64. С медленным вытеснением х86, но это
> процесс всё равно долгий.
> Так что сейчас нативность -- скорее, лишний гемор, чем достоинство.
>


1. А в чем конкретно гемор?
2. Windows останется нативной - не будет windows на .net - иначе аппаратные требования возрастут, соотвественно и производительность потребуется большая.


> Слухи о плохой производительности CLR-приложений сильно
> преувеличены.


1. Почему делают вставки С++ кода в C#? Не просто так ведь.
2. На Sql.ru были примеры сортировки на C# и С++ и Delphi. C# самый медленный.
3. Те программы что медленно запускаются и\или медленно работают, чехлят в самых разных местах (как правило обращает на себя отклик GUI) оказываются программами на .net платформе. Т.к. я привык чтобы отзыв был мгновенный я на это всегда обращаю внимание, именно поэтому ушел с Win7 на XP x64 обратно.

Я конечно это списываю на криворукость разработчика, но что-то подозрительно часто эти совпадения случаются, криворукие разработчики были во все времена, но раньше таких случаев с производительностью было меньше, причем и машина не слабая.
Из последних удивил своей неповоротливостью инсталлятор AMD Catalyst, и ATI Catalyst Control Center - посмотрел на чем он сделан - не удивился - т.к. уже привык не удивляться. Короче частые совпадения.


 
Rouse_ ©   (2011-12-27 00:12) [242]


> Windows останется нативной - не будет windows на .net

Ну на это я бы не закладывался :)


 
Кто б сомневался ©   (2011-12-27 01:08) [243]


> Rouse_ ©   (27.12.11 00:12) [242]
>
>
> > Windows останется нативной - не будет windows на .net
>
> Ну на это я бы не закладывался :)


Не думаю что это будет, т.к. MS позиционирует Win 8 как мобильную ОС, а там мощностя намного слабее desktop ных, плюс слабые нетбуки.
Плюс юзеры выбирают производительность - MS уже знают опыт Vista, и постараются сделать чтобы подобного не произошло. Не зря сами заявляют что Win 8 будет в плане производительноcти лучше Win 7.

Может мы по разному это понимаем.  К примеру будущая ОС от MS где WinAPI будет реализовано "эмулятором", сделанным на базовых классах WinFX . :)


 
Кто б сомневался ©   (2011-12-27 06:03) [244]


> Кто б сомневался ©   (26.12.11 20:47) [223]

Юрий_   (26.12.11 20:35) [222]

> Беда - это копирование одного и того же в интерфейсе и имплементации.
>  Если мы обязаны дважды писать одно и то же, неважно где,
>  то совершенно очевидно, что мы занимаемся глупостью.

Когда писал  223 я подумал про реальные интерфейсы, а не про секцию interface. Из за того видимо, что утром их расписывал.
В данном случае все проще как выше уже написали один раз пишем методы в interface - Ctrl + Shift + C (вобщем то это не какие то скрытые возможности - тоже есть и в контекстном меню) и создаются пустые методы в implementation - никакой писанины, касается и свойств.
Вообще писанины там мало, поэтому удивляюсь в 223 вашей фразе, везде используется autocomplete. Обычно пишу первые две буквы потом Ctrl + Space. Или тот же Ctrl + J - шаблоны, CTRL+SHIFT+I или U двигаем выделенные блоки. Также мало кто использует, Ctrl Shift - любая цифра - закладки. Вот то что использую постоянно.

Схлопывание блоков это прекрасно, но если нужно быстро охватить взглядом содержание класса или перекинуть метод в другую секцию - намного быстрее кликнуть по методу - выйти на содержание (причем это более подробно чем в ObjInspector). Чем свернуть, развернуть. Это удобно. Переименование или изменение параметров - рефакторинг или через Object inspector.


 
DVM ©   (2011-12-27 10:16) [245]


> везде используется autocomplete

а если еще поставить CnPack то вообще писать руками приходится очень мало, больше выбирать из предложенных вариантов


 
tesseract ©   (2011-12-27 17:15) [246]


> Не думаю что это будет, т.к. MS позиционирует Win 8 как
> мобильную ОС, а там мощностя намного слабее desktop ных,
>  плюс слабые нетбуки.


А кто тебе сказал что управляемый код медленнее? Софт на WP7/XBOX пишется только на .net/xna - и даже на сравнительно слабой платформе он работает прекрасно. На Android - так же виртмашина стоит.  

Так что из ОС нативно достаточно сделать ядро/драйвера и саму машину. Тем более что прототип MS уже делал - и он как бы работает ничуть не медленнее нативных систем.


 
asail ©   (2011-12-27 19:30) [247]


> tesseract ©   (27.12.11 17:15) [246]

Вроде все так... Но тогда остается открытым вопрос, зачем сегодня используют С или С++ вставки в проектах на С#?


 
tesseract ©   (2011-12-27 20:17) [248]


>  Но тогда остается открытым вопрос, зачем сегодня используют
> С или С++ вставки в проектах на С#?


a) Унаследованный код.
б) Прямой доступ к оборудованию.


 
Кто б сомневался ©   (2011-12-27 21:04) [249]


> tesseract ©   (27.12.11 20:17) [248]
> А кто тебе сказал что управляемый код медленнее? Софт на
> WP7/XBOX пишется только на .net/xna - и даже на сравнительно
> слабой платформе он работает прекрасно. На Android - так
> же виртмашина стоит.  


Про андроид и его медленность и сжирание батареи на хабре даже есть статьи.

По поводу скорости .net  есть очень объективный и разноплановый и детализированный тест, сравнения С++ и C# с разными фреймворками, и разными алгоритмами.
Ну ты бы хоть поискал информацию, тесты всякие прежде чем говорить.

String handling: std::string vs System.String
Hashtables: hash_map<K,V> vs Dictionary<K,V>
Binary trees: map<K,V> vs SortedDictionary<K,V>
Simple structures: in my work I often end up creating small performance-critical structures, such as a fixed-point type with a single integer field.
Mathematical generics: You have to go to quite some effort to write math code using .NET Generics. Do you also suffer a performance hit?
Simple arithmetic: add and subtract; multiply, divide and modulo by a constant, for different data types. I also try an integer square root algorithm (and its floating-point equivalent, for completeness).
64-bit integers: some compilers deal with these pretty poorly.
Text file scanning: how fast can we read text files line by line?
Sorting
P/Invoke and no-op methods (C# only)

Почти по всем пунктам, кроме нескольких выигрывает нативный код, причем с 50%-100% разницей. Для WinCE - big performance penalty by using .NET. Mono - extra speed penalty.
Of course, C# coders tend to program in different ways than C++ coders: they use LINQ-to-objects (which can be very slow if used carelessly), they may not tune their algorithms, they may use high-overhead libraries like WPF, prefer XML files to plain text files, use reflection heavily, and so on. These differences can lead to slower programs..

http://www.codeproject.com/KB/cross-platform/BenchmarkCppVsDotNet.aspx


 
asail ©   (2011-12-27 21:16) [250]


> tesseract ©   (27.12.11 20:17) [248]

> б) Прямой доступ к оборудованию.

А из C# напрямую нельзя? Никак? Тады об том и спич - без нативных языков не обойтись. Т.е. С# не сможет заменить Д...
Или можно и из С# к оборудованию обращаться? Но производительность будет не та?


 
Pavia ©   (2011-12-27 23:08) [251]


> Не думаю что это будет, т.к. MS позиционирует Win 8 как
> мобильную ОС, а там мощностя намного слабее desktop ных,
>  плюс слабые нетбуки.

На IXBT видимо давно не заходили. Уже объявили что в 2012 появиться ARM с 2 ядрами и частотами 2.5 ГГц.  с SIMD и FPU.  Так что мощи хватает.

http://www.ixbt.com/news/hard/index.shtml?15/33/83
http://arm.com/files/downloads/Cortex-A9_Devcon_2007_Microarchitecture.pdf


 
Pavia ©   (2011-12-27 23:10) [252]

Андерс Хейлсберг (дат. Anders Hejlsberg; род. в декабре 1960, Копенгаген) — датский инженер-программист.

В 1980 году написал свой первый компилятор языка Паскаль, который после портирования под операционную систему MS-DOS продал фирме Borland. Эта версия легла в основу Turbo/Borland Pascal, который развивался до 1995 года. До 1996 года Хейлсберг был главным инженером фирмы Borland, где создал новое поколение компиляторов Паскаля — язык Delphi, компилятор которого работал уже под операционной системой Windows.

В 1996 году он перешёл в Microsoft, где работал над такими проектами, как J++ и Windows Foundation Classes. Позже возглавил группу по созданию и проектированию языка C#.

В 2000 году Андерс Хейлсберг получил награду популярного журнала Dr. Dobb"s Journal за создание Turbo Pascal, Delphi и C#.
Источник.
http://ru.wikipedia.org/wiki/Хейлсберг,_Андерс


 
Anatoly Podgoretsky ©   (2011-12-27 23:11) [253]

> asail  (27.12.2011 19:30:07)  [247]

Для превращения Managed Code в не Managed Code



Страницы: 1 2 3 4 5 6 7 вся ветка

Форум: "Прочее";
Текущий архив: 2012.04.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 1.24 MB
Время: 0.012 c
15-1324577119
Artem
2011-12-22 22:05
2012.04.29
Как сменить диск при открытии файла в FreePascal?


15-1324478089
antonn
2011-12-21 18:34
2012.04.29
и чего дельфи хоронят?..


15-1324556838
OW
2011-12-22 16:27
2012.04.29
Быдлокодером в Питере, продержаться пару-тройку месяцев реально?


8-1219132442
young
2008-08-19 11:54
2012.04.29
Как увеличить картинку bmp без потери качества


2-1325420142
elizaveta1541
2012-01-01 16:15
2012.04.29
Использование кнопки Закрытия на главной форме





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский