Здравствуйте, Mamut, Вы писали:
M>Такое ощущение, что C/C++ медленно, но верно занимают нишу этакого высокоуровнего ассемблера. Для гуру, чтобы выжть сверхпроизводительность — пожалуйста. Чтобы разрабатывать что-либо — более чем достаточно других инструментов.
На самом деле, у кого чего болит. У меня языки программирования вообще не болят. Например, во всяких научных расчетах до сих пор рулит Фортран, C++ сливает ему эпическим образом. Но я абсолютно согласен, что писать на C++ UI или бизнес-логику — редкий мазохизм. Как только пошли в ход смарт-поинтеры — все, сливай антифриз. Особенно в режиме многих тредов, да со всякими там кол-бэками. Тем не менее, я до сих пор C++ник, но не яростный, мне просто пофиг. Те задачи, которые мне интересны, прекрасно решаются и на C++ и на Фортране да хоть на Жаве и Си-шарпе. А всякие там бизнес-решения, ентерпрайзы, UI, базы данных, веб-движки для онлайн-магазинов и прочая шняга, которая реально не дружит с C++ — да я от одних только терминов могу вывихнуть челюсть от скуки, а пототм впасть в суровый депрессивный психоз. Так что каждому свое.
Сейчас у меня на работе довольно депрессивный период. Все интересные задачи, которые надо было решить я уже решил, а теперь приходится тупо перелопачивать сотни кода, чисто чтобы навести порядок, в основном в коде своих коллег, ну и в своем тоже, иначе система может стать неуправляемой. Кстати, я же этот процесс и инициировал, так что приходится терпеть. Такая генеральная уборка на полгода. Но я не имею морального права бросить в бидэ своих боевых товарищей и каждое утро провожу аутотренинг на тему того, что это не зазорно поработать некоторе время негром на плантации.
И вообще, надоели мне все эти ваши компьютеры. Непроходимая тупизна и хронический рак головы в терминальной стадии на всю оставшуюся жизнь. Чего вы в них интересного нашли?
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Борьба новоявленных донкихотов с ветряными мельницами в топиках про Apple утомила.
Меня на самом деле относительно недавно начал занимать одинв интересный вопрос.
Я тут медленно ковыряю различные базы данных, которые с легкой руки попадают в категорию NoSQL. И вот, что мне стало интересно: люди совершенно не гнушаются забить на C/C++ и написать что-то такое, от чего хочется воскликнуть: ну нифигассе.
Ну, например, фейсбучная Cassandra. Написана на Java. Автоматическиая масштабируемость. Работает с терабайтами данных. Причем терабайты — это типа сотня терабайтов индексов, например.
Hadoop/HBase/HDFS — тоже на Java. Hadoop использовался для обработки поступающих данных и выдачи результатов в поисковике Yahoo. Работал на 10 000 машинах.
Ну и т.п. Примеров много, на самом деле, не только в базах данных.
То есть, люди абсолютно спокойно выбирают ту же Java, реализовывают что-либо, и ни у кого не возникают вопросы типа «ой, мне ее производительность не нравится».
В моей сфере интересов С/С++ вообще выступают только в роли «быстро передать данные». Это nginx/apache/varnish/lighttpd. Логика сайтов, вычисления (не всегда тривиальные) — на чем угодно, только не C++ (да хоть PHP/Python/Ruby/Scala/Java и т.п.).
Такое ощущение, что C/C++ медленно, но верно занимают нишу этакого высокоуровнего ассемблера. Для гуру, чтобы выжть сверхпроизводительность — пожалуйста. Чтобы разрабатывать что-либо — более чем достаточно других инструментов.
Здравствуйте, DOOM, Вы писали:
MS>>От так называемых менеджеров и прочих там президентов компаний меня вообще тошнит. Постотрите на Стива Балмера — да пусть меня лучше в женщину переделают, чем я стану таким уродом и посмешищем. Я хочу пользу приносить — это приятно и прикольно. А паразиты — они неизбежны, таков закон природы. DOO>Это неправильное мнение о роли менеджера и руководящего состава. А работка та еще — с каким удовольствием я вспоминаю о славных днях бытности простым инженером
Безусловно. Менеджер должен иметь определенный склад характера — стойкий нордический спереди и мягкий податливый сзади. И при этом не гнушаться тем, что тебя считают паразитирующим элементом.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, Mamut, Вы писали:
M>Борьба новоявленных донкихотов с ветряными мельницами в топиках про Apple утомила.
M>Меня на самом деле относительно недавно начал занимать одинв интересный вопрос.
M> В моей сфере интересов С/С++ вообще выступают только в роли «быстро передать данные». Это nginx/apache/varnish/lighttpd. Логика сайтов, вычисления (не всегда тривиальные) — на чем угодно, только не C++ (да хоть PHP/Python/Ruby/Scala/Java и т.п.).
M> Такое ощущение, что C/C++ медленно, но верно занимают нишу этакого высокоуровнего ассемблера. M> Для гуру, чтобы выжть сверхпроизводительность — пожалуйста. Чтобы разрабатывать что-либо — более чем достаточно других инструментов.
ну вот мы сейчас пускаем новый сервис, а-ля географически распределенный кластер. я писал ядро на си (без плюсов). ядро это -- десяток elf файлов с чистым Unix-way. каждая программа делает что-то свое. коллеги писали обертку для всего этого на руби, причем писали в разы дольше меня, т.к. у них офигенно сложные задачи. мне достаточно получить входные данные и выдать результат, а им нужно обеспечить целую архитектуру. совершенно не представляю себе сколько бы это писалось на сях. я как-то попылася огранизовать взаимодействие трех процессов на си... и... увяз. там в любую секунду может отвалиться процесс, может кончиться дисковое пространсвто. процесс может повиснуть или породить дочерний процесс и забыть завершить его и на 95% код состоит из проверки ошибок... си к этому не самым лучшим образом приспособлен.
M>Может я и не прав
скорей всего вы правы. как-то написал я очень тупую программу, которая решает задачу за... 10 сек. это был воркараунд. сейчас заоптимизил до десятком ms. т.е. почти в 500 раз быстрре. и что? а ничего. начальство проявляет весьма сдержанный интерес. говорит -- та ты ничего не понимаешь. железо нынче дешевое. а первая версия простая как лом. оптимизированная версия -- слишком помороченная. и до продукта она еще не доведена и когда будет доведена не известно. если задача решается за 10 секунд, а латентность не критична, то пропускная способность достигается за счет набора нужного кол-ва "боксов". и начальство по своему очень право. кстати, латентность всей системы ~30 сек. это в приципе ответ на вопрос почему начальство так прохладно к оптимизации моей части. ну ускорю я систему на 30% макс. ну и что? и какой ценой? ценой избыточной сложности => потенциальной глюкавости => худшей переносимости.
ЗЫ. а руби как я смотрю рулит.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Здравствуйте, Mamut, Вы писали:
M>Борьба новоявленных донкихотов с ветряными мельницами в топиках про Apple утомила. M>Меня на самом деле относительно недавно начал занимать одинв интересный вопрос. M>Я тут медленно ковыряю различные базы данных, которые с легкой руки попадают в категорию NoSQL. И вот, что мне стало интересно: люди совершенно не гнушаются забить на C/C++ и написать что-то такое, от чего хочется воскликнуть: ну нифигассе. M>Ну, например, фейсбучная Cassandra. Написана на Java. Автоматическиая масштабируемость. Работает с терабайтами данных. Причем терабайты — это типа сотня терабайтов индексов, например. M>Hadoop/HBase/HDFS — тоже на Java. Hadoop использовался для обработки поступающих данных и выдачи результатов в поисковике Yahoo. Работал на 10 000 машинах. M>Ну и т.п. Примеров много, на самом деле, не только в базах данных. M>То есть, люди абсолютно спокойно выбирают ту же Java, реализовывают что-либо, и ни у кого не возникают вопросы типа «ой, мне ее производительность не нравится».
Если подходить с головой, то можно на любом языке написать достойно работающую систему. Однако большинство десктопных решений не масштабируется даже на два компьютера. Поэтому для Facebook нужны были совсем другие подходы и производительности уже не так важна. В крайнем случае можно увеличить количество узлов, использовать более быструю сеть и т п. Намного важней scalability и integrity.
MS>И вообще, надоели мне все эти ваши компьютеры. Непроходимая тупизна и хронический рак головы в терминальной стадии на всю оставшуюся жизнь. Чего вы в них интересного нашли?
Это скорее намек на то, что надо уходить из программирования в тим лиды, менеджеры и президенты компаний
MS>>И вообще, надоели мне все эти ваши компьютеры. Непроходимая тупизна и хронический рак головы в терминальной стадии на всю оставшуюся жизнь. Чего вы в них интересного нашли?
M>Это скорее намек на то, что надо уходить из программирования в тим лиды, менеджеры и президенты компаний
Один мой знакомый ушел в банковскую сферу — занимается созданием банков (от помещений до подбора кадров). С мокй "колокольни" — это настоящий ад, но он вспоминает о своем программистском прошлом как о сущем аде. Я вобщем-то тоже ушел совсем в иную сферу, а в плане программирования теперь — свободный художник.
Здравствуйте, Mamut, Вы писали:
M>Это скорее намек на то, что надо уходить из программирования в тим лиды, менеджеры и президенты компаний
От так называемых менеджеров и прочих там президентов компаний меня вообще тошнит. Постотрите на Стива Балмера — да пусть меня лучше в женщину переделают, чем я стану таким уродом и посмешищем. Я хочу пользу приносить — это приятно и прикольно. А паразиты — они неизбежны, таков закон природы. Главное в этой жизни — чтобы вес паразитов не превышал веса животного, которым они питаются. Иначе им же самим хуже будет — животное сдохнет и питаться станет нечем.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Здравствуйте, McSeem2, Вы писали:
MS>От так называемых менеджеров и прочих там президентов компаний меня вообще тошнит. Постотрите на Стива Балмера — да пусть меня лучше в женщину переделают, чем я стану таким уродом и посмешищем. Я хочу пользу приносить — это приятно и прикольно. А паразиты — они неизбежны, таков закон природы.
Это неправильное мнение о роли менеджера и руководящего состава. А работка та еще — с каким удовольствием я вспоминаю о славных днях бытности простым инженером
Здравствуйте, McSeem2, Вы писали:
MS>Здравствуйте, Mamut, Вы писали:
M>>Такое ощущение, что C/C++ медленно, но верно занимают нишу этакого высокоуровнего ассемблера. Для гуру, чтобы выжть сверхпроизводительность — пожалуйста. Чтобы разрабатывать что-либо — более чем достаточно других инструментов.
MS>На самом деле, у кого чего болит. У меня языки программирования вообще не болят. Например, во всяких научных расчетах до сих пор рулит Фортран, C++ сливает ему эпическим образом. Но я абсолютно согласен, что писать на C++ UI или бизнес-логику — редкий мазохизм. Как только пошли в ход смарт-поинтеры — все, сливай антифриз. Особенно в режиме многих тредов, да со всякими там кол-бэками. Тем не менее, я до сих пор C++ник, но не яростный, мне просто пофиг. Те задачи, которые мне интересны, прекрасно решаются и на C++ и на Фортране да хоть на Жаве и Си-шарпе. А всякие там бизнес-решения, ентерпрайзы, UI, базы данных, веб-движки для онлайн-магазинов и прочая шняга, которая реально не дружит с C++ — да я от одних только терминов могу вывихнуть челюсть от скуки, а пототм впасть в суровый депрессивный психоз. Так что каждому свое.
Поспорю насчет фортрана, под него огромные библиотеки, но сам язык очень кривой, у меня друг серьезный математик, так он фортран даже не трогает, пользуется математикой, матлабом и изредка C — когда уж очень тяжелые расчеты.
MS>Сейчас у меня на работе довольно депрессивный период. Все интересные задачи, которые надо было решить я уже решил, а теперь приходится тупо перелопачивать сотни кода, чисто чтобы навести порядок, в основном в коде своих коллег, ну и в своем тоже, иначе система может стать неуправляемой. Кстати, я же этот процесс и инициировал, так что приходится терпеть. Такая генеральная уборка на полгода. Но я не имею морального права бросить в бидэ своих боевых товарищей и каждое утро провожу аутотренинг на тему того, что это не зазорно поработать некоторе время негром на плантации.
Тут не знаю, что и посоветовать. Разве что отпуск.
MS>И вообще, надоели мне все эти ваши компьютеры. Непроходимая тупизна и хронический рак головы в терминальной стадии на всю оставшуюся жизнь. Чего вы в них интересного нашли?
Надоели — бросай к чертям, выдержи свои полгода обязательств и бросай (причем незадолго до окончания, если позже — начнется новая фигня, еще на полгода).
PS. Не люблю рак и терминальные стадии. Может и лучше удава, но не люблю.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, McSeem2, Вы писали:
MS>Здравствуйте, Mamut, Вы писали:
MS>И вообще, надоели мне все эти ваши компьютеры. Непроходимая тупизна и хронический рак головы в терминальной стадии на всю оставшуюся жизнь. Чего вы в них интересного нашли?
+1
Аналогичная ботва. Чем старше тем ленивее и скучнеееее...
Здравствуйте, мыщъх, Вы писали:
M>>Может я и не прав М>скорей всего вы правы. как-то написал я очень тупую программу, которая решает задачу за... 10 сек. это был воркараунд. сейчас заоптимизил до десятком ms. т.е. почти в 500 раз быстрре. и что? а ничего. начальство проявляет весьма сдержанный интерес. говорит -- та ты ничего не понимаешь. железо нынче дешевое. а первая версия простая как лом. оптимизированная версия -- слишком помороченная. и до продукта она еще не доведена и когда будет доведена не известно. если задача решается за 10 секунд, а латентность не критична, то пропускная способность достигается за счет набора нужного кол-ва "боксов". и начальство по своему очень право. кстати, латентность всей системы ~30 сек. это в приципе ответ на вопрос почему начальство так прохладно к оптимизации моей части. ну ускорю я систему на 30% макс. ну и что? и какой ценой? ценой избыточной сложности => потенциальной глюкавости => худшей переносимости.
М>ЗЫ. а руби как я смотрю рулит.
Это не проблема пока программа считает 10 или 100 секунд, а когда задача вырастет до 10-100 дней, начальство не будет создавать кластер только для отладки, а оптимизации в 500 раз очень даже обрадуется. В свое время мне пришлось написать довольно много софта для очень слабых машин (сейчас телефоны мощнее делают), выжимая из них почти все, сейчас же подобные задачи решаются с огромным оверхедом, но работают без малейшей оптимизации. Хорошо это или плохо — не знаю, наверное, все-таки, хорошо.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Здравствуйте, Mamut, Вы писали:
M>Такое ощущение, что C/C++ медленно, но верно занимают нишу этакого высокоуровнего ассемблера. Для гуру, чтобы выжть сверхпроизводительность — пожалуйста. Чтобы разрабатывать что-либо — более чем достаточно других инструментов.
Ну и надо учитывать, что поколения меняются. Есть много людей, которые С++ и не видели, а росли с университета на других языках.
Здравствуйте, Mamut, Вы писали:
M>Ну, например, фейсбучная Cassandra. Написана на Java. Автоматическиая масштабируемость. Работает с терабайтами данных. Причем терабайты — это типа сотня терабайтов индексов, например.
M>Hadoop/HBase/HDFS — тоже на Java. Hadoop использовался для обработки поступающих данных и выдачи результатов в поисковике Yahoo. Работал на 10 000 машинах.
Написаны полностью на Java? Или ядро там на другом языке? Ибо это две большие разницы.
Здравствуйте, Pro100Oleh, Вы писали:
PO>Здравствуйте, Mamut, Вы писали:
M>>Ну, например, фейсбучная Cassandra. Написана на Java. Автоматическиая масштабируемость. Работает с терабайтами данных. Причем терабайты — это типа сотня терабайтов индексов, например.
M>>Hadoop/HBase/HDFS — тоже на Java. Hadoop использовался для обработки поступающих данных и выдачи результатов в поисковике Yahoo. Работал на 10 000 машинах.
PO>Написаны полностью на Java? Или ядро там на другом языке? Ибо это две большие разницы. Полностью на Java