Комментарии 70
Почему именно высмеивание, а не структурированная критика? Личная неприязнь здесь явно прослеживается
Критика была, не только от меня, кстати. Больше года назад ему говорили, что бинарный логарифм можно ускорить, реализовав его с помощью процессорной инструкции - игнор. Ещё когда компилятор был на D, ему говорили, что лучше повторяющиеся вызовы в if'ах вынести в перменные - код переписан с нуля, а проблема та же. Про ужасный компайл тайм ему говорили, а я даже варианты исправления предлагал - не помню уже, что в ответ получили. Про хэш ему говорили - ответ в статье.
Нет, иногда автор критику слушает, но слушает он её как-то выборочно и, иногда, понимает как-то по-своему. Да и многие проблемы вызваны банально тем, что он не тестировал код, или бежал что-то реализовывать, даже не попытавшись разобраться в теме. А, ну и его коронное оправдание: "Я пишу компилятор в одиночку".
Критику тоже заслужить нужно. Когда сам автор к коду наплевательски относится, неудивительно, что другие будут над ним только смеяться. Личная неприязнь всё-таки есть, да.
лучше повторяющиеся вызовы в if'ах вынести в перменные
Компилятор C++ достаточно умный, что в сгенерированном коде разницы не будет, скорее всего.
То есть Вам нужно, чтобы Вы на диване сидели и с дивана командовали, а автор языка по первому зову подпрыгивал и выполнял? А когда этого не происходит, у Вас возникает вселенская обида? Сдаётся мне, это не самая оптимальная позиция для того, чтобы прожить счастливую жизнь, но дело Ваше, конечно.
На всякий случай, вдруг это поможет (вряд ли, конечно): Вы можете не командовать с дивана. Никто не заставляет Вас. Вы свободны.
Критику тоже заслужить нужно.
Нет.
P.S. Юмор в статье неплохой) Если бы не нужно было выуживать его из потока желчи, была бы хорошая статья.
Арифметика настолько впечатлила, что немного проникла в статью.
Глава 1. Арифметика.
Глава 1. Строки и хэширование.
Надеюсь, вы продлили себя жизнь, посмеявшись от души.
Осилил пару экранов, не смешно. Какая-то личная вендетта... стоило ли ради этого регаться на хабре?
Язык делает один человек, имеет пока всего 50 звезд на гитхабе, а автор статьи уже поставил язык в одну линейку с с++ и требует того же. Ради чего?
Чего того же? Правильной арифметики? Или отсутствия багов в парсере компилятора, который пишется два года? (версии на плюсах меньше года, ладно)
Я вообще ничего не требую в данной статье, но если бы и требовал, то только банального отсутствия глупых багов. И я имею право это требовать, потому что язык-то уже релизнут.
Одно дело баги, которые сложно найти, а другое - бесконечный цикл, если забыть указать аргументы шаблона.
Странный аргумент :/
Автор языка, как я понимаю, не требует деньги, не заставляет людей писать на нем, это просто опенсорс проект который человек может писать в свое свободное время, а вы требуете от него чего-то :/
Ну я потому и не требую ничего, как я уже выше указал. В статье не требования, а просто шутки над плохим продуктом.
так может лучше завести баги на гитхабе и вести себя профессионально, чем разводить клоунаду?
И что за непоследовательность - буквально цитирую - "И я имею право это требовать" - кто дал право, в каком договоре прописано?
Хотите критиковать - берите пример с pvs-studio, они грамотно рекламируя свой продукт, выпускают хорошие статьи без излишнего сарказма.
так может лучше завести баги на гитхабе и вести себя профессионально, чем разводить клоунаду?
Ну я заинтересован не сколько в улучшении проекта, сколько в высмеивании плохого кода. Плохие у меня интересы, да.
И что за непоследовательность - буквально цитирую - "И я имею право это требовать" - кто дал право, в каком договоре прописано?
Ну я вот считаю, что если код помечается как релизный, то от него можно требовать отсутствия хотя бы банальных багов. Если я считаю неправильно, то да, права у меня действительно нет.
так может лучше завести баги на гитхабе и вести себя профессионально, чем разводить клоунаду?
Это бессмысленно, потому что уровень создателя языка Rave как программиста потрясающе низок.
Хотя, глумиться, конечно, не следовало.
Да ты ведь просто завидуешь, новичек создал свой язык программирования, а ты нет.
Если ты такой умный напиши Rave 1.(9) без недостатков
Мне кажется, это связано с личными качествами тимофея, такими как высокомерие, самоуверенность и порой закрытость к обратной связи, которые могут вызывать такие амбиции, как, например, сделать язык убийцей C(По крайне мере я это наблюдал, пока не разорвал с ним связи). Не удивлюсь, если он забанит на своём сервере кого-то, кто критикует его язык. Поэтому, да, эта статья отражает то, что автор статьи, возможно, ощущал при общении с тимофеем и наблюдении за разработкой языка.
Вот такую ответку автор сделал тимофею =D
Прочел заголовок, первая мысль - покушение на китайского лидера какое-то. Уже от потока полит. новостей деформация пошла :)
Все хотят убить C. Но C не убивается.
Забавно, но такое лучше бы зашло на 1 апреля.
Самое страшное - я никогда не слышал про этот язык, но даже прочитав только эту статью я понимаю какие проблемы автор языка пытался решить и это вызывает уважение.
Но да, названию соответствует
Безопасные коллизии🔥🔥🔥
Тут наезды странные, любая вменяемая реализация хэшмапов будет иметь collision buckets и обрабатывать этот случай. Другое дело, что во вменяемую реализацию можно передать свою хэш функцию вместо наивной.
В этой статье шикарно все. Огромнейший респект автору, запишу этот язык в список того, что изучать не стоит
А разве можно "инкрементировать его крутость"?
Крутость понятие вроде бы бинарное, она либо есть, либо её нет.
Пред безопасностью этих коллизий трепетал сам Сунь Цзы
Про хеш напомнило
![](https://habrastorage.org/getpro/habr/upload_files/07a/409/ca7/07a409ca7b00e3a32c2c0974de46159c.png)
Какой то hate speech.
Человек пилит в своё свободное время проект под лицензией MIT и может в нем делать всё что душе заблагорассудится.
Не нравится - форкни.
Зашел в репозиторий и поставил лайк.
А меня значительно больше порадовал упоминаемый в статье DreamBerd. Всем рекомендую!
Такое ощущение, что ту убийцу си делал какой то студент. Причём не просто какой то в познании. Оригинальная статья с одной фразы 'я уже сделал много языков программирования' уже говорит сама за себя.
std::println(std::math::pow(-4.0, 1.5));
}
Выводом, как и ожидается, будет число 16.
Хм! Впрочем, и ожидания авторам меня немного порадовали.
Я понимаю автора, так как лично знаком с тимофеем. Тимофей разрабатывает язык программирования в надежде, что он станет популярным или даже заменит C. С самого начала разработки его окружали люди, предлагавшие улучшения по оптимизации, которые он часто отклонял из-за своего самоуверенного характера, но затем возвращался и просил помощи. Тот красивый код, который вы видите, является результатом работы множества людей, которые ему помогли. Тимофей намеренно коверкает синтаксис, чтобы выделить язык среди других. Разорвал со мной связи не выдержав объективную критику в адрес его творения, ну и конечно любит шутки про родителей. . Понимаю чувства автора, ведь он уже долгое время сотрудничает с тимофеем и тоже участвовал в разработке.
Иногда завидно даже, вот если бы мои проекты окружало множество людей, удача ли это?)
Тимофей разрабатывает язык программирования в надежде, что он станет популярным или даже заменит C.
К тому должны быть предпосылки.
Он уже изучил досконально C?
Научился на нём программировать на уровне сеньора?
С самого начала разработки его окружали люди, предлагавшие улучшения по оптимизации, которые он часто отклонял из-за своего самоуверенного характера, но затем возвращался и просил помощи.
То есть, он до сих пор не вылечил своё гипертрофированное ЧСВ?
До сих пор не понял, что он имеет дело со Вселенной, а ей наплевать на его хотелки?
Что, чтобы достичь заявленной цели (надежды), необходимо играть по её правилам?
Иногда завидно даже, вот если бы мои проекты окружало множество людей, удача ли это?
Может, его цель состоит как раз именно в этом, а не в том, о чём он заявляет публично?
Я думал, явление Bolgen OS — единичный случай.
Оказывается, — нет.
Приветствую.
Не совсем понимаю, кто оставил вышестоящий комментарий (Only_god_can_judge_me), но цель моего проекта - создание самодельного компилятора. Никакой речи о популярности, или, тем более, замены других языков не идёт.
Сравнение с "BolgenOS" некорректно - для меня Rave что-то вроде хобби-проекта, которым я занимаюсь в свободное время.
Про "ЧСВ" не совсем понимаю. Так как это мой личный проект, то, по-моему, лишь я могу решать, что добавлять в него, а что нет? По возможности прислушиваюсь к дельным советам, в основном по фиксу багов.
"Объективная критика" не должна состоять из насмешек, издевательств и оскорблений. Я всегда открыт к критике, и даже сейчас, после выхода данной статьи, продолжаю улучшать свой личный проект.
При этом же, хочу отметить, что проект я развиваю в одиночку. Если автор комментария прав, то вокруг меня должна быть команда разработчиков, так? Ну, как минимум статистика GitHub говорит обратное. Качество кода (так как я ещё в процессе изучения С++ - уже около полутора лет) соответствующее, но рабочее.
А зачем спамить своим комментарием сразу в несколько веток - уже иной вопрос)
Не совсем понимаю, кто оставил вышестоящий комментарий (Only_god_can_judge_me), но цель моего проекта - создание самодельного компилятора.
OK.
Никакой речи о популярности, или, тем более, замены других языков не идёт.
Прямым текстом это не сказано, но в этой статье есть такие строки:
Преимуществ перед тем же С у Rave предостаточно:
Наличие базовой работы с ООП;
Наличие улучшенной безопасности работы с указателями и улучшенной обработки ошибок;
Отсутствие многих недостатков С, С++ и прочих языков(вроде того же препроцессора, хоть помечать его как недостаток довольно спорно), и так далее.
В некоторой степени, это — заявка.
Ну, и на официальной странице есть такие строки:
Since the beginning of its creation, Rave has been focusing on the performance of programs written on it. Thanks to the various flags (-rco, -O 3), you can easily reach the speed of the same program in C, or even surpass it.
Что также намекает на "замах".
Сравнение с "BolgenOS" некорректно - для меня Rave что-то вроде хобби-проекта, которым я занимаюсь в свободное время.
Это — хорошо, но сравнение с "BolgenOS" здесь корректно в том смысле, что человек не понимает, насколько задача, за которую он взялся, не соответствует его уровню.
Про "ЧСВ" не совсем понимаю. Так как это мой личный проект, то, по-моему, лишь я могу решать, что добавлять в него, а что нет? По возможности прислушиваюсь к дельным советам, в основном по фиксу багов.
Это был ответ на следующий фрагмент от Only_god_can_judge_me:
С самого начала разработки его окружали люди, предлагавшие улучшения по оптимизации, которые он часто отклонял из-за своего самоуверенного характера, но затем возвращался и просил помощи.
Если этот фрагмент не соответствует действительности, напишите об этом.
"Объективная критика" не должна состоять из насмешек, издевательств и оскорблений.
Это — верно.
При этом же, хочу отметить, что проект я развиваю в одиночку.
В таких условиях — тем более, для данной задачи нужен совсем другой уровень.
Качество кода (так как я ещё в процессе изучения С++ - уже около полутора лет) соответствующее, но рабочее.
Для глубокого познания C++ требуется лет 10, не меньше.
Для глубокого познания C может хватить и 3-х лет.
После этого попытки разрабатывать свой язык могут оказаться результативными, поскольку уже будет довольно глубокое понимание существующего/их языка/языков.
Во всяком случае, ассоциаций с "BolgenOS" возникать уже не будет.
На официальной странице и в статье лишь указаны мои принципы развития компилятора - попытка достичь производительности C/C++, хотя бы частично. Двигаюсь в этом ключе.
Данный "фрагмент" должен сначала быть доказан.
Знаю. И мой проект - один из проектов для увеличения мной познания в области С++. Как вы видите, фидбек я какой-никакой получаю, и узкие места свои стараюсь исправлять.
Спасибо за ваши комментарии.
Доброго вечера! Хотел сказать, что баги, описанные в этой статье, конечно, забавные, но сама статья в целом – какой-то детский сад. Проект Ваш, и Вам решать, каким он будет. Если люди хотят помогать – пусть помогают, если их что-то не устраивает – их никто не держит.
Успехов Вам, не обращайте внимания на неадекватов, и пусть проект приносит удовольствие и новый опыт :) А haters gonna hate. "Собака лает – караван идёт" ¯\_(ツ)_/¯
Класс, С/С++ я ещё не освоил но уже пилю свой язык с блеклжеком и …
Я такой герой одиночка, а вы все не понимаете….
Может начнёте с теории компиляторов? Чтобы небыли потом мучительно больно?
Как человек, прослушавший теорию компиляторов, я официально благословляю@Makcimka132на творение в его проекте любой дичи в своё удовольствие. Я уверен, это так работает.
Я такой герой одиночка, а вы все не понимаете….
Я не видел, чтобы автор языка где-нибудь говорил подобное.
Забей на критику.
Написание компилятора - не самый худший выбор для изучения С или С++. И что-то изучать в процессе реализации интересной для тебя задачи - вполне нормально. Торвальдс не имел 15 лет работы на Си к моменту написания первой версии ведра ведь тоже. Да и получил много критики, кстати, по поводу реализации. Не ошибается, по-факту, только тот, кто ничего не делает. Да и у большинства ярых критиков статистически достижений куда меньше, чем твой компилятор.
Нужна будет помощь с написанием прикладных библиотек или чем-то еще, обращайся. Буду рад подключиться и помочь. С самим компилятором маловероятно - не моя тема, сильно не моя. Хотя и интересует.
А так - успехов тебе и проекту!
Собаки лают, караван идёт. Спокойствие, только спокойствие. Дело житейское. Тоже, когда то по молодости ваял и свой язык и компилятор и Ось. Торвальдс успел несколько раньше, но.. Каким был Линукс в самом начале и каким он вырос сию? Небо и земля. Написать свой компилятор - уже заявка на программиста, и очень большая. Не догоню, так хоть согреюсь, в смысле освою, что там под капотом.. Проходит это всё со временем.
Не обращайте внимания на тех, кому весело. Спасибо за проект. Есть ещё оказывается те, кто пробует в своё.
Язвительность статьи несколько обескураживает. Да, автор языка судя по всему не очень опытен, но все мы когда то были такими.
С другой стороны, некоторые места вышеописанного проекта действительно весьма забавны. Например, код вычисления случайного числа:
char randomChar {
std::time ts;
std::getCurrentTime(&ts);
if(std::randNext == 0) std::randNext = ts.mseconds;
ts.mseconds = ts.mseconds * 1103515245 + 12345 * std::randNext;
std::randNext = std::randNext * 103515245 + 12345;
} => (cast(char*)ts.&mseconds)[0]
После последних событий в США, в первую секунду, как заголовок увидел, подумал что Си Цзиньпиня убили 0_о
Качнул и посмотрел язык. Вполне себе норм. Главный плюс - короткая реализация. Конечно, сам язык врядли кому-то понадобится, но автор приобретет опыт разработки ЯП-ов - что хорошо.
PS Уважаемый критик, позвольте поинтересоваться, а Вы сами хоть пол-языка, хоть четверть написали?!
А то знаете, это как в боксе: советы спортсмену давать горазд всякий, а вот на ринг выйти - оно сложнее. :)
Спасибо, что спросили. В свободное время я тоже пишу компиляторы (не в последнюю очередь из-за этого Рейв и привлёк моё внимание несколько лет назад). Один из проектов уже почти до публичной альфы дошёл. Потом быть может напишу статью про него, если посчитаю, что его уже можно показывать широкой публике.
Если говорить про пол языка, то, по некоторым причинам, у меня только половины и были (вообще и близко не половины, но если сравнивать с Рейвом, в котором из полноценно выделенных этапов только лексер, парсер и кодогенератор, то даже больше половины получается). Половин, причём, много было, но это совсем уже другая история.
Ой, как интересно! И Вы пишете и @Makcimka132пишет, и что уж греха таить, - и я пишу. Здесь оставил свою оценку Rave в формате плюсы-минусы: https://habr.com/ru/articles/712036/#comment_27087822
PS Кстати, вольно-невольно своей статьёй Вы популяризовали этот язык (всё-таки 32K просмотров). Без неё и я бы не узнал, что есть здесь ещё энтузиасты. :)
Так да.
Статья должна быть как минимум забавной и статистика показывает, что статья цель выполнила. Да ещё и кликбейтная да холиварная - в чартах второй день уже. И пиар предоставила языку. Причём, с учётом подачи, пиар даже не чёрный, а скорее серый. Да и баги вроди фиксятся некоторые. Один из прочитавших и вовсе на сервер в Дискорде зашёл - настолько языком заинтересовался.
Некоторые в комментариях злятся, а статья-то всем хорошо сделала. Если кто и не заинтересуется языком после этой статьи, то только те, кому изначально на подобное искренне наплевать - да они бы и не заинтересовались.
В подобных ситуациях - главное всем уметь посмеяться и не злиться на пускай и дерзкий, но тем не менее юмор.
Можно ещё малоимущих многодетных женщин на улице по лицу бить, об этом напишут в новостях, и общественность пожертвует им денег.
В Вашей статье есть юмор. Это хорошо. А ещё в ней есть желчь и злоба. Много. Если Вы думаете, что допустимо изливать свою желчь, прикрываясь юмором и тем, что "ещё лучше сделали" – Вы неправы.
Желчи не заметил, юмора тоже, а продемонстрированные баги вполне забавные. В рамках Хабра статья действительно не несет ничего хорошего, но и плохого там нет ничего
Rave in the grave!
Хм. Статья интересная, спасибо. Критика местами понятна. А теперь к критике статьи.
По большому счету, а почему бы автору статьи не присоединиться к разработке и не показать как надо? Я понимаю энтузиаста, который пилит Rave, ответ "я делаю компилятор в одиночку" далеко не глуп. Человек вероятнее всего сконцентрирован на внесение фич, а не правильности кода компилятора. В целом, это нормальный продуктовый подход. Если условная версия 1.0 будет интересна сообществу - имеет смысл все это прибрать. Нет, так зачем страдать? Опыт в любом случае (ценный) получен. Да, можно было многое сделать лучше. Но работающий компилятор представляющий какую-то законченную версию языка лучше, чем красиво недописанный продукт.
В целом - автор статьи столько потратил сил на чтение кода и написание этого материала, что мог бы вполне сделать пару MR. Open Source жеж, не нравится что-то - поправь и кинь MR. Не думаю, что автор языка будет против.
Замечу. Автор Rave не продает его, за разработку денег не получает. И не обязан бросаться все исправлять и менять свой road map. И не обязан вносить любые правки по замечаниям. И критика его за это - странная.
А так, по существу такой критики. Забавно получается - автор Rave написал какой-то работающий компилятор своего языка. Пусть он и плохо написана, но работает. А языка автора статьи для оценки его компилятора... не помню, чтобы видели. Nuff said.
Offtopic: позор Хабру. Статья явно написана под влиянием личных претензий. Есть куча open source решений далеко не лучше компилятора Rave, но автора статьи они не трогают. И почему-то мы не увидим подобной статьи о других продуктов от того же критика. Без юродства, критика полезная по сути, а вот подача - какое-то "гнобление" конкретного человека. Ведь можно было даже в статья показать ка сделано не правильно, как можно улучшить, а добить - как сделать хорошо. От этого остается послевкусие, что критик сам не может сделать то, о чем пишет.
Довольно непрофессиональный формат обсуждения.
Я никогда не слышал ни об авторе @Makcimka132 ни о его языке, однако заставил себя изучить и репозиторий и сообщения в Issues.
проект как проект «для себя». Без гарантий или обязательств. Таких тысячи, если не миллионы. Человек может для души делать, для образования или еще чего то. Смысл осуждать? Получал бы он за это деньги, то понятна хотя бы была мотивация обвинений
формат общения в Issues довольно агрессивный со стороны других участников. Автор, кмк пытается как может отвечать в меру вежливо. Какие-то решения он принимает, какие-то нет. Его право на 100%. В опенсорсе никто никому ничего не должен пока за это не платят. Оскорблять же проект в комментариях в гитхабе - это «дно»
Если участники обсуждения в гитхабе есть тут на Хабре, то я бы предложил придерживаться профессионального поведения; предлагать (а, не настаивать) решения, уважать другую точку зрения (особенно автора проекта) и в целом более философски относиться к тому, что кто-то не прав (по вашему мнению). Высмеивать или оскорблять проект мне кажется недопустимо.
Автору проекта же я могу пожелать успехов и продолжать развиваться не взирая на негатив.
Новый убийца Си опроверг арифметику