|
|
3.24, Ptomaine (?), 07:41, 19/02/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
да не только в компактности дело то. посмотрел я код сего поделия и надо признать, что достаточно грамматно написано. правда, проект зависит ещё от двух других: libuv и http-parser. но они малы по объёму и легко вписываются в данный проект. более того, я думаю, что от них, позже, можно будет избавиться, переписав код также на С++11. ну, что добавить? Хорошая тенденция - Viva C++11.
| |
|
4.31, Df232z (ok), 10:39, 19/02/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
> да не только в компактности дело то. посмотрел я код сего поделия
> и надо признать, что достаточно грамматно написано.
Грамотно. Весь код в *.h файлах. *facepalm*
> правда, проект зависит ещё
> от двух других: libuv и http-parser.
Зависит? Этот "проект" просто биндинги к libuv и все. *doble facepalm*
>но они малы по объёму
libuv это, внезапно, движок node.js
| |
|
5.42, Пожалуйста (ok), 11:52, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Грамотно. Весь код в *.h файлах. *facepalm*
В С++ в библиотеках применяющие templates это естественный метод (по-другому будет сильно извращенно). Минус - это то что код библиотеки всегда компилируется. Плюсы: сгенерированный код всегда получается максимально эффективным для предоставленного типа через шаблоны.
Среди библиотек (что вспомнил) которые от 90% до 100% в *.h файлах: STL, boost, OTL, agg
| |
|
6.43, mine (ok), 11:56, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> по-другому будет сильно извращенно
По другому нельзя. Код шаблона должен быть виден компилятору в момент использования. Иначе он не сможет сгенерировать для него код.
| |
|
7.45, Пожалуйста (ok), 12:12, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> по-другому будет сильно извращенно
> По другому нельзя. Код шаблона должен быть виден компилятору в момент использования.
> Иначе он не сможет сгенерировать для него код.
Если компилятор не поддерживает extern templates (а таких большинство), то вот пример:
template<typename T> class MyClass {
class MyClassImplementation *impl; //заметьте не шаблонный класс
public:
MyClass() : impl(new MyClassImplementation(sizeof(T))) {}
// ну и т.д.
}
Одни задачи достаточно комфортно разрываются на реализацию и шаблонный-интерфейс, для других проще (но не-невозможно) оставить все в *.h-файле
| |
|
6.79, Ptomaine (?), 17:30, 19/02/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Минус - это то что код библиотеки всегда компилируется.
это филосовский и религиозный вопрос. возможно это будет откровением для Вас, но код на JavaScript, тоже компилируется, правда, в байт код.
пока архитектура современных ПК будет оставаться такой, какая она есть сейчас, идеального решения не будет. а всё остальные, выжившие решения, одинаково "почти" идеальны.
"все в светлое будущее квантовых технологий!" )))
| |
|
5.78, Ptomaine (?), 17:20, 19/02/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Грамотно. Весь код в *.h файлах. *facepalm*
))) я сказал про сам код. какая разница в какой логической единице он содержиться: cpp или h?
> Зависит? Этот "проект" просто биндинги к libuv и все. *doble facepalm*
))) простите, а биндинги на сторонние проекты, это разве не зависимость от них? )))
> libuv это, внезапно, движок node.js
))) неужели? а мужики то незнают. цитата: "libuv is a new platform layer for Node. Its purpose is to abstract IOCP on Windows and libev on Unix systems. We intend to eventually contain all platform differences in this library."
| |
|
6.89, Df232z (ok), 22:43, 19/02/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
> ))) я сказал про сам код. какая разница в какой логической единице
> он содержиться: cpp или h?
А какая разница между хорошо структурированным читаемым кодом и кашей?
> ))) простите, а биндинги на сторонние проекты, это разве не зависимость от
> них? )))
Тогда следуя вашей логике:
>Голова зависит ещё от мозга. Но он малы по объёму и легко вписываются в данный проект. более того, я думаю, что от него, позже, можно будет избавиться.
> ))) неужели? а мужики то незнают.
Чего не знают мужики, английского?
| |
|
|
4.169, Orofarne (?), 14:29, 20/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
А зачем избавляться и переписывать? они хорошо написаны и хорошо поддерживаются.
| |
|
|
|
1.2, Вереск (?), 00:17, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Я так понимаю, наконец-то начнут клепать сайты на нормальном Си, а не на интерпретируемых языках? Или что-то путаю?
Drupal на C++...
| |
|
2.3, Аноним (-), 00:20, 19/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
А что общего между событийно-ориентированным вреймворком и CMS?
| |
2.9, Аноним (-), 00:49, 19/02/2012 [^] [^^] [^^^] [ответить]
| +7 +/– |
> Я так понимаю, наконец-то начнут клепать сайты на нормальном Си, а не на интерпретируемых языках? Или что-то путаю?
Есть мнение, что вы слабо представляете себе, что такое node.js и зачем он нужен.
| |
2.28, ProfX (ok), 10:19, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
>Я так понимаю, наконец-то начнут клепать сайты на нормальном Си, а не на интерпретируемых языках? Или что-то путаю?
>Drupal на C++...
По идее сайты, уже давно можно клепать на С++ посредством Wt: http://www.webtoolkit.eu/wt, только не пойму почему этот тулкит пока так и не стал популярен.
| |
|
3.30, Df232z (ok), 10:35, 19/02/2012 [^] [^^] [^^^] [ответить]
| –3 +/– |
Внезапно сайты можно уже лет 15 клепать на с++ и cgi.
Точно также как можно огород вскапывать вилкой.
Только почему то этот метод не популярен.
Наверное потому что есть более подходящие инструменты?
| |
|
4.77, ProfX (ok), 17:08, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
>Внезапно сайты можно уже лет 15 клепать на с++ и cgi.
>Точно также как можно огород вскапывать вилкой.
>Только почему то этот метод не популярен.
>Наверное потому что есть более подходящие инструменты?
В том то и дело что Wt - достаточно удобный фреймворк, очень похож на Qt.
| |
4.118, Аноним (-), 05:29, 20/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Внезапно сайты можно уже лет 15 клепать на с++ и cgi.
Только вот скорость работы CGI получается как-то не вкусной и не имеющей ничего общего с event-driven конструкциями. Небольшая разница.
| |
|
3.58, anonymous (??), 13:13, 19/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> только не пойму почему этот тулкит пока так и не стал популярен.
Потому что GPL.
| |
|
4.119, Аноним (-), 05:29, 20/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Потому что GPL.
На серваке это вообще до фени если это не AGPL... ;)
| |
|
|
|
1.10, Аноним (-), 00:49, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Хорошая вещь - иногда нужно прикрутить к приложению встроенный веб-сервер.
| |
|
2.15, Аноним (-), 02:51, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
>Хорошая вещь - иногда нужно прикрутить к приложению встроенный веб-сервер.
Не распарсил, уточните что вы имели ввиду: иногда необходимо встроить веб-сервер, или иногда необходимо прикрутить к приложению встроенный в исполняемую среду (чья и что за среда? (думается что операционная система - среда исполнения приложения)) веб-сервер (не тогда вопрос насчет приложения и его начальной формы)?
| |
|
|
|
3.26, анон (?), 08:47, 19/02/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
Память нынче дешевая. Ей то как раз можно жертвовать ради производительности
| |
|
4.48, Аноним (-), 12:17, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Память нынче дешевая. Ей то как раз можно жертвовать ради производительности
Разработчики ZFS тоже так думали. И теперь для нормальной работы продакшен-стореджа порой требуется столько памяти, что не влезает в стандартный сервак.
| |
|
5.68, Аноним (-), 14:16, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
Не трынди. Внезапно - на Соляре есть лимиты, позволяющие ограничить ARC - Это раз. Два - систему можно и нужно адекватно тюнить под задачу. И три - в стандартный сервак одноюнитовый можно запихнуть 64 Гб рамы. Если тебе этого мало - значит, у тебя не все в порядке с головой.
| |
|
|
|
2.120, Аноним (-), 05:30, 20/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Не стоят эти "на 80%" того, чтобы связываться с С++
Кроме случая когда вам надо из своего профита вычесть ценник в 2 раза большего парка серверов и подзатянуть пояса...
| |
|
1.25, grep (??), 08:47, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А ведь плюсам заметно полегчало после выхода С++11, вполне современный язык получился. Жаль, концепты зарезали
| |
|
2.33, Df232z (ok), 10:42, 19/02/2012 [^] [^^] [^^^] [ответить]
| –10 +/– |
Ждем Сборщика мусора и удаление указателей. До этого момента использовать смысла нет.
| |
|
3.40, saNdro (?), 11:28, 19/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ждем Сборщика мусора и удаление указателей. До этого момента использовать смысла нет.
Не ждём. На ваши запросы полно других языков. Не знаете для чего применять язык программирования "среднего" уровня - юзайте исключительно "высокие".
| |
|
4.54, Аноним (-), 12:24, 19/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Не ждём. На ваши запросы полно других языков. Не знаете для чего
> применять язык программирования "среднего" уровня - юзайте исключительно "высокие".
Плохому танцору всегда что-то мешает. У таких IT-таджиков проблемы с любыми языками. Но дело всегда в языке, конечно же.
| |
|
5.60, Df232z (ok), 13:16, 19/02/2012 [^] [^^] [^^^] [ответить]
| –6 +/– |
> Плохому танцору всегда что-то мешает. У таких IT-таджиков проблемы с любыми языками.
> Но дело всегда в языке, конечно же.
Тоже самое говорили любители ассемблера пока не исчезли.
Время динозавров прошло. Это эволюция.
| |
|
6.66, x0r (??), 13:50, 19/02/2012 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Тоже самое говорили любители ассемблера пока не исчезли.
> Время динозавров прошло. Это эволюция.
Вы извините, но мы никуда не исчезли)
| |
|
7.67, Df232z (ok), 13:57, 19/02/2012 [^] [^^] [^^^] [ответить]
| –7 +/– |
А динозавры исчезли не единомоментно. Они просто стали проигрывать конкурентную борьбу, не смогли приспособится к изменившимся условиям и вымерли.
Совсем как программисты на с++.
| |
|
8.71, noname (??), 14:38, 19/02/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Простите, а на каком языке вы будете командовать процессору переслать содержимо... текст свёрнут, показать | |
|
9.80, Аноним (-), 18:07, 19/02/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Вы хорошую предметную область привели для демонстрации применения C C , но обсу... текст свёрнут, показать | |
|
|
11.155, Аноним (-), 10:58, 20/02/2012 [^] [^^] [^^^] [ответить] | +/– | Увеличить производительность помогает оптимизация главного алгоритма, а не оптим... большой текст свёрнут, показать | |
|
|
|
12.181, vle (ok), 12:50, 24/02/2012 [^] [^^] [^^^] [ответить] | +/– | Компиляторы с языков С и С не умеют максимально эффективно использовать аппара... текст свёрнут, показать | |
|
|
|
|
|
9.142, Df232z (ok), 08:13, 20/02/2012 [^] [^^] [^^^] [ответить] | –1 +/– | К сожалению нет Поэтому память течет, приложения крошатся, и эксплоиты лопатой ... текст свёрнут, показать | |
|
|
11.164, Df232s (?), 11:20, 20/02/2012 [^] [^^] [^^^] [ответить] | –1 +/– | К вашему сведению linix ведет свою историю с сентября 1991 года, так что срок в... большой текст свёрнут, показать | |
|
|
|
|
|
6.126, Аноним (-), 05:44, 20/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Тоже самое говорили любители ассемблера пока не исчезли.
Они так исчезли, что в 2012 году ВНЕЗАПНО крайне люто комитят в репу кодека VP8. То что они не занимаются гoвнокодингом энтерпрайзных поделок - ну так правильно, для этого есть тупые и дешевые наемные боты типа тебя. Для телег с ломом и лошадей используют, простите, ломовых.
| |
|
5.159, jklsuopiew (?), 11:12, 20/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
Ананим, а ананим, по твоей логике выходит у всех руки кривые, а языки плохими быть не могут, так? Прапорщик такой прапорщик
| |
|
|
3.50, Аноним (-), 12:19, 19/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ждем Сборщика мусора и удаление указателей. До этого момента использовать смысла нет.
Ждите. Возможно, эти костыли и исправят чью-то врожденную криворукость...
А квалифицированные разработчики с некривыми руками кодят на сях уже сейчас.
| |
|
|
Часть нити удалена модератором |
5.70, ананим (?), 14:21, 19/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Хм. В соседней новости https://www.opennet.ru/opennews/art.shtml?num=33097
Зыж
Нда. Чукча (даже со сборщиком мусора) не читатель.
Да и писатель не важнецкий.
Большинство ПО как разрабатывалось на С/С++, так и разрабатывается.
Видимо большинство написанного быдлокодерами сразу уничтожается в gc.
А если всё же выживает, то радует пользователей своими не повторимыми тормозами, глюками и мрсианским интерфейсом.
| |
|
|
3.57, Аноним (-), 13:04, 19/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Сборщиков мусора под C++ полно разных на любой вкус. Но ты об этом не знаешь, поскольку ни строчки кода на нем не написал
| |
|
|
5.149, Аноним (-), 10:43, 20/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Назовите пять работающих.
1. JavaScript. Или в нем не работает? Или движок не на си не написан? Ню-ню :)
| |
|
|
|
|
|
2.38, Аноним (-), 11:21, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
Ничем. На asio тоже можно заниматься кодосокоращательством, а еще он стабильнее.
| |
2.69, klalafuda (?), 14:21, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Чем оно лучше boost.asio?
Ну это как бы несколько разного уровня проекты и сравнивать их некорректно. Чем wget лучше netcat-а? С другой стороны, было бы логично иметь asio на бакенде. Не знаю, что они там заюзали под это.
| |
|
1.74, mma (?), 16:51, 19/02/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
отлично, лишь бы тут с "лапшой" не переборщили как в node.js.
| |
|
|
Часть нити удалена модератором |
3.86, develop7 (ok), 22:11, 19/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> У node нет проблем с лапшой. Есть проблемы с программистами с java и с++ головного мозга, которые не могут асинхронный код.
Ага. Мы просто назовём лапшу callbackов "The Node Way", а критиков («тяжело разбираться, т.к. нужно держать в уме все вложенные контексты», «мешает отловить утечку памяти» и пр.) — жалкими неасиляторами с C++ головного мозга. Потому как по сути возразить-то и нечего.
| |
|
|
|
6.93, Аноним (-), 23:33, 19/02/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> на первой же страничке https://github.com/languages/JavaScript/most_watched: раскрутите-ка
> https://github.com/isaacs/npm/blob/master/lib/init.js#L81
> страшно подумать, какой ад локалхоста творится в проприетарных проектах на nodejs, которые
> по очевидным причинам поддерживаются менее опытными (не квалифицированными, разработка
> под nodejs не имеет ничего общего с квалификацией) разработчиками, чем те,
> которые ведут популярные проекты на гитхабе.
Да не объясняйте вы ему ничего, человек явно упорот до безобразия, коли предлагает выпилить из С++ работу с указателями и кидается во всех какашками из-за мифических утечек (ну не знает он про RAII, бывает такое). У таких, как он, память и в языке "без указателей и с GC" течь будет :)
| |
|
7.95, Df232z (ok), 23:46, 19/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
Мифических? 17 февраля 2017 в Thunderbird закрыто 12 дырок. Это в одной программе.
А 30 страниц утечек, переполнений, форматной строки, не инициализированных указателей и прочих особенностей с/с++, не хотите? И это только с начала года.
Я думаю за использование этих языков, давно пора наказывать, как за распространение вредоносного кода.
| |
|
8.103, Аноним (-), 01:53, 20/02/2012 [^] [^^] [^^^] [ответить] | +3 +/– | Про то, что в продуктах Mozilla практически всё написано на JS да-да, XUL, etc ... большой текст свёрнут, показать | |
|
|
|
|
|
9.137, Df232z (ok), 08:01, 20/02/2012 [^] [^^] [^^^] [ответить] | –1 +/– | Не надо пытаться совершить подлог Это старый устоявшийся термин, а совсем не то... текст свёрнут, показать | |
|
|
|
|
|
|
3.146, Аноним (-), 10:21, 20/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
> и с++ головного мозга, которые не могут асинхронный код.
То-то все кернелы сплошь забиты машинами состояний и асинхронщиной которая на одном проце который физически выполняет 1 поток инструкций умудряется реализовывать иллюзию многозадачности и уж конечно все воспринимают как данность что через сетевку висит 50 соединений хотя проц - один. Ты там кого лечить вздумал, клоун?
| |
|
4.154, Df232s (?), 10:57, 20/02/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
>с++
>кернелы
Я совершенно не знаю, что вы называете "кернелами", но подразумевая, что это ядро линукс, хочу отметить что с++ кода в нем нет, вообще нет.
>которая на одном проце который физически выполняет 1 поток инструкций умудряется реализовывать иллюзию многозадачности
Таненбаум молодец, кто спорит. Жаль что дальше пошла деградация.
| |
|
5.176, Crazy Alex (ok), 21:35, 20/02/2012 [^] [^^] [^^^] [ответить]
| +/– |
Плюсов - нет. А асинхронности - причём вменяемой - вагон.
А Танненбаума вы вообще непонятно к чему приплели. Многозадачные операционки появились лет на 15 раньше того же миникса.
| |
|
|
|
|
|