LINUX.ORG.RU

[C++?] Серьезный вопрос.


3

2

Просьба ответит серьезно, желательно с аргументами за или против.

Предистория:
Когда то давным давно (я тогда еще только закончил 9-ый класс) я увидел в газете объявление о наборе в летнюю группу по изучению классического программирования. В тот момент я был с компьютером на ты и "очень" хорошо в них разбирался (переустанавливал Windows каждый месяц, хаял Microsoft просто потому, что после моих настроек W приходилось постоянно переустанавливать). Группа по классическому программированию так и не набралась, но набралось 1 человек на Visual Basik for Applications. Я соглсился быть вторым и начались занятия.
Все, что мне там объясняли я схватывал быстро. Меня пригласили продолжить обучение в сентябре на курсе "моделирование".
Там уже был Pascal, который я тогда совсем не знал. Сам курс был очень разношорстный: мы изучали и использование мыши через прерывание, готовились к различным олимпиадам. Параллельно я изучил Pascal.
Потом был Delphi. К концу 10-го класса я уже неплохо владел приемами программирования и вовсю клепал бесполезные программулины. Потом поступил в универ на программиста. Там тоже был Delphi, и я особо не напрягаясь писал все лабы (к моменту поступления я уже был знаком с логикой указателей, самописные стеки и графы, etc).
На 2-ом курсе в гостях у знакомого я разобщался с человеком, который уже насколько лет работал в нерезиновой программистом. Он мне и открыл глаза на мир: "Delphi здох. Его уже похоронили и забыли. Сейчас необходимо знание C++, C#. Необходимо занание паттернов проектирование". Вобщем много чего он мне наговорил. Книжек умных насоветовал, подкинул MSVS 2008, кучу электронных книжек. Я изучил C# по книжке Шилдта. Читал "Идеальный кол" (автора уже не помню). Потом купил(!) себе книжку Шилдта про С++. Мне понравился язык. Тем более что мне казалось, что именно он и есть общепринятый стандарт. Наиболее удобный язык для программиста.

А недавно в соседней теме за упоминание это С++ меня чуть было не съели со всем чем можно. Так-то.

Собственно вопрос: Так стоит ли изучать дальше С++ (а я уже достаточно углубился в книжку Страуструпа, подробно изучая все подводные течения)? Какой язык стоит изучать? Какие из них более востребованны?

Спасибо всем, кто осилил это многобукаф.

★★★★★
Ответ на: комментарий от linuxfan

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

>Ты только подтверждаешь мою догадку о твоей умственной неполноценности.

Типичный плюсофильский полемический прием.

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

На начальном этапе не должно быть ничего кроме алгоритма.

>Если оно не приходит, от имеем firefox, жрущий сотни мегабайт ОЗУ из-за фрагментации.

Да, ты бы сразу сделал как надо, я не сомневаюсь.

>>Для сложных случаев типа большого файла, куски которого мапируются по запросу, простая RAII-абстракция с деструктором типа InputStream совершенно не подходит.

>Правда? И чем же тебе не подходит концепция: "ресурс надо освободить, как только он стал никому не нужен"?

Навскидку там возникает циклическая зависимость в паре мест.

Absurd ★★★
()
Ответ на: комментарий от linuxfan

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

Просто праздник какой-то. Многопоточное пргограммирование - еще одно слабое место С++. На нетривиальных задачах Java с ее gc справляется зачастую лучше. Подчеркну, нетривиальных. С циклическими связями, с многочисленными локами и прочим непотребством. См. Java EE.

Справедливости ради, должен сказать, что видел (и даже приходилось постоянно править) одно многопоточное приложение, написанное на C++. Но его многопоточность тривиальна сама по себе. В ней ничего особенного. Но даже при этом код авторам удалось усложнить неимоверно. Не в последнюю очередь из-за выбранного языка. Так что, это скорее контр-пример.

Кстати, распараллеливание - одна из перспективных сторон чистых функциональных языков, к которым относится хаскель (с какого хрена он скриптовый??). Это так, для информации.

dave ★★★★★
()
Ответ на: комментарий от Absurd

>Типичный плюсофильский полемический прием.

А у тебя типичный быдлокодерский подход: писать больше строчек кода в единицу времени. Лучше уж быть плюсофилом, чем индусоподобным быдлокодером.

>На начальном этапе не должно быть ничего кроме алгоритма.

Ты делаешь мне смешно. А что, реализацию алгоритма не продумывают, прежде чем воплотить ее в коде?

>Навскидку там возникает циклическая зависимость в паре мест.

