Комментарии 43
похож на F shap
Не понимаю, как язык будет решать поставленные задачи лучше, чем тот же Си, в который он транслируется.
По-хорошему, Кедру нужен промежуточный Си-подобный язык Сидр, но главное, чтоб не модный интерпретатор.
Подозреваю подразумевается строгая проверка типов и поддержка форсирования некоторых поведений (по аналогии с ржавым borrowc). Ну и более приятная система типов лучше чем `(*(whatever*)(void*)(const char*)data)->callme();`. Система наследования конечно под вопросом, но это уже тема о фломастерах.
Интересно подробнее послушать о вопросах по системе наследования.
Пока не совсем понятно как именно оно устроено. Также как в плюсах - тащит vtable с функциями и их перегрузками, данными (членами класса) и деструкторами, или оно как композиция интерфейсов - аналогчно трейтам в Rust, протоколам в Swift и интерфесам в C sharp. Будет ли наследование субтипов по аналогии с Jai/Odin?
Entity :: struct {
using position: Vector3, // this
orientation: quaternion128,
}
Colour :: struct {r, g, b, a: u8}
Frog :: struct {
ribbit_volume: f32,
using entity: Entity, // this
colour: Colour,
}
frog.x = 123 // this
Или как Swift/Kotlin будут поддержаны оба три варианта через разный синтаксис
struct A : B { // отнаследовать поля и методы
fn blabla() { ... }
}
struct A extends Iterator { // поддержать интерфейс
fn next() -> ...
}
Есть типаж как в Rust, которым можно ограничить переменную типа. Есть интерфейс как в CSharp, к которому можно привести объект. Наследования с созданием поля как в Jai/Odin я не рассматривал. Отдельного синтаксиса для реализации интерфейса нет, нужно его унаследовать, после чего определить методы.
За счет наличия абстракций более высокого уровня. С минималистичен, хороший промежуточный язык, но вручную писать на нём код сложно.
Писать код однозначно будет проще с дженериками, нормальными строками и т.д.
А зеркало будет? Что с лицензированием? Где смотреть спеку по языку/стандартной библиотеке? Где тесты? Что по примерам интероперабельности с теми же сями? Что там по CI/CD stable/dev/nightly?
Спасибо , интересно. Учу ребенка 7 лет программированию. Есть что нибудь на русском, кроме дракона. И с чего начать чтобы максимально близко к питону подойти
а почему не сразу с питона? английский сейчас вроде с первого класса учат - будет мотивация и практика.
Игра для тех, кто учится программировать: Colobot
До 11 лет (-/+ 1 год) только визуальное программирование. Раньше мозг ребенка ещё не готов соотносить слова с реальной реализацией, есть уникумы конечно… но это обычно с очень переразвитым математическим аппаратом. В вашем случае только визуальное (тот же скретч на реализацию визуальных действий - передвижений объекта, разделения и т.п.) с упором на решение алгоритмических задач визуально. + Можно научить правилам шахмат и решать шахматные задачи на логику. В виде доп задания на платформах обучения это уже 1 классе дают.
А почему не сосна? )
Кедр это сосна) это Петр первый велел кедр называть сосну сибирскую кедром
Даже тот кедр, который кедр, немножко сосна)
Не видел, не знаю. Но кедр у Сибири отличается от сосны.
кедр, который кедр - это ливанский кедр, истребленный в свое время в целях постройки кораблей. Современный кедр, который произрастает в Сибири - это кедровая сосна. Род сосен включает в себя более 100 видов, причем "сосна кедровая" действительно отличается от "сосны обыкновенной".
Правильно сделал)
Прекрасная вещь, еще одни грабли, или велосипед. Неясно, что и как конкретно из типичных проблем других языков решает этот?
Вот, тольок сегодня прочитал про прекрасный язык rocket lang. И думаю, именно за этой концепцией будущее - язык программирования для DSL.
И зачем типы? Почему не просто функции и данные, ну или записи? Как в clojure например?
Выглядит любопытно.
Хотелось бы прояснить ряд технических моментов. На каком языке написан компилятор? Используется ли LLVM?
Надо было назвать πdr: пи-по-дээр, вполне математично)
Коль уж "кедр" - так и язык русский. А то опять русско-вражеское получается. Хотел, как лучше, а сделал -как всегда...
А почему свой редактор, а не расширение к VSCode или др. редакторам/IDE?
Блоки кода будут индентацией определяться? А как будет работать автоформатирование при рефакторинге с переносом больших кусков кода?
давайте я расскажу как правильно:
какие задачи решает язык?
по каким параметрам этот язык лучше чем язык Х.
где скачать компилятор/интерпретатор языка, а лучше сразу онлайн песочница.
вот смотрите бенчмарк тесты на таких то и таких задачах.
вот тут репозиторий (если это опенсорс) а вот тут формируется сообщество (если нет), все сюда!
а вот тут репозиторий проекта (достаточно крупного чтобы оценить удобство) на этом языке.
хотя бы так. если вы стартуете с нуля. вообще для его принятия рынком потребуется намного больше.
P. S. если ваш язык универсален - скорее всего он бесполезен. исключений немного, и все они или разрабатывались или крупными компаниями и экспертам с огромными опытом, или прошли десятки лет развития в опенсорс. сфокусируйтесь на чем то, на какой то области, чем уже тем лучше, и закройте все её потребности в чем то лучше чем мейнстрим язык в этой области. иначе никому нет смысла его принимать для реального проекта. новый язык это ОЧЕНЬ дорого. после успеха (если будет) можете выпустить новый, на базе этого но более универсальный , с учётом полученного опыта и с ресурсами на его распространение и создание необходимой инфраструктуры (фреймворк и прочие) . под ресурсами тут имеется ввиду не столько деньги сколько репутация и возможность запартнерить других людей и компании на создание инфраструктуры и использование в своих проектах.
хотя если это просто фан проект то не обязательно. но тогда не расстраивайтесь если он никому не будет нужен. потому что люди не используют новые языки просто так, потому что захотелось или потому что у него есть фишки работы с пямятью. просто представьте себя на месте техдира который решит его использовать для продукта. новый язык это как минимум обучение ему с нуля всех новых разработчиков. 4-6 зарплат на каждого вынь да положь. и так при любой смене разработчика. и это не самая большая проблема. даже не в первой десятке. просто самая наглядная.
Язык программирования Кедр