Re[9]: Работа - с чего начать: С++ или С#?
От: criosray  
Дата: 24.04.09 19:19
Оценка: +1
Здравствуйте, Хвост, Вы писали:

G>>ИМХО лучше вместо кривых костылей с самописными GC, "умными" указателями и прочей лабудой использовать нормальные языки.

Х>"нормальные" языки дают оверхед на пустом месте, единственный высокоуровневый язык без оверхедов — С++
Очень смешно.
Re[23]: Работа - с чего начать: С++ или С#?
От: criosray  
Дата: 24.04.09 19:21
Оценка:
Здравствуйте, catBasilio, Вы писали:

VD>>Начиная со 2-й версии С++ нервно курит в сторонке.

VD>>А начиная с 2006-го я вообще перешел на Nemerle до которого C# расти еще лет 10, а С++ уже никогда не дорастет.

B>Если С# так хорош, то почему всякие Crysis, Quake, FarCry и прочее на нем не пишут?


Вы еще спросили бы почему на С# драйверы не пишут.
Re[23]: Работа - с чего начать: С++ или С#?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.04.09 19:23
Оценка: -1
Здравствуйте, catBasilio, Вы писали:

B>Если С# так хорош, то почему всякие Crysis, Quake, FarCry и прочее на нем не пишут?


Если C++ так хорош, то почему на нем не пишут тысячи бизнес-систем?
Почему самые высоконагруженные сайты написаны не на С++?

Из игрушек кстати Halo 3 вполне на C#.
Re[9]: Работа - с чего начать: С++ или С#?
От: criosray  
Дата: 24.04.09 19:24
Оценка:
Здравствуйте, catBasilio, Вы писали:

B>P.S. это высосанный из пальца пример, но проблему он показывает вполне.


Этот пример абсолютно нереалистичен. На практике такого не случается.
Re[22]: Работа - с чего начать: С++ или С#?
От: Хвост  
Дата: 24.04.09 19:27
Оценка:
Здравствуйте, gandjustas, Вы писали:

Х>>покажи как мне выразить такую простую абстракцию: параметр метода — как ссылка на константный объект

G>Всю константность в С++ можно с успехом обмануть,
не понял к чему было про "обмануть", ето тоже самое что грить C# небезопасен потому что есть ансейф
G>кроме того константность не является абстракцией
называй как хочешь, но вот то что такой нужной вещи нет в C# ето просто поразительно.

Х>>или ммм... такую "фичу" как множественное наследование

G>Ага, еще скажи что виртуальный базовый класс — нереальная фича
ты начинаешь говорить как заядлый холиварщик, "етого у нас нет потому что можно обойти окольными путями"


Х>>или скажем, статический полиморфизм, слышал о таком?

G>Перегрузка методов является одим из видов статического полиморфизма, она есть в C#
перегрузка методов ето скорее ad-hoc полиморфизм, и до статического полиморфизма тут как раком до пекина, а вот статический полиморфизм в с++ ето скорее похоже на утиную типизацию, и заметь ноль оверхеда.
People write code, programming languages don't.
Re[10]: Работа - с чего начать: С++ или С#?
От: Хвост  
Дата: 24.04.09 19:30
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Кстати тесты по быстродействию операций выделения-освобождения памяти в с++ и .NET я приводил — C++ сливает.

G>И это без умных указателей и прочей лабуды, с ними банальная вещь — работа с памятью — будет еще медленнее.
ты вообще в курсе про стек? наша песня хороша, начинай сначала? подавляющее число аллокаций в с++ происходит на стеке, заруби себе ето на носу, и там твой гц сливает аж не балуй.
People write code, programming languages don't.
Re[24]: Работа - с чего начать: С++ или С#?
От: Хвост  
Дата: 24.04.09 19:36
Оценка: +1 -1
Здравствуйте, gandjustas, Вы писали:

G>Если C++ так хорош, то почему на нем не пишут тысячи бизнес-систем?

потому что бизнес-логика может писатся хоть на скриптах, всем начхать на оверхед, упирается в базу обычно. То что интерфейс лагает слегка — не имеет ни для кого значения. Обсуждалось уже вроде.
G>Почему самые высоконагруженные сайты написаны не на С++?

G>Из игрушек кстати Halo 3 вполне на C#.

Пруфлинк. Могу допустить что там игровая логика написана на C#, но движок — никогда.
People write code, programming languages don't.
Re[24]: Работа - с чего начать: С++ или С#?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 24.04.09 19:36
Оценка: 1 (1) +1 :))
Здравствуйте, gandjustas, Вы писали:

G>Если C++ так хорош, то почему на нем не пишут тысячи бизнес-систем?


Сам пересчитывал?

G>Почему самые высоконагруженные сайты написаны не на С++?


Все переобмерил?

P.S.: Но это всё не аргументы. По устоявшейся RSDN-овской традиции Настоящие Весомые Аргументы Против C++ должны содержать слова из такого ряда: фобия, замшелость, стереотип, мемори лик, проход по памяти, миллионы программистов, википедия, тузик, тряпка, рвать, мозг, затычка, косность. Можно даже шпаргалку составить.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[21]: Работа - с чего начать: С++ или С#?
От: criosray  
Дата: 24.04.09 19:37
Оценка:
Здравствуйте, Хвост, Вы писали:

