И о другом... О языках программирования
От: Mamut Швеция http://dmitriid.com
Дата: 08.07.10 16:14
Оценка: 2 (2) +1
Борьба новоявленных донкихотов с ветряными мельницами в топиках про 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++ медленно, но верно занимают нишу этакого высокоуровнего ассемблера. Для гуру, чтобы выжть сверхпроизводительность — пожалуйста. Чтобы разрабатывать что-либо — более чем достаточно других инструментов.

Может я и не прав


dmitriid.comGitHubLinkedIn
Re: И о другом... О языках программирования
От: henson Россия http://www.njt-rails.com
Дата: 08.07.10 17:27
Оценка:
Здравствуйте, 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.
Re: И о другом... О языках программирования
От: McSeem2 США http://www.antigrain.com
Дата: 08.07.10 21:45
Оценка: 3 (2) +3 :))) :)
Здравствуйте, Mamut, Вы писали:

M>Такое ощущение, что C/C++ медленно, но верно занимают нишу этакого высокоуровнего ассемблера. Для гуру, чтобы выжть сверхпроизводительность — пожалуйста. Чтобы разрабатывать что-либо — более чем достаточно других инструментов.


На самом деле, у кого чего болит. У меня языки программирования вообще не болят. Например, во всяких научных расчетах до сих пор рулит Фортран, C++ сливает ему эпическим образом. Но я абсолютно согласен, что писать на C++ UI или бизнес-логику — редкий мазохизм. Как только пошли в ход смарт-поинтеры — все, сливай антифриз. Особенно в режиме многих тредов, да со всякими там кол-бэками. Тем не менее, я до сих пор C++ник, но не яростный, мне просто пофиг. Те задачи, которые мне интересны, прекрасно решаются и на C++ и на Фортране да хоть на Жаве и Си-шарпе. А всякие там бизнес-решения, ентерпрайзы, UI, базы данных, веб-движки для онлайн-магазинов и прочая шняга, которая реально не дружит с C++ — да я от одних только терминов могу вывихнуть челюсть от скуки, а пототм впасть в суровый депрессивный психоз. Так что каждому свое.

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

И вообще, надоели мне все эти ваши компьютеры. Непроходимая тупизна и хронический рак головы в терминальной стадии на всю оставшуюся жизнь. Чего вы в них интересного нашли?
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[2]: И о другом... О языках программирования
От: Mamut Швеция http://dmitriid.com
Дата: 08.07.10 22:12
Оценка:
MS>И вообще, надоели мне все эти ваши компьютеры. Непроходимая тупизна и хронический рак головы в терминальной стадии на всю оставшуюся жизнь. Чего вы в них интересного нашли?

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


dmitriid.comGitHubLinkedIn
Re[3]: И о другом... О языках программирования
От: _Raz_  
Дата: 08.07.10 22:17
Оценка:
Здравствуйте, Mamut, Вы писали:

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


А почему не работать руками, создавать что-то материальное?
... << RSDN@Home 1.2.0 alpha 4 rev. 1446>>
Re[3]: И о другом... О языках программирования
От: ВаряГ  
Дата: 08.07.10 22:28
Оценка:
Здравствуйте, Mamut, Вы писали:


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


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


Один мой знакомый ушел в банковскую сферу — занимается созданием банков (от помещений до подбора кадров). С мокй "колокольни" — это настоящий ад, но он вспоминает о своем программистском прошлом как о сущем аде. Я вобщем-то тоже ушел совсем в иную сферу, а в плане программирования теперь — свободный художник.
Re[3]: И о другом... О языках программирования
От: McSeem2 США http://www.antigrain.com
Дата: 08.07.10 22:35
Оценка:
Здравствуйте, Mamut, Вы писали:

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


От так называемых менеджеров и прочих там президентов компаний меня вообще тошнит. Постотрите на Стива Балмера — да пусть меня лучше в женщину переделают, чем я стану таким уродом и посмешищем. Я хочу пользу приносить — это приятно и прикольно. А паразиты — они неизбежны, таков закон природы. Главное в этой жизни — чтобы вес паразитов не превышал веса животного, которым они питаются. Иначе им же самим хуже будет — животное сдохнет и питаться станет нечем.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[4]: И о другом... О языках программирования
От: DOOM Россия  
Дата: 09.07.10 03:18
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>От так называемых менеджеров и прочих там президентов компаний меня вообще тошнит. Постотрите на Стива Балмера — да пусть меня лучше в женщину переделают, чем я стану таким уродом и посмешищем. Я хочу пользу приносить — это приятно и прикольно. А паразиты — они неизбежны, таков закон природы.

Это неправильное мнение о роли менеджера и руководящего состава. А работка та еще — с каким удовольствием я вспоминаю о славных днях бытности простым инженером
Re[2]: И о другом... О языках программирования
От: Ops Россия  
Дата: 09.07.10 03:59
Оценка:
Здравствуйте, McSeem2, Вы писали:

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


M>>Такое ощущение, что C/C++ медленно, но верно занимают нишу этакого высокоуровнего ассемблера. Для гуру, чтобы выжть сверхпроизводительность — пожалуйста. Чтобы разрабатывать что-либо — более чем достаточно других инструментов.


MS>На самом деле, у кого чего болит. У меня языки программирования вообще не болят. Например, во всяких научных расчетах до сих пор рулит Фортран, C++ сливает ему эпическим образом. Но я абсолютно согласен, что писать на C++ UI или бизнес-логику — редкий мазохизм. Как только пошли в ход смарт-поинтеры — все, сливай антифриз. Особенно в режиме многих тредов, да со всякими там кол-бэками. Тем не менее, я до сих пор C++ник, но не яростный, мне просто пофиг. Те задачи, которые мне интересны, прекрасно решаются и на C++ и на Фортране да хоть на Жаве и Си-шарпе. А всякие там бизнес-решения, ентерпрайзы, UI, базы данных, веб-движки для онлайн-магазинов и прочая шняга, которая реально не дружит с C++ — да я от одних только терминов могу вывихнуть челюсть от скуки, а пототм впасть в суровый депрессивный психоз. Так что каждому свое.


Поспорю насчет фортрана, под него огромные библиотеки, но сам язык очень кривой, у меня друг серьезный математик, так он фортран даже не трогает, пользуется математикой, матлабом и изредка C — когда уж очень тяжелые расчеты.

MS>Сейчас у меня на работе довольно депрессивный период. Все интересные задачи, которые надо было решить я уже решил, а теперь приходится тупо перелопачивать сотни кода, чисто чтобы навести порядок, в основном в коде своих коллег, ну и в своем тоже, иначе система может стать неуправляемой. Кстати, я же этот процесс и инициировал, так что приходится терпеть. Такая генеральная уборка на полгода. Но я не имею морального права бросить в бидэ своих боевых товарищей и каждое утро провожу аутотренинг на тему того, что это не зазорно поработать некоторе время негром на плантации.


Тут не знаю, что и посоветовать. Разве что отпуск.

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


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

PS. Не люблю рак и терминальные стадии. Может и лучше удава, но не люблю.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re[2]: И о другом... О языках программирования
От: kvasya  
Дата: 09.07.10 04:40
Оценка:
Здравствуйте, McSeem2, Вы писали:

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


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

+1

Аналогичная ботва. Чем старше тем ленивее и скучнеееее...
Re: И о другом... О языках программирования
От: мыщъх США http://nezumi-lab.org
Дата: 09.07.10 04:57
Оценка: 1 (1)
Здравствуйте, 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.
Re[2]: И о другом... О языках программирования
От: Ops Россия  
Дата: 09.07.10 05:27
Оценка:
Здравствуйте, мыщъх, Вы писали:

M>>Может я и не прав

М>скорей всего вы правы. как-то написал я очень тупую программу, которая решает задачу за... 10 сек. это был воркараунд. сейчас заоптимизил до десятком ms. т.е. почти в 500 раз быстрре. и что? а ничего. начальство проявляет весьма сдержанный интерес. говорит -- та ты ничего не понимаешь. железо нынче дешевое. а первая версия простая как лом. оптимизированная версия -- слишком помороченная. и до продукта она еще не доведена и когда будет доведена не известно. если задача решается за 10 секунд, а латентность не критична, то пропускная способность достигается за счет набора нужного кол-ва "боксов". и начальство по своему очень право. кстати, латентность всей системы ~30 сек. это в приципе ответ на вопрос почему начальство так прохладно к оптимизации моей части. ну ускорю я систему на 30% макс. ну и что? и какой ценой? ценой избыточной сложности => потенциальной глюкавости => худшей переносимости.

М>ЗЫ. а руби как я смотрю рулит.


Это не проблема пока программа считает 10 или 100 секунд, а когда задача вырастет до 10-100 дней, начальство не будет создавать кластер только для отладки, а оптимизации в 500 раз очень даже обрадуется. В свое время мне пришлось написать довольно много софта для очень слабых машин (сейчас телефоны мощнее делают), выжимая из них почти все, сейчас же подобные задачи решаются с огромным оверхедом, но работают без малейшей оптимизации. Хорошо это или плохо — не знаю, наверное, все-таки, хорошо.
Переубедить Вас, к сожалению, мне не удастся, поэтому сразу перейду к оскорблениям.
Re: И о другом... О языках программирования
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 09.07.10 06:09
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Такое ощущение, что C/C++ медленно, но верно занимают нишу этакого высокоуровнего ассемблера. Для гуру, чтобы выжть сверхпроизводительность — пожалуйста. Чтобы разрабатывать что-либо — более чем достаточно других инструментов.


Ну и надо учитывать, что поколения меняются. Есть много людей, которые С++ и не видели, а росли с университета на других языках.
Re: И о другом... О языках программирования
От: Pro100Oleh Украина  
Дата: 09.07.10 06:28
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Ну, например, фейсбучная Cassandra. Написана на Java. Автоматическиая масштабируемость. Работает с терабайтами данных. Причем терабайты — это типа сотня терабайтов индексов, например.


M>Hadoop/HBase/HDFS — тоже на Java. Hadoop использовался для обработки поступающих данных и выдачи результатов в поисковике Yahoo. Работал на 10 000 машинах.


Написаны полностью на Java? Или ядро там на другом языке? Ибо это две большие разницы.
Pro
Re[2]: И о другом... О языках программирования
От: Mamut Швеция http://dmitriid.com
Дата: 09.07.10 09:40
Оценка:
Здравствуйте, Pro100Oleh, Вы писали:

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


M>>Ну, например, фейсбучная Cassandra. Написана на Java. Автоматическиая масштабируемость. Работает с терабайтами данных. Причем терабайты — это типа сотня терабайтов индексов, например.


M>>Hadoop/HBase/HDFS — тоже на Java. Hadoop использовался для обработки поступающих данных и выдачи результатов в поисковике Yahoo. Работал на 10 000 машинах.


PO>Написаны полностью на Java? Или ядро там на другом языке? Ибо это две большие разницы. Полностью на Java


dmitriid.comGitHubLinkedIn
Re[5]: И о другом... О языках программирования
От: McSeem2 США http://www.antigrain.com
Дата: 09.07.10 14:33
Оценка: :)))
Здравствуйте, DOOM, Вы писали:

MS>>От так называемых менеджеров и прочих там президентов компаний меня вообще тошнит. Постотрите на Стива Балмера — да пусть меня лучше в женщину переделают, чем я стану таким уродом и посмешищем. Я хочу пользу приносить — это приятно и прикольно. А паразиты — они неизбежны, таков закон природы.

DOO>Это неправильное мнение о роли менеджера и руководящего состава. А работка та еще — с каким удовольствием я вспоминаю о славных днях бытности простым инженером

Безусловно. Менеджер должен иметь определенный склад характера — стойкий нордический спереди и мягкий податливый сзади. И при этом не гнушаться тем, что тебя считают паразитирующим элементом.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.