Re[11]: Как скрестить ужа и ежа или статическую и утиные тип
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.01.07 14:38
Оценка: :)
Здравствуйте, FR, Вы писали:

FR>Что ты к окамлу привязался,


Я?

Дохтор! Это ведь ваши картиночки:

Ну и кроме того обозначены и некторые проблемы которые например в том же окамле (а он типизирован по второй схеме) не разрешены.

... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Как скрестить ужа и ежа или статическую и утиные типи
От: AndreiF  
Дата: 19.01.07 14:53
Оценка:
Здравствуйте, FR, Вы писали:

FR>Не решена. Там хардкорно все. А хочется самому задавать эти правила, это и обсуждалось


Иметь такую возмоность — это конечно плюс. Что-то подобное кажется сделано в Хаскелле.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[19]: Как скрестить ужа и ежа или статическую и утиные тип
От: IT Россия linq2db.com
Дата: 19.01.07 15:16
Оценка:
Здравствуйте, eao197, Вы писали:

E>Я считаю, что в той самой. Пока за программирование на конкретном языке платят, на этом языке пишут. Пока пишут, язык нельзя считать мертвым.


За кобол тоже платят и на нём тоже пишут.

E>Люди вообще находят удовольствие в странных вещах, в генерации отчетов
Автор: IT
Дата: 19.01.07
, к примеру.


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

E>С этим я как раз не спорю. Тем не менее, это не в коем случае не является основанием для называния C++ трупом. Более того, даже для новых проектов могут быть очень веские факторы, которые значительно перевешивают недостатки языка.


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

E>Однако, окончание доминирования на рынке вовсе не означает смерти языка.


Я бы сказал так. Пациент скорее мёртв, чем жив. Лучшие дни плюсов прошли, оставшиеся сочтены. И чем скорее Страуструп с сотоварищами это поймёт, тем лучше. Думаю, лет пять назад было ещё не поздно внести в язык изменения, которые позволили бы ему удерживать лидирующие позиции. А сегодня уже поздно.
Если нам не помогут, то мы тоже никого не пощадим.
Re[20]: Как скрестить ужа и ежа или статическую и утиные тип
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 19.01.07 18:03
Оценка:
Здравствуйте, IT, Вы писали:

E>>Люди вообще находят удовольствие в странных вещах, в генерации отчетов
Автор: IT
Дата: 19.01.07
, к примеру.


IT>Ты как всегда читаешь только то, что тебя устраивает? Для тех кто в танке разжёвываю. Несколько недель ушло на написание фреймворка для генерации отчётов. CrystalReport знаешь такой продукт? Вот вроде того, только заточенный под конкретную задачу. Сами же отчёты потом — за пол часа пучок. Тут даже индусы не нужны, дольше объяснять придётся.


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

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

E>>С этим я как раз не спорю. Тем не менее, это не в коем случае не является основанием для называния C++ трупом. Более того, даже для новых проектов могут быть очень веские факторы, которые значительно перевешивают недостатки языка.


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


И слава богу. Пускай индусы C# и Java мучают.

А вот, например, для меня актуальная задачка -- сделать soft real-time отображение мониторинговой информации в графическом виде (порядка 100-150 значений, большая часть которых изменяется по несколько раз в секунду). И не только под Windows, но и, как минимум, под Linux. Берешь C++ и FLTK и вперед, никаких гвоздей -- все инструменты под рукой, здесь и сейчас.

Такие задачи мало кого волнуют? Так же как многих мало волнуют сервера и десктопы корпоративных приложений.

E>>Однако, окончание доминирования на рынке вовсе не означает смерти языка.


IT>Я бы сказал так. Пациент скорее мёртв, чем жив. Лучшие дни плюсов прошли, оставшиеся сочтены. И чем скорее Страуструп с сотоварищами это поймёт, тем лучше. Думаю, лет пять назад было ещё не поздно внести в язык изменения, которые позволили бы ему удерживать лидирующие позиции. А сегодня уже поздно.


Тем не менее до состояния трупа C++у еще жить и жить. Даже при том, что с выходом D 1.0 у C++ появился реальный конкурент, играющий на том же самом поле.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[21]: Как скрестить ужа и ежа или статическую и утиные тип
От: IT Россия linq2db.com
Дата: 19.01.07 19:04
Оценка:
Здравствуйте, eao197, Вы писали:

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


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

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