VD>>Не стоит даже заикаться на счет каких-то там преимуществ С++ в области языковых возможностей и тем более абстракций. Это чушь!

Х>угу, ты ето говоришь года едак с 2002-го, когда C# был настолько убог что даже твой нелюбимый С++ обходил его с головой.
Х>покажи как мне выразить такую простую абстракцию: параметр метода — как ссылка на константный объект,
Это?
        static void Main(string[] args)
        {
            const string a = "aaa";
            Console.WriteLine(foo(a));
            Console.ReadKey();
        }

        static string foo(string a)
        {
            return a + "bbb";
        }




Х>или ммм... такую "фичу" как множественное наследование,

Множественное наследование — моветон, сродни goto. Это ХОРОШО, что его нету, иначе количество граблей, генерируемых индусами возразло бы экспоненциально.

Х>или скажем, статический полиморфизм, слышал о таком?

Он конечно же есть в .NET

Это все или еще что-то есть?
Re[11]: Работа - с чего начать: С++ или С#?
От: criosray  
Дата: 24.04.09 19:39
Оценка:
Здравствуйте, Хвост, Вы писали:

G>>Кстати тесты по быстродействию операций выделения-освобождения памяти в с++ и .NET я приводил — C++ сливает.

G>>И это без умных указателей и прочей лабуды, с ними банальная вещь — работа с памятью — будет еще медленнее.
Х>ты вообще в курсе про стек? наша песня хороша, начинай сначала? подавляющее число аллокаций в с++ происходит на стеке, заруби себе ето на носу, и там твой гц сливает аж не балуй.

Да где сливает-то? Покажите бенчмарки, основанные на реальном (желательно production) коде.
Re[25]: Работа - с чего начать: С++ или С#?
От: criosray  
Дата: 24.04.09 19:40
Оценка:
Здравствуйте, Хвост, Вы писали:

G>>Если C++ так хорош, то почему на нем не пишут тысячи бизнес-систем?

Х>потому что бизнес-логика может писатся хоть на скриптах, всем начхать на оверхед, упирается в базу обычно. То что интерфейс лагает слегка — не имеет ни для кого значения. Обсуждалось уже вроде.
Вам только кажется. Нигде ничего не лагает.
Re[24]: Работа - с чего начать: С++ или С#?
От: Хвост  
Дата: 24.04.09 19:43
Оценка:
Здравствуйте, gandjustas, Вы писали:
G>Почему самые высоконагруженные сайты написаны не на С++?
для сайтов легче купить несколько серверных стоек, чем заплатить программистам на С++ выше рынка, к сайтам скорее требование к масшабированию чем к производительности, хотя в гугле и в яндексе афаик ядро поиска написано на С++, наверное потому что им уже есть резон економить на серверах.
People write code, programming languages don't.
Re[22]: Работа - с чего начать: С++ или С#?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 24.04.09 19:43
Оценка: +1
Здравствуйте, criosray, Вы писали:

Х>>или ммм... такую "фичу" как множественное наследование,

C>Множественное наследование — моветон, сродни goto. Это ХОРОШО, что его нету, иначе количество граблей, генерируемых индусами возразло бы экспоненциально.

Ты уверен, что апелляция к "индусам" в этом контексте выглядит позитивно?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[25]: Работа - с чего начать: С++ или С#?
От: criosray  
Дата: 24.04.09 19:46
Оценка:
Здравствуйте, Хвост, Вы писали:

G>>Почему самые высоконагруженные сайты написаны не на С++?

Х>для сайтов легче купить несколько серверных стоек, чем заплатить программистам на С++ выше рынка, к сайтам скорее требование к масшабированию чем к производительности, хотя в гугле и в яндексе афаик ядро поиска написано на С++, наверное потому что им уже есть резон економить на серверах.
Откуда информация? Дайте ссылку на авторитетный источник.
Re[23]: Работа - с чего начать: С++ или С#?
От: criosray  
Дата: 24.04.09 19:47
Оценка:
Здравствуйте, Геннадий Васильев, Вы писали:

Х>>>или ммм... такую "фичу" как множественное наследование,

C>>Множественное наследование — моветон, сродни goto. Это ХОРОШО, что его нету, иначе количество граблей, генерируемых индусами возразло бы экспоненциально.

ГВ>Ты уверен, что апелляция к "индусам" в этом контексте выглядит позитивно?


