>>258132165 (OP) >>258132656 Так ты документацию то хоть открывай. Он по дефолту сортирует в лексикографическом порядке. Хочешь свою сортировочку - передавай коллбек.
>>258133051 На C++ Использовать умные указатели (или прочие стратегии автоматического управления памятью), писать exception-safe код На С: Без статических анализаторов никак, нужно точно знать что для всех путей исполнения будет освобождена память
>>258133828 Функциональное вообще нахуй не нужно что-ли? Вопрос на полном серьёзе, щас знаю что ООП языки в топе используемых, но не с концами же функциональные сдохли?
>>258133971 А на чем тогда по твоему пишут? На тайпскрипте?
Честно, пытался вкатиться в этот ваш тайпскрипт, вроде идея правильная и реализация норм, но я рот ебал эту вашу перекомпиляцию и отсутствие нормального дебаггера.
>>258133965 Потому что почему бы и нет? Нет такого конвенционального правила, согласно которому признаётся, какая сортировка должна быть по умолчанию. У каждого свои ассоциации. Те, кто пилил жс видать гуманитарии ссаные.
>>258134072 Тайпскрипт - это обязательно. Перекомпиляция вообще не страшна, когда ты пишешь на фреймворках и в риал-тайме смотришь результат. Дебаггер не пойму зачем нужен - компилятор хайлайтит, что ты сделал не так + дополнительно выводит это в консоль.
А ещё используют множество различных библиотек. Я же говорю, на голом ЖС в коммерческеском смысле никто не пишет. Все используют фреймворки и библиотеки.
>>258134094 Ну вообще я вроде понимаю почему так. Потому как заранее неизвестен тип данных элементов массива - у ОПа он то содержит одни инты, но в реале там может быть мешанина из любых типов. И в принципе логично что их всех надо привести сперва к какому-то одному типу, а общий для всех это понятно стринг.
Вот вопрос к тайпскриптунам. Если я объявил варияблю как Array<int>, то его сорт сработает без костылей?
>>258134232 >Дебаггер не пойму зачем нужен Ты это блядь серьезно или как? Я на прошлой неделе писал тестовое задание для вакансии, заебался ошибки через console.log выскивать. В чистой ноде без тайпскрипта у меня для этого дела заботливо приготовлен дебаггер с брейкпойнтами, инлайнами и вотчами. Все как у людей.
>>258134094 Мне кажется, логичнее было бы сделать дефолтный компаратор как (a, b) => a == b ? 0 : a > b ? 1 : -1; Чтобы все охуительные type coercionы жиэса отрабатывали.
>>258134094 >ому признаётся, какая сортировка должна быть по умолчанию. У каждого свои ассоциации. Те, кто пилил жс видать гуманитарии ссаные. поржал с оправданий веб-мартышки, ббггг.
>>258134350 Я не понимаю, что ты там дебажишь, что у тебя логические ошибки постоянно сыпятся. Ты там какую-то имплементацию какого-то алгоритма на основе прочитанного пейпера делаешь?
>>258134945 Тебя ебёт что я там дебажу? Просто дай мне нормальный дебаггер с брейкпойнтами и вотчами, что мне с ним делать я уже сам решу. В чистом ЖС оно прекрасно работает через --inspect.
>>258132165 (OP) Дык а что ты хотел? Это ж жабоскрипт - объектнонедоориентированный недоязык созданный на коленке потому что одному херу надо было (надо вчера как обычно в разработке софта бывает) в браузер какое-то скриптование добавить. Он, конечно, с тех пор большой путь прошел, но говенное происхождение сказывается.
>>258135624 А, там же по условию количество элементов в массиве нечётное, то есть все одинаковые элементы заксорятся в ноль и останется только тот, который отличается.
>>258135752 Прикольно. Я сначала когда прочитал, что массив нечётной длинны - подумал сразу, что тут что-то с теорией чисел связано. Но никакой связи я не нашёл, лол.
>>258132165 (OP) ОП, что курил перед этим, если не секрет? Тоже копротивляюсь потихоньку. Но я просто всеми силами избегаю стрелочных функций, а ты только ими и лепишь. Придёт с опытом? Или надо что-то подрочить отдельно?
>>258139103 Мне кажется, обычные функции лучше использовать только, если тебе нужно, чтобы к функции можно было привязать контекст. В остальных случаях, когда контекст не нужен или нужен, но только окружающий, то использую стрелочные.
Для обычных функций делается hoisting так же, как для var, в отличие от стрелочных, объявленных через let/const. Если две функции друг друга вызывают, то их надо тогджа как function писать, либо var + стрелочная наверно...
>>258132828 > Как же хочется ламповый garbage-collector Перекатывайся в D. но там совсем пиздец. Такое ощущение, что плюсы выебали шарп, а результат отхуярили джавой
>>258133051 Существует правила владения ресурсом. Типо кто выделяет тот и должен его уничтожать. годная лекция на эту тему, хотя лучше всего смотреть с самого начала https://youtu.be/_mLDaU4wSOo
>>258133374 К слову в лекции выше, лектор ссылается на коде кондукт в ядре линукса, где все выходы из фунции рекомендуется делать через goto/
>>258134056 Ну так на функциональном не помакакишь, а рыночег порешал, что чем больше макак - тем больше прибыли, скоро какой-нибудь графический язык запилят, чтоб мышкой блоки перетаскивать и будет заебись, можно будет реальных макак, из зоопарка запрягать на галеры.
Поясните на говне и палках в чем разница между императивными и декларативными языками(парадигмами?) и какие самые проминентные для этих определений языки?
>>258141612 Я уже видел реализацию подобной идеи на шине интеграции wso2 (говнище индуское) и в блюпринтах анриала (можно использовать) но не думаю что это решит все проблемы домохозяек.
>>258141613 Императивный - описываешь как чуркам класть асфальт, как лопатой махать, куда и сколько вываливать, полностью все действия, пошагово Декларативный - говоришь чуркам где и какого цвета ебнуть асфальт, дальше они сами хуячат.
>>258141815 Это я и так понимаю, с точки зрения строчек кода как бы Я пока только могу предположить что ручные прописи памяти в С, строгая типизация и прочие обязательные хуйни(типа как простыня текста в Коболе перед любой программой) это императив, а питонячье def ebani_shob_zaebok(lubaya_huynya_hot_string_hot_chislo_pohuy_kakoe): return str+int+tvoya_mamka.sosat() Это декларатив Но на деле вангую отличие не в этом
>>258141988 Ну чистый декларатив это HTML+CSS, имхо, а все, где ты хуячишь функцию/класс с методами, а потом их вызываешь в какой-нибудь последовательности есть императивное решение, так что из чисто декларативного остаётся только html/CSS. что, разумеется и яп-то не является
>>258144574 В тестах там были онли неотрицательные, но вообще да... Если с отрицательными, то через хештаблицу, наверное, только подсчитывать цисла. Не знаю, как ещё..
В ИТ то перекатился, но в некоторых местах на платформе нужен ЖС. Если это не простая залупа вида "a+b", а херня с тонной стрелочных функций, нестед функции, коллбэки, промисы итд, у меня просто вытекают глаза смотреть на всю эту ёбань. Решил попробовать 50 задач решить на кодварс. Врубил себе 6-й kuy (набивал лвл на других языках). 2 дня посидел, нихуя не нашёл решения, слился. В ответах совершенно другая залупа, даже не близко к моим мыслям. В итоге покатился в 7 kuy, с трудом решил 1 задачу, написав кода на страницу. После решения глянул в ответы, там люди пишут решение в 1 строку. Что-то пиздец грустно стало, т.к. эту ёбань всеравно нужно как-то освоить.
>>258145520 Но промисы так-то человечные же. Особенно с async/await сахаром. Кодварс, мне кажется, мало имеет отношения к каким-то реальным задачам. А анонимные функции так-то во всех мейнстримных яп есть вроде бы. Ну и колбэки напрямую к жиэс не относятя, хотя они там гораздо больше используются, потому что на жиэс для браузера UI по сути пишут.
>>258144753 Так и не додумался сам(99 Забыл поставить точку-звёздочку в лукахеде.. Типа найди впереди последовательность чего угодно и, например, большую букву после этой последовательности.
Я думал, что достаточно написать (?=[A-Z]) для этого.
>>258132165 (OP) это еще хуйня. я 300к наносеньор и забыл что date.getMonth() возвращает с нуля. А у меня лямбда, естественно на жс, в дата лейк кучу данных по дейт-индексам пихает. Вроде и хуйня, но теперь все в компании надо мной ржут, делая month-1 в афине, я уже полгода обещаю пофиксить и наконец-то переиндексировать но руки не доходят
Недели 2 назад как раз ебался с попыткой интеграции с мс офисом через rest каллауты. Пробовал штук 15 разных вариантов с промисами и с await-ами, ни один нормально не работал. Код либо не запускался, либо запускался до получения ответа. По итогу интеграцию сделал через стандартный функционал. Но после этого понял что что-то нужно делать со своим жс скиллом.
>>258146425 Забей, к тому же там немного говно написано, потому что в моменте [...array, number] там каждый раз новый массив создаётся00)
Мне просто было лень писать что-то типа (array.push(number), array), хотя хм это не сильно длиннее.. Я просто чёт забил про охуетитительный оператор ЗАПЯТУЮ
>>258139526 >бычные функции лучше использовать только, если тебе нужно, чтобы к функции можно было привязать контекст. Нет >>258134072 >я рот ебал эту вашу перекомпиляцию На любом приложении сейчас есть компиляция, даже если это ванилла жс >отсутствие нормального дебаггера Пчел, тс транспилируется в жс, т.е. в результате ты получаешь один из лучших дебаггеров в виде девтулзов. >>258135095 Шиз, я не понимаю, что ты несешь. Твои вотчи и брейкпоинты после компиляции из тс в жс никуда не пропадают. >>258139103 >Но я просто всеми силами избегаю стрелочных функций, а ты только ими и лепишь. Придёт с опытом? Или надо что-то подрочить отдельно? Стрелочные функции занимают меньеш места, из этого следует, что приложение меньше весит и улучшается читаемость кода
>>258146916 >>бычные функции лучше использовать только, если тебе нужно, чтобы к функции можно было привязать контекст. >Нет А где ещё может понадобиться обычная функция?
>>258147448 Ок, я плохо выразился, не "использует this", а её в теории можно захотеть сбиндить к какому-то другому контексту помимо того, в котором она определена.
>>258147419 >Если она не использует this, то зачем её писать как function?
затем что объявления функции хоистятся, а объявления лямбда выражений нет. допустим у тебя есть файл из 10 функций, и фукнции в нем могут использовать другие функции объявленные в этом файле
ты не можешь сделать: export const f3 = () => { f2(); } export const f2 = () = >{ f1(); } export const f1 = () => {}
но можешь сделать export function f3() { f2(); } export function f2() { f1(); } export function f1() {};
Нашёл там клёвую задачу 2-го уровня, про треугольники. Сам пока не придумал, как её решать, т.к. даже на c++ с табличной оптимизацией она будет работать по квадратичной сложности
Суть простая, есть карточки 3 цветов, в каждом следующем ряду из 2 карточек генерируется по правилам r+r=r, g+g=g, b+b=b, r+g=b, r+b=g, g+b=r r r b g r g r b b b Надо по входной строке найти цвет последней карточки. Решать просто итеративно при n=100000 - упираешься в таймаут Теоретически, на c++ можно сделать таблицу, например, на вход принимает 8 карточек и выдаёт 1 на выходе, размер будет ~16 кб. Ну даже можно сделать на 64 мб таблицу для 14 карточек, чтобы "прыгать" сразу через 14 рядов, но всё равно это линейная оптимизация, а мне кажется, там есть какая-то математическая формула
>>258147448 >А зачем её писать как стрелку? Потому es5 constructors, которые обычные function несут в себе оверхед, как на уровне движка, так и по памяти.
>А стрелочные функции не могут использовать this? У стрелочных функций статический контекст исполнения, а не динамический. Есть еще method function, которые так же умеют в динамическое связывание и при этом не имеют оверхеда по памяти в виде лишнего объекта.
>>258148048 >ты не можешь сделать: Хуйню ты написал. В твоем пример все ты можешь в обоих случаях и все будет работать. Ты не знаешь жс, не неси больше того, о чем ты не знаешь.
Чё тут вообще происходит? Вы циферки сортируете? Зачем? То есть вот за это реально платят 300кккк в секунду? Какие задачи повседневные у погромистов реальные вообще? Я видел в гайдах постоянно задания сделойте калькулятор, сделойте компилятор а когда переход на работу настоящую? гуманитарий