GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.1 (3)След. > >>   Поиск:  
 Автор Тема: Сортировку сделать быстрее qsort слабо?
гость
45.144.225.*
Сортировку сделать быстрее qsort слабо?
Добавлено: 18 янв 22 7:54
sbj
[Ответ][Цитата]
Дмитрий Пагода
Сообщений: 123
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 18 янв 22 10:07
По моему нет никакого смысла это обсуждать. Давно известно что писать код может и обезьяна, на много важнее так называемые "софт-скилы" то есть английский и умение работать в команде.

Давно прошли времена когда компьютерщики нанимали компьютерщиков, сейчас первичный отбор ведёт рекрутёр и менеджер, который в первую очередь оценивает человеческие качества, такие как внешняя привлекательность, обаяние, харизма, а также коммуникабельность и покладистость. Вас просто не пропустят к коллегам беседовать про байты и код если вы не приятный человек и с вами не хочется пить пиво и заниматься сексом(если вы противоположного пола).
[Ответ][Цитата]
гость
144.217.86.*
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 19 янв 22 6:20
Что касается сортировки, то интересно было бы не заморачиваться на самом быстром а выделить самый ЛОГИЧНЫЙ, самый разумный.

Вот все говорят типа самый простой и "понятный" это пузырьковая сортировка, я не согласен. С ходу не очевидно почему данный алгоритм вообще должен выполнять сортировку, почему обмен соседних элементов ДОЛЖЕН СОЙТИСЬ.
[Ответ][Цитата]
гость
188.170.194.*
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 19 янв 22 9:23
Цитата:
Автор: гость
это пузырьковая сортировка, я не согласен. С ходу не очевидно почему данный алгоритм вообще должен выполнять сортировку, почему обмен соседних элементов ДОЛЖЕН СОЙТИСЬ.

ну как же, пузырёк это простая вещь, это же как два пальца об асфальт. Что значит должен сойтись? Никто никому ничего не должен, там ничего не должно "сойтись", там или меняются элементы, или остаются на местах.
[Ответ][Цитата]
гость
188.170.194.*
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 19 янв 22 9:27
Цитата:
Автор: Дмитрий Пагода
Давно известно что писать код может и обезьяна, на много важнее так называемые "софт-скилы" то есть английский и умение работать в команде.


Всё таки хотелось бы и хорошего кода. Да хер с ним с кодом, хотелось бы нормальных программ, не тормозящих, без ошибок и вылетов в самый неподходящий момент. Почти каждая вторая прога - ГАВНО.
[Ответ][Цитата]
гость
144.217.86.*
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 19 янв 22 10:21
Цитата:
Автор: гость


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

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

Самый логичный алгоритм, тот который первым приходит в голову, это пройтись по всем элементам и засунуть их в бинарное дерево, а потом это дерево развернуть в список иди массив.
[Ответ][Цитата]
гость
144.217.86.*
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 19 янв 22 10:39
Цитата:
Автор: гость



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

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

Почему с софтом должно быть по другому??? Это тоже продукт, с теми же коммерческими амбициями. Поэтому софт становится гавёнее а цена выше.
[Ответ][Цитата]
Дмитрий Пагода
Сообщений: 123
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 23 янв 22 5:01
Цитата:
Автор: гость



Всё таки хотелось бы и хорошего кода. Да хер с ним с кодом, хотелось бы нормальных программ, не тормозящих, без ошибок и вылетов в самый неподходящий момент. Почти каждая вторая прога - ГАВНО.

Примеры плохого софта, пожалуйста, в студию.

Но если вообще, то Вы наверно имеете в виду ОС-ки, а именно винду, тут совет один — переходите на линукс. В остальном я бы не стал бы утверждать что "код стал хуже", всё наоборот, в целом качество кода немного выросло, но он стал намного сложней, на порядки, в этом и проблема, всё упирается в ограниченные человеческие способности справляться со сложностью(путаницей). Весь изврат с ООП, паттернами и методологиями разработки, связан с тем что

