Re[50]: Опять С++ vs С#
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 20.11.04 03:33
Оценка: 20 (2)
Здравствуйте, alexeiz, Вы писали:

ГВ>> Да нет, по сути дела, никто не мешает и сейчас сделать некий аналог C++ server pages, и проблема в другом — не все хостеры будут рады такой технологии. А проблему со временем отклика можно урегулировать.


A>ATL Server?


Не, вот это: C++ server pages
... << RSDN@Home 1.1.3 stable >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[50]: Опять С++ vs С#
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 20.11.04 03:42
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

ГВ>> Да нет, по сути дела, никто не мешает и сейчас сделать некий аналог C++ server pages, и проблема в другом — не все хостеры будут рады такой технологии.

AVK>Ну то есть кто то все таки мешает?

Да нет, никто не мешает. Есть он уже давно. Если уж кому-то кто-то (что-то) и мешает, так это мне моя собственная лень написать движок, аналогичный или превосходящий MicroNova. Технических проблем особых нет.
... << RSDN@Home 1.1.3 stable >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[51]: Опять С++ vs С#
От: alexeiz  
Дата: 20.11.04 07:21
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

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


ГВ>>> Да нет, по сути дела, никто не мешает и сейчас сделать некий аналог C++ server pages, и проблема в другом — не все хостеры будут рады такой технологии. А проблему со временем отклика можно урегулировать.


A>>ATL Server?


ГВ>Не, вот это: C++ server pages


Выглядит как-то примитивно. Конечно, если нужно иметь C++ код прямо внутри HTML, то это, наверное, единственное решение.
Re[52]: Опять С++ vs С#
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 20.11.04 08:03
Оценка:
Здравствуйте, alexeiz, Вы писали:

ГВ>>Не, вот это: C++ server pages

A>Выглядит как-то примитивно. Конечно, если нужно иметь C++ код прямо внутри HTML, то это, наверное, единственное решение.
А ты думаешь, JSP выглядит намного оригинальней? Принцип-то один и тот же.
... << RSDN@Home 1.1.3 stable >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[49]: Опять С++ vs С#
От: vdimas Россия  
Дата: 21.11.04 10:01
Оценка: 1 (1)
Здравствуйте, Геннадий Васильев, Вы писали:

V>>>Если через сколько-то лет станет приемлимой время перекомпиляции подобной системы на С++, то эта причина в языке исчезнет.

AVK>>Вот когда станет, тогда и поговорим. А пока что этого нет.

ГВ> Да нет, по сути дела, никто не мешает и сейчас сделать некий аналог C++ server pages, и проблема в другом — не все хостеры будут рады такой технологии. А проблему со временем отклика можно урегулировать.


Время отклика теоретически должно быть минимально возможным
(речь о уже скомпилированной проге)
Re: C++ server pages
От: vdimas Россия  
Дата: 21.11.04 10:08
Оценка: 18 (1) +1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Вот не надо гнать, ладно?


ГВ>Ходи сюда и смотри. Крайний апдейт — 18 ноября этого года.


выдержки с той странички:


Incredibly high processing efficiency. Benchmarks have shown a range of 80 to 250 times higher processing speed than ASP.


The use of pure C++ allows the use of tons of libraries that are currently available. It is important to notice that the libraries written in C++ are tens or hundreds of times more than in any other language.


It is widely accepted that the most skilled programmers in the IT market are the C++ ones. However, CGI, ISAPI and other frameworks where C++ applies, do not provide the web developer with facilities for efficient application development. As a result, until now, Web Development could not take advantage of the best programmers.


The processing efficiency of CSP allows the use of affordable systems even for complex Web Applications with heavy algorithms.


The ability of making direct system calls, allows the development of advanced web applications that are impossible with ASP and JSP. For example, it is possible for a CSP page to use multiple threads and do blocking tasks (credit card check, database queries etc.) simultaneously and hence faster, whereas such an accomplishment is only a dream for other technologies.

After exhaustive performance tests of many millions of HTTP requests, the engine has proven absolute stability.

Re: C++ server pages
От: VladD2 Российская Империя www.nemerle.org
Дата: 24.11.04 01:22
Оценка: :)
Здравствуйте, Геннадий Васильев, Вы писали:

VD>>Ты ради хохмы создай страничку того же ASP.Net на МС++. Увидишь, что скорости компиляции за глаза хватает. Но МС++ все равно никто для этих целей не использует. И это потому, что толку от МС++ нет, а гемороя с ним больше. Т.е. потому, что в этой области он уже полностью пошел на свалку.


ГВ>Вот не надо гнать, ладно?


Что за выражения? Фу.

ГВ>Ходи сюда и смотри. Крайний апдейт — 18 ноября этого года.


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

ГВ>И вообще, да поможет тебе Google.


Спасибо, но я как-нибудь без этого.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[51]: Опять С++ vs С#
От: Дарней Россия  
Дата: 24.11.04 09:14
Оценка: 18 (1) :)
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Не, вот это: C++ server pages


не перестаю удивляться упорству, с которым люди ищут проблем на свои задницы
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[2]: C++ server pages
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 24.11.04 17:51
Оценка:
Здравствуйте, VladD2, Вы писали:

ГВ>>Ходи сюда и смотри. Крайний апдейт — 18 ноября этого года.

VD>Рад за них. Я вообще всегда радуюсь маньякам и мазохистам. Вот только то, что на С++ сайты в основном не пишут говорит о том, что мазохистов и маньяков все же не много.
Ну, право выбора эпитета — суть твоё неотъемлемое право.

ГВ>>И вообще, да поможет тебе Google.

VD>Спасибо, но я как-нибудь без этого.
Up on You.
... << RSDN@Home 1.1.3 stable >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[52]: Опять С++ vs С#
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 24.11.04 17:51
Оценка: +1 -1
Здравствуйте, Дарней, Вы писали:

ГВ>>Не, вот это: C++ server pages

Д>не перестаю удивляться упорству, с которым люди ищут проблем на свои задницы
Я бы не стал называть это поиском проблем. Скорее уж, попыткой избавиться от каких-то неприятностей, свойственных традиционным решениям.
... << RSDN@Home 1.1.3 stable >>
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[53]: Опять С++ vs С#
От: Дарней Россия  
Дата: 25.11.04 05:06
Оценка: +2 -1
Здравствуйте, Геннадий Васильев, Вы писали:

ГВ>Я бы не стал называть это поиском проблем. Скорее уж, попыткой избавиться от каких-то неприятностей, свойственных традиционным решениям.


Просто я прекрасно могу представить, какое количество проблем они приобретут взамен. И еще не факт, что применение C++ избавит их от старых.
C++ очень опасно применять для кода, который регулярно будет изменяться, особенно — если это серверный код.
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[54]: Опять С++ vs С#
От: Павел Кузнецов  
Дата: 25.11.04 11:00
Оценка:
Дарней,

> C++ очень опасно применять для кода, который регулярно будет изменяться, особенно — если это серверный код.


Это почему?
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[55]: Опять С++ vs С#
От: Дарней Россия  
Дата: 25.11.04 11:23
Оценка: 18 (1)
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Это почему?


потому что идеальных программистов не бывает. Кто-нибудь обязательно накосячит при очередных изменениях, повредит чужую память, и весь сервер с треском рухнет — вместе со всеми текущими сенасами работы. Пользователи будут очень довольны. Что еще хуже, на поиск и отладку этого бага понадобится куча времени.
Единственный способ этого избежать — запускать каждый сеанс в отдельном процессе. Что создает такие накладные расходы, по сравнению с которыми накладные расходы той же самой Явы или C# покажутся детскими игрушками.
Хотя это уже 10 раз везде обсуждалось и обсасывалось...
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[56]: Опять С++ vs С#
От: Павел Кузнецов  
Дата: 25.11.04 11:55
Оценка: 7 (3) +2 -2
Дарней,

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


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

> Единственный способ этого избежать — запускать каждый сеанс в отдельном процессе.


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

> Хотя это уже 10 раз везде обсуждалось и обсасывалось...


От многократного повторения данный тезис более истинным не становится.
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[57]: Опять С++ vs С#
От: Дарней Россия  
Дата: 25.11.04 12:09
Оценка: 58 (3) +4
Здравствуйте, Павел Кузнецов, Вы писали:

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


Иными словами — сначала нам нужно разработать фреймворк, который будет инкапсулировать все опасные возможности C++ (в результате мы получим подмножество языка, очень похожее на C# ). Потом написать набор соглашений и требований к коду (один из таких документов, которые я видел — это талмуд объемом около 200 страниц). Потом нужно добиться, чтобы все программисты эти требования соблюдали. Правила конечно все равно будут нарушать... поэтому придется посадить некоторое количество людей, чтобы они вычитывали код. Ну и конечно, наиболее распространенные нарушения можно выявлять автоматически — достаточно написать парсер кода с некоторым набором правил проверки.
Все очень просто, нужно только сильно захотеть

ПК>Это единственный способ "этого" избежать, если ты работаешь со злоумышленниками.


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

ПК>От многократного повторения данный тезис более истинным не становится.


no comments
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[58]: Опять С++ vs С#
От: Павел Кузнецов  
Дата: 25.11.04 12:48
Оценка: 18 (5) +2 -3
Дарней,

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


> Иными словами — сначала нам нужно разработать фреймворк, который будет инкапсулировать все опасные возможности C++


Не фреймворк, а библиотеку (т.е. на структуру программы ограничений она не накладывает). И разрабатывать с нуля не надо — уже давно есть. И не одна. Если в какой-то что-то не устраивает, всегда можно доработать. Благо, с открытым кодом хватает.

> (в результате мы получим подмножество языка, очень похожее на C#


Нет. С# не включает множества вещей, которые вполне останутся: шаблоны, позволяющие контролировать часть семантических ограничений во время компиляции, (generics не в счет), размещение объектов в стеке + деструкторы, что позволяет автоматизировать освобождение ресурсов, "свободные" функции и т.п. Если бы язык, действительно, являющийся "улучшенным C++", освобожденным от совмстимости от C, уже был бы создан, обсуждать было бы нечего. Java и C# таковыми не являются и близко. Это легко увидеть при сравнении наиболее типичных подходов в каждом из этих языков.

> Потом написать набор соглашений и требований к коду (один из таких документов, которые я видел — это талмуд объемом около 200 страниц)


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

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


Для приложений с повышенными требованиями к устойчивости code review — фактически, неизбежное дело, вне зависимости от языка. Даже таких языков, как Ада, это касается. Например, один бесконечный цикл в подходящем месте окажется не менее фатальным, чем проход по памяти. Или постепенное накопление процессом используемой памяти, которого автоматически нельзя избежать ни в одном языке, если не предпринимать специальных мер. И т.п.

> Ну и конечно, наиболее распространенные нарушения можно выявлять автоматически — достаточно написать парсер кода с некоторым набором правил проверки.


Это все уже написано давным-давно. См., например, тот же CodeWizard. Нарушения можно выявлять все, которые интересуют, а не "наиболее распространенные". Арифметика указателей (включая встроенные массивы), функции с переменным числом аргументов, некоторые "опасные" разновидности приведения типов и т.п. — все это легко диагностируется соответствующими инструментами.

> ПК> Это единственный способ "этого" избежать, если ты работаешь со злоумышленниками.


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


При наличии достаточного количества программистов с низкой квалификацией. Тут уже никакой язык не поможет.

> ПК> От многократного повторения данный тезис более истинным не становится.


> no comments


Гм... А что, становится? Если нет, то какая разница, сколько раз это уже обсуждалось?
Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[59]: Опять С++ vs С#
От: Дарней Россия  
Дата: 25.11.04 13:47
Оценка: 18 (1) -1
Здравствуйте, Павел Кузнецов, Вы писали:

ПК>Не фреймворк, а библиотеку (т.е. на структуру программы ограничений она не накладывает). И разрабатывать с нуля не надо — уже давно есть. И не одна. Если в какой-то что-то не устраивает, всегда можно доработать. Благо, с открытым кодом хватает.


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

ПК>Нет. С# не включает множества вещей, которые вполне останутся: шаблоны, позволяющие контролировать часть семантических ограничений во время компиляции, (generics не в счет), размещение объектов в стеке + деструкторы, что позволяет автоматизировать освобождение ресурсов, "свободные" функции и т.п. Если бы язык, действительно, являющийся "улучшенным C++", освобожденным от совмстимости от C, уже был бы создан, обсуждать было бы нечего. Java и C# таковыми не являются и близко. Это легко увидеть при сравнении наиболее типичных подходов в каждом из этих языков.


В 99,9% случаев их хватает. А для оставшегося есть unsafe.
Я конечно не спорю, что C++ дает больше возможностей. И как программист я с этим совершенно согласен, и даже очень люблю C++ Но вот как человек, который разгребает чужой код и пытается проконтролировать правильность кодирования — люто его ненавижу

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


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

ПК>Для приложений с повышенными требованиями к устойчивости code review — фактически, неизбежное дело, вне зависимости от языка.


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

ПК>При наличии достаточного количества программистов с низкой квалификацией. Тут уже никакой язык не поможет.


А это и есть самый рядовой случай. Программистов с высокой квалификацией просто по определению не может быть много.
Именно поэтому и придумали C# с Явой — чтобы даже самая законченная обезьяна с гранатой не смогла слишком много набедокурить

ПК>Гм... А что, становится? Если нет, то какая разница, сколько раз это уже обсуждалось?


Многие люди отказываются от C++, и среди них немало людей с высокой квалификацией. И делают они это совсем не от хорошей жизни.

Кажется мне, что мы очень сильно отвлеклись от основной темы
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[60]: Опять С++ vs С#
От: Павел Кузнецов  
Дата: 25.11.04 14:27
Оценка: +1
Дарней,

> ПК> С# не включает множества вещей, которые вполне останутся: шаблоны, позволяющие контролировать часть семантических ограничений во время компиляции, (generics не в счет), размещение объектов в стеке + деструкторы, что позволяет автоматизировать освобождение ресурсов, "свободные" функции и т.п. Если бы язык, действительно, являющийся "улучшенным C++", освобожденным от совмстимости от C, уже был бы создан, обсуждать было бы нечего. Java и C# таковыми не являются и близко. Это легко увидеть при сравнении наиболее типичных подходов в каждом из этих языков.


> В 99,9% случаев их хватает. А для оставшегося есть unsafe.


Что-то я не очень понимаю, как unsafe поможет в достижении перечисленных выше моментов...

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


По этому поводу мне нравится работать с программистами, чей код "разгребать" не приходится

> Именно поэтому и придумали C# с Явой — чтобы даже самая законченная обезьяна с гранатой не смогла слишком много набедокурить


Ну, это не ко мне, я с такими предпочитаю не работать

> Кажется мне, что мы очень сильно отвлеклись от основной темы


Posted via RSDN NNTP Server 1.9 gamma
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Re[60]: Опять С++ vs С#
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.11.04 19:50
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Но вот как человек, который разгребает чужой код и пытается проконтролировать правильность кодирования — люто его ненавижу


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

Д>Многие люди отказываются от C++, и среди них немало людей с высокой квалификацией. И делают они это совсем не от хорошей жизни.


+1

Среди нашего топа таких людей не мало.
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[55]: Опять С++ vs С#
От: VladD2 Российская Империя www.nemerle.org
Дата: 25.11.04 19:50
Оценка: -3
Здравствуйте, Павел Кузнецов, Вы писали:

>> C++ очень опасно применять для кода, который регулярно будет изменяться, особенно — если это серверный код.


ПК>Это почему?


Типа, сам не знаешь и решил повысить свой образовательный уровень?
... << RSDN@Home 1.1.4 beta 3 rev. 207>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.