В состав языка программирования Hare, который преподносится как язык системного программирования, близкий к языку Си, но проще, чем Си, добавлена поддержка операционной системы OpenBSD. OpenBSD стала первой новой платформой, добавленной в Hare с момента публикации проекта в апреле 2022 года (изначально Hare поддерживал только Linux и FreeBSD). Компилятор Hare был портирован для OpenBSD около года назад, но стандартная библиотека до настоящего времени оставалась без поддержки данной платформы...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=60231
Особо раудет главная страница, с примерами Хэло Волда на разных языках.Ни за что не буду использовать этот язык - пусть мертворождённый помрёт ещё раз.
> Особо раудет главная страница, с примерами Хэло Волда на разных языках.Ага, прикольно
> Ни за что не буду использовать этот языкну и не надо
> пусть мертворождённый помрёт ещё разНу почему же, довольно активно развивается
У него с головой совсем плохо.https://drewdevault.com/2023/11/25/2023-11-26-RMS-on-sex.html
Чел молодец конечно. Выждал хорошенько. И с головой в дерьмо нырнул публично фигурой высшего пилотажа.
Возможно он просто очень сильно не согласен с тем, что его дочку поимеют в 12-13 лет, что с точки зрения Столмана - Ок
Вы застыли в старые добрые времена, а сейчас, к сожелению, секс в 13 уже норма. Наши детки могут нам, стариков, давать уроки(
> а сейчас, к сожелению, секс в 13 уже норма.Но не со взролыми же, иначе это прямой путь на панель
Не выдавайте свои выдумки за действительность. Прямых путей на панель вообще не существует, только очень кривые. Как и прямых путей в жизни в принципе.
> секс в 13 уже нормаЛично всем 13-летним свечку держал?
>Лично всем 50-летним свечку держал?Пофиксил.
там вроде говорится от 13-14 по взаимному согласию, но мы же тут все морализаторы, кем-то писаные законы наше всё, ведь школьницы у нас до совершенолетия все "целыми" ходят, а миллионы лет развития человечества когда уже примерно в этом возрасте мальчики становились мужчинами а девочки женщинами пора выкидывать на свалку истории, ну и пора бы уже конечно поднять возраст совершеннолетия хотя бы до 30 лет ведь в нашем современном мире кругом ранимые люди.
> миллионы лет развития человечества когда уже примерно в этом возрасте мальчики становились мужчинами а девочки женщинами пора выкидывать на свалку историиУгу, и доживали до 30ки в лучшем случаи, особенно в древние века.
Что-то я не не вижу очереди "жить как неандерталец".Причем буквально пару веков назад было не сильно лучше, почитай хотя бы русских классиков:
"Николай Михайлович Карамзин был старше всех собравшихся. Ему было тридцать четыре года — возраст угасания"А по-поводу Ромео, маме Джульетты на момент событий, описанных в пьесе, было меньше 28 лет.
Если девочке было 13, то да с точки зрения "неморализаторов" в 15 рожать отличная идея!
Получим смертность матерей и детей на уровне средневековья.Да и сейчас в некоторых сообществах брак с 13-15, вот только назвать их развитыми язык не очень поворачивается
> ведь в нашем современном мире кругом ранимые люди.
Звучит как типичное дедовое "я в детстве кал жрал! в школу 8 км в метель ходил! при свечке домашку делал! а ты... даже не хочешь как я быть, щенок"
Не передёргивай. В современных обществах школьники пользуются средствами контрацепции. Да, в 13 лет. Школьники, внезапно, тоже люди, и то, что человек не достиг определённого законом возраста, не означает, что он должен обходиться без любви и секса. К счастью с распространением интернета уроки, на которых школьники обычно неловко себя чувстовали, можно убирать: кому надо - тот сам найдёт и прочитает гораздо более качественную инфу, чем могли учителя рассказать.
> Не передёргивай.А вот это уже не твое дело.
> В современных обществах школьники пользуются средствами контрацепции.Подглядываешь?
> Возможно он просто очень сильно не согласен с тем, что его дочку
> поимеют в 12-13 лет, что с точки зрения Столмана - ОкНет. С точки зрения Столлмана это не ОК. И никогда не было ОК.
Хватит уже один и тот же бред повторять. Вы вдруг ощутили что от вас не несёт дерьмом и решили это срочно исправлять?Столлман писал только о отсутствии достаточных доказательств того, что секс по согласию наносит вред психике ребёнка.
Что вообще довольно логично.
Предположив обратное, мы приходим к порке розгами за мастурбацию. И прочему жуткому мракобесию.
Пися - плохо, молись постись и служи господу.Хотя сейчас стало модно сразу кастрировать детей чтобы чего не вышло.
> Возможно он просто очень сильно не согласен с тем, что его дочку
> поимеют в 12-13 летНет повести печальнее на свете, чем повесть о Ромео и Джульетте.
https://drewdevault.com/2023/11/25/2023-11-26-RMS-on-sex.html
> Столлман писал только о отсутствии достаточных доказательств того, что секс по согласию наносит вред психике ребёнка. Что вообще довольно логично.Ну если ты не из этих, заднеприводных и у тебя появится когда нибудь дочка, вот тогда и поговорим, как ты быдешь доволен что её помусолит какой нибудь старпер
А мальчики что, не в опасности?Ещё раз. Моё личное счастье это одно. Закон это другое. А вред психике это третье.
Согласно закону секс с недееспособным - в данном случае несовершеннолетним, является изнасилованием, потому что не достигший совершеннолетия гражданин не может дать согласия.
Но это тут причём? Вы зачем всё изврашаете.
А ну в глаза мне смотреть!
Желаемый ребенком сексуальный опыт травмирует или не травмирует ребёнка?Если травмирует, значит нужно рассматривать вопрос о лишении родительских прав всех родителей допустивших занятие мастурбацией своего ребёнка?
Или ненужно?
> Желаемый ребенком сексуальный опыт травмирует или не травмирует ребёнка?Если у ребенка зачесалось в одном месте и ему от это приятно, - это не значит что взрослый должен этим пользоваться. Вот когда башка на месте будет (а в 12-13 работает только все что ниже пояса, за очень редким исключением) вот тогда пусть и выберают с кем тереться, иначе будующее у таких "деток" будет соответсвующее.
Но если вы желаете чтоб вас окружали дебилы, гопота и наркоши, то вперед, - разрешайте своим деткам епстись с моральными взрослыми уродами
> Если у ребенка зачесалось в одном месте и ему от это приятно,
> - это не значит что взрослый должен этим пользоваться.Не значит. И Столлман ничего такого не говорит.
Но вы почему-то об этом активно фантазируете. Да ещё чужих детей в свои фантазии включаете.> Вот когда
> башка на месте будет (а в 12-13 работает только все что
> ниже пояса, за очень редким исключением) вот тогда пусть и выберают
> с кем тереться, иначе будующее у таких "деток" будет соответсвующее.Исследования психологии маньяков показало, что буквально все без исключения маньяки имели строгих родителей, часто религиозных. Если во времена Фрейда вред человеческой психике от сексуальных табу был просто общепризнанным мейнстримом, то сейчас это неопровержимый факт.
> Но если вы желаете чтоб вас окружали дебилы, гопота и наркоши, то
> вперед, - разрешайте своим деткам епстись с моральными взрослыми уродамиЯ так понимаю. Вас преследуют фантазии того, как ваши дети "епсутся с моральными взрослыми уродами", но этим вы не ограничиваетесь, и лезете со своими фантазиями в трусы к детям незнакомых людей в интернете.
В вас вселяет ужас мысль о том, что ребёнок может обладать собственной волей, и совершать выбор без вашего участия. Решение проблемы вы видите в тотальном контроле за жизнью ребёнка, я так понимаю установка камер наблюдения в спальне туалете и ванной вас не смущает. Но вот когда ваше чадо "станет взрослым" вы сразу забьёте болт и отпустите его на свободу.
При этом, выше вы писали, что по вашему мнению, гомосексуалисты не против насилия над их детьми?
> Но если вы желаете чтоб вас окружали дебилы, гопота и наркоши
Не желаю. Поэтому попрошу вас, отвалить от меня, и моих детей. Держись от меня подальше.
Лол, разве у него есть дети? Воображаемые, разве что.
Возможно, он хочет как в США, когда 25-летняя получает срок за связь с 17-летним.
Не "в США", а конкретно в Ильиноисе.
С головой это у тебя, если ты принимаешь Столманские:"Many years ago I posted that I could not see anything wrong about sex between an adult and a child, if the child accepted it."
В некоторых юрисдикциях и вплоть до 18 лет - это "ребёнок".
там что прям с пятилетними ?
>Should these norms be adopted by our movementМне кажется, что цель опенсорс-движения - это Критериев Столлмана продвижение. А продвижение тех или иных взглядов на сексуальность человека, толерантность и diversity к целям и задачам опенсорс движения не относится вообще никак. Те, кто пытаются в рамках опенсорс-движения заниматься чем-либо, кроме продвижения абсолютного доминирования ПО. удовлетворяющего Критериям Столлмана - тот либо просто бездельник, которого не взяли заниматься продвижением соответствующих вещей в соответствующие организации, чьей специализацией является продвижение именно тех вещей, а не опенсорса, либо засланный агент, чья функция - ослаблять опен-сорс движение.
Согласен, но опен-сорс размытое понятие. Пермиссивщина недопустима! Только Копилефт третьей версии, только GNU, только FSF! Мнение Столлмана касающиеся разработки ПО, лицензий и патентов - непререкаемо! Все те, кто старается повесточку увести в сторону сексуальных, политических или моральных вопросов - это провокаторы. Наша Свободивская воля должна быть незыблема. Мочим пермиссивщиков, патентных паразитов и проприетарщиков. На шее корпорастов держим решительную удавку, метнётся в сторону проприетарщины - давить!Столлман наш вождь!
>Пермиссивщина недопустима! Только Копилефт третьей версии, только GNU, только FSF!Столлман никогда такую ересь не изрекал.
>лицензий и патентов
Кто не признаёт копирайты, патенты и прочие монополии и DRM абсолютным злом - тот не является сторонником опенсорса. Если сам Столлман не против копирайта как такового - то он не истинный член опенсорс движения.
Критерии Столмана и цель ГНУ это:
- отбирание у программистов возможности заработать на хлеб, с альтернативой ходить с протянутой рукой и попрошайничать пожертвования
- уравнивание всех зарплат (чтобы все получали одинаково)
- создание специального гос. органа, который будет определять эти зарплаты
- создание доп налогов на производство железа
- уничтожение частной собственности в виде кода
- наказание тех кто не хочет открывать свой кодИменно это г-н Столманн написал в своем манифесте.
Хорошо, что опенсорс движение это не только OSI и FOSS, а еще и более адекватные люди.
Это всё к социалистам. А Столлман ближе к противоположному лагерю по идеологии.>Именно это г-н Столманн написал в своем манифесте
{{Citation_needed}}
> Это всё к социалистам. А Столлман ближе к противоположному лагерю по идеологии.Не социалистам, а коммунистам. Социализм вполне уживается с частной собственностью, например скандинавы.
> {{Citation_needed}}
Сначала я хотел побухтеть что это ищется в 2 клика, ну да ладно.
GNU Manifesto написанный г-м Столменом, офф. рус. перевод https://www.gnu.org/gnu/manifesto.html.ruЦитаты по поводу зарплат, пожертвований и тд
"Я принимаю во внимание, что золотое правило требует, что, если мне нравится программа, то я должен обмениваться ею с другими людьми, которым она нравится."
«Настоящая причина, по которой программисты не будут голодать — то, что они всё равно смогут получать плату за программирование, только не так много, как сейчас.»
«Возможно, программирование на новой основе не будет так доходно, как сейчас. Но это не аргумент против замены.»«Платить программистам не перестанут, просто плата станет меньше.»
«Люди с новыми идеями могли бы поставлять бесплатные программы, принимая дары от довольных пользователей или продавая услуги по помощи. … Пользователи со сходными нуждами могут образовывать союзы пользователей и платить взносы.»
>I consider that the Golden Rule requires that if I like a program I must share it with other people who like it.Сказанно в первом лице. То есть про себя.
>The real reason programmers will not starve is that it will still be possible for them to get paid for programming; just not paid as much as now.
>Probably programming will not be as lucrative on the new basis as it is now.
>Pay for programmers will not disappear, only become lessПрогресс всегда сопряжён с уменьшением редкости плодов прогресса. Это естественно. В этом утверждении ничего нет про то, что нужно ограничить зарплаты путём насилия или отнять деньги и поделить.
>People with new ideas could distribute programs as freeware [9], asking for donations from satisfied users, or selling handholding services. I have met people who are already working this way successfully.
Вполне совместимо с NAP.
4 свободы это тоже в философии проекта ГНУ это тоже "про себя"?
https://www.gnu.org/philosophy/philosophy.htmlА там четко сказано (2) to redistribute exact copies, and (3) to distribute modified versions.
Т.е программу ты продавать не можешь.
А с учетом The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.> Прогресс всегда сопряжён с уменьшением редкости плодов прогресса. Это естественно. В этом утверждении ничего нет про то, что нужно ограничить зарплаты путём насилия или отнять деньги и поделить.
Ограничение путем принятия законов.
Совмести ограничения зарплат с финансированием которое определяют налогоплатильщики, добавь Министертво Распределения Зарплат и получишь СССР с зарплатной сеткой в 120 рублей для всех инжинеров.
>А там четко сказано (2) to redistribute exact copies, and (3) to distribute modified versions.
>Т.е программу ты продавать не можешь.Конечно могу. Нужно только цену первой копии установить с прицелом, что распространение копий с неё я не контролирую. Справедливо.
Там же он предлагает ограничиь зарплаты"Факты говорят, что люди программируют не ради богатства, но если дать возможность при этом заработать много денег, они привыкнут ожидать и требовать этого. Низкооплачивающие организации проигрывают высокооплачивающим, но они могли бы быть на том же уровне, если бы высокооплачивающие были запрещены."
Давайте запретим платить много, чтобы бедные организации могли себе позволить нанять не джунов.
Гениальное решение.А деньги будем брать отсюда
«Все виды разработок можно финансировать программными налогами:
Допустим, каждый, кто покупает компьютер, должен платить N процентов стоимости как программный налог. Правительство передаёт его агентству вроде Национального научного фонда для вклада в развитие программ.
…
Размер налога мог бы определяться голосованием налогоплательщиков, взвешенным в соответствии с облагаемой суммой»
Аргумент принят. https://www.google.com/search?q=site%3Astallman.org+AND... Столлман с позором исключён из сторонников свободы и записан в социалисты. Однако это не отменяет его пригодность как лидера опенсорс-движения.
> Столлман с позором исключён из сторонников свободы и записан в социалисты.Пока к сожалению нет.
> Однако это не отменяет его пригодность как лидера опенсорс-движения.
Не вижу связи. Я смотрю на его заявленные цели и дела.
Я как разработчик вижу, что он предлагает уменьшить мою зарплату, уровнять всех программеров, сделать меня зависимым от государства и налогоплатильщиков, а если я не соглашусь то меня можно наказать.
Мне такой опенсорс не нужен. И лидер тоже (кстати в кто его назначил)?)БСД лицензия появилась в 1978, MIT 85й или 87й, ГПЛ аж в 89ом.
Т.е идея опенсорса это не FOSS (1985) и не OSI (1998).
Хотя последняя пыталась украсть и сделать торговой маркой само слово опенсорс (пруф https://opensource.org/pressreleases/certified-open-source.php/), естественно во благо.
Они примазались позже, и пытаются выдать себя за Настоящий Опенсорс ©
А кто не согласен - еретики.
>Не вижу связи. Я смотрю на его заявленные цели и дела.
>Я как разработчик вижу, что он предлагает уменьшить мою зарплату, уровнять всех программеров, сделать меня зависимым от государства и налогоплатильщиков, а если я не соглашусь то меня можно наказать.Он это не делает и не может сделать - это функция не FSF, а политиков. А Столлман может только программы писать, опусы сочинять, по конференциям разъезжать и ноги там есть.
>Мне такой опенсорс не нужен. И лидер тоже (кстати в кто его назначил)?)
Он сам себя назначил и ведёт себя по-лидерски. Пока он ведёт образ жизни, достойный лидера движения СПО, призывы выгнать его из его же организации ничем не лучше призывов отнять и поделить.
>БСД лицензия появилась в 1978, MIT 85й или 87й, ГПЛ аж в 89ом.
Тем не менее спо (которое мы приравняем к опенсорсу, потому что опенсорс - это просто другое более благозвучное название для спо) как идеологию и движение создал Столлман с единомышленниками.
>What the facts show is that people will program for reasons other than riches; but if given a chance to make a lot of money as well, they will come to expect and demand it.Это наблюдение. Смысл в том, что законы природы вынуждают системы максимально эксплуатировать окружение. И попав в оптимум система в нём задержится. Если чел, случайно попавший в точку ландшафта, в которой он начал получать много денег из ниоткуда, там задержится, то чтобы ландшафт не изменился так, чтобы поток не прекратился, он не побрезгует ничем. И поскольку у него есть деньги нанять бандитов - он наймёт их.
>Low-paying organizations do poorly in competition with high-paying ones, but they do not have to do badly if the high-paying ones are banned.
>All sorts of development can be funded with a Software Tax:Хотя тут и нет призыва запретить, отобрать и побелит, а только намеки "ну есть такая опция", при этом не осуждая её. Поскольку это документ FSF, продвигать идеологи за/против налогов тут неправильно. У себя в личном блоге он может это продвигать, но не в рамках FSF. Напр. финансирование через добровольные пожертвования тоже рассмотрено
>People with new ideas could distribute programs as freeware [9], asking for donations from satisfied users, or selling handholding services. I have met people who are already working this way successfully.
И последнее
«Если что-то и заслуживает награды, то это заслуги перед обществом. Творчество может быть заслугой перед обществом, но только в той степени, в какой общество вольно использовать результаты.
Если программисты заслуживают награды за создание передовых программ, то по этой же причине они заслуживают наказания, если они ограничивают пользование этими программами.»В оригинале «If programmers deserve to be rewarded for creating innovative programs, by the same token they deserve to be punished if they restrict the use of these programs.»
Т.е те, кто не в секте ГНУ, и не делятся своим кодом - а давайте их наказывать!
Более подробно можешь почитать тут, это обсуждалось на опеннете.
https://www.opennet.dev/openforum/vsluhforumID3/131642.html#228Мое мнение - чел был поехавшим еще в молодости,
не удивительно что он не против "Many years ago I posted that I could not see anything wrong about sex between an adult and a child, if the child accepted it."
Чела партнёр(ша) бросил(а) (https://drewdevault.com/2023/05/01/2023-05-01-Burnout.html), вот он и лезет в личную жизнь к другим людям.
Скорее потому что на главной не приведены ключевые отличия от других языков.
И ты туда же, Дрю ДеВолт
А тем временем sourcehut то на питоне и го.
Да хоть на посикс-шелле. Дико неудобный сайт, пока разберешься, где там ишшьюзы, уже желание багрепортить пропадает.
Наоборот классно, что ненужно регаться на сайте, чтобы багрепорт кинуть
> Наоборот классно, что ненужно регаться на сайте, чтобы багрепорт кинутьЗато нужно регаться в почте по телефону.
>> Наоборот классно, что ненужно регаться на сайте, чтобы багрепорт кинуть
> Зато нужно регаться в почте по телефону.Вон тот сайтик с временной почтой типа Eat My Spam радикально не согласен с этим утверждением. Правда стоит понимать что тогда и пароль вы сбросить или не сможете, если он рандомный, или его сможет кто попало сбрасывать - если можно указывать конкретный адрес.
Он был создан до Hare.
> Он был создан до Hare.Ну ничего не мешает переписать часть на него? Тем более учитывая микросервисную архитектуру. Я тебе скажу почему это не делают. Потому что hare - сырой.
почему в новых языках так любят слово fn/fun/function? сишка прекрасно обходилась без нее. Яваскрипт тоже может: const sum = (a, b) => a + b. А вот растишка от данон не может. И котлин тоже. Вы че, мужики? Наличие скобок УЖЕ говорит о том, что здесь функция. Или и вовсе как в божественном nix:этоКонстанта = 42;
аЭтоФункцияПотомуЧтоЕстьПараметрИкс = x: x + 42;
Так парсер проще. Да и читать так тоже проще. В жс такой же function. Указанная лямбда есть же и в расте
Но с fn искать в коде заголовки функций сложнее. Да и строго говоря наличие даже fn совершенно необязательно.
если нужен парсер проще то нужно идти в лисп
> почему в новых языках так любят слово fn/fun/function?Наверное потому, что обфусцированный код сопровождать тяжелее.
Попробуй объяснить это секте свидетелей экономии-байтиков-и-любителей-скобочек)
Экономить байтики экологично-)))
Там, где предпочитают скобочки, экономия не байтиков, а твоих телодвижений по клавиатуре.
> Там, где предпочитают скобочки, экономия не байтиков, а твоих телодвижений по клавиатуре.Аж целый примерно... ничего сэкономили - ну, если вы конечно не в notepad.exe код пишете - все остальные не IDE даже, а "редакторы кода" замечательнейшим образом этот бойлерплейт сами пишут - а вот читается результат сильно лучше, да.
Потому что LL парсер.>сишка прекрасно обходилась без нее.
"Прекрасно", да. Особенно синтаксис указателей на функцию великолепный, и что до LLVM/Clang надежной подсветки синтаксиса в редакторах не было, нечем было парсить - тоже божественно.
> почему в новых языках так любят слово fn/fun/function? сишка прекрасно обходилась без нее. Яваскрипт тоже может: const sum = (a, b) => a + b. А вот растишка от данон не может. И котлин тоже. Вы че, мужики? Наличие скобок УЖЕ говорит о том, что здесь функция.
Потому что most vexing parse -- говно.
> почему в новых языках так любят слово fn/fun/function...Basic - новый язык?
https://www.c64-wiki.com/wiki/FN
>BasicВ бейсике функции не используются и не нужны. В моем бейсике функции определялись DEF USR (юзерская функция), но я несколько лет программировал, дофига всего понаписал, но так и не понял что это за извращение, нахрена такое надо и на разу не воспользовался. Про функции понял только в сишке, потому что сишка из них состоит полностью, а в бейсике это был непонятный и ненужный кадавр.
Ты ответил, но не в контексте. Слово FN там всё же есть, а язык старый.
Повторю ещё раз изложенное в https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi?az=s... . Новые ЯП общего назначения, копирующие уже существующие языки, не будучи с ними совместимыми, не взлетят.
> Повторю, что я клоунА что, если в языке зарезервировано слово int, то он копирует уже существующие языки? Может ещё предлагаешь начинать с создания нового алфавита символов?
> > Повторю, что я клоунОго, цитирование с использованием нейросетей, передающее основную мысль, круто!
Все так, новый язык должен быть совместимым хотя бы на уровне "чуток поправил и скомпилировал", например как Typescript. Спустить огромную кодовую базу в унитаз и переписать заново это все детские фантазии, несовместимые с бизнесом.
Zig правда выбрал другой подход, полная совместимость с Си ABI, и даже включает в себя компилятор C/C++. Пока что такой подход оправдывает себя, как будет дальше - посмотрим.
> и даже включает в себя компилятор C++Уже не включает))
А они никогда и не обещали вечную поддержку.
При этом именно переписать всю кодовую базу на Zig. Совместимость с С - это переходный этап.Несмотря на совместимость они хотят всё переписать, вплоть до llvm.
>но проще, чем Си,Да куда уж проще.
напоминаю, что для си невозможно написать простой парсер для "редактора с подсвечивателем синтаксиса". Почему? Потому что си - это сразу два языка: СиПиПи (си препроцессор), а уже затем просто си. И этот СиПиПи вполне может менять состояние парсера. То есть нормально подсветить синтаксис можно только после того, как реально пошел раскрывать макросы. А в каком=нибудь хромиуме эти макросы придется раскрывать часов шесть буквально.
Речь не про парсеры, а про ЯП с точки зрения программирования на нём. И Си на самом деле простой насколько это возможно. Хрен знает куда проще-то без потери возможностей.
> Си на самом деле простой насколько это возможноСудя по количеству UB и всяких там implementation-defined, это очень непростой язык, заставляющий учить приколы реализаций компиляторов (причем сразу всех), а не стандарт самого языка.
Ты бы сразу написал, что фанат Rust, и дальше можешь не писать - все ваши комменты одинаковые и давно известны.
Если не писать криво, то UB ещё надо постараться поймать. Насчёт implementation-defined - это всегда будет, к сожаленью, если implementation больше одной ;-).
> Если не писать криво, то UB ещё надо постараться поймать.Ну да.
Всего-то нужно ни в коем случае не писать что-то вроде:int i;
i = x + 1;Очень тяжело, просто невозможно.
Где здесь UB?
> Где здесь UB?Здрасте досвидания! Я блин думал вы в сишке что-то смыслите.
# Signed integer overflow
Это ещё не самое неприятное. Это мелочь.
Потому как вот это вот тоже UB
int i = 65535;И вообще в целом всё буквально что использует int как тип.
В сишке блин нужно очень хорошо вот пар из ушей постараться чтобы в хеллоу верде не было UB.
В С++ стараться ненужно - всё тщетно.
О боже...integer overflow это не UB. Это прямое следствие лежащего под софтом железа и того, что Си не заявляет каких-то немыслимых абстракций. По такой логике, ошибки округления чисел с плавающей запятой в любом ЯП это UB.
>"An example of undefined behavior is the behavior on integer overflow."Не UB! Твердо и чотко!
Да откуда ты это взял? Хватит всякую чушь в инете читать. UB чего? Компилятора? Мы, вроде, про компилятор речь ведём. Если это и UB, то железной архитектуры. И то только для тех, кто не шарит в теме от слова совсем. UB это UB. А это не UB никакое. Это чётко описанная вещь работы любого современного процессора. Но если ты пришёл в программирование после кулинарных курсов, на волне скилфактори-хайпа, то ясен ты не в курсе как устроено железо и что если к 8 битному регистру с 255 в значении прибавить ещё 1, то регистр не может увеличиться по твоей прихоти, как твой вялый стручок при виде тян.
Ну, тащем-та из ISO/IEC 9899:2011 раздел 3.4.3, например. Можешь сходить до комитету, рассказать пацанчикам, что ничего они в сишечке не понимают, расталдыкать на пальчиках как надо.
> Ну, тащем-та из ISO/IEC 9899:2011 раздел 3.4.3, например. Можешь сходить до комитету,
> рассказать пацанчикам, что ничего они в сишечке не понимают, расталдыкать на
> пальчиках как надо.Спасибо за источник. Он украл у меня 40 минут жизни.
>> Ну, тащем-та из ISO/IEC 9899:2011 раздел 3.4.3, например. Можешь сходить до комитету,
>> рассказать пацанчикам, что ничего они в сишечке не понимают, расталдыкать на
>> пальчиках как надо.
> Спасибо за источник. Он украл у меня 40 минут жизни.Легко отделался - у индустрии потери на миллионы человеколет, думаю ).
>>> Ну, тащем-та из ISO/IEC 9899:2011 раздел 3.4.3, например. Можешь сходить до комитету,
>>> рассказать пацанчикам, что ничего они в сишечке не понимают, расталдыкать на
>>> пальчиках как надо.
>> Спасибо за источник. Он украл у меня 40 минут жизни.
> Легко отделался - у индустрии потери на миллионы человеколет, думаю ).Дык это потому, что не надо подобные стандарты читать. Одни пишут компиляторы, а те, кто не умеют, пишут стандарты. Только бумагу портят.
Ассемблер хоть знаешь? Просвещайся:
> Ассемблер хоть знаешь? Просвещайся:
> https://godbolt.org/z/796fersshДавай без загадок. Времени нет. Что тебя в этом ассемблерном коде удивляет?
Меня - ничего.Компилятор выбрасывает сравнение y < x, потому, что int y = x + 1; переполнение UB и такого не может быть никогда.
> Меня - ничего.
> Компилятор выбрасывает сравнение y < x, потому, что int y = x
> + 1; переполнение UB и такого не может быть никогда.Ну ты же -O3 ему вкорячил. Чего удивляться-то? При -O3 и не такое может быть.
Ну все, пошел сишный копиум, флаги не те, компилятор не той системы...
C -O2 то же самое, тоже некошерно, слишком хорошо оптимизирует?
> Ну все, пошел сишный копиум, флаги не те, компилятор не той системы...
> C -O2 то же самое, тоже некошерно, слишком хорошо оптимизирует?Ну а как ты думал :-D? Ты ж просишь у компилятора, что бы он выкинул лишнее, он выкидывает. Потом удивлённые глаза делаешь.
Выкидывает в точном соответствии с "бесполезным" стандартом.
Ты, блин, посмотри как расшифровывается UB хотя бы... UB это то, что undefined. Если оно описано и чётко, то это не UB. Целочисленные переполнения это крайне чётко описанная вещь и является UB только для непробиваемых гуманитариев, глубже скриптов ничего не видевшее в жизни.
Вы путаете переполнение целого без знака. И переполнение целого со знаком. Видимо.
Олег, боюсь, что это ты путаешь. UB это вполне определённый термин, глубоко завязанный на процесс стандартизации языка: под "неопределённое поведение" попадает всё, что явно не определено в стандарте. Так, например, переполнение беззнакового целого стандартом действительно определено (таким образом, все компиляторы обязаны делать "wrap around", чтобы TYPE_max_size + 1 = TYPE_min_size), а вот переполнение знакового целого -- в стандарте явно не описано, и потому это UB. И то, что некоторые компиляторы делают "wrap around" для знакового целого -- это не гарантия того, что нет копилятора, который обрабатывает эту ситуацию как-то иначе. UB это больше о формализации, ну или бюрократии, если тебе так будет легче.
>это не гарантия того, что нет копилятора, который обрабатывает эту ситуацию как-то иначеНапример gcc или clang.
Да точно. Пролистал стандарт. В этом смысле согласен. Это бюрократический момент, где они этим термином прикрыли себя - типа, это уже не наша вотчина за пределами нашей области ответственности, как будет, так и будет. Но, с этой фразой:Судя по количеству UB и всяких там implementation-defined, это очень непростой язык, заставляющий учить приколы реализаций компиляторов (причем сразу всех), а не стандарт самого языка.
на которую я отвечал, я не согласен. Т.к. тупо вменять Си в минусы подобные UB в терминах стандарта, если, грубо говоря, Си это кроссплатформенный (насколько это возможно) ассемблер. И в нём нет лишних доп.обработок кучи особенностей нижележащего железа. Собственно, в этом его и прелесть. Т.о. нужно иметь мозги и понимать что ты делаешь (т.е. понимать что-то за пределами знаний чисто ЯП, а ещё и как устроено железо, что для некоторых современных ньюфагов, выросших на js и им подобных, может быть удивительно). И тогда у тебя в руках наибольшая гибкость и производительность по отношению к простоте, удобству и синтаксическим вкусностям.
> О боже...
> integer overflow это не UB. Это прямое следствие лежащего под софтом железаВообще-то для именно signed int - таки UB. Хотя-бы потому что ... формат хранения signed int не специфицирован жестко и возможно несколько разных вариантов.
Что случится при wrap - "implementation defined" и зависит от формата хранения int. Полагаться на это нельзя. Хотя в C23, чтоли и где-то рядом в C++ оставили только один вариант, там еще есть какие-то шансы на defined.
Unsigned в этом лучше: там wrap явно прописан и это, таки, defined behavior.
Ах да, "int" - весьма растяжимое понятие. Ну вот например int 16 битов размером вполне валиден по стандартам. На некоторых платформах, типа ардуины, это даже можно и активировать, если горя хлебнуть хочется. Реально конечно большая часть софта дико лажанет если так сделать.
> и того, что Си не заявляет каких-то немыслимых абстракций. По такой
> логике, ошибки округления чисел с плавающей запятой в любом ЯП это UB.У плавучки свои грабли. А в сях таки более чем достаточно UB - вплоть до того что если вы в 16-бит "int" загнали 65535 - то вообще ктулху его знает чему это будет на самом деле равно, с учетом сочетания факторов "формат хранения int" и "16 битное int".
...одна из причин по которым в C99 таки сделали более нормальные типы. К сожалению ума завершить что начали у комитета импотентов не хватило. Так что препроцессор оперирует чем-то другим, более близким к обычным типам. А считать он таки - может. Или например enum - да вообще удачи угадать какой у него эффективный тип. Он так специфицирован, что...
...и кстати если что-то typedef'нуть как enum и потом указать вот именно аргументом, имнено такой тип - компилеру класть что на вход дают значения котрых в этом enum и его typedef отродясь не было. И пользы от такого enum - сильно меньше чем могло бы быть. В плане зарубания багов.
Мораль сей басни такова: если ты юзаешь си - изволь почитать стандарты а также гайдлайны по antibug приемам. Иначе код у тебя будет, как бы это сказать...
Не невозможно, а ты не умеешь. А препроцессор в Си вообще-то быстр как метеор и работает в один проход.
> Не невозможно, а ты не умеешь. А препроцессор в Си вообще-то быстр как метеор и работает в один проходА никто не умеет. Софт на сях всю историю кривой, косой и портируется с приседаниями.
Ну да, конечно. Только если что то портировать на Си, то в прогнозируемок время это точно портируемо, если сибирать какой нибудь старый код, так и он точно соберется, и с минимумов пинков запустится.
А можно и не менять код ни на байт, применив препроцессор и обёртки.А возьми любой модный язык с пдавающим синтаксисом и адовыми зависимостями, так там и 100% перелопачивать некогда работавший исходник придется, и копаться, копаться, и ещё раз копаться в зависимостях и их версиях.
> А возьми любой модный язык с пдавающим синтаксисом и адовыми зависимостями, так там и 100% перелопачивать некогда работавший исходник придется, и копаться, копаться, и ещё раз копаться в зависимостях и их версиях.Сишный копинг подъехал.
Не, ну если не использовать зависимости и все свое таскать с собой - то такида, причем шохарактено - примерно на любом языке, проблем запуска hello, world! на python2 все еще не возникает. IRL - проблемы скорее не "языков", а "экосистем разработки", причем я бы сказал, что из-за комбинаторного роста сложности софта - на современном этапе не устранимые. Как-то так.
>если не использовать зависимости и все свое таскать с собой..Не совсем. В Си можно скормить библиотеку отличающуюся на несколько версий, лишь бы совсем сильно не отличалась. А в Python и чуть реже JS, нужна не просто библиотека конкретной минорной версии, а взаимосвязанный пакет компонентов. Тут на мелкий чих несовместимость, тут зависимость гвоздями прибита, а то и несколько версий одной библиотеки в одном проекте. Последнее на Си я встречал только в одном живом проекте.
> проблемы скорее не "языков", а "экосистем разработки"
Скорее соглашусь. Но тогда выходит, что одни языки стимулируют к культуре, а какие то развращают. :)
>>если не использовать зависимости и все свое таскать с собой..
> Не совсем. В Си можно скормить библиотеку отличающуюся на несколько версий, лишь
> бы совсем сильно не отличалась. А в Python и чуть реже
> JS, нужна не просто библиотека конкретной минорной версии, а взаимосвязанный пакет
> компонентов. Тут на мелкий чих несовместимость, тут зависимость гвоздями прибита, а
> то и несколько версий одной библиотеки в одном проекте. Последнее на
> Си я встречал только в одном живом проекте.
>> проблемы скорее не "языков", а "экосистем разработки"
> Скорее соглашусь. Но тогда выходит, что одни языки стимулируют к культуре, а
> какие то развращают. :)Неее... python тут ровным счетом точно такой же. Если повезет - можно скормить, если не повезет - то не можно. "Культуры" тут примерно нет - или "работать" и dependency-hell, или Ъ - с изобретением лисапетов о квадратных колесах на каждый чих. Рыночек собственно уже и порешал - бизнесуху на сях не пишут.
Ты на питон не гони. Вот прям ломающая несовместимость между версиями у меня в практике только 3 раза встречалась максимум, сходу назвать могу только последний: prompt_toolkit с 1.x до 2.0.
> Ты на питон не гони. Вот прям ломающая несовместимость между версиями у
> меня в практике только 3 раза встречалась максимум, сходу назвать могу
> только последний: prompt_toolkit с 1.x до 2.0.Эээээ... стесняюсь спрашивать - а что вы на нем делали-то, что не сталкивались? IRL попытка запустить (О version bump зависимостей по запросу ИБ и вовсе молчу) какой tensorflow с версией python'а поновее - та еще трэшачина - да и стандартная библиотека туда-сюда елозит только так...
Ну с TensorFlow, его некоторыми зависимостями и numpy/scipy/sklearn/pandas ситуация особенная - я его ставил из предсобранных пакетов. А все остальные ставил из master/main гита, когда они были нужны. И никаких проблем в основном.
p.s. в pip отключена проверка зависимостей и установка оных напрочь.
> Ну с TensorFlow, его некоторыми зависимостями и numpy/scipy/sklearn/pandas ситуация особенная
> - я его ставил из предсобранных пакетов. А все остальные ставил
> из master/main гита, когда они были нужны. И никаких проблем в
> основном.Ну, т.е. процентов сорок экосистемы, в которой применение python'а имеет практический смысл\пользу\не имеет альтернатив страдает от вышеуказанной проблемы. Если бы индустрия не научилась с этим плюс-минус эффективно не "бороться" - "жить" (Conda, docker, пакеты ОС и т.д.) - была бы проблема. А так... ну, приметы времени - навроде запаха выхлопных газов вместо экологически чистого навоза в городе. Можно страдать про "какраньшую" - мол, "Лошадки-то по столько человеков небось не давили, и аллергий у людишков меньше было, и за нефтянку всякие-там не воевали - хор-рошая ж жысть была!" - но лучше не страдать.
> Ты на питон не гони. Вот прям ломающая несовместимость между версиямиРебенка учат Питону. Как мы знаем в сухомятку учить не интересно. При попытке взть что интересное для растерзания, с вероятностью 30 процентов оно не запустится "из коробки". И начинается набираеие комплектов версий библиотек, комплектов библиотек..
> меня в практике только 3 раза встречалась максимум
От разнообразия исходников, и их "выдержки" зависит.
Самое банальное и массовое, что в библиотеках кладут болт на совместимость, и меняют или функции, или форматы данных. И после Си, это не просто массово, а эпидемия.
Одна история охренительнее другой просто. Вам бы в писатели податься. Тем более что программы тоже своего рода "литературные произведения", даже в штатах кое-какое время их копирайтили как таковые.
> Одна история охренительнее другой просто. Вам бы в писатели податься. Тем более
> что программы тоже своего рода "литературные произведения", даже в штатах кое-какое
> время их копирайтили как таковые.Да вот как сказать? У меня добавление параметров force\encoding в модуле logging в 3.8\3.9 кучу всего в centos'е поломала. Оно конечно кекскременты мамонта, и в обратную сторону совместимости никто и не обещал - но осадочек нехороший
> Ты на питон не гони. Вот прям ломающая несовместимость между версиями у
> меня в практике только 3 раза встречалась максимум, сходу назвать могу
> только последний: prompt_toolkit с 1.x до 2.0.Ну запусти вообще скрипт на питоне 2.4 каком сейчас без переписывания чуть менее чем полностью...
Речь идёт о зависимостях, а не о самом питоне. С питоном кстати проще всего: старые версии ффтопку и всё тут.
> Речь идёт о зависимостях, а не о самом питоне. С питоном кстати
> проще всего: старые версии ффтопку и всё тут.Вместе с софтом, ога. Еще бы програмеров вслед за таким софтом - и стало бы вообще шикарно. Впрочем в вебе примерно это сейчас Go и делает.
>> Ты на питон не гони. Вот прям ломающая несовместимость между версиями у
>> меня в практике только 3 раза встречалась максимум, сходу назвать могу
>> только последний: prompt_toolkit с 1.x до 2.0.
> Ну запусти вообще скрипт на питоне 2.4 каком сейчас без переписывания чуть
> менее чем полностью...Эээ... а в чем проблема? Ставишь 2.4 в доскере, если оно тебе вот прям ТАК нужно - и запускаешь, делов-то? Apache, мать его, NiFi с jython'ом 2.7-сколько-то там - живет себе и живет, стандартная библиотека у него спесфисская, зависимостей читай что "нет", print(оф) в etl pipeline'ах немае - для тех задач шо 2, шо 3...
> Эээ... а в чем проблема? Ставишь 2.4 в доскере,Это надо ставить доскер, в нем качать и разворачивать какую-то систему в которой 2.4 вообще - есть, ибо ни в 1 современной системе ЭТОГО антика уже нет. А там где есть - чего доброго еще и зобанены или вообще удалены доскером сто раз.
И вместо простого запуска скрипта - вон те аццкие пируэты. В чем проблемы? В том что это УГ!
> если оно тебе вот прям ТАК нужно - и запускаешь, делов-то? Apache, мать его,
> NiFi с jython'ом 2.7-сколько-то там - живет себе и живет, стандартная
> библиотека у него спесфисская, зависимостей читай что "нет", print(оф) в etl
> pipeline'ах немае - для тех задач шо 2, шо 3...Ну он живет. Наверное. Где-то там. Хорошо там где вас нет :). Jython? Это что-то про отношения жабы и гадюки наверное. Суперкомбо два в одном, так что хорошо что все это - не у меня! Так что мне по счастью пофиг какой там доскер и стандартная либа во всем этом счастье потребны, мне это знание просто не потребуется - потому что я не фанат софта на питоне вообще, а еще и с жабой в нагрузку и прочими опачами - ненене, сами кушайте свой офигенный софт.
>> Эээ... а в чем проблема? Ставишь 2.4 в доскере,
> Это надо ставить доскер, в нем качать и разворачивать какую-то систему в
> которой 2.4 вообще - есть, ибо ни в 1 современной системе
> ЭТОГО антика уже нет. А там где есть - чего доброго
> еще и зобанены или вообще удалены доскером сто раз.
> И вместо простого запуска скрипта - вон те аццкие пируэты. В чем
> проблемы? В том что это УГ!Эээээ... а вы точно айтишник? Ну, в смысле "docker ставить" в качестве блокера последние лет эдак... много - моветон-с же. Не, ну можете пердолиться с переписыванием на каждую новую версию - не мешает никто... кроме менеджера. Ну, если перспектива пердолиться энтузизизьма не вызывает - можете вот на C писать - как раз к выходу python 5 закончите - но это не точно. Зато без докера, да.
> Ну он живет. Наверное. Где-то там. Хорошо там где вас нет :).
> Jython? Это что-то про отношения жабы и гадюки наверное. Суперкомбо два
> в одном, так что хорошо что все это - не у
> меня! Так что мне по счастью пофиг какой там доскер и
> стандартная либа во всем этом счастье потребны, мне это знание просто
> не потребуется - потому что я не фанат софта на питоне
> вообще, а еще и с жабой в нагрузку и прочими опачами
> - ненене, сами кушайте свой офигенный софт.Ну, можете не кушать - возьмите вместо nifi, например, airflow. Что, он тоже на python'е? Ну вот походите по базару, поищите альтернативы - а потом специалистов под эти альтернативы - а потом, скорее всего, работу с заходами-то: "чтоб не python", "чтоб без docker'а", "и ява ваша мне..."
> Эээээ... а вы точно айтишник? Ну, в смысле "docker ставить" в качестве
> блокера последние лет эдак... много - моветон-с же.Не всем же хайповать и смузи жрать. Если ну капец как надо - я и виртуалку с каким-нибудь старым дебианом подыму где оно отработает. Но превращать свою систему в помойку за ради не менее помойного по качеству скрипта - прерогатива смузижоров. Чем больше гамна в системе, тем хуже, медленнее и глюкавее это в целом работает.
> Не, ну можете пердолиться с переписыванием на каждую новую версию
Я просто повыкинул софт на питоне, найдя аналоги, и все дела. Пусть питоняши свое Г и переписывают. "Незаменимый" скрипт от питоняши заменяется путем похода на гитхаб (или поискарь) и ввода
> кроме менеджера. Ну, если перспектива пердолиться энтузизизьма не вызывает - можете
> вот на C писать - как раз к выходу python 5 закончите - но это не точно.Угу, я вон за вечер бота для распределенной p2p сети накидал. На сях. И не факт что у питоняш лучше будет, только еще будет падать по более 9000 поводов в рантайме, чтоб не скучно. Секрет конечно в правильной либе и апи.
> Зато без докера, да.
Превращать свои системы в помойку для костылирования за инвалидами умственного труда с единственным достоинством их софта "кодер гнал как на пожар" - сомнительная радость.
> Ну, можете не кушать - возьмите вместо nifi, например, airflow. Что, он
> тоже на python'е? Ну вот походите по базару, поищите альтернативы -Я этим всем просто не пользуюсь. И альтернативы этому шитонявакрапу мне нужны так же как и ваш шитон вместе с явой.
> а потом специалистов под эти альтернативы - а потом, скорее всего,
> работу с заходами-то: "чтоб не python", "чтоб без docker'а", "и ява
> ваша мне..."А еще можно, вот, работу сменить - и не работать в супер-помойке с всем этим замечательным софтом. Одно только описания этого УГ достаточно чтобы навеять хтоническую тоску. Поделия для мерзопакостных галер - и таких же мерзопакостных сотрудничков в виде копро-противных винтиков.
> Не всем же хайповать и смузи жрать. Если ну капец как надо
> - я и виртуалку с каким-нибудь старым дебианом подыму где оно
> отработает. Но превращать свою систему в помойку за ради не менее
> помойного по качеству скрипта - прерогатива смузижоров. Чем больше гамна в
> системе, тем хуже, медленнее и глюкавее это в целом работает.Ну, т.е. для чего _в принципе_ в реальной жизни может потребоваться скрЫпт на python 2.4 вы понятия не имеете и рассказываете про свой локалхост. Замечательно.
> Я просто повыкинул софт на питоне, найдя аналоги, и все дела. Пусть
> питоняши свое Г и переписывают. "Незаменимый" скрипт от питоняши заменяется путем
> похода на гитхаб (или поискарь) и вводаНу, на вашем локалхосте - рабочее решение, предполагаю. А в жизни - удачи в переписывании какой-нибудь интеграшки кредитного питания в столовой с 1с7.7 (Постановки нет, формата данных нет - краевые условия зависят от погоды в тюмени и настроения прораба - зато с полтыщи злобных работяг в наличии).
> Угу, я вон за вечер бота для распределенной p2p сети накидал.
> На сях. И не факт что у питоняш лучше будет, только
> еще будет падать по более 9000 поводов в рантайме, чтоб не
> скучно. Секрет конечно в правильной либе и апи.Да-да, вот так в резюме и пишите.
> Превращать свои системы в помойку для костылирования за инвалидами умственного труда с
> единственным достоинством их софта "кодер гнал как на пожар" - сомнительная
> радость.И эдак тоже. Во "вкусно-и-точка" такую принципиальность обязательно оценят... но это не точно.
> Я этим всем просто не пользуюсь. И альтернативы этому шитонявакрапу мне нужны
> так же как и ваш шитон вместе с явой.На локалхосте-то? Ясен хрен, не нужны. За пределами - уже возможны варианты, но альтернатив в этом классе не так, чтобы разбежаться.
> А еще можно, вот, работу сменить - и не работать в супер-помойке
> с всем этим замечательным софтом. Одно только описания этого УГ достаточно
> чтобы навеять хтоническую тоску. Поделия для мерзопакостных галер - и таких
> же мерзопакостных сотрудничков в виде копро-противных винтиков.Ну, можно конечно - в оставшихся 5% рынка "без-питона-явы-докера" тоже есть задачи, фигли. Или вот снег убирать можно - его у нас мноооого...
Но какой ценой?
> Не невозможно, а ты не умеешь. А препроцессор в Си вообще-то быстр как метеор и работает в один проход.Вообще-то при сборке любого крупного сишного проекта большую часть времени занимает именно что обработка кода препроцессором. Это широко известный факт.
Это понятно, но обсуждается написание парсера для кода, а не компиляция тяжелых проектов. Быстроту препроцессора Си мало кто не оспаривает потому что другие будут еще медленнее.
> Быстроту препроцессора Си мало кто <...> оспаривает потому что другие будут еще медленнее.Другие -- это какие например?
>> Не невозможно, а ты не умеешь. А препроцессор в Си вообще-то быстр как метеор
>> и работает в один проход.
> Вообще-то при сборке любого крупного сишного проекта большую часть времени занимает именно
> что обработка кода препроцессором. Это широко известный факт.Вообще-то на нормальных уровнях оптимизации дольше всего занимает оптимизатор, особенно в современных компилерах где он воротит нетривиальный анализ.
А если LTO взять - так это вообще самая увесистая фаза всей операции. Зато он может вынести добрую четверть кода программы - без малейшего ущерба для скорости и функциональности.
В C++ давно пора позаимствовать механизм макросов из Rust.
> близкий к языку Си, но прощев ущерб чему в этот раз упростили?
И нельзя ли новые вещи делать с упором не на ПРОЩЕ, а на ГИБЧЕ ? А клиенты сами разберутся что им нужно.
Лисп же есть. Там и то и другое.
И толку? Даже лишЪпо-срачей не осталось, настолько оно всем уже пофиг :(
> И толку? Даже лишЪпо-срачей не осталось, настолько оно всем уже пофиг :(А как они останутся-то? Для лиспо-срачей всё-таки хоть какие-то мозги нужны. А срачи нынче начинаются почему-то исключительно среди низко-интеллектуального контингента, так что более высокоуровневые участники в них не втягиваются.
Чтобы начать хороший лиспо-срач, нужно вбросить какое-нибудь безобразие, с которым неравнодушные сильно не согласятся, но при этом надо сделать это так, чтобы не выглядеть откровенным идиотом, потому что иначе они махнут рукой, и пройдут мимо.
Например как-то так:
Основная проблема лиспов -- это его "сообщество" хакеров. Эти совершенно неуправляемые, неорганизованные и не умеющие работать в коллективе социопаты пишут свой всегда в одиночку, забивают на его поддержку, плюют на проблемы пользователей, никогда не используют чужих библиотек (ведь написать собственную легче и интреснее!).
Самый яркий пример подобного подхода -- это GNU Emacs. Лисперы, пишущие на Emacs Lisp настолько неорганизованы и разношёрстны, что в melpa вы едвали найдёте пару совместимых пакетов. Чтобы хоть как-то стабилизировать их, проект GNU сделал единственное, что мог в данном случае предпринять: включил огромное количество пакетов в дистрибутив Emacs. Он конечно разросся и теперь предоставляет целую охапку режимов, функционал которых дублирует друг друга, и на что сетуют пользователи, которым нужнен минималистичный дистрибутив Emacs, а не вот это вот всё -- но увы, Emacs по сути без пакетов мало кому нужен, а значит их надо поддерживать любой ценой.
Безусловно талантливые люди с синдромом аспергера, о которых ещё ESR писал как о Beautiful Bipolar Minds -- они совершенно теряют интерес к задаче, как только справились с самыми сложными её частями. Они выполняют работу на 90% и вешают руки, когда остаётся всего лишь сделать интерфейс командной строки да написать документацию. И их труд пропадает напрасно. Эти люди нуждаются в помощи. В целом мы как общество многое теряем, оставляя их в одиночестве. Было бы неплохо отправлять их на принудительное лечение в специализированные учреждения.
А нахрена тебе возможность стрелять в ногу ещё 52мя способами? Крестов мало уже, хочется экстрима?
Hare игнорировать Zig. Запятые по вкусу.
Харе уже зиговать.
Carbon тебе в помощь.
А по производительности Hare как C или как Python?
Не знаю.
в полси
Харе это как любой сборщик из npm ничто.
Как Pascal.
Если у Дрю есть борода, то язык взлетит.
Чем OCaml не устроил?
Я так понимаю, OCaml это мощное мета-, а автор Hare хочет всё ручками.
Это какая-то смесь Rust, JavaScript, Golang...
Смузихлебы должно быть в восторге.
Чем-то Go напоминает.
Го курильщика
Когда программист на Go спаривается с программистом на Rust у них рождается https://git.sr.ht/~sircmpwn/hare-compress/tree/master/item/c... Hare.
Либо на Go, либо на Rust должен быть не программист, а программистка.
Дiду! В 2k23 - это уже не обязательно и даже не модно :)
2023. Олень, ты сначала даты научись писать правильно.
Смотри как салажонка порвало вдоль дупного шва :)
Не зря буцквы чепятал :)
И чё там у вас, как там, в вашем 2230-м году?
>близкий к языку Си, но проще, чем СиВот это выглядит многообещающим. Впрочем, что угодно будет лучше, чем Rust - второй С++ по раздутости.
проблема всяких растов, харэ, ц++ и прочих заменителей могучего С в том, что - "гамно" не заменяют, от него надо избавляться.
Ну так давай, придумай проц который будет питон исполнять сразу, без всяких ассемблеров, че ляля то - все говно
> Ну так давайтут "народная мудрость"
> придумай проц
ну и архитектура Неймана - такое же гамно, правильно заметили.
> че ляля то - все говно
все что "высирается" - "гамно", а нужно ...... (додумайся сам)
Да все - *о*н*о*! Особенно - ты! (С) Дабрый филосаф (ЕМНИП)
Живи теперь с этим (С) :-)
Все современное айти это гамно. Начиная с архитектуры как таковой. Мне уже восьмой десяток, и я со слезами на глазах вспоминаю время, когда мы делали все руками, чертили на бумаге. А главное, что у этого всего был смысл и польза для общества я а не очередной гамно-сайт, который загнётся через неделю.
Польза для общества не равно польза для человека. Это как интересы бизнеса и человека, которые вообще не совпадают.
И да, можно и сейчас рисовать -чертить с графическим планшетом - другое дело что вас не учили создавать вечное для людей - это был ширпотреб для масс и удовлетворения их хотелок.
Шедевральные песни так не пишутся. Так что плра бы уже учиться создавать, а не ностальгировать по ненужности инженерной.
Ведь это все не для людей делалось.
Вот построили атомные электростанции, добываем газ, а цена на все жестко растет даже если не пользоваться лампами накаливания.
Газ в ряде регионов в разы дороже, хотя сжиживание добвляет максимум половину цены.
Придут и все опошлят что не шедевр.
>Польза для общества не равно польза для человека.Он скорее всего имел ввиду - система. И ваше утверждение будет истинным если общество заменить на систему. Ибо по определению, общество - это человеческая общность. Как человек, так и система является элементом множества общество. Просто система это уже не индивидный элемент, а своего рода подмножество множества общество.
Интересы бизнеса и человека не совпадают, потому что основной интерес бизнеса - преумножение капитала любой ценой, включая человеческие жертвы.А интерес человека и общества совпадает. Просто не все человеки достаточно умны, чтобы наперёд думать и живут одним днём. Шкурный интерес сегодня диктует: "Укради!", а завтра самого обкрадут и в слезах побежит обществу жаловаться: "Караул!". Был бы умнее, понял бы, что общественный договор, нарушенный ради сиюминутных выгод, не только ограничивал, но и защищал. Что бесплатные садики и школы, важнее джинс и пепси-колы.
"Общественный договор" - сказка для полезных идиотов от лицемерных пропагандистов, не нужно повторять эту глупость, мы тут умные и образованные люди, вешать эту лапшу дрыг другу на уши - неуважение как минимум. Реальность же описывается теорией оседлого бандита. Причём в том числе деятельность бандитов из мафии она тоже описывает.
> польза для обществаТипичная мантра эгоистов. Никому от них пользы нет, поэтому рассказывают про свою пользу абстрактной сущности, выдуманному миражу. Тот кто делает полезное, знает что это хорошо людям, конкретным индивидам, а не абстрактному "обществу" и прочей бредовой ахинее. Покажи пальцем кому ты полезен кроме себя? Никому, эгоист.
Какой замечательный язык Харэ. Я даже и не знал о его существовании.
Потому что ты только школу окончил.
Ой, Харэ заливать!
чего, еще не окончил?
Хах, даже не начинал. Кому он нужен? Харэ трындеть!
Надеюсь, автор не повторил ошибки Сишников и не наплодил undefined behaviour, implementation-defined behaviour и т.п. муть.
Ты что! А как же сюрпризы!
Как они будут жить без осознания что один и тот же код просто сменой компилятора будет делать противоположное?
И главное - это же все записанно в стандатре ИСО который сишники так любят облизывать)Зато программа будет работать на древней 13 битовой копроархитекуре с интом на 6 байт (но не факт что правильно)
> Зато программа будет работать на древней 13 битовой копроархитекурену харя эта не поддерживает даже 32 битные процессоры
Другое дело когда рабочий компилятор всего один и только под две-три платформы.
Удачи всем надеящимся.
Сильно похож на то, будто крестовик увидел Go и сказал "я могу его починить"
> Сильно похож на то, будто крестовик увидел Go и сказал "я могу
> его починить"Спойлер: не смог
> Дрю ДеВолтПерсонаж настолько истеричный, что пользоваться любыми его проектами себе дороже. Странно, что он не начал сразу с поддержки OpenBSD — Тео такой же неадекват, хотя и поумерил пыл с годами. Они как будто созданы друг для друга.
А ты, типа, сам мистер спокойствие?
Да. Видел про меня хоть одну новости на опеннете как я решил иисуснуться и выгнать весь финтех со своего нескучного гитхаб хостинга? То-то же.
Айтишники вообще сами по себе в большинстве своем неадекватны. Не зря они прячутся от общества за монитором. Возьми любого условного смузизлеба хотя бы на день в цех по металлообработке, он там сразу лишится анaльнoй девственности. Я, если шо, не профессиональный айтишник, просто мимокрокодил, изредка интересующийся темой.
> сразу лишится анaльнoй девственности
> мимокрокодил, изредка интересующийся темойДа вижу я, какой темой ты интересуешься.
А если оставить в стороне политику и личные предпочтения Дрю ДеВолта, то меня вот что смущает: язык построен вокруг tagged unions (что само по себе архиправильно! основная претензия к трупу страуса и вообще объектно-ориентированной фигне -- они на тридцать лет затормозили массовое внедрение этих самых объединений; всё ж уже было у Хоара и Вирта, один маленький шажок оставалось сделать!)...Так, я отвлёкся. Размеченные объединения -- это архиправильно, но в Харе тег хранится как 32битный хэш от описания типа (от дерева, представляющего тип). В смысле, всегда один и тот же хэш, никакого разрешения коллизий не предусмотрено. Вообще-то при таком размере атака дней рождения может случиться даже случайно, а о намеренно вредительстве я даже и не заикаюсь (хэш не криптостойкий). Вот не нравится мне этот миндсет.
Вторая потенциальная проблема: они вот сейчас, когда уже сложилась какая-никакая коммунити, собираются менять синтаксис деклараций. Нет, всё честно, 1.0 не было и гарантий стабилити никто не обещал, но всё равно как-то стрёмно. А о политике и личных предпочтениях, ещё раз, ни слова!
> Вообще-то при таком размере атака дней рождения может случиться даже случайно, а о намеренно вредительстве я даже и не заикаюсь (хэш не криптостойкий).Ну и упадёт на этапе компиляции, и?
А надо шоб не падало.
Переписать пару строк - это катастрофа! Не останется времени на смузи.
Есть божественная Сишка её и юзай.Про Страуструпа и Си плюс-плюс - это другая сторона ботинок. А вообще объектно-ориентированная парадигма организации кода хороша если кодовая база раздулась, и надо хоть как-то упорядочить кучу файлов и функций.
Смену синтаксиса в Rust решили в виде редакций. Синтаксис разный, но на этапе MIR уже всё едино.
Ничего это не решает, синтаксис по факту все равно разный.
На оффтопике будет?
Сиди в дельфи :)
> hare-waylandАнонимы опеннета должны быть в восторге
>> hare-wayland
> Анонимы опеннета должны быть в восторгеСудя по последним новостям должны быть hare-X11
> Судя по последним новостям должны быть hare-X11С чего бы Drew DeVault-у этим заниматься? Он в мейнстриме: поддерживает wayland, катит бочку на RMS, топит за LGBTQ...
> близкий к языку Си, но проще, чем СиЧто только не придумывают, чтобы не учить Си...
У си слишком много фатальных недостатков, которые не исправить очередным стандартом. И это надоело.
Плохому танцору сам знаешь что мешает.
Только почему-то в этом мире (программирования на Си) все плохие танцоры.
Чего-то не собрался из исходников стандартная библиотека. Пишет ошибку:
```
$ make check
356/357 tasks completed (99%)
/dev/fd/4: строка 6: /dev/fd/4.default: File not foundld for /opt/hare-plus exited with status 127
make: *** [Makefile:95: check] Error 255
```Вот и закончилось мое знакомство с Hare ;)
Круг поддерживаемых систем ограничен.
Он кстати русофобhttps://git.sr.ht/~sircmpwn/harelang.org/commit/8eabb875d4be...
Это хорошо, но лучше б он программировать умел.
Автор коммита - Maroš Grego.
А Drew - как и во многих других обсуждениях, в том числе как чисто технических, так и насчёт энфорсинга хотелок Дрюши на всех - говнюк с двойными стандартами, чуть что - угрожающий банами.>This discussion is off-topic for hare-dev and shall no longer continue after this reply, on threat of moderator intervention. It's a small gesture, and the right gesture. Those who were rubbed the wrong way by a five-character change may want to re-examine their feelings about the events which motivated those changes.
https://lists.sr.ht/~sircmpwn/hare-dev/patches/36260
Сэром себя возомнил, хотя ни Карл, ни Елизавета его в рыцари не посвящали. Это себя надо не уважать, чтобы с таким дело иметь.