Если Вы работали над маломальски сложным продакшн проектом(>10к строк) Вы знаете что в какой то момент скорость разработки начинает падать нелинейно(логарифмически от количества кода). Если на проекте в 10к строк, прирост идёт по 1к строк кода с человека в месяц, то когда миллион строк, с человека максимум 100 строк кода в месяц, а когда десятки миллионов строк, то тысячи людей производят по 100 срок В ГОД Причем пар идёт со всех щелей при этом.

Вопрос не в том что софт стал хуже, но требования выросли, софт пересыщен всякими "удобствами" и тулзами на все случаи жизни, например то что было когда то просто браузером(визуализатор гепертекста), сейчас стал уже операционной системой, с копилятором, виртуальной машиной и тп.
[Ответ][Цитата]
Tester64
Сообщений: 1910
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 23 янв 22 8:21
Изменено: 23 янв 22 8:23
Цитата:
Автор: Дмитрий Пагода


Примеры плохого софта, пожалуйста, в студию.

Но если вообще, то Вы наверно имеете в виду ОС-ки, а именно винду, тут совет один — переходите на линукс. В остальном я бы не стал бы утверждать что "код стал хуже", всё наоборот, в целом качество кода немного выросло, но он стал намного сложней, на порядки, в этом и проблема, всё упирается в ограниченные человеческие способности справляться со сложностью(путаницей). Весь изврат с ООП, паттернами и методологиями разработки, связан с тем что

Если Вы работали над маломальски сложным продакшн проектом(>10к строк) Вы знаете что в какой то момент скорость разработки начинает падать нелинейно(логарифмически от количества кода). Если на проекте в 10к строк, прирост идёт по 1к строк кода с человека в месяц, то когда миллион строк, с человека максимум 100 строк кода в месяц, а когда десятки миллионов строк, то тысячи людей производят по 100 срок В ГОД Причем пар идёт со всех щелей при этом.

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

Скорость написания больших проектов падает в основном за счет того что каждое мелкое изменение может "зацепить" слишком многих. Всего-лишь измени шрифт в базовой кнопке и могут "поплыть" тысячи форм, включая давно не используемые или нужные на случай ЧП (лечилки/исправлялки/востановление из архива при поломке/отчеты для поиска ошибок в системе). Поддержка многолетнего проекта превращается в бег по минному полю. А учитывая размеры фирмы и обязательную "текучку кадров", тот кто знает на что повлияет подобное изменение - давно либо стал директором, либо уже не помнит(десятки раз сменив поле деятельности на фирме), либо вообще уволился.

Нужны новые инструменты для поддержки подобного, обязательная "стандартизированная" документация, отчеты по метаданным, авто-помощники в программировании... Кое-где спасает IDE, где-то упрощают фреймворки и "модульные" программы. Где-то социальные патерны разрабоотки программ - деление разработки на "стадии" - получение ТЗ, проектирование, разработка, тестирование, внедрение, выявление ошибок, ... и снова по кругу.

Линукс - не лучшее решение! Хотябы потому что он изначально не развивался с упором на удобство интерфейсов. ИМХО, лучшие интерфейсы у Мака/Эпл. А потом все равно винда. Пока еще слабо развито, но интересным решением является создание ХромОС, но ему нужно не меньше 5-10 лет активной раскрутки чтобы занять реальную нишу и получить само-развитие за счет активного сообщества "фанатов".

ИМХО, как раз ИИ-подобные системы способны упростить написание и поддержку сложных проектов... но сообщество программистов пока слишком консервативно и сопротивляется любым активным изменениям.
[Ответ][Цитата]
Дмитрий Пагода
Сообщений: 123
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 23 янв 22 9:06
Так я собственно именно про это и толкую, это и есть "сложность", ну по крайней мере самый её существенный аспект в разработке. Одно дело ломать голову пару недель как метод какой то написать витиеватый, алгоритм, что то с машинным обучением например, это может быть сложно в смысле как головоломка, исследовательская задача. Но это довольно редко встречается в реальной работе, многие годами работают и не разу с таким не сталкиваются.

