Если сразу сделать "нормально", нам надо тратить время очень высококвалифицированного спеца, и мы получим 100% слабоподдерживаемого процедурного кода.
Это скажем так неправда. Писать хороший код и плохой код почти всегда примерно одинаково по времени, нужно только знать как писать хороший.
Вторая ошибка — процедурный код значит быстрый — это тоже неверно. ООП в стиле "как в джава" — медленный, никто не спорит, только проблема не в отсутствие процедур, а в динамическом диспатче. Пишите любое ООП без динамического диспатча (хотя бы как пример стд:: вариант выше) и будет все белым, пушистым и бенчмарки будут биться.
И итоговый код как можно посмотреть ничуть не сложнее ни медленного "чистого" кода, ни процедурной портянки.
И? Зато при необходимости добавить ещё одну функцию (скажем посчитать периметр) можно написать 1 функцию, а в варианте с иерархией добавлять функцию в интерфейс/базовый класс и потом менять всех наследников.
С чего вы вызяли что добавление ещё одного наследника более важная задача чем добавление функционала в существующую иерархию? Это может быть верным, а может быть и нет, в зависимости от задачи. В общем-то известная проблема.
Не стоит так снисходительно посмеиваться, не будучи на 100% правым в своем поинте, некрасиво выглядит.
А "Чистый код" и "ООП" связаны положительно? Выпиливание динамического диспатча не делает код менее чистым, зачастую даже наоборот. Поэтому ваш пример никак не доказывает/опровергает упомянутые тезисы.
В современных языках можно иметь статический диспатч для открытого множества типов который часто будет даже лучше свитча, если бранчинг известен на топлевеле (ну или хотя бы на 1 левел выше текущего). А что может быть лучше бранча? Его отсутствие.
Да меня с одного заголовка вынесло. Что разбиение на функции что-то там автору замедляет. То что атрибут inline изобрели ещё 50 лет назад он видимо не слышал.
Пишу радостно маленькие функции, почти все приложение склеивается в один большой main (и нет, я не идиот который развесил кучу инлайнов, компилятор просто думает что так выгоднее).
Все эти срачи "чистый код зло" каждый раз умиляют. Чистый код может и зло, но с ним есть время на то чтобы побенчить профайлером и потюнить узкие места. А фанат "пили быстро" мало что пилить неподдерживаемую фигню, так ещё и фигарит 2 недели суперфункцию по эффективному парсингу структурки из файла, только чтобы потом на отвали написать запрос в базу (который надо было делать ещё вчера, но он слишком замотался оффсеты считать и отлаживать, и времени думать тут нет), которая будет в мульон раз больше жрать на каждый запрос чем суммарная выгода от его реализации парсинга за всю свою жизнь. Которую причем придется выкинуть когда изменятся требования.
Популистская статья с фальшивым сбрасыванием покровов.
Честно говоря подход выше едва ли можно назвать хорошим примером, таки ассемблер это вещь специфичная. Но твой код больше похож на парсер-комбинаторный, чем регулярный, а это совсем иной класс. Может быть проблема регулярок в том, что они просто так записываются, но тем не менее под регуляркой подразумевают обычно "стринга по правилам рфц/исо/...". Например вот эта — я уверен что почти любой код доработать/изменить проще чем эту регулярку.
Регекспы — это класс языков, а не конкретный синтаксис со всеми этими |*?
Все верно, регкэспы это этот конкретный синтаксис. Так же как RJ45 это конкретно 8P8C а не что-то ещё, а копировальная машина — исключительно "ксерокс".
10% гарантированных годовых звучит нереалистично, честно скажу. Сколько там по сверхнадежным бондам процент был, от котороых SVB развалился? Сильно меньше процента емнип. Соответственно отсюда вся остальная математика немного хромает.
А ещё добавим что до штатов нужно доехать, для чего нужно быть неплохим сениором или хотя бы очень крутым миддлом. Предполагая что человек после универа лет за 5 (очень маленький срок) получит достаточную квалификацию чтобы его захантили с релоком то миниальный срок когда он может начать этим заниматься — 27-28 лет. А до тех пор кое-как работая в РФ получится хорошо если сводить концы с концами.
Звучит вполне реально, не правда ли?
Примерно так же реально как "каждый день делать несколько задачек на литкоде и ходить 2 раза в неделю в зал на протяжении 13 лет" имхо. Иными словами невероятно сложно для абсолютного большинства людей.
1.5 млн это все же дофига в том числе для программиста. Если взять какого-нибудь ФААНГ-товарища нехилой квалификации то он может получать ну типа 250 гросс. Порядка 50 я так понимаю уйдет на налоги, ещё столько же на скромную жизнь. Откладываем по 150, это 10 лет работы. Без непредвиденных расходов, любых путешествий. и из трат только покушать, будучи на хорошей позиции в топ богатых компаний.
Если же мы возьмем что-то более среднее (гугл подсказывает The average senior java developer salary in the USA is $126,785 per year), то вместо 10 лет работы у нас появляются все 30+.
Я не обвиняю никого в элитизме, но это обьективно "не для всех". Ну не могут все быть л77 сениорами в фейсбуке.
Нанесшие такой удар могут ни на что не надеятьс потому что получат ответочку, и надеяться будет уже некому. Давайте заниматься более-менее реалистичным думингом на тему того как нас ИИ разберет на скрепки, а не фантастическое "и они взяли и разбомбили всё и всех, и стали самыми большими молодцами".
Нет никаких кластеров о химии там. Мы можем узнать что активировались нейроны в диапазоне x[5000..158636] и x[646464..38528623]. Какую информацию нам это даст? То есть понятно что оно связано с ответом, но информация это о химии, физике или балете (которая нем не менее сыграла важную роль в правильном ответе) — кто скажет-то.
Можно сделать "МРТ для нейронки", просто задавая вопросы и считывая корреляцию между темой вопроса и областями которые были активированы. Но не думаю что кто-то это сделал — слишком быстро идет развитие чтобы тратить ресурсы на такую штуку.
Я выше видео скинул, там нейрокна +- визуализирует то что ей "интересно".
Описание нейронки — "на входе сигнал и веса, на выходе результат". Какой разбор ещё вы хотите? Это буквально как оно работает. Хочется понимать что конкретно означают веса? Никто не знает.
Не беря в рассчет всю безумность предложения — окей разбомбили, с учетом инвестиций от микрософта они такйо же отстроят в другом месте, но уже в каком-нибудь защищенном бункере на территории военной базы. Может ещё всех создателей ОпенИИ расстрелять? И заодно всех кто эту статью прочитал, потому что зная что это возможно рано или поздно можно сделать второй раз такой же чатгпт. Особенно учитывая что модельки-то у многих скачаны локально, у миллионов разработчиков по всему миру.
В общем единственное, на что я надеюсь, что Китай не упустит этот момент и хотя бы "внутри" что-то сделает похожее. На нас и на Европу надеяться сейчас не приходится, другие приоритеты, к сожалению.
Мощный ИИ в руках китайцев это последнее, чего должен хотеть разумный человек. Вы бы хоть о своей безопасности задумались.
Aave/Compound/...? Тысячи их.
Зато многие могут сдохнуть. И не только с голоду. Что несколько добавляет мотивации помимо прочих.
Почему неудачный? Его достаточно чтобы опровергнуть "или\или".
У меня например быстрый и красивый проект есть, но вы наверняка мне не поверите :)
Это скажем так неправда. Писать хороший код и плохой код почти всегда примерно одинаково по времени, нужно только знать как писать хороший.
Вторая ошибка — процедурный код значит быстрый — это тоже неверно. ООП в стиле "как в джава" — медленный, никто не спорит, только проблема не в отсутствие процедур, а в динамическом диспатче. Пишите любое ООП без динамического диспатча (хотя бы как пример стд:: вариант выше) и будет все белым, пушистым и бенчмарки будут биться.
И итоговый код как можно посмотреть ничуть не сложнее ни медленного "чистого" кода, ни процедурной портянки.
И? Зато при необходимости добавить ещё одну функцию (скажем посчитать периметр) можно написать 1 функцию, а в варианте с иерархией добавлять функцию в интерфейс/базовый класс и потом менять всех наследников.
С чего вы вызяли что добавление ещё одного наследника более важная задача чем добавление функционала в существующую иерархию? Это может быть верным, а может быть и нет, в зависимости от задачи. В общем-то известная проблема.
Не стоит так снисходительно посмеиваться, не будучи на 100% правым в своем поинте, некрасиво выглядит.
А "Чистый код" и "ООП" связаны положительно? Выпиливание динамического диспатча не делает код менее чистым, зачастую даже наоборот. Поэтому ваш пример никак не доказывает/опровергает упомянутые тезисы.
В современных языках можно иметь статический диспатч для открытого множества типов который часто будет даже лучше свитча, если бранчинг известен на топлевеле (ну или хотя бы на 1 левел выше текущего). А что может быть лучше бранча? Его отсутствие.
Да меня с одного заголовка вынесло. Что разбиение на функции что-то там автору замедляет. То что атрибут inline изобрели ещё 50 лет назад он видимо не слышал.
Пишу радостно маленькие функции, почти все приложение склеивается в один большой main (и нет, я не идиот который развесил кучу инлайнов, компилятор просто думает что так выгоднее).
Все эти срачи "чистый код зло" каждый раз умиляют. Чистый код может и зло, но с ним есть время на то чтобы побенчить профайлером и потюнить узкие места. А фанат "пили быстро" мало что пилить неподдерживаемую фигню, так ещё и фигарит 2 недели суперфункцию по эффективному парсингу структурки из файла, только чтобы потом на отвали написать запрос в базу (который надо было делать ещё вчера, но он слишком замотался оффсеты считать и отлаживать, и времени думать тут нет), которая будет в мульон раз больше жрать на каждый запрос чем суммарная выгода от его реализации парсинга за всю свою жизнь. Которую причем придется выкинуть когда изменятся требования.
Популистская статья с фальшивым сбрасыванием покровов.
Честно говоря подход выше едва ли можно назвать хорошим примером, таки ассемблер это вещь специфичная. Но твой код больше похож на парсер-комбинаторный, чем регулярный, а это совсем иной класс. Может быть проблема регулярок в том, что они просто так записываются, но тем не менее под регуляркой подразумевают обычно "стринга по правилам рфц/исо/...". Например вот эта — я уверен что почти любой код доработать/изменить проще чем эту регулярку.
Все верно, регкэспы это этот конкретный синтаксис. Так же как RJ45 это конкретно 8P8C а не что-то ещё, а копировальная машина — исключительно "ксерокс".
А был ли мальчик? В смысле, компания? Может это три развеселых друга, которым вывеску сменить куда дешевле чем платить целых полновесных 750 баксов?
И да, они улетели в ридонли и спустя почти неделю от них ни слуху ни духу. Сильный опыт.
Побойтесь бога, так и люди не умеют. Особенно те которых можно на нанять по рейту нейросетки.
10% гарантированных годовых звучит нереалистично, честно скажу. Сколько там по сверхнадежным бондам процент был, от котороых SVB развалился? Сильно меньше процента емнип. Соответственно отсюда вся остальная математика немного хромает.
А ещё добавим что до штатов нужно доехать, для чего нужно быть неплохим сениором или хотя бы очень крутым миддлом. Предполагая что человек после универа лет за 5 (очень маленький срок) получит достаточную квалификацию чтобы его захантили с релоком то миниальный срок когда он может начать этим заниматься — 27-28 лет. А до тех пор кое-как работая в РФ получится хорошо если сводить концы с концами.
Примерно так же реально как "каждый день делать несколько задачек на литкоде и ходить 2 раза в неделю в зал на протяжении 13 лет" имхо. Иными словами невероятно сложно для абсолютного большинства людей.
1.5 млн это все же дофига в том числе для программиста. Если взять какого-нибудь ФААНГ-товарища нехилой квалификации то он может получать ну типа 250 гросс. Порядка 50 я так понимаю уйдет на налоги, ещё столько же на скромную жизнь. Откладываем по 150, это 10 лет работы. Без непредвиденных расходов, любых путешествий. и из трат только покушать, будучи на хорошей позиции в топ богатых компаний.
Если же мы возьмем что-то более среднее (гугл подсказывает The average senior java developer salary in the USA is $126,785 per year), то вместо 10 лет работы у нас появляются все 30+.
Я не обвиняю никого в элитизме, но это обьективно "не для всех". Ну не могут все быть л77 сениорами в фейсбуке.
Нанесшие такой удар могут ни на что не надеятьс потому что получат ответочку, и надеяться будет уже некому. Давайте заниматься более-менее реалистичным думингом на тему того как нас ИИ разберет на скрепки, а не фантастическое "и они взяли и разбомбили всё и всех, и стали самыми большими молодцами".
Нет никаких кластеров о химии там. Мы можем узнать что активировались нейроны в диапазоне x[5000..158636] и x[646464..38528623]. Какую информацию нам это даст? То есть понятно что оно связано с ответом, но информация это о химии, физике или балете (которая нем не менее сыграла важную роль в правильном ответе) — кто скажет-то.
Можно сделать "МРТ для нейронки", просто задавая вопросы и считывая корреляцию между темой вопроса и областями которые были активированы. Но не думаю что кто-то это сделал — слишком быстро идет развитие чтобы тратить ресурсы на такую штуку.
А с чего вы вызяли что я их не прочитал прежде чем писать? На всякий случай перечитал — ничего не пропустил с первого раза.
Спасибо за статью, очень интересно. Но от картинок снятых на телефон под углом натурально разыгралась мигрень. За что вы так с нами
Я выше видео скинул, там нейрокна +- визуализирует то что ей "интересно".
Описание нейронки — "на входе сигнал и веса, на выходе результат". Какой разбор ещё вы хотите? Это буквально как оно работает. Хочется понимать что конкретно означают веса? Никто не знает.
Вот так:
Ну попробуйте обьяснить это машине, не стлокнувшись заодно с меса-проблемами.
Не беря в рассчет всю безумность предложения — окей разбомбили, с учетом инвестиций от микрософта они такйо же отстроят в другом месте, но уже в каком-нибудь защищенном бункере на территории военной базы. Может ещё всех создателей ОпенИИ расстрелять? И заодно всех кто эту статью прочитал, потому что зная что это возможно рано или поздно можно сделать второй раз такой же чатгпт. Особенно учитывая что модельки-то у многих скачаны локально, у миллионов разработчиков по всему миру.
Мощный ИИ в руках китайцев это последнее, чего должен хотеть разумный человек. Вы бы хоть о своей безопасности задумались.