Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.84] |
|
Страницы: (11) « Первая ... 5 6 [7] 8 9 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#91
,
|
|
|
Цитата korvin @ Какие теории, болезный? Я тебе вон бенчмарк скинул с твоим «практическим» примером, загрузить большое, неизвестное число объектов, где по-твоему нужно LinkedList использовать, а оказалось — не нужно. Да плевал я на твой бенчмарк, и таких же выкскпертов из интернета, теоретики млин, все это 20лет назад известно, insert и delete будет 0(1) у массива не будет, queue когда в минуту приходит 15-20 тыс обьетов, массивом не сделаешь. |
Сообщ.
#92
,
|
|
|
Цитата sergioK @ Да плевал я на твой бенчмарк, и таких же выкскпертов из интернета, теоретики млин, Бьорн Страуструп — «выксперт из интернета, теоретик»? Хаха Цитата sergioK @ queue когда в минуту приходит 15-20 тыс обьетов, массивом не сделаешь. Чё, серьёзно? )) Да ты хуже джуна. Нормальный джун хотя бы понимает, что он джун. |
Сообщ.
#93
,
|
|
|
Посмотри что она делает, и сравни с вектором Добавлено Цитата Qraizer @ Ты всерьёз думаешь, что лицензия поможет программисту – хотя скорее исцом будет компания, в которой программист работает, но не суть, внутренние корпоративные разборки тоже бывают по-разному оканчиваются – уйти от уголовной ответственности, если дело примет такой оборот? Сочувствую, но ты плохо себе представляешь, как работает закон и каким образом лицензии с ним взаимодействуют. Когда в постоенном доме падает балкон, созывают комисиию и инженера за прококол могут посадить ибо он подписал что все надежно, а сам прозевал, когда из-за сбоя программы столкнулись два поезда никаких комисий никто не создавал, Если програмисты будут сдавать тесты на получение лицензии, то дерьмо кода будет куда меньше, и пока какой нидь шлемзал сможет написать hello word и считать себя програмистом, ситуация не улучшиться. Что за ролик то про столицу IT ? |
Сообщ.
#94
,
|
|
|
sergioK, кто тебя вообще на работу взял? Джуны, видимо
Benchmark (itemsToAdd) (type) Mode Cnt Score Error Units Queues.addMany 1000000 LinkedList avgt 15 10204.559 ± 1692.646 us/op Queues.addMany 1000000 ArrayQueue avgt 15 5026.365 ± 609.288 us/op LinkedList в два раза менее производительный, чем ArrayDeque в качестве очереди. Ты не «практик», ты — практикант. Максимум. Добавлено Цитата sergioK @ и сравни с вектором Нахер с этим говном сравнивать? Его никакой адекватный человек использовать не станет. |
Сообщ.
#95
,
|
|
|
Цитата korvin @ LinkedList в два раза менее производительный, чем ArrayDeque в качестве очереди. Ты не «практик», ты — практикант. Максимум. Ты не хами для начала, Это если не надо память реалацировать, и машина мощная , и частота входа/выхода данные большая, Добавлено на размер обьекта + 24байта изучай |
Сообщ.
#96
,
|
|
|
Внутри функции махровое ИП: цикл + ранний return. И никакого мутабельного состояния. Вывод: ИП без мутабельности возможно и полезно.
Если забить на грязность main, то да: вполне себе ФП. Ага, настолько же общепринятое как определение ООП с тремя китами. По мне так это определение императивности безнадежно устарело. Иммутабельность уже давно успешно живет в языках с поддержкой императивности. В некоторых иммутабельность вообще сделана по умолчанию. Цитата D_KEY @ Такой же как и в ФП: получение результата.А почему? И какой толк от последовательности инструкций, если мы убираем изменение состояния? И что? Программа на C/С++/D это тоже просто функция. Она даже может быть чистой, просто возвращая int в качестве результата. Цитата D_KEY @ Я обычно пишу в гибридном стиле и избегаю ненужной мутабельности. В моих программах часто встречаются императивные куски без мутабельности. Elixir вообще не поддерживает мутабельность, но в нем полно императивщины.Программу-то полноценную если ты начнешь писать без мутабельности, то не скатишься ли ты к функциональному стилю, по сути? Цитата korvin @ Тем, что в первом случае явно прописана последовательность действий. Очередной элемент будет проверен после предыдущего, и как только элемент будет найден последующие элементы не будут проверяться.applegame, чем это: bool contains(T)(const T[] arr, const T e) pure { foreach(const x; arr) if(x == e) return true; return false; } отличается от contains [] e = False contains (x:xs) e = x == e || contains xs e ? А в хаскельном примере никакой последовательности действий нет. Сравнение может проводиться как угодно, хоть по отдельному потоку на каждый элемент. Порядок действий никак не прописан в этом примере и не имеет никакого значения. В этом главное и единственное отличие. В ФП порядок действий как таковой отсутствует. Это хорошо иллюстрирует Excel: на листе у нас есть какие-то ячейки и формулы вычисляющие значения одних ячеек в зависимости от других. Порядок выполнения этих функций нам вообще не важен. Важно, что на входе есть данные и на выходе есть результат. Можно попытаться представить себе что функции выполняются за нулевое время, то бишь течение времени отсутствует как явление. Получится идеальный мир ФП. |
Сообщ.
#97
,
|
|
|
Цитата korvin @ При всем уважении, Страуструп придумал такое говно как С++. А в комитете выступает как тормоз прогресса, блокируя современные тенденции ЯП. Так что я бы на твоем месте перестал аппелировать к авторитетам, и к Страуструпу в частности. По крайней мере в области программирования, где утверждения можно относительно легко проверить и доказать.Бьорн Страуструп — «выксперт из интернета, теоретик»? Хаха Это, конечно, никак не отменяет того, что Сирожа несет ересь и отрицает очевидное. |
Сообщ.
#98
,
|
|
|
Цитата applegame @ Такой же как и в ФП: получение результата. Так смысл-то какой в таком определении ИП? Цитата Программа на C/С++/D это тоже просто функция. Она даже может быть чистой, просто возвращая int в качестве результата. И что? Ты опять пытаешь языки и парадигмы? Цитата Я обычно пишу в гибридном стиле и избегаю ненужной мутабельности Ну это ты молодец. Но это ничего не говорит о верности твоей демаркации. Цитата В моих программах часто встречаются императивные куски без мутабельности. Вообще строго говоря это бесполезно. Если твои инструкции не меняют память и не имеют побочных эффектов, то каким образом происходят вычисления и передаются результаты? Добавлено Цитата applegame @ Тем, что в первом случае явно прописана последовательность действий. Очередной элемент будет проверен после предыдущего, и как только элемент будет найден последующие элементы не будут проверяться. Проблема в том, что это не имеет значения для данного кода. И если ты считаешь это последовательностью инструкций, а не абстрагируешься от этого, тогда тебе придется считать, что return занимается модификацией памяти для результата своего выполнения, например. В общем, мне кажется, что ты путаешь языки и парадигмы, подходы и реализации. |
Сообщ.
#99
,
|
|
|
Цитата D_KEY @ Это не определение ИП, это ответ на твой бесмыссленный вопрос о смысле. Так смысл-то какой в таком определении ИП? Цитата D_KEY @ Что "и что?"? Это ответ на "это просто функция". Как то, что "это просто функция" опровергает сказаное мной? Вся программа может быть просто функцией, что дальше-то? Может ты уже перестанешь вешать ярлыки, а приступишь непосредственно к аргументации? И что? Ты опять пытаешь языки и парадигмы? Цитата D_KEY @ Это был не аргумент в пользу демаркации, это было опровержение. Ты сделал предположение, что я скачусь к ФП если буду писать без мутабельности. Я опровергаю твое предположение примером выше и своей собственной практикой.Ну это ты молодец. Но это ничего не говорит о верности твоей демаркации. Цитата D_KEY @ ФП тоже получается, по-твоему, бесполезно? Ты явно путаешь инструкции с исполнителем этих инструкций.Вообще строго говоря это бесполезно. Если твои инструкции не меняют память и не имеют побочных эффектов, то каким образом происходят вычисления и передаются результаты? Цитата D_KEY @ Это имеет значение для парадигмы. И после этого ты меня обвиняешь в путании. Может ты считаешь что мой пример на D и корвиновский на Haskell написаны в одной и той же парадигме (ФП или ИП)?Проблема в том, что это не имеет значения для данного кода. Цитата D_KEY @ Что ты хочешь этим сказать? Что мой пример не императивен? Или может он бесполезен? Или может он имеет мутабельный стейт? Ты вроде на все три вопроса отвечаешь отрицательно, но продолжаешь с чем-то спорить. Давай уже аргументы, а не просто мутную демагогию.И если ты считаешь это последовательностью инструкций, а не абстрагируешься от этого, тогда тебе придется считать, что return занимается модификацией памяти для результата своего выполнения, например. Цитата D_KEY @ Тебе явно кажется. Все строго наоборот, ты пытаешься смешать парадигмы, программы и исполнителей этих программ. Я же как раз таки пытаюсь абстрагироваться от всего, кроме непосредственно парадигмы. В общем, мне кажется, что ты путаешь языки и парадигмы, подходы и реализации. |
Сообщ.
#100
,
|
|
|
Цитата applegame @ И на этом говне работает всё ныне используемое. Не исключая Эликсиров, ДжаваМашин, ВебКитов, Андроидов и даже, о ужас, инди и триплА игр. При всем уважении, Страуструп придумал такое говно как С++. Добавлено Цитата applegame @ Кстати, а какие? Мне известны лишь обратные примеры. А в комитете выступает как тормоз прогресса, блокируя современные тенденции ЯП. |
Сообщ.
#101
,
|
|
|
Цитата Qraizer @ И на этом говне работает всё ныне используемое. Просто оно перешло стадию компоста и приближается к стадии чернозёма |
Сообщ.
#102
,
|
|
|
Цитата Qraizer @ Возможно ошибаюсь, но вроде именно он зарубил нормальный static if. Кстати, а какие? Мне известны лишь обратные примеры. |
Сообщ.
#103
,
|
|
|
Цитата applegame @ Цитата D_KEY @ Это не определение ИП, это ответ на твой бесмыссленный вопрос о смысле. Так смысл-то какой в таком определении ИП? Так я к тому, что не ответ Цитата а приступишь непосредственно к аргументации? Аргументации чего? Ты выкинул из конвенционально принятого определения ИП половину, а аргументы какие-то должен приводить я? Определения любые можно давать. Вопрос лишь в их пользе. Цитата ФП тоже получается, по-твоему, бесполезно? В ФП используется модель вычисления функций, в ИП - выполнение инструкций, читающих/модифицирующих память. Если инструкции этого не делают, то они бесполезны. Цитата Цитата D_KEY @ Это имеет значение для парадигмыПроблема в том, что это не имеет значения для данного кода. Так в том и дело, что по коду твоему парадигму строго определить нельзя. В общепринятой терминологии. Цитата Может ты считаешь что мой пример на D и корвиновский на Haskell написаны в одной и той же парадигме (ФП или ИП)? Мне кажется, что их можно так интерпретировать. Цитата Что мой пример не императивен? Смотри, это зависит от определения императивности. Ты же пытаешься наоборот , из примера вывести определение. Или я тебя не понимаю. Цитата ты пытаешься смешать парадигмы, программы и исполнителей этих программ Не думаю, что это так. Цитата Я же как раз таки пытаюсь абстрагироваться от всего, кроме непосредственно парадигмы. По-моему ты просто дал своё определение ИП. А я не могу понять для чего Добавлено Цитата applegame @ Цитата D_KEY @ Это имеет значение для парадигмы.Проблема в том, что это не имеет значения для данного кода. Для парадигмы имеет. Поэтому если там будет зависимость от порядка (выполнения, а не вычисления), то это будет ИП. |
Сообщ.
#104
,
|
|
|
Цитата sergioK @ Ты не хами для начала Где ты хамство увидел? Может, вот тут: ? или тут: ? Цитата sergioK @ Это если не надо память реалацировать В бэнчмарке ArrayDeque инициализируется дефолтным capacity и память реалоцируется. Цитата sergioK @ и машина мощная , Мощная --- это какая? Цитата sergioK @ на размер обьекта + 24байта изучай Что там изучать? Так ты миллиард объектов уже загрузил в LinkedList? Цитата applegame @ Так что я бы на твоем месте перестал аппелировать к авторитетам, и к Страуструпу в частности. Никакой аппеляции к аргументам. Сразу видно, кто посмотрел видео, послушал, а кто --- только прочитал заголовок и имя докладчика. Цитата applegame @ Если забить на грязность main, то да: вполне себе ФП. А если б у бабушки... Цитата applegame @ Иммутабельность уже давно успешно живет в языках с поддержкой императивности. В некоторых иммутабельность вообще сделана по умолчанию. Так как бы языки перестают быть "монопарадигмальными". А популярные языки никогда такими и не были. Иммутабельность была в Си, Паскале и практически любом другом языке с самого начала, не понимаю, что эта твоя фраза должна означать. Цитата applegame @ Тем, что в первом случае явно прописана последовательность действий. Очередной элемент будет проверен после предыдущего, и как только элемент будет найден последующие элементы не будут проверяться. А в хаскельном примере никакой последовательности действий нет. Есть и она точно такая же: очередной элемент будет проверен после предыдущего. Цитата applegame @ Порядок действий никак не прописан в этом примере и не имеет никакого значения. Прописан, через ||, и имеет значение. Ровно такое же, причём. Цитата applegame @ В ФП порядок действий как таковой отсутствует. Присутствует: нельзя вычислить значение функции, не вычислив её аргумента. Добавлено Цитата applegame @ Так что я бы на твоем месте перестал аппелировать к авторитетам, и к Страуструпу в частности. Кроме того, дело же не в авторитетах, про Бьорна известно, что он сделал, можно найти его публикации, выступления, да даже, наверное, код на гихабе и оценить уровень его компетентности (это, конечно, не значит, что он не может ошибаться, но всё же). Про sergioK известно лишь то, что он часто несёт чушь, не умеет читать документацию, не может самостоятельно разобраться с REST, Hibernate и IDEA, высказывает утверждения уровня студента начальных курсов университета, но при этом мнит себя крутым специалистом. Даже рандомный чел на ютубе, без какой-либо авторитетности, вызывает больше доверия к своим словам наличием хоть какого-то им подтверждения. |
Сообщ.
#105
,
|
|
|
Цитата sergioK @ изучай Ты лучше вот это поизучай: Benchmark (itemMapperType) (itemsToAdd) (type) Mode Cnt Score Error Units CollectionsBenchmark2.addMany ascending 100000 LinkedList avgt 30 2220.032 ± 406.027 us/op CollectionsBenchmark2.addMany ascending 100000 ArrayList.Sort avgt 30 1376.964 ± 263.260 us/op CollectionsBenchmark2.addMany ascending 100000 IntrusiveLinkedList avgt 30 903.436 ± 189.932 us/op CollectionsBenchmark2.addMany ascending 100000 IntArrayList avgt 30 410.626 ± 101.004 us/op CollectionsBenchmark2.addMany descending 100000 LinkedList avgt 30 1969.813 ± 341.063 us/op CollectionsBenchmark2.addMany descending 100000 ArrayList.Sort avgt 30 1323.195 ± 235.250 us/op CollectionsBenchmark2.addMany descending 100000 IntrusiveLinkedList avgt 30 858.479 ± 178.213 us/op CollectionsBenchmark2.addMany descending 100000 IntArrayList avgt 30 557.475 ± 110.512 us/op CollectionsBenchmark2.addMany asc->desc 100000 LinkedList avgt 30 2206.215 ± 343.007 us/op CollectionsBenchmark2.addMany asc->desc 100000 ArrayList.Sort avgt 30 1747.033 ± 267.812 us/op CollectionsBenchmark2.addMany asc->desc 100000 IntrusiveLinkedList avgt 30 850.826 ± 189.609 us/op CollectionsBenchmark2.addMany asc->desc 100000 IntArrayList avgt 30 776.621 ± 159.228 us/op CollectionsBenchmark2.addMany desc->asc 100000 LinkedList avgt 30 1929.114 ± 346.647 us/op CollectionsBenchmark2.addMany desc->asc 100000 ArrayList.Sort avgt 30 1311.586 ± 286.175 us/op CollectionsBenchmark2.addMany desc->asc 100000 IntrusiveLinkedList avgt 30 712.091 ± 151.001 us/op CollectionsBenchmark2.addMany desc->asc 100000 IntArrayList avgt 30 590.441 ± 125.438 us/op IntArrayList — com.carrotsearch.hppc.IntArrayList — в четыре раза лучше LinkedList'а. |