Re[4]: Почему C# не Немерле
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.11.08 11:01
Оценка: -4
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Вот тут, мне кажется, ты ошибаешься. Фреймворк можно построить на любом языке кроме самых специфичных.
Ну да. Только вот на плюсах, как ни пиши — получается MFC
Воспроизвести MVC Framework, к примеру, на Дельфи — нереально. Можно сделать отдаленно похожую хрень, но именно что отдаленно.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Почему C# не Немерле
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.11.08 04:29
Оценка:
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>Вот тут, мне кажется, ты ошибаешься. Фреймворк можно построить на любом языке кроме самых специфичных.

S>Ну да. Только вот на плюсах, как ни пиши — получается MFC

S>Воспроизвести MVC Framework, к примеру, на Дельфи — нереально. Можно сделать отдаленно похожую хрень, но именно что отдаленно.
Cудя по количеству минусов, я зря не написал "ASP.NET" перед MFC Framework.
Если же минусующие и так всё поняли правильно, но несогласны, то я предлагаю им привести фрагмент кода на Delphi или C++, который формирует по вызову метода линк.
То есть аналог вот этого:
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Почему C# не Немерле
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 14.11.08 07:23
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>>Ну да. Только вот на плюсах, как ни пиши — получается MFC

S>>Воспроизвести MVC Framework, к примеру, на Дельфи — нереально. Можно сделать отдаленно похожую хрень, но именно что отдаленно.
S>Cудя по количеству минусов, я зря не написал "ASP.NET" перед MFC Framework.

Антон, ты определись -- MFC (Microsoft Foundation Classes) или MVC (Model View Controller).

S>Если же минусующие и так всё поняли правильно, но несогласны, то я предлагаю им привести фрагмент кода на Delphi или C++, который формирует по вызову метода линк.

S>То есть аналог вот этого:
S>

А как нибудь словами эту задачу сформулировать можно? Для далеких от Web-программирования людей.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[7]: Почему C# не Немерле
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.11.08 07:48
Оценка:
Здравствуйте, eao197, Вы писали:

E>Антон, ты определись -- MFC (Microsoft Foundation Classes) или MVC (Model View Controller).

MVC
S>>Если же минусующие и так всё поняли правильно, но несогласны, то я предлагаю им привести фрагмент кода на Delphi или C++, который формирует по вызову метода линк.
S>>То есть аналог вот этого:
S>>

E>А как нибудь словами эту задачу сформулировать можно? Для далеких от Web-программирования людей.

1. Есть routing engine. Он умеет анализировать входящие HTTP запросы и сопоставлять их вызовам методов контроллеров.
Например, словив
/Search/Beverages/2
он понимает, что нужно вызвать SearchController.Results("Beverages", 2).
То есть всю рутинную работу по разбору строки запроса выполняет фреймворк; твоему коду достаются уже типизированные параметры.
Правила роутинга описываются отдельно от твоего кода и очень гибким способом. Например, тот же результат мог бы быть доступен по адресу
/Search.ashx?Group=Beverages&page=2
2. Теперь встает обратная задача: как обеспечить корректность ссылок на страничках, которые генерирует твое приложение?
Приведенный фрагмент кода делает именно это: находит правило роутинга, приводящее к нужному методу, и подставляет параметры вызова обратно в URL.
Самое замечательное — то, что компилятор следит за корректностью кода. То есть состряпать набор параметров, несовместимый с сигнатурой целевого метода, не получится. За согласованностью маппинга следит фреймворк — оба преобразования выполняются через одну и ту же таблицу правил.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[3]: О маркетинге и гиках
От: Gaperton http://gaperton.livejournal.com
Дата: 14.11.08 09:27
Оценка: +2 :)))
Здравствуйте, Sinclair, Вы писали:

S>Вот я хочу выразить свое полное согласие с этим подозрением. На мой некомпетентный взгляд, наличие маркетинга и есть то, что отличает продукцию Хейльсберга от творчества других народных коллективов.

S>Под маркетингом я здесь понимаю вовсе не подразумеваемое большинством "умение разрекламировать дерьмо как новый вид шокололада", а тот настоящий, хардкорный маркетинг, который связан с глубоким пониманием рынка, на который позиционируется продукт.

Маркетинг подразделяется на "операционный" и "стратегический". Операционный маркетинг — это организация мероприятий, выставки там, брошюрки рекламные, и прочее. "Стратегический" — это позиционирование, продакт менеджмент, анализ тенденций в технологиях и спросе, вопросы ценообразования, элластичности спроса, анализ конкурентов, формулирование продуктовых гипотез, опросы и фокус-группы для проверки гипотез, и, как ни странно, проблемы качества продукции.

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

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

Говорить, что "какое-то дерьмо так разрекламировали" — ну, значит, вообще ничего в маркетинге не понимать. Нельзя разрекламировать дерьмо. Если "дерьмо" покупают — значит, его ТТХ из-за которых он "дерьмо" не так важны, и всем на них плевать. Раз продукт покупают — значит он удовлетворяет чью-то потребность. Если им довольны — значит он делает это хорошо. Бывает, что продукт покупают, и им не пользуются — так часто бывает с прикольными гарджетами, например. Стало быть, он никакую _реальную_ потребность не удовлетворяет.

А вот бывает так, что рекламируют продукт, который прикольный, ну как гарджет, и из-за этого его берут некоторые гики. Реальную потребность он по определению не удовлетворяет, но гикам он нравится. И хрен бы с ним, но некоторые воинствующие гики хотят захватить власть над миром, и весь мир заставить пользоваться их игрушками, заявляя, что это они, гики, лучше всех знают, что всем надо! Слыш, братва, они хотят отобрать у нас наши лопаты! О чем это я? Ну это, на не начинается, на мелре заканчивается .
Re[4]: О маркетинге и гиках
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.11.08 10:11
Оценка:
Здравствуйте, Gaperton, Вы писали:

G>А вот бывает так, что рекламируют продукт, который прикольный, ну как гарджет, и из-за этого его берут некоторые гики. Реальную потребность он по определению не удовлетворяет, но гикам он нравится. И хрен бы с ним, но некоторые воинствующие гики хотят захватить власть над миром, и весь мир заставить пользоваться их игрушками, заявляя, что это они, гики, лучше всех знают, что всем надо! Слыш, братва, они хотят отобрать у нас наши лопаты! О чем это я? Ну это, на не начинается, на мелре заканчивается .


А я, грешным делом, подумал, что начинается на ли, а заканчивается на х .
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[8]: Почему C# не Немерле
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 14.11.08 15:20
Оценка: +2
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, eao197, Вы писали:


E>>Антон, ты определись -- MFC (Microsoft Foundation Classes) или MVC (Model View Controller).

S>MVC

Ну, мой минус относился к фразе:

Ну да. Только вот на плюсах, как ни пиши — получается MFC

Далеко не всегда на C++ получаются такие здоровенные комбайны, как MFC.

S>2. Теперь встает обратная задача: как обеспечить корректность ссылок на страничках, которые генерирует твое приложение?

S>Приведенный фрагмент кода делает именно это: находит правило роутинга, приводящее к нужному методу, и подставляет параметры вызова обратно в URL.
S>Самое замечательное — то, что компилятор следит за корректностью кода. То есть состряпать набор параметров, несовместимый с сигнатурой целевого метода, не получится. За согласованностью маппинга следит фреймворк — оба преобразования выполняются через одну и ту же таблицу правил.

Не зная, как в compile-time работает конструкция
Html.ActionLink<SearchController>(..., s => s.Result( "...", 2 ) )

я не могу ответить.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[9]: Почему C# не Немерле
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 14.11.08 17:53
Оценка:
Здравствуйте, eao197, Вы писали:

E>Далеко не всегда на C++ получаются такие здоровенные комбайны, как MFC.


Ага, иногда получается boost
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[10]: Почему C# не Немерле
От: FR  
Дата: 14.11.08 18:57
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Ага, иногда получается boost


Угу в бусте немало компактных красивых штучек
Re[10]: Почему C# не Немерле
От: yumi  
Дата: 14.11.08 23:30
Оценка:
Здравствуйте, AndrewVK, Вы писали:

E>>Далеко не всегда на C++ получаются такие здоровенные комбайны, как MFC.


AVK>Ага, иногда получается boost


И причем тут boost и MFC? boost — вообще не ГУЙ библиотека. А вот насчет комбайнов, то мне нравятся WTL и wxWidgets
Lisp is not dead. It’s just the URL that has changed:
http://clojure.org
Re[6]: Почему C# не Немерле
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.11.08 00:00
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Если же минусующие и так всё поняли правильно, но несогласны, то я предлагаю им привести фрагмент кода на Delphi или C++, который формирует по вызову метода линк.

S>То есть аналог вот этого:
S>

Пожалуй, для начала придётся взять C++ server pages и помудрить с оным. Сгенерить описание по сигнатуре, в общем, не ахти, какая сложная задача. Ну, дальше, по-видимому, нужно свести хранение и распознавание ссылок и связей к какому-то общему хранилищу и т.п.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[7]: Почему C# не Немерле
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.11.08 07:38
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Пожалуй, для начала придётся взять C++ server pages и помудрить с оным. Сгенерить описание по сигнатуре, в общем, не ахти, какая сложная задача.

Ну-ну. Там не в сигнатуре дело. А в параметрах вызова. Которые могут быть и не константами. Так что удачи.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Почему C# не Немерле
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 15.11.08 08:23
Оценка:
Здравствуйте, Sinclair, Вы писали:

ГВ>>Пожалуй, для начала придётся взять C++ server pages и помудрить с оным. Сгенерить описание по сигнатуре, в общем, не ахти, какая сложная задача.

S>Ну-ну. Там не в сигнатуре дело. А в параметрах вызова. Которые могут быть и не константами. Так что удачи.

Да ладно тебе. Можно и по параметрам.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[8]: Почему C# не Немерле
От: kkolyan  
Дата: 15.11.08 08:49
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Геннадий Васильев, Вы писали:


ГВ>>Пожалуй, для начала придётся взять C++ server pages и помудрить с оным. Сгенерить описание по сигнатуре, в общем, не ахти, какая сложная задача.

S>Ну-ну. Там не в сигнатуре дело. А в параметрах вызова. Которые могут быть и не константами. Так что удачи.
отстаешь от жизни,сча линки уже можно так объявлять <%= Html.ActionLink(t.Title, "Thread", new{ id=t.ID}, new{@class="f12" } ) %>
Re[9]: Почему C# не Немерле
От: WFrag США  
Дата: 15.11.08 09:25
Оценка:
Здравствуйте, kkolyan, Вы писали:

K>отстаешь от жизни,сча линки уже можно так объявлять <%= Html.ActionLink(t.Title, "Thread", new{ id=t.ID}, new{@class="f12" } ) %>


И где тут проверка типов? Если я вместо Thread напишу "Thred", всё пропало? Или вместо new { id = t.ID } напишу new { id = "oops" }?
Re[11]: Почему C# не Немерле
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.11.08 11:39
Оценка: +1
Здравствуйте, yumi, Вы писали:

Y>И причем тут boost и MFC? boost — вообще не ГУЙ библиотека.


А ASP.NET MVC, надо думать, ГУЙ?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111 on Windows Vista 6.0.6001.65536>>
AVK Blog
Re[9]: Почему C# не Немерле
От: Sinclair Россия https://github.com/evilguest/
Дата: 17.11.08 03:55
Оценка:
Здравствуйте, kkolyan, Вы писали:
K>отстаешь от жизни,сча линки уже можно так объявлять <%= Html.ActionLink(t.Title, "Thread", new{ id=t.ID}, new{@class="f12" } ) %>
Не отстаю. Это было описано по соседству, но мне так меньше нравится.
Во-первых, это длиннее, во-вторых, нет проверки типов компилятором.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[9]: Почему C# не Немерле
От: Sinclair Россия https://github.com/evilguest/
Дата: 17.11.08 03:55
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Да ладно тебе. Можно и по параметрам.
Пример в студию
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Почему C# не Немерле
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 17.11.08 08:02
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>>Да ладно тебе. Можно и по параметрам.
S>Пример в студию

Почти любой сериализатор так работает.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[11]: Почему C# не Немерле
От: Sinclair Россия https://github.com/evilguest/
Дата: 17.11.08 08:44
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Почти любой сериализатор так работает.
Что? Сериализатор вызовов методов?
И вот так тоже будет работать?
foreach(int page in pages)
{
  yield return Url.Action<SearchController>(s => s.Results("Beverages", page);
}

Я в это не поверю, пока не увижу работающий пример.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.