Добавь конкретики. А то пока я что-то не вижу никакой циклической зависимости: class MMappedArea + class MappedFile с методом MMappedArea map_area(size_t start, size_t size) вроде как бы не дают никакой цикличности.

linuxfan
()
Ответ на: комментарий от dave

>Подчеркну, нетривиальных. С циклическими связями, с многочисленными локами и прочим непотребством. См. Java EE.

Я задал прямой вопрос: как там у вас происходит освобождение мьютексов? Я все еще могу надеяться на получение прямого ответа?

>Кстати, распараллеливание - одна из перспективных сторон чистых функциональных языков

Да будет тебе известно, чистых функциональных языков в природе не существует. Даже хацкиль заморался монадами. В реальной жизни, как правило, без side-эффектов обходиться не получается. Возьмем простейший пример: кеширование запросов к БД. Наша функция выполняет запрос _и изменяет состояние кеша результатов запросов_. Вот такая вот она суровая, эта реальная жизнь.

linuxfan
()
Ответ на: комментарий от linuxfan

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

Узнай о существовании Эрланга и утопись.

pitekantrop ★★★
()
Ответ на: комментарий от pitekantrop

>Узнай о существовании Эрланга и утопись.

Это то тормозное говнецо, на котором ejabberd написан? Наверное, я бы и правда удавился, если бы пришлось этот говноязык осиливать.

linuxfan
()
Ответ на: комментарий от linuxfan

> А у тебя типичный быдлокодерский подход: писать больше строчек кода в единицу времени.

Ога, расскажи нам. Вон только что было две одинаковых программы на С++ и Окамле - где больше строчек?

pitekantrop ★★★
()
Ответ на: комментарий от linuxfan

> Да будет тебе известно, чистых функциональных языков в природе не существует. Даже хацкиль заморался монадами. В реальной жизни, как правило, без side-эффектов обходиться не получается.

Монада сама по себе так же девственно чиста как весь хаскель. Побочный эффект вносится извне во время вызова main. Только я не знаю, понимаешь ли ты меня...

dave ★★★★★
()
Ответ на: комментарий от linuxfan

4. наглядной демонстрации превосходства icc над gcc в 6 раз

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

Короче, слил. Пруф с твоими данными отсутствует, пруф, доказывающий, что ты слил, например, вот. И как тебе нравится, древненький.

Ximen ★★★★
()
Ответ на: комментарий от linuxfan

>>Типичный плюсофильский полемический прием.

>А у тебя типичный быдлокодерский подход: писать больше строчек кода в единицу времени.

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

>>На начальном этапе не должно быть ничего кроме алгоритма.

>Ты делаешь мне смешно. А что, реализацию алгоритма не продумывают, прежде чем воплотить ее в коде?

Оптимизацией надо заниматься когда уже есть рабочий неоптимизированный вариант.

>А то пока я что-то не вижу никакой циклической зависимости: class MMappedArea + class MappedFile

MappedFile должен из деструктора прибить все MMappedArea, а MMappedArea должна в деструкторе удалить себя из списка замапленых кусков.

Absurd ★★★
()
Ответ на: комментарий от linuxfan

>>Подчеркну, нетривиальных. С циклическими связями, с многочисленными локами и прочим непотребством. См. Java EE.

>Я задал прямой вопрос: как там у вас происходит освобождение мьютексов?


synchronized (this) {
... Мы в домике...
}

Absurd ★★★
()
Ответ на: комментарий от dave

> Многопоточное пргограммирование - еще одно слабое место С++ > Справедливости ради, должен сказать, что видел (и даже приходилось постоянно править) одно многопоточное приложение, написанное на C++.

Правильно ли я понимаю, что заключение о слабости C++ в многопоточном программировании сделано на основе _одной_ увиденной вами многопоточной программе на C++?

> См. Java EE

