Найдены возможные дубликаты

Отредактировано WinoxMan 1 месяц назад
+48

Чушь. Правда в том, что для многих задач «быстрый» язык или «медленный» не имеет значения. А также в том, что «медленные» языки таковы не просто так - это плата за многие другие, более полезные, плюшки.

ещё комментарии
+19
Иллюстрация к комментарию
раскрыть ветку 2
+15

Зачем лишние подробности?

Иллюстрация к комментарию
+7
Иллюстрация к комментарию
+32

Да да, особенно питон... как же, знаем плавали.

Интересно, для чего Cython изобрели?!

раскрыть ветку 15
+32

Ну, если посадить двух разрабов: сишника и питониста - за задачу, требующую большого числа статистических рассчётов с произвольной точностью и чтением данных из БД и текстовых файлов, то скроее всего, питонист выдаст результат рассчётов раньше, чем сишник закончит писать код )

раскрыть ветку 13
+34

Речь в комиксе не о скорости выдачи решения, а скорости работы конечного алгоритма все же. Да, на питоне можно задействовать библиотеки и будет работать может так же быстро. Но стоит учитывать, что эти библиотеки написаны на C++ чаще всего. А вот если на чистом питоне написать то же самое... то извините.

раскрыть ветку 11
0

Если нужно написать с нуля, а результат требует длительных расчётов, то скорее всего победит гошник )

+12

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

+11

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

раскрыть ветку 2
0

Спасибо, хоть кто-то по делу высказался) А то собрались как всегда мамкины кодеры и ну письками мериться)

раскрыть ветку 1
0

Да тут просто от круга задач зависит. Так-то каждый дрочит как он хочет, но настоящие проблемы начинаются тогда, когда кто-то решает что для всего есть универсальный язык, и пытается сделать на нём то, что объективно на нём получается плохо.

+4

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

раскрыть ветку 1
0

Зачастую от фреймворков и их окружения все зависит больше чем от бенчмарков)

+8

Я бы поспорил

раскрыть ветку 33
+8

А чего тут спорить?

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

:)

раскрыть ветку 1
+3

Или он говорит то, что считает правдой его двуногий Придаток (он всё-таки Меч Правды, а не Меч Истины).

-12

Ну давайте поспорим)

Что будет быстрее работать, O(n^2) на C или O(n) на JS?

раскрыть ветку 30
+15
Что будет быстрее работать, O(n^2) на C или O(n) на JS?

С таким же успехом можно было бы спросить, например, "Кто быстрее преодолеет марафонскую дистанцию, профессиональный бегун ногами или новичок-бегун, но на мотоцикле?"

раскрыть ветку 20
+1

Интересно, те, кто меня активно минусят, правда не понимают, что в реальных задачах ты не делаешь, скажем, миллион операций с плавающей точкой, а все-таки реализуешь алгоритмы? И что быстродействие в первую очередь зависит от сложности алгоритма, а вовсе не от языка?

раскрыть ветку 5
0

Аналогия 10/10. Такая же безполезная и ненужная, как и мое мнение

0

Где то после миллиона они сравняются

раскрыть ветку 1
ещё комментарии
+2

Си - сакс и мастдай. Паскаль - рулез форева! //мат

0

подписываюсь:


плохому танцору как говорится

0
Иллюстрация к комментарию
0

Ну, я искал, как на Питоне сделать реальное распараллеливание. Или я плохо искал, или его просто так не сделаешь. В общем, один из моих курсачей, которому нужно считать интеграл, работает не так шустро, как хотелось бы. В 12 раз не так шустро.

раскрыть ветку 19
+2

Используй другой интерпретатор, с настоящими нитками, без GIL

раскрыть ветку 2
0

На тот момент, кстати, с Python я сталкивался впервые. Стал гуглить, как распараллелить вычисления и узнал, что даже если я и буду создавать потоки, всё равно аппаратного разделения не будет. Ну и я решил не городить огород, от которого всё равно не будет толка. А выбирать интерпретатор я тогда не умел... Да и сейчас, наверное, тоже не умею.

Просто нашёл свой старый курсач, решил ради прикола на малинке запустить. Оно и на нормальных машинах работало с болью и страданиями. На малинке стало работать ещё медленнее. Но завелось.

раскрыть ветку 1
0

Юзай Multiprocessing. Либо распараллель через Docker в разные контейнеры)