Нет, но зато реалистично. Индусы — вездесущи. ;(
Re[24]: Работа - с чего начать: С++ или С#?
От: Геннадий Васильев Россия http://www.livejournal.com/users/gesha_x
Дата: 24.04.09 19:55
Оценка:
Здравствуйте, criosray, Вы писали:

ГВ>>Ты уверен, что апелляция к "индусам" в этом контексте выглядит позитивно?

C>Нет, но зато реалистично. Индусы — вездесущи. ;(

И это является проблемой множественнного наследования? ИМХО, это завихрения текущего контекста, ничего больше. В отличие от goto, который сам по себе ничуть не вреден (вредно запутывание программы хаосом из goto).
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Re[22]: Работа - с чего начать: С++ или С#?
От: Хвост  
Дата: 24.04.09 19:57
Оценка:
Здравствуйте, criosray, Вы писали:

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


Х>>покажи как мне выразить такую простую абстракцию: параметр метода — как ссылка на константный объект,

C>Это?
C>
C>        static void Main(string[] args)
C>        {
C>            const string a = "aaa";
C>            Console.WriteLine(foo(a));
C>            Console.ReadKey();
C>        }

C>        static string foo(string a)
C>        {
C>            return a + "bbb";
C>        }
C>


нет, вот ето
int main(int argc, char* argv[])
{
    string fileName = getAppDir();
    fileName += "some.file";
    someFunc(fileName);
}

void someFunc(const string& fileName)
{
    fileName = "wow!"; // тут компилятор ругается, в C# недоступен модификатор const для параметров ф-ции/метода
                       // поетому оригинальная строка затрётся за милую душу. В С++ всё гуд. В C# - боль и печаль.
}



Х>>или ммм... такую "фичу" как множественное наследование,

C>Множественное наследование — моветон, сродни goto. Это ХОРОШО, что его нету, иначе количество граблей, генерируемых индусами возразло бы экспоненциально.
ты как бы взгляни на библиотеки boost/wtl/atl, и покажи мне в каком месте в них множественное наследование является моветоном.

Х>>или скажем, статический полиморфизм, слышал о таком?

C>Он конечно же есть в .NET
где?
People write code, programming languages don't.
Re[12]: Работа - с чего начать: С++ или С#?
От: Хвост  
Дата: 24.04.09 19:59
Оценка:
Здравствуйте, criosray, Вы писали:
Х>>ты вообще в курсе про стек? наша песня хороша, начинай сначала? подавляющее число аллокаций в с++ происходит на стеке, заруби себе ето на носу, и там твой гц сливает аж не балуй.
C>Да где сливает-то? Покажите бенчмарки, основанные на реальном (желательно production) коде.
ээээ, даже не знаю что сказать как ты представляешь себе бенчмарки продакшн кода в плане аллокация на стеке vs аллокация c gc?
People write code, programming languages don't.
Re[23]: Работа - с чего начать: С++ или С#?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 24.04.09 20:00
Оценка: +1 -1
Здравствуйте, Хвост, Вы писали:

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


Х>>>покажи как мне выразить такую простую абстракцию: параметр метода — как ссылка на константный объект

G>>Всю константность в С++ можно с успехом обмануть,
Х>не понял к чему было про "обмануть", ето тоже самое что грить C# небезопасен потому что есть ансейф
ансейф надо явно писать и можно запретить его запускать.
А попробуй запретить в С++ менять константные объекты.

G>>кроме того константность не является абстракцией

Х>называй как хочешь, но вот то что такой нужной вещи нет в C# ето просто поразительно.
Читать больше надо. От константности отказались как раз в силу сложности обеспечения честной константности.

Х>>>или ммм... такую "фичу" как множественное наследование

G>>Ага, еще скажи что виртуальный базовый класс — нереальная фича
Х>ты начинаешь говорить как заядлый холиварщик, "етого у нас нет потому что можно обойти окольными путями"
Это не надо обходить, этого надо избегать. Множественное наследование реализации является ошибкой дизайна, а множественное наследование интерфейсов и так есть в C#.

Х>>>или скажем, статический полиморфизм, слышал о таком?

G>>Перегрузка методов является одим из видов статического полиморфизма, она есть в C#
Х>перегрузка методов ето скорее ad-hoc полиморфизм, и до статического полиморфизма тут как раком до пекина, а вот статический полиморфизм в с++ ето скорее похоже на утиную типизацию, и заметь ноль оверхеда.
Ты путаешься в понятиях, статический полиморфизм — когда решение о вызываемом методе принимается в момент компиляции.

При наличии рантаймовой генерации кода можно получить все преимущества как статического, так и динамического полиморфизма. И утиной типизации тоже.
.NET это очень хорошо умеет.
Re[26]: Работа - с чего начать: С++ или С#?
От: Хвост  
Дата: 24.04.09 20:02
Оценка: 1 (1)
Здравствуйте, criosray, Вы писали:

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


G>>>Почему самые высоконагруженные сайты написаны не на С++?

Х>>для сайтов легче купить несколько серверных стоек, чем заплатить программистам на С++ выше рынка, к сайтам скорее требование к масшабированию чем к производительности, хотя в гугле и в яндексе афаик ядро поиска написано на С++, наверное потому что им уже есть резон економить на серверах.
C>Откуда информация? Дайте ссылку на авторитетный источник.
про гугл с ходу не нашёл, а яндекс дык http://company.yandex.ru/inside/job/ раздел "Разработчики"
People write code, programming languages don't.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.