Офигительный по содержательности совет. В Yahoo, к примеру, вместо Java решили использовать Erlang (http://www.ddj.com/hpc-high-performance-computing/220600332), поскольку:

Building it as a stand-alone threaded Java app would mean introducing the issues associated with the threaded programming model. The threading model is based on shared memory and locking to achieve consistency. Developing and deploying an error-free threaded program is tough, since hard-to-reproduce concurrency issues go hand-in-hand with shared memory.

Так что не нужно размахивать Java как флагом, она в этом смысле ничем не лучше C++.

eao197 ★★★★★
()
Ответ на: комментарий от linuxfan

> Я задал прямой вопрос: как там у вас происходит освобождение мьютексов?

Как в Java происходит освобождение локов? В простейшем виде там у каждого объекта есть свои очереди ожидания, и используется счетчик захватов/освобождений. А в чем собственно вопрос?

dave ★★★★★
()
Ответ на: комментарий от eao197

> Правильно ли я понимаю, что заключение о слабости C++ в многопоточном программировании сделано на основе _одной_ увиденной вами многопоточной программе на C++?

Нет неправильно. Это не только мой опыт.

> Так что не нужно размахивать Java как флагом, она в этом смысле ничем не лучше C++.

Для некоторых задач таки лучше. Только не причислил ли ты меня к клубу явофилов?

dave ★★★★★
()
Ответ на: комментарий от linuxfan

>>Узнай о существовании Эрланга и утопись.

>Это то тормозное говнецо, на котором ejabberd написан? Наверное, я бы и правда удавился, если бы пришлось этот говноязык осиливать.

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

pitekantrop ★★★
()
Ответ на: комментарий от eao197

>Так что не нужно размахивать Java как флагом, она в этом смысле ничем не лучше C++.

При той же самой кропотливости которая требуется для написания кода на С++ от жабы можно ожидать железобетонной надежности в режиме 24/7.

Absurd ★★★
()
Ответ на: комментарий от linuxfan

> Надо, чтобы кто-нибудь согрешил и украл icc (или хотя бы затриалил). После этого станет очевидно, что окамль ничего не оптимизирует.

Будь добр, укради icc и прогони на нём рейтрейсер с ffconsultancy, плюс его же на окамле, и результаты сюда выложи.

mv ★★★★★
()
Ответ на: комментарий от dave

Побочный эффект вносится извне во время применения результата вызова main. Это для точности.

dave ★★★★★
()
Ответ на: комментарий от eao197

> Офигительный по содержательности совет. В Yahoo, к примеру, вместо Java решили использовать Erlang (http://www.ddj.com/hpc-high-performance-computing/220600332), поскольку:

> Building it as a stand-alone threaded Java app would mean introducing the issues associated with the threaded programming model. The threading model is based on shared memory and locking to achieve consistency. Developing and deploying an error-free threaded program is tough, since hard-to-reproduce concurrency issues go hand-in-hand with shared memory.

У нас тут есть мьютекс-фан АКА linuxfan. Пусть он это почитает.

> Так что не нужно размахивать Java как флагом, она в этом смысле ничем не лучше C++.

Убеждённых жабофанов тут вроде нет. Уж лучше Scala, туда и эрланговских экторов портировали.

pitekantrop ★★★
()
Ответ на: комментарий от mv

>> Надо, чтобы кто-нибудь согрешил и украл icc (или хотя бы затриалил). После этого станет очевидно, что окамль ничего не оптимизирует.

>Будь добр, укради icc и прогони на нём рейтрейсер с ffconsultancy, плюс его же на окамле, и результаты сюда выложи.

Я, кстати, несколько лет назад гонял примеры из книжки с велосипедами на Intel C++ Compiler. Качественного отличия от MSVC++7 нет. Более красивые асмовые аутпуты получились когда я заменил _matrix[i][j] на _matrix[(i<<2)|j] и напихал intrinsic-ов.

Absurd ★★★
()
Ответ на: комментарий от Absurd

>>Так что не нужно размахивать Java как флагом, она в этом смысле ничем не лучше C++.

>При той же самой кропотливости которая требуется для написания кода на С++ от жабы можно ожидать железобетонной надежности в режиме 24/7.

Ожидать можно, увидеть такое редко удается. На практике получается, что процент нормально написанного ПО на Java не сильно отличается от такого же на C++.

eao197 ★★★★★
()
Ответ на: комментарий от linuxfan

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

Плачу.

ugoday ★★★★★
()
Ответ на: комментарий от linuxfan

>>3. исправления быдлокода на C++, который наравне с окамлом был по скорости

>Сейчас, дарагой! Все брошу и побегу исправлять. Говорю же: just use icc.

>>4. наглядной демонстрации превосходства icc над gcc в 6 раз

>Не моя вина, что ты пешком под стол ходил, когда этот обзор висел толи на ixbt, толи еще на каком-то подобном крупном ресурсе.

У нас есть такие приборы, такие приборы ... Но мы вам о них ничего не расскажем!

ugoday ★★★★★
()
Ответ на: комментарий от linuxfan

> Даже хацкиль заморался монадами.

И что? От этого он перстал быть менее чистым?

ugoday ★★★★★
()
Ответ на: комментарий от eao197

>>При той же самой кропотливости которая требуется для написания кода на С++ от жабы можно ожидать железобетонной надежности в режиме 24/7.

>Ожидать можно, увидеть такое редко удается.

Я говорю о себе. Как написать небольшой надежный standalone-сервачок под любой протокол на жабе без уязвимостей и утечек за пару-тройку недель работы я вполне представляю. Безо всякого EE можно обойтись.

Absurd ★★★
()
Ответ на: комментарий от Absurd

> Я говорю о себе. Как написать небольшой надежный standalone-сервачок под любой протокол на жабе без уязвимостей и утечек за пару-тройку недель работы я вполне представляю. Безо всякого EE можно обойтись.

Пара-тройка недель -- для C++ это даже многовато будет.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

>> Я говорю о себе. Как написать небольшой надежный standalone-сервачок под любой протокол на жабе без уязвимостей и утечек за пару-тройку недель работы я вполне представляю. Безо всякого EE можно обойтись.

>Пара-тройка недель -- для C++ это даже многовато будет.

Да ну не ври. Сервера вылизываются годами.

Absurd ★★★
()
Ответ на: комментарий от Absurd

> Да ну не ври. Сервера вылизываются годами.

O_O

lester ★★★★
()
Ответ на: комментарий от the_Shadow

> Но после внимательного прочтения http://absurdopedia.wikia.com/wiki/Haskell Изумительно изложено... :D:D:D

...Haskell номинируется на звание «природного врага № 1 риальных пацанов от программирования» ...

И вправду, изложено отменно.

ugoday ★★★★★
()
Ответ на: комментарий от Absurd

>Оптимизацией надо заниматься когда уже есть рабочий неоптимизированный вариант.

И вдруг неожиданно оказывается, что реализация алгоритма такая черезжопная, что чтобы соптимизировать ее нужно переписать с нуля, оптому что автор не подумал, когда писал. Воистину быдлокодер!

>MappedFile должен из деструктора прибить все MMappedArea, а MMappedArea должна в деструкторе удалить себя из списка замапленых кусков.

weak_ptr<MMappedArea> + shared_ptr<MMappedArea> спасут отца русской демократии.

linuxfan
()
Ответ на: комментарий от Absurd

>synchronized (this)

Итак, ты жабофил? Ну тогда скажи мне, а зачем это в java 5 появилась куча всего в java.util.concurrent? Что, synchronized не справлялся водиночку?

linuxfan
()
Ответ на: комментарий от dave

> Нет неправильно. Это не только мой опыт.

Очень странно. К чему тогда было упоминание про одну многопоточную программу на C++?

Intel, к примеру, для C++ поддерживает OpenMP, выпустил Thread Building Block, прикупил RapidMind и Cilk++. Вряд ли все это от того, что в C++ многопоточность не есть сильное место.

> Для некоторых задач таки лучше.

Например? В каких задачах, скажем, есть большие графы связанных объектов с циклами?

> Только не причислил ли ты меня к клубу явофилов?

Нет, но создалось впечатление о не очень четком представлении о возможностях C++.

eao197 ★★★★★
()
Ответ на: комментарий от pitekantrop

>Пойди разработчикам софта для телекома это расскажи, Петросян.

Ты такой забавный. Вроде как эрланг был зачат для решения каких-то приватных проблем. Больше он мало на что годится.

>Кстати, ejabberd отлично масштабируется в отличие от плюсовых аналогов.

Ходят слухи, что плюсовая серверная часть mail.ru агента держит всю нагрузку на кластере из 3-5 машин, в то время как ejabber'у для такого понядобится больше десятка серверов. Осмелюсь предположить, что без масштабируемости эта поделка никому вообще нафиг не сдалась, ибо там, где плюсовый сервер обходится одной машиной, тормозному эрлангу нужен хотя бы пяток.

linuxfan
()
Ответ на: комментарий от linuxfan

>>Оптимизацией надо заниматься когда уже есть рабочий неоптимизированный вариант.

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

Писать надо как можно проще и яснее. Сложность и совершенство кода придут сами. Но не на С++, конечно. На Си/Паскале - да.

>Воистину быдлокодер!

Типичное надменно-подозрительное отнощение плюсофага к своим коллегам.

Absurd ★★★
()
Ответ на: комментарий от Absurd

>Как написать небольшой надежный standalone-сервачок под любой протокол на жабе без уязвимостей и утечек за пару-тройку недель работы я вполне представляю.

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

linuxfan
()
Ответ на: комментарий от linuxfan

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

a) Я так понимаю, ссылки, подтверждающей соотношение скоростей С++ vs эрланг в телекоммуникации, мы традиционно не дождёмся?

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

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

> a) Я так понимаю, ссылки, подтверждающей соотношение скоростей С++ vs эрланг в телекоммуникации, мы традиционно не дождёмся?