Совсем другое дело искать в миллионах строчек кода раскиданных по тысяча классов "нечто", что нужно как то изменить чтобы получить заданное поведение, а главное ЧТОБЫ НИЧЕГО НЕ ПОЛОМАЛОСЬ при этом. Это половина содержагния работы разраба в интерпрайзе, другая половина это софт скилы, социальная конкуренция и интриги.
[Ответ][Цитата]
Tester64
Сообщений: 1910
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 23 янв 22 10:11
Цитата:
Автор: Дмитрий Пагода

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

Совсем другое дело искать в миллионах строчек кода раскиданных по тысяча классов "нечто", что нужно как то изменить чтобы получить заданное поведение, а главное ЧТОБЫ НИЧЕГО НЕ ПОЛОМАЛОСЬ при этом. Это половина содержагния работы разраба в интерпрайзе, другая половина это софт скилы, социальная конкуренция и интриги.

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

Интересный подход выдал Майкрософ со своей VSCode, но и там все сыро, глючно и медленно развивается. И подходы похоже на 99% тупо повторяют функционал остальных IDE.

Смешно, но 10 лет назад я верил что к этому времени уже появятся бюджетные очки VR "для работы" или хотя-бы первые 3Д мониторы не только для игр...
[Ответ][Цитата]
Дмитрий Пагода
Сообщений: 123
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 24 янв 22 5:14
Да, многое чего хотелось бы, что кажется движется совсем не туда.

Вот например возьмём всё разнообразие ГУИ, когда оно только появлялось в 80е просто не было каких либо средств его делать иначе как хардкодить попиксельно прямо на С, но в начале 90-х уже начали появляться "вижуал" тулбоксы, чтобы окна с кнопками и всем остальным накидывать за минуты-часы(для сложного продакшн гиу), забыв о муках вписывания циферок и перекомпиляции чтобы посмотреть что вышло))))

Но вот чего я не могу понять, так это почему сейчас наблюдается ОБРАТНАЯ ТЕНДЕНЦИЯ, зачем блядь делать макет в фотошопе а потом отдавать ОТДЕЛЬНОМУ СПЕЦУ, "работа" которого заключается чтобы перенести это в html\css??? Почему всё делается так, чтобы довольно росту работу, теперь нужно делать только командой хотя бы из 3-5 человек??? И эта тенденция всё усиливается. Но зато появляется куча разного рода "компенсаций", вроде SAAS проектов которые вам рисуют гуи но правда очень ограниченного качества с кучей специфических подводных камней(вроде подгрузки ихних платных либ и тп. ).

К сожалению это касается не только гуи но и всё идёт в сторону дробления, специализации и усложнения, даже где это вредно и бессмысленно.
[Ответ][Цитата]
Tester64
Сообщений: 1910
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 24 янв 22 6:06
Цитата:
Автор: Дмитрий Пагода

Да, многое чего хотелось бы, что кажется движется совсем не туда.

Вот например возьмём всё разнообразие ГУИ, когда оно только появлялось в 80е просто не было каких либо средств его делать иначе как хардкодить попиксельно прямо на С, но в начале 90-х уже начали появляться "вижуал" тулбоксы, чтобы окна с кнопками и всем остальным накидывать за минуты-часы(для сложного продакшн гиу), забыв о муках вписывания циферок и перекомпиляции чтобы посмотреть что вышло))))

Но вот чего я не могу понять, так это почему сейчас наблюдается ОБРАТНАЯ ТЕНДЕНЦИЯ, зачем блядь делать макет в фотошопе а потом отдавать ОТДЕЛЬНОМУ СПЕЦУ, "работа" которого заключается чтобы перенести это в html\css??? Почему всё делается так, чтобы довольно росту работу, теперь нужно делать только командой хотя бы из 3-5 человек??? И эта тенденция всё усиливается. Но зато появляется куча разного рода "компенсаций", вроде SAAS проектов которые вам рисуют гуи но правда очень ограниченного качества с кучей специфических подводных камней(вроде подгрузки ихних платных либ и тп. ).

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

Как ни странно, но это "правильный" путь! Количество знаний, необходимых для КАЧЕСТВЕННОЙ поддержки одного скила с каждым годом растет экспоненциально!

