
Комментарии 23
Я написал всю программу на ассемблере, страдал над каждой командой целый год, а потом пришли сишники и пишут ее за один день на своем уродливом компиляторе, который генерит неоптимальный ассемблерный код. Мир жесток и несправедлив, я удаляюсь в монастырь и посвящу себя изучению медитации.
Тут скорее тема не про языки программирования, где кто-то может выводить нули на ассемблере год, а кто-то может написать код на си (или другом языке) за 1 день, который между прочим проще будет и "читать" потом.
Если аналогию проводить, то это будет так: ты написал код на ассемблере за 1 год, а ИИ напишет его на том же ассемблере за 5 минут. (возможно с кучей хлама), но сколько потребуется времени чтобы проанализировать этот код на ассемблере? тоже год?
Вы оба пишете на ассемблере, не будет ли тогда у тебя претензий никаких?
То что языки программирования идут в сторону упрощения понимания - это нормально и естественно, но при этом следует конкретно понимать что и как они они упрощают. Не нормально, когда весь код пишется просто по команде "хочу калькулятор".
На самом деле всё должно быть еще интереснее:
- ИИ начнет писать код - по началу - это будет быстро и забавно, даже если что-то и криво будет - спишут на "и так сойдет", зато быстро.
- Возникнет потребность только в людях, которые смогут придумать алгоритм и будут уметь ставить четкую задачу ИИ, но сам код писать им не потребуется
- в какой то момент код настолько засрется, что потребуются люди которые смогут понять код написанный ИИ (и это будут уже не те люди, которые ставили задачи ИИ).
- так зародятся "исследователи" или "новые хакеры"
В любом случае навыки будут нужны как минимум понимать написанный ИИ код. Что он там написал, "калькулятор" или "вызвал мегатрона из далекой галактики".
Так что не опускайте руки. Навыки опытных кодеров еще будут востребованы.
На мой взгляд, самая верная реакция на такое решение написана в комментарии под официальным сообщением автора о прекращении. Просто приведу ссылку на этот комментарий.
https://github.com/Picocrypt/Picocrypt/issues/134#issuecomment-3159957730
И следующий комментарий (того же автора)
https://github.com/Picocrypt/Picocrypt/issues/134#issuecomment-3160012728
По моему, лучше и не скажешь.
И вроде бы "никто как бы не виноват", и автор "прав", имея право забросить безвозмездное поделие, но и пользователи, которые на эту программу по-настоящему полагались, шифруя ей самое ценное (тем паче те, кто давали пожертвования) -- тоже правы в своём негодовании и разочаровании от такого безответственного поведения. Всё же, это не очередной фото/аудиоредактор, а...
Ну да ладно.
Пользователи донатили, взамен получали новые фичи. Теперь они могут этими фичами пользоваться. Программа никуда не девается, все возможности, реализованные за счёт донатов, остаются. Причина негодования?
А кроме того лицензия позволяет форкнуть и развивать проект дальше.
Главное в такой программе не новые "фичи", свистоперделки или лицензионные байки, а ДОЛГОВЕЧНАЯ поддержка. Максимально долговечная поддержка автора-создателя программы, которому люди доверили самое ценное (свои данные, в том числе секреты) и также дали деньги (уйма донатов ему было послано, особенно анонимно, так как программа "специфическая"). Вместо этого, автор написал на прощание простыню соплей и отмазок словно 15-ти летняя девочка, которая оправдывает свой случайный залёт всякими байками.
Тем более всё это возмутительно, так как бросил он всё меньше чем через год после того, как получил более 5 тысяч долларов донатов для аудита безопасности программы (ссылка). Плюс ещё получал и анонимные донаты через monero и биткойн... Короче, я не его бухгалтер, но за программой в своё время плотно следил, помогал ему в нескольких случаях с кодом на гитхабе и также жертвовал монетку, словом знаю о чём говорю.
Наверное про такое слово как "ответственность" и "долг" в нынешние времена (якобы) никто не знает. Ну то есть делают вид, что не знают. Ну а чё, удобненько. Поэтому можно в любой момент "пукнут" про свободу воли или я бесплатно работать не буду или про открытый код (типа, давай, забирай у меня мою ответственность и мой долг, который я сам взял на себя, когда принимал деньги и давал слово работать над программой➡️люди мне доверились, а мне пофиг) и... и прощай, детка.
Ничтожный мир с ничтожными людишками.
Ну так и потратил он эти 5 тысяч долларов на аудит. А донаты - не стабильный доход. А хочется и покушать и в отпуск съездить. Очень странно ожидать ДОЛГОВЕЧНУЮ поддержку от одного человека, который делает опенсорс. Я коммитил в большой опенсорсный проект несколько лет не получив за это не копейки за всё время и меня искренне поражали люди, которые мне писали, что-то требовали, ругались и были уверенны, что я им должен.
Чего там долговечно поддерживать? Совместимость с новыми версиями компилятора?
И откуда там уйма донатов, если это приложение, судя по всему, делает ровно то же, что умеет делать старый добрый GPG? (шифровать отдельные файлы)
Если вам это явно не обещали, то ваши ожидания — это ваши личные проблемы.
Крупные технологические компании и инвесторы верят в ажиотаж вокруг программирования, отдавая приоритет количеству, а не качеству, и увольняют людей, которые действительно умеют писать код.
Мне тоже не нравится что нейронки могут генерировать безумный код, но я бы не сказал что код написанный автором чем-то лучше.
Да, он работает, но ума не приложу как эту портянку можно поддерживать.
Вот какой смысл было писать эту функцию, если есть time.Duration?
// Convert seconds to HH:MM:SS
func timeify(seconds int) string {
hours := int(math.Floor(float64(seconds) / 3600))
seconds %= 3600
minutes := int(math.Floor(float64(seconds) / 60))
seconds %= 60
hours = int(math.Max(float64(hours), 0))
minutes = int(math.Max(float64(minutes), 0))
seconds = int(math.Max(float64(seconds), 0))
return fmt.Sprintf("%02d:%02d:%02d", hours, minutes, seconds)
}Делается это элементарно:
А теперь сделайте seconds равным не 100500, а 500 и заставьте вывести это "элементарно" в фиксированном формате HH:MM:SS. И уже получится не столь же однострочно.
Ну допустим так
func formatSeconds(seconds int) string {
tt := time.Time{}
return tt.Add(time.Second * time.Duration(seconds)).Format("15:04:05")
}Ну допустим. Это более читаемо?
Поинт то простой: у автора там три-четыре подобных говнофункции. Они работают, они не bottleneck. Не к тому месту проекта претензии вот вообще
И уже получится не столь же однострочно.
Согласен.
Но если исходить от изначальной задачи, которая заключается в удобном выводе времени для человека, то вполне можно обойтись stringer методом time.Duration типа.
Я думаю чел просто задолбался поддерживать все это.
Короче плаки плаки дайте деняк за программу
Чувак задолбался походу править свою портянку из 3 тысяч строк кода. Обидно ему стало, что не допёр в своё время норм архитектуру сделать. Ток чё юзера то возмущаются. В чём проблема скормить портянку клавдию и пусть кодит дальше.
Автор Picocrypt прекратил разработку проекта и заархивировал это решение