Этот же вопрос следует адресовать и Erlang-истом. А то ведь поставщиков телекоммуникационного оборудования кроме Ericsson-а еще с несколько штук наберется, а Erlang используется только у Ericsson-а. И таки да, объем кода на C++ и Java в том же знаменитом роутере Ericsson-е был очень немаленьким.

Так что слухи о безнадежном отставании всего от Erlang-а в области телекома нуждаются в доказательстве.

> б) При этом следует держать в уме, что за зарплату хороших С++ кодеров за время написания, тестирования и отладки С++ сервера можно купить кластер в десяток-другой машинок под эрланг-сервер.

В США или России? В Москве приличный сервер стоит в районе $10K -- даже для программистов за $4K в месяц -- это больше двух с половиной месяцев работы. А уж кластер из десятка таких машин...

Или в Google на их сотнях тысяч PIII-PIV машинок исключительно Erlang крутится?

eao197 ★★★★★
()
Ответ на: комментарий от eao197

> Так что слухи о безнадежном отставании всего от Erlang-а в области телекома нуждаются в доказательстве.

И тут мы имеем дело с изящной переформулировкой проблемы:

было: да ваше ФП вообще нигде и никогда не используется

стало: А ну ка докажи, что ФП ещё не окончательно вытеснило С++

Сама возможность такой постановки проблемы говорит о многом.