Дизайнеры теперь должны учитывать кроме DIV/SPAN/CSS разметки еще и юзабилити, возрастную статистику, цветовые половые предпочтения, дневную или ночную работу юзера с этим приложением, "модные" тенденции которые привлекут или не оттолкнут по принципу "ну и древний же здесь дизайн".

А верстальщик должен детально отслеживать тенденции в инструментах, новости развития CSS, сложные формулы в SCSS/sass, дизайнерские темы, методы генерации теней, сложные шрифты, драг-энд-дроп блоки, анимацию изменения размеров и проявления, поведение при смене ширины экрана.

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

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

Дробление - НЕИЗБЕЖНО! Но оно... становится слишком "не управляемым"! Плохо "прогнозируемым", тяжело проектируемым... В "конвейере уже на 5 человек тяжело убрать "лишние операции" и "митинги" становятся тратой ценного времени, а не "сплочением коллектива" или "самооптимизацией работы".

Да и основа софта как-бы застряло на месте! ООП было придумано (погуглил) еще в 1972 для Smalltalk - 50(!!!) лет назад! Даже TCP/IP уже пытаются заменить на более быстрые/продуманные протоколы (гибриды c UDP). Даже сетевую архитектуру с IP4 переводят на IP6... А ООП все то-же! "Незыблемая классика"

Да и кода в проекте становится с годами столько что в нем уже очень тяжело ориентироваться... И редакторы кода со времен консоли не сильно поменялись. Под планшеты до сих пор нет НИЧЕГО для программистов, хотя они уже давно по массовости опередили "стационарные компы".
[Ответ][Цитата]
Дмитрий Пагода
Сообщений: 123
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 24 янв 22 6:58
Цитата:
Автор: Tester64


Как ни странно, но это "правильный" путь! Количество знаний, необходимых для КАЧЕСТВЕННОЙ поддержки одного скила с каждым годом растет экспоненциально!

Дизайнеры теперь должны учитывать кроме DIV/SPAN/CSS разметки еще и юзабилити, возрастную статистику, цветовые половые предпочтения, дневную или ночную работу юзера с этим приложением, "модные" тенденции которые привлекут или не оттолкнут по принципу "ну и древний же здесь дизайн".

А верстальщик должен детально отслеживать тенденции в инструментах, новости развития CSS, сложные формулы в SCSS/sass, дизайнерские темы, методы генерации теней, сложные шрифты, драг-энд-дроп блоки, анимацию изменения размеров и проявления, поведение при смене ширины экрана.

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

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

Дробление - НЕИЗБЕЖНО! Но оно... становится слишком "не управляемым"! Плохо "прогнозируемым", тяжело проектируемым... В "конвейере уже на 5 человек тяжело убрать "лишние операции" и "митинги" становятся тратой ценного времени, а не "сплочением коллектива" или "самооптимизацией работы".

Да и основа софта как-бы застряло на месте! ООП было придумано (погуглил) еще в 1972 для Smalltalk - 50(!!!) лет назад! Даже TCP/IP уже пытаются заменить на более быстрые/продуманные протоколы (гибриды c UDP). Даже сетевую архитектуру с IP4 переводят на IP6... А ООП все то-же! "Незыблемая классика"

Да и кода в проекте становится с годами столько что в нем уже очень тяжело ориентироваться... И редакторы кода со времен консоли не сильно поменялись. Под планшеты до сих пор нет НИЧЕГО для программистов, хотя они уже давно по массовости опередили "стационарные компы".
А я не говорю что "не правильный", но это должен быть ОДИН ИЗ ПУТЕЙ, а не единственный. Вы всё верно толкуете, конвеер для многих сфер технологий просто необходим, без него многое невозможно, но вы же сами понимаете что без инноваций и ремесленичества всё это быстро протухнет, должен быть баланс. Если вымрут все инструменты для быстрой самостоятельной разработки, останутся только решения корпоративного уровня, это здорово ударит по инновациям, так как по настоящему новое творится в гаражах а не супердорогими спецами с гугла и амазона.