Интересной свою работу мы делаем сами. Об этом я тоже в том же сообщении упомянул.

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


E>И слава богу. Пускай индусы C# и Java мучают.


Гы-гы. "Индусы" скоро доберуться и до системного софта с джавой и C#. Не сомневайся в этом.

E>А вот, например, для меня актуальная задачка -- сделать soft real-time отображение мониторинговой информации в графическом виде (порядка 100-150 значений, большая часть которых изменяется по несколько раз в секунду). И не только под Windows, но и, как минимум, под Linux. Берешь C++ и FLTK и вперед, никаких гвоздей -- все инструменты под рукой, здесь и сейчас.


Если мне будет нужно, я себе какой хош мониторинг сделаю без всяких плюсов. Эта задача не является проблемной ни для джавы, ни для C#. Причём, простейший реал-тайм мониторинг делается в течении пяти минут на PerformanceCounter'ах. А для многих вещей .NET и так уже предоставляет кучу информации.

E>Такие задачи мало кого волнуют?


Ну почему же? Я этим занимался раньше и занимаюсь сейчас. Как же без этого? Без этого никак, любое более менее уважающее себя приложение должно предоставлять статистику о своей работе. Я знаю не только что делается на моих серверах, но и кто что делает в конкретный момент. Знаю максимальное и минимальное время выполнения любого запроса, статистику по исключениям и использованию кеша. Знаю, абсолютно всё, что мне нужно. И что интересно, на решение этой задачи у меня ушло гораздо меньше времени, чем на генератор отчётов и сделано это всё было на C#.

E>Так же как многих мало волнуют сервера и десктопы корпоративных приложений.


Думаю, этих многих не более 5-10%.

E>Тем не менее до состояния трупа C++у еще жить и жить. Даже при том, что с выходом D 1.0 у C++ появился реальный конкурент, играющий на том же самом поле.


Дело не в конкуренте, дело в самом поле. Поле не то. Ниша у него слишком узкая и всё больше и больше сужается. Задач, где C++/D необходим становится всё меньше и меньше. Ещё 6-7 лет назад умельцы на плюсах даже веб-приложения писали, сегодня любой на это покрутит у виска. Долго и не надёжно, в итоге просто глупо.

Единственное место, где C++ пока может использоваться массово — это софт для домашних компьютеров. Вот если ты пишешь софт для использования на домашнем компьютере, то пожалуй C++ будет нормальным выбором. Но даже на корпоративных десктопах его уже вытесняют джава и .NET.
Если нам не помогут, то мы тоже никого не пощадим.
Re[22]: Как скрестить ужа и ежа или статическую и утиные тип
От: Cyberax Марс  
Дата: 19.01.07 19:43
Оценка: 2 (1)
IT wrote:
> Дело не в конкуренте, дело в самом поле. Поле не то. Ниша у него слишком
> узкая и всё больше и больше сужается. Задач, где C++/D необходим
> становится всё меньше и меньше. Ещё 6-7 лет назад умельцы на плюсах даже
> веб-приложения писали, сегодня любой на это покрутит у виска. Долго и не
> надёжно, в итоге просто глупо.
После того, как я увидел
http://jose.med.kuleuven.ac.be/wt/Home.fcg?wtd=8cQ0zBFPXFH8epNd&amp;js=yes&amp;ajax=yes
я уже в этом так не уверен

Кстати, шутки шутками, а с помощью этой штуки я сделал вполне неплохой
веб-интерфейс для своей встроеной железки. Конечно, aspx или jsf/struts
оно не заменит, но в своей нише ей аналогов нет.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[12]: Как скрестить ужа и ежа или статическую и утиные тип
От: EvilChild Ниоткуда  
Дата: 19.01.07 21:33
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

АХ>Здравствуйте, FR, Вы писали:


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


АХ>Это ИМХО самый лучший подход.


Так последний VB как раз оно.
now playing: Phace — 3002
Re[16]: Как скрестить ужа и ежа или статическую и утиные тип
От: IT Россия linq2db.com
Дата: 20.01.07 00:49
Оценка:
Здравствуйте, konsoletyper, Вы писали:

K>Действительно, от языка требуется, чтобы он был решал свои задачи. И он их должен решать быстро и просто. А вот подход C++ мне напоминает человека, который, чтобы почесать нос, просовывает руку под ногу и весь изгибается. Вот как раз C++ напоминает фичепомойку.


Весьма впечатляющий анализ компетентного эксперта
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[21]: Как скрестить ужа и ежа или статическую и утиные тип
От: alexeiz  
Дата: 20.01.07 04:10
Оценка:
Здравствуйте, eao197, Вы писали:

E>Тем не менее до состояния трупа C++у еще жить и жить. Даже при том, что с выходом D 1.0 у C++ появился реальный конкурент, играющий на том же самом поле.


D пока нигде не играет. Его еще в команду не приняли. То бишь момента у него нет. Да, попал он на /. один раз. Walter не перестает воинствовать на c++.moderated. Однако D сейчас по отношению к C++ это тоже, что и C++ по отношению к C в 1983м году. D пока никто не поддерживает кроме создателя языка.
Re[15]: Как скрестить ужа и ежа или статическую и утиные тип
От: alexeiz  
Дата: 20.01.07 04:40
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>konsoletyper wrote:

>> А вот я вижу. Прикладное ПО (за исключением игр) уже давно переходит на
>> Java и .NET. Есть особые ситуации — графические библиотеки, игры, ОС и
>> т.д.
C>А еще:
C>Прикладные программы
C>Ресурсоемкие системы
C>Браузеры
C>Встроенный софт
C>и т.п.

C>На моем компьютере сейчас не работает ни одной managed-программы. Так

C>что слухи о смерти С++ — сильно преувеличены.

C>У Java/C# есть свои ниши — но вот на мировое господство они пока даже

C>близко не претендуют.

Самое смешное, что мы это уже все обсуждали начиная с года так 2003-го (а может быть и раньше, только без меня). Все тоже самое говорилось про C++. Помрет мол скоро, так и гляди. Им отвечали, что, блин, где ваши программы на C#/Java? Однако, вот уже 4 года прошло и ситуация совсем не поменялась (если не считать того, что тогда я писал на C#, а теперь на C++).
Re[17]: Как скрестить ужа и ежа или статическую и утиные тип
От: AndreiF  
Дата: 20.01.07 05:15
Оценка:
Здравствуйте, Laughing_Silencer, Вы писали:

А и не надо переписывать с нуля. Надо делать рефакторинг.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: Как скрестить ужа и ежа или статическую и утиные тип
От: AndreiF  
Дата: 20.01.07 05:19
Оценка:
Здравствуйте, Laughing_Silencer, Вы писали:

L_S>Использование Жабы или Шарпа для встроенного ПО просто нецелесообразно и вряд ли будет целесообразно — они нацелены на другое.


Область программ для мобильников сейчас практически полностью оккупирована J2ME. Найдешь причичины этому факту?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[22]: Как скрестить ужа и ежа или статическую и утиные тип
От: AndreiF  
Дата: 20.01.07 05:29
Оценка: +1
Здравствуйте, alexeiz, Вы писали:

A>D пока нигде не играет. Его еще в команду не приняли. То бишь момента у него нет. Да, попал он на /. один раз. Walter не перестает воинствовать на c++.moderated. Однако D сейчас по отношению к C++ это тоже, что и C++ по отношению к C в 1983м году. D пока никто не поддерживает кроме создателя языка.


С той только разницей, что программу на С можно было откомпилировать компилятором С++ после минимальной доработки напильником. У D такого преимущества нет.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: Как скрестить ужа и ежа или статическую и утиные тип
От: Cyberax Марс  
Дата: 20.01.07 07:32
Оценка:
AndreiF wrote:
> L_S>Использование Жабы или Шарпа для встроенного ПО просто
> нецелесообразно и вряд ли будет целесообразно — они нацелены на другое.
> Область программ для мобильников сейчас практически полностью
> оккупирована J2ME. Найдешь причичины этому факту?
Скорее тут одна причина — нет альтернативы. BREW и прочие нормальные
решения Sun просто своим весом задавила.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[21]: Как скрестить ужа и ежа или статическую и утиные тип
От: igna Россия  
Дата: 20.01.07 07:39
Оценка:
Здравствуйте, eao197, Вы писали:

E>... Даже при том, что с выходом D 1.0 у C++ появился реальный конкурент, играющий на том же самом поле.


И при том, что на некоторой части того самого поля у C++ издавна имеется два нереальных неконкурента: Delphi и Visual Basic.
Re[13]: Как скрестить ужа и ежа или статическую и утиные тип
От: Dr.Gigabit  
Дата: 20.01.07 08:04
Оценка:
Здравствуйте, konsoletyper, Вы писали:

K>>C++ — труп. Он никуда не ползёт.


K>Вот тут много флейма развели по поводу того, является ли C++ мёртвым. Я тут такую очень близкую аналогию приведу. Латынь — мёртвый язык. Да, есть люди, которые его знают (врачи, лингвисты). Врачи, при этом, зарабатывают неплохо. Но вот того факта, что латынь — мёртвый язык, никто не отменял.


Это ты у Грэхема прочел? Так он там про LISP писал
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[17]: Как скрестить ужа и ежа или статическую и утиные тип
От: konsoletyper Россия https://github.com/konsoletyper
Дата: 20.01.07 08:52
Оценка:
Здравствуйте, IT, Вы писали:

K>>Действительно, от языка требуется, чтобы он был решал свои задачи. И он их должен решать быстро и просто. А вот подход C++ мне напоминает человека, который, чтобы почесать нос, просовывает руку под ногу и весь изгибается. Вот как раз C++ напоминает фичепомойку.


IT>Весьма впечатляющий анализ компетентного эксперта


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

К тому же, на каких основаниях мы можем о человеке утверждать, что он эксперт в данном вопросе? Типа, есть люди, хорошо разбирающиеся в том, какие фичи нужны языкам, а какие — нет? Ну и что же они говорят, ссылки есть?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[16]: Как скрестить ужа и ежа или статическую и утиные тип
От: alexeiz  
Дата: 20.01.07 10:06
Оценка: -1
Здравствуйте, konsoletyper, Вы писали:

K>Вообще, подход с разделением на .h- и .cpp-файлы для описания модуля — штука весьма сомнительная. Она чревата дублированием кода (тратой времени) и полным отказом IDE поддерживать такое.


Есть множество причин для разделения интерфейса и реализации. Вот одна из них: расскажи мне, как в .NET ты соберешь три модуля a.dll, b.dll и c.dll со следующими зависимостями (-> — зависит от): a.dll -> b.dll, b.dll -> c.dll, c.dll -> a.dll.
Re[17]: Как скрестить ужа и ежа или статическую и утиные тип
От: Lazy Cjow Rhrr Россия lj://_lcr_
Дата: 20.01.07 10:16
Оценка: +1
alexeiz,

K>>Вообще, подход с разделением на .h- и .cpp-файлы для описания модуля — штука весьма сомнительная. Она чревата дублированием кода (тратой времени) и полным отказом IDE поддерживать такое.


A>Есть множество причин для разделения интерфейса и реализации. Вот одна из них: расскажи мне, как в .NET ты соберешь три модуля a.dll, b.dll и c.dll со следующими зависимостями (-> — зависит от): a.dll -> b.dll, b.dll -> c.dll, c.dll -> a.dll.


При сборке модуль будет содержать символические ссылки, а разрешение ссылок будет происходить на этапе загрузки классов в память (т.е. в рантайме). И никаких проблем.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
quicksort =: (($:@(<#[),(=#[),$:@(>#[)) ({~ ?@#)) ^: (1<#)
Re[18]: Как скрестить ужа и ежа или статическую и утиные тип
От: alexeiz  
Дата: 20.01.07 10:22
Оценка:
Здравствуйте, Lazy Cjow Rhrr, Вы писали:

LCR>alexeiz,


K>>>Вообще, подход с разделением на .h- и .cpp-файлы для описания модуля — штука весьма сомнительная. Она чревата дублированием кода (тратой времени) и полным отказом IDE поддерживать такое.


A>>Есть множество причин для разделения интерфейса и реализации. Вот одна из них: расскажи мне, как в .NET ты соберешь три модуля a.dll, b.dll и c.dll со следующими зависимостями (-> — зависит от): a.dll -> b.dll, b.dll -> c.dll, c.dll -> a.dll.


LCR>При сборке модуль будет содержать символические ссылки, а разрешение ссылок будет происходить на этапе загрузки классов в память (т.е. в рантайме). И никаких проблем.


Вопрос не про поведение рантайма. Есть код на C# для этих трех модулей. Попробуй собрать его компилятором C#. Проблемы в том, что компилятор берет описание интерфейса из метаданных уже собраного модуля.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.