ugoday ★★★★★
()
Ответ на: комментарий от linuxfan

> Вроде как эрланг был зачат для решения каких-то приватных проблем.

И что с того?

> Больше он мало на что годится.

Он годится для написания высоконадёжных многопоточных масштабируемых систем. Этого мало?

pitekantrop ★★★
()
Ответ на: комментарий от eao197

Во втором номере журнала "Практика функционального программирования" размещён небольшой пример на эрланге. Не мог бы кто-нибуть из защитников С++ переписать его на любимом языке. Мы бы тогда и сравнили производтельность и трудозатраты. С числами в руках легче рассуждать. А то сейчас одно сплошное переливание из пустого в порожнее.

ugoday ★★★★★
()
Ответ на: комментарий от eao197

Мой посыл был в том, что наличие такой прослойки как виртуальная машина заметно упрощает написание многопоточных приложений. Не любых конечно. Числодробилки - это отдельная история. Erlang - тоже. Вообще, многопоточность бывает разной. Я имею ввиду, главным образом, написание бизнес-логики, обработку транзакций и прочие прелести серверного программирования. Раньше в этой нише использовались Corba-серверы, которые как правило были написаны на Си++. Но потом их место прочно заняли серверы приложений на Java. Не просто так. А свои впечатления оставь при себе.

dave ★★★★★
()
Ответ на: комментарий от ugoday

> Сама возможность такой постановки проблемы говорит о многом.

Вы сделали такую постановку, вам лучше знать.

eao197 ★★★★★
()
Ответ на: комментарий от dave

В смысле, где распределенность и многопоточность взаимосвязаны. Можно понимать в таком контексте.

dave ★★★★★
()
Ответ на: комментарий от eao197

>Erlang используется только у Ericsson-а.

Эриксон все таки ведущий разработчик телекома, и потом конечно там будет использоваться эрланг потому что эриксон его и придумал, а ведь он это сделал неспроста, подумай (отвлекись от фанатизма и троллинга) %) Наверное не потому что надо было бюджет попилить, а ? Вот есть такой мужик, правда на лоре его ненавидят большинство (правда непонятно за что) Никлаус Вирт, вот он как и энштейн придерживается правила «Делай просто, насколько возможно, но не проще этого».

Или вот «Инструмент должен соответствовать задаче. Если инструмент не соответствует задаче, нужно придумать новый, который бы ей соответствовал, а не пытаться приспособить уже имеющийся»

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

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

anonizmus
()
Ответ на: комментарий от dave

> А свои впечатления оставь при себе.

Да не вопрос. Примеры задач со сложными графами объектов таки будут или нет?

eao197 ★★★★★
()
Ответ на: комментарий от eao197

> В США или России? В Москве приличный сервер стоит в районе $10K -- даже для программистов за $4K в месяц -- это больше двух с половиной месяцев работы. А уж кластер из десятка таких машин...

> Или в Google на их сотнях тысяч PIII-PIV машинок исключительно Erlang крутится?

А что, у Гугла в датацентрах дорогие сервера стоят?

pitekantrop ★★★
()
Ответ на: комментарий от anonizmus

> Эриксон все таки ведущий разработчик телекома, и потом конечно там будет использоваться эрланг потому что эриксон его и придумал, а ведь он это сделал неспроста, подумай (отвлекись от фанатизма и троллинга) %) Наверное не потому что надо было бюджет попилить, а ?

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

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

eao197 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.