Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)это ожидание асинхронной операции, а не "чистая ленивость" - её можно сделать только на уровне языка, как тернарный оператор, например. C++ позволяет реализовать это на уровне библиотеки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 11:47 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Библиотечные возможности это кмк другой уровень. Не уровень языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 13:11 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
maytonБиблиотечные возможности это кмк другой уровень. Не уровень языка. Не в С++, где есть шаблоны и перегрузка операторов. И лямбды конечно ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 14:33 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
maytonНе важно как называет этот сахар старина Бьярне. А важно другое. Соответствует ли это современным критериям ФП или нет.Было бы странно, если бы макроассемблер процессоров общего назначения, коим является C++, являлся полноценным функциональным языком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 16:29 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskymaytonБиблиотечные возможности это кмк другой уровень. Не уровень языка. Не в С++, где есть шаблоны и перегрузка операторов. И лямбды конечно ))) ИМХО для реализации "чистой ленивости", упоришься редукцию графов на макросах разбирать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 18:00 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)ИМХО для реализации "чистой ленивости", упоришься редукцию графов на макросах разбирать Нет. Если немного подумать и разработать нотацию в пределах синтаксиса С++. Например см. https://bartoszmilewski.com/2014/04/21/getting-lazy-with-c/ https://github.com/jscheiny/Streams ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 21:06 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Как-то вы все усложнили... редукция.. немцы какие-то.. конгрессы. Eсть пример. На гипотетическом языке X. Фрагмент. Код: php 1. 2. Если этот язык - классический императивный (С/C++/Delphi/Java) то расчет выражения в скобках будет начат с вычисления метода ::toJSonString(). После этого отрабатывает метод trace который проверяет что он в режиме INFO и соотв ничего логать не надо, но объем работ по ненужной сериализации состояния объекта уже выполнен. В языке функциональном расчет метода ::toJsonString() не будет выполнен в силу ленивости вычислений и возврата по ссылке результата. Согласитесь, ценное приобретение. Оптимизация из коробки. Как эту ленивость можно реализовать для императивного (последовательного) языка список которых я привел выше? P.S. Ссылки, которые привел Анатолий я еще не читал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 22:00 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan)Anatoly Moskovskyпропущено... Не в С++, где есть шаблоны и перегрузка операторов. И лямбды конечно ))) ИМХО для реализации "чистой ленивости", упоришься редукцию графов на макросах разбиратьПример, в данном случае, а зачем она тут нужна? Я могу представить себе пользу футурей в абстрактных примерах, но в реальных задачах.... Нужен пример, и тогда посмотреть (я тут видел хаскель изнутри, когда читал спецку с--) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 22:06 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
maytonКак-то вы все усложнили... редукция.. немцы какие-то.. конгрессы. Eсть пример. На гипотетическом языке X. Фрагмент. Код: php 1. 2. Если этот язык - классический императивный (С/C++/Delphi/Java) то расчет выражения в скобках будет начат с вычисления метода ::toJSonString(). После этого отрабатывает метод trace который проверяет что он в режиме INFO и соотв ничего логать не надо, но объем работ по ненужной сериализации состояния объекта уже выполнен. В языке функциональном расчет метода ::toJsonString() не будет выполнен в силу ленивости вычислений и возврата по ссылке результата. Согласитесь, ценное приобретение. Оптимизация из коробки. Как эту ленивость можно реализовать для императивного (последовательного) языка список которых я привел выше? P.S. Ссылки, которые привел Анатолий я еще не читал.Бред. Будет так. IF logger.level > INFO THEN STRING += obj.toJsonString(); END; фсе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 22:09 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
maytonКак эту ленивость можно реализовать для императивного (последовательного) языка список которых я привел выше? Как-то вы все усложнили. (C) В данном конкретном примере ленивость вообще не нужна. Логирование по уровням без вычисления делается на макросах (внутри макроса проверяется уровень и все остальное передается в логгер). Как это удобно делать для языков где нет макросов мне пофиг, я их не использую и других всегда отговариваю )) Но кое какие идеи могу подкинуть. Например в логгер передавать не значение а лямбду. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 22:11 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Собственно, вывод пока вы пишете на простом языке - вы однозначно понимаете, во что в итоге ваши инструкции разворачиваются. Иначе, вы пляшете с бубном, пытаясь угадать. (пляски начинаются конечно только когда наступила ЗИМА) Пруф выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 22:12 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Бред. Будет так. IF logger.level > INFO THEN STRING += obj.toJsonString(); END; фсе Этот код у вас будет где? В API логгера? Или в вашем прикладном коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 22:29 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
mayton, ну посмотри в исходники логгера, да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 22:34 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Siemarglmayton, ну посмотри в исходники логгера, да Зям. Я тебя не узнаю. Ну что за брюзжание? Куда мне посмотреть? Я привел обычный (энтерпрайзный) паттерн. Логгирование с уровнями. Ты предложил обернуть это проверкой. Я говорю - не вариант. Это конечно вариант но не вариант. Ибо осточертело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 22:40 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
mayton, да оно внутри обернуто. я и говорю - не веришь, так сам посмотри ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 22:48 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
И как это влияет на сериализацию obj? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 22:55 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 23:15 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
блн, след.сообщение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 23:16 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Ну ладно. Не хочешь - как хочешь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 23:18 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Anatoly Moskovsky Код: sql 1. Спасибо Анатолий. Я это проверию на 2-3 ЯП. А потом попробую придумать найти более комплексный пример lazy-comp. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 23:20 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
maytonНет. Работа java gc базируется на предположении что 99% аллокаций в eden space не переживут первую эпоху. Они будут удалены. Оставшийся процент выживших копируются в survival. Поскольку очистка eden это лёгкая Операция. По сути это обрушение счётчика. То мы считаем что здесь мы выиграли и дефрагментация eden нам не нужна. Сам себя откомментарю. 1) Я вспомнил где я это читал. Это гипотеза имеет вполне себе конкретное название. Я цитирую документацию C4: The Continuously Concurrent Compacting CollectorGenerational collectors are basedon the Weak generational hypothesis [18] i.e. most objects die young. 2) Я написал "обрушение" счетчка. Ох уж этот Android с его авто-заменой. Разумеется я имел в виду "обнуление". Я хотел-было внутренне возмутиться и пофиксить опечатку .. но пускай будет так. Термин обрушение мне уже нравится и я оставлю его как метафору которая описывает процесс очистки Эдемского сада (Eden space). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.08.2017, 23:35 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
SiemarglЯ могу представить себе пользу футурей в абстрактных примерах, но в реальных задачах....Асинхронный I/O. Task / JQueryPromise и т. п. часто использовать удобнее чем "голые" лямбды с замыканиями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 05:11 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
SiemarglЯ могу представить себе пользу футурей в абстрактных примерах, но в реальных задачах...Симуляторы со взаимодействием, к примеру. Есть у вас большая сетка, бОльшая часть её узлов может считаться тупыми циклами, глядя только на ячейки с "соседними" номерами. Небольшая часть узлов зависит от ячеек, которые в пространстве являются "соседними", а вот в нумерации --- нет. К примеру, конец балки, описываемой ячейками с 0 по 100000 лежит на середине балки из ячеек 500000--600000, стык у нас "общего" вида. Это статически предопределённая неоднородность, её можно заранее учесть при построении плана вычислений. Но есть другая беда --- ваша четырёхугольная конструкция стоит на четырёх неидеальных опорах. Вернее, сначала её вес приходится на случайно оказавшуюся более высокой диагональ, плюс дисбаланс приходится на третью опору, а четвёртый угол висит в воздухе. Потом в зависимости от нагрузки и деформаций либо четвёртый угол просто ляжет на опору, либо "табуретка качнётся", либо всё останется, как было. Вкорячивать в каждый шаг вычислений "если табуретка качнётся, то", и все другие особые случаи --- убить производительность. Куда практичнее, скажем, попросить модель каждые десять тысяч шагов копировать себя в футурь-бэкап. Если задним числом ничего интересного не обнаружилось, то бэкап выбрасывается. Если обнаружилось, что среди этих 10000 шагов должен был произойти особый случай, то запускаем бэкап, попросив его делать свои бэкапы каждые 100 шагов, а потом медленно и печально прошагать нужный бэкап по отдельным шагам, вовремя отработать особый случай, и с этого момента вернуться к оптимистичному прогону по 10000 шагов от бэкапа до бэкапа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 05:59 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
maytonAnatoly Moskovsky Код: sql 1. Спасибо Анатолий. Я это проверию на 2-3 ЯП. А потом попробую придумать найти более комплексный пример lazy-comp.Можно посмотреть на KnockoutJS: Computed Observables и How dependency tracking works . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 07:57 |
|
||
|
На чём лучше писать код при одинаковом количестве строк: на C или на C++?
|
|||
|---|---|---|---|
|
#18+
Siemarglkealon(Ruslan)пропущено... ИМХО для реализации "чистой ленивости", упоришься редукцию графов на макросах разбиратьПример, в данном случае, а зачем она тут нужна? Я могу представить себе пользу футурей в абстрактных примерах, но в реальных задачах.... Нужен пример, и тогда посмотреть (я тут видел хаскель изнутри, когда читал спецку с--) у меня был опыт написания вычислений для обработки массивов (инженерные расчёты у нефтяников) обычная задача: на входе есть 10 и больше именованных массивов - части может не быть, части данных может в них не быть, на выходе должно получиться тоже какие-то массивы которые можно посчитать. В идеале ещё должна быть возможно посчитать только часть выходных в общем виде расчёт можно описать вот так: Код: python 1. 2. 3. 4. 5. 6. 7. в нём есть зависимости которые общие, есть зависимости которые привязаны к какой-то геопозиции, есть расчёты на основе лабораторных исследований для каких-то интервалов. через год, сотня инженеров базовый код превращают в нечитаемую портянку на 10-ки тыщ строк в кучах модификаций (копипаст и правка - они так привыкли) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2017, 09:29 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39499301&tid=1340092]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
173ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
71ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 300ms |

| 0 / 0 |