Я более 7 лет проработал в интерпрайзе, знаю что говорю, после 5 лет в интерпрайзе "ченить поделать дома для себя" ну совсем не прёт, вообще, вышел за порог рабочего кабинета, полностью забыл про код и коллег, всё, off. И я не скажу что "перегорел" или разочаровался, нет, просто такой вот эффект, программирование перестало быть моим хобби, только работа.

На данный момент есть две сферы применимости труда разработчика ПО, это интерпрайз и стартапы. Интерпрайз может себе позволить кучу народа и супер-конвеер, а многие стартапы начинаются вообще с поделки одного человека, а когда это станет невозможно, будет не очень хорошо, возникнет острый дифецит в увлеченных и сверх-мотивированных людях, которых просто невозможно держать в крупной корпорации или академической среде, такие возникают сами и работают по своему.
[Ответ][Цитата]
Tester64
Сообщений: 1910
На: Сортировку сделать быстрее qsort слабо?
Добавлено: 24 янв 22 9:08
Цитата:
Автор: Дмитрий Пагода

А я не говорю что "не правильный", но это должен быть ОДИН ИЗ ПУТЕЙ, а не единственный. Вы всё верно толкуете, конвеер для многих сфер технологий просто необходим, без него многое невозможно, но вы же сами понимаете что без инноваций и ремесленичества всё это быстро протухнет, должен быть баланс. Если вымрут все инструменты для быстрой самостоятельной разработки, останутся только решения корпоративного уровня, это здорово ударит по инновациям, так как по настоящему новое творится в гаражах а не супердорогими спецами с гугла и амазона.

А он никогда и не будет "единственным". Но это ЕДИНСТВЕННЫЙ путь написать нечто "большое". Не уникальное, а именно ОГРОМНОЕ. Прошли времена когда Линкс можно было за пол года с нуля в гараже написать. И для любого стартапа сейчас уже мало одного "скила".

Цитата:
Автор: Дмитрий Пагода
Я более 7 лет проработал в интерпрайзе, знаю что говорю, после 5 лет в интерпрайзе "ченить поделать дома для себя" ну совсем не прёт, вообще, вышел за порог рабочего кабинета, полностью забыл про код и коллег, всё, off. И я не скажу что "перегорел" или разочаровался, нет, просто такой вот эффект, программирование перестало быть моим хобби, только работа.

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


Сам работаю в веб-фулстеке (мелкий интерпрайз) и с осени забросил почти все и качаю скилл девопса для перезапуска хостинга на докерах без постоянного участия в проекте девопса и доступа к консоли, а потом вынужден буду вспоминать на чем остановился в программировании. Сам работаю и девопсом, и бэкэндером, и фронтэндером, и дб-инженером, и службой тех-поддержки, и консультантом-продавцом-внедряльщиком... ОДНИХ мозгов на столько скилов тупо не хватает! Поэтому ВЫНУЖДЕН создавать инструменты для упрощения процесса "смены скила". А это иногда приводит к необычным тех-решениям по объединению/слиянию скилов. Постоянно в подкорке живет мысль что "нужен еще один участник, который будет мне упрощать простые действия, которого я обучу"... А это, по сути, и есть либо "студент-недоучка", либо ИИ! ))

Пытаясь упростить работу, пытаюсь находить общее между девопсом, фронтом и бэком (чтобы меньше зазубривать)... И под многолетним прессом кое-что иногда рождается! Например недавно "покусился" на законы по ООП (в JS) и сильно перекрутил их. Сдобрил это философией Докеров и... сейчас учусь работать по новым принципам! ОЧЕНЬ много кода, создания своих инструментов разработки и отладки, мозги болят от "переучивания", но "чую" что результат будет интересным. При проектировании закладывал в код некоторое сходство с животной и человеческой социологией и некоторые механизмы, которые можно позже снабдить примитивными средствами "само-адаптации" под условия/параметры. В идеале смогу заменить несколько "обычных" кодеров в одиночку и поднимать куда более сложные интерпрайз проекты с нуля.

Самое обидное изобретать такое, видя вокруг что остальных кодеров и так ВСЕ УСТРАИВАЕТ!
[Ответ][Цитата]
 Стр.1 (3): [1]  2  3След. > >>