раскрыть ветку 2
0

Вот мне ещё докера не хватало. Хотя, если в будущем возникнет такая необходимость, я, конечно, воспользуюсь Вашим советом.

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

раскрыть ветку 1
0

используйте scipy или аналогичные библиотеки с сишными реализациями тяжелых математических функций

раскрыть ветку 12
0

А оно умеет искать центр тяжести фигуры, ограниченной произвольным набором функций? А то в том курсаче надо было всенепременно руками написать небольшой кусочек нечёткой логики. Мне, например, надо было написать нечёткие когнитивные карты, кажется, обобщённые. А там был такой момент, что нечёткое решение, состоящее из объединения (в данном случае, брался максимум) нескольких обрезанных термов, надо было дефаззифицировать. Т.е. найти центр тяжести по оси x того, что у меня на картинке находится под зелёной линией. При этом, пересечения термов не должны были давать дополнительного веса, т.е. вариант с нахождением центра тяжести каждого терма и последующим усреднением был бы либо не применим, либо над ним бы надо было подумать. Ещё можно было использовать метод "правого или левого максимума", он был бы очень быстрым, но не достаточно точным. В общем, я искал точку x, для которой бы интегралы этой функции от начала до x и от x до начала были бы равны. Делал я это максимально долго и тупо. Но сделал.

Иллюстрация к комментарию
раскрыть ветку 11
-5

HQ9+ быстрее! Вообще любая полезная программа написанная на HQ9+ в стопицот раз быстрее чем на любом другом языке.

раскрыть ветку 8
0

взял бы хоть брейнфак, он тьюринг полный

раскрыть ветку 7
0
Ну hq9+ более мемосный как по мне)
раскрыть ветку 6
ещё комментарии
Похожие посты
31

Что находится между идеей и кодом? Обзор 14 диаграмм UML

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Аве Кодер! Тебе пришла крутая идея продукта, но ты не хочешь увязнуть в коде и потерять целостную картинку из-за мелких деталей? Ты вот-вот присядешь за то, что крякнул корпоративный сервер и тебе нужно набить что-то крутое и айтишное?


UML, как мы знаем, является стандартизированным языком моделирования, состоящим из интегрированного набора диаграмм, разработанных, чтобы помочь разработчикам систем и программного обеспечения в определении, визуализации, конструировании и документировании артефактов программных систем, а также, к примеру, для бизнес-моделирования.


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


UML использует в основном графические обозначения, чтобы выразить дизайн программных проектов. Использование UML помогает проектным группам общаться, изучать потенциальные проекты и проверять архитектурный дизайн программного обеспечения.


Для тех, кому лень читать и кто предпочитает смотреть и слушать: https://youtu.be/0I9aIP5gKCg


Основные цели дизайна UML:

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

Обеспечить механизмы расширяемости и специализации для расширения основных понятий.

Быть независимым от конкретных языков программирования и процессов разработки.

Обеспечить формальную основу для понимания языка моделирования.

Поощрять рост рынка объектно-ориентированных инструментов.

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

Интегрировать лучшие практики.


Диаграммы UML подразделяют на два типа - это структурные диаграммы и диаграммы поведения.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

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


Диаграммы поведения показывают динамическое поведение объектов в системе, которое можно описать, как серию изменений в системе с течением времени.


Теперь пару слов о каждой из них


Диаграмма классов

https://youtu.be/sVVJp5a41o4


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


Три наиболее важных типа отношений в диаграммах классов (на самом деле их больше), это:

-- Ассоциация, которая представляет отношения между экземплярами типов, к примеру, человек работает на компанию, у компании есть несколько офисов.

-- Наследование, которое имеет непосредственное соответствие наследованию в Объектно-Ориентированном дизайне.

-- Агрегация, которая представляет из себя форму композиции объектов в объектно-ориентированном дизайне.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма компонентов

https://youtu.be/OiVyha3sf_I


На языке унифицированного моделирования диаграмма компонентов показывает, как компоненты соединяются вместе для формирования более крупных компонентов или программных систем.


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

Эти программные компоненты включают в себя компоненты времени выполнения, исполняемые компоненты, а также компоненты исходного кода.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма развертывания

https://youtu.be/Yz8phtJoP7I


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

Артефакты представляют собой конкретные элементы в физическом мире, которые являются результатом процесса разработки.


Диаграмма моделирует конфигурацию времени выполнения в статическом представлении и визуализирует распределение артефактов в приложении.

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма объектов

https://youtu.be/tVW5oHNfAvc


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

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма пакетов

https://youtu.be/237BWanM4Ak


Диаграмма пакетов - это структурная схема UML, которая показывает пакеты и зависимости между ними.

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма составной структуры

https://youtu.be/nsuJcMNaKeE


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


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма профилей

https://youtu.be/qBws7AfvDL8


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма прецедентов

https://youtu.be/BdAcxboG5No


Диаграмма прецедентов описывает функциональные требования системы с точки зрения прецедентов. По сути дела, это модель предполагаемой функциональности системы (прецедентов) и ее среды (актеров).

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма деятельности

https://youtu.be/Z8PHBsNXAgc


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

Они описывают поток управления целевой системой, такой как исследование сложных бизнес-правил и операций, а также описание прецедентов и бизнес-процессов.

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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма состояний

https://youtu.be/ojCcUvGfpi8


Диаграмма состояний - это тип диаграммы, используемый в UML для описания поведения систем, который основан на концепции диаграмм состояний Дэвида Харела. Диаграммы состояний отображают разрешенные состояния и переходы, а также события, которые влияют на эти переходы. Она помогает визуализировать весь жизненный цикл объектов и, таким образом, помогает лучше понять системы, основанные на состоянии.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма последовательности

https://youtu.be/ycg3njrkk1c


Диаграмма последовательности моделирует взаимодействие объектов на основе временной последовательности. Она показывает, как одни объекты взаимодействуют с другими в конкретном прецеденте.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма Коммуникации

https://youtu.be/KVLJj9xOq0E


Как и диаграмма последовательности, диаграмма коммуникации также используется для моделирования динамического поведения прецедента. Если сравнивать с Диаграммой последовательности, Диаграмма коммуникации больше сфокусирована на показе взаимодействия объектов, а не временной последовательности. На самом деле, диаграмма коммуникации и диаграмма последовательности семантически эквивалентны и могут перетекать одна в другую.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Диаграмма обзора взаимодействия

https://youtu.be/E0OJG8ojEAg


Диаграмма обзора взаимодействий фокусируется на обзоре потока управления взаимодействиями. Это вариант Диаграммы деятельности, где узлами являются взаимодействия или события взаимодействия. Диаграмма обзора взаимодействий описывает взаимодействия, в которых сообщения и линии жизни скрыты. Мы можем связать «реальные» диаграммы и добиться высокой степени навигации между диаграммами внутри диаграммы обзора взаимодействия.

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Временная диаграмма

https://youtu.be/NKTyDQUkLoM


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма
Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

Зачем в UML столько диаграмм?


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

Что находится между идеей и кодом? Обзор 14 диаграмм UML IT, Длиннопост, Софт, Программирование, Программа, Программист, Разработка, Диаграмма

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

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

Напротив, технический писатель интересуется поведением системы в целом и должен понимать, как функционирует продукт.

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



Аве!

Показать полностью 17
114

Словарь редких IT-терминов #11:

Кукодер — тот, кто наблюдает, как кто-то пишет код в его проекте.


***

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


А за первый выпуск-коллаборацию огромное спасибо Антону Катаеву из Advase Digital!


#ithumor #comics #it #itfun #dododevjokes

Словарь редких IT-терминов #11: IT юмор, Разработчики, Айтишники, IT, Комиксы, Код
534

Разрушение мечты

Разрушение мечты Комиксы, Перевод, Перевел сам, Юмор, Программирование, Eldercactus

Автор - Eldercactus
Оригинал - https://www.instagram.com/p/B_iKbNOD8JP/
P.S. недавно мне пожаловались на то, что я использую шрифт Comic Sans. Какой шрифт вы бы хотели видеть? Из стандартных, т.к. другие шрифты мой редактор не поддерживает(

1054

Сова - эффективный менеджер. Сезон 4 №14: "Неудача у вас в голове"

Сова - эффективный менеджер. Сезон 4 №14: "Неудача у вас в голове" Сова - эффективный менеджер, Xander Toons, Комиксы, Юмор, IT, Управление, Айтишники

Сезон 4 №14 из серии "Сова - эффективный менеджер"©

За историю в основе сюжета спасибо подписчику! :-)

Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: