Феномен lisp-а и rust-а
От: varenikAA  
Дата: 26.05.21 02:22
Оценка: -2 :))) :))) :))) :))
Что является высшим приоритетом в программировании?
Фрэймворки? Производительность?
На мой взгляд важнейшим являются простота ЯП и возможность посредством ЯП сохранять код
максимально простым и однозначным.
И здесь я вижу пока лишь два кандидата.
Почему lisp? потому что это первый(только подумайте) ЯП со сборщиком мусора. Только одно это убрало огромное кол-во сложности.
Второе это выражение программы в виде близком к АСТ. однозначность любой конструкции позволяет однозначно записывать любые конструкции.
Почему rust? Утверждают что компилятор раста не позволяет выполнить неправильные операции с памятью. нереально круто.
Еще в обоих ЯП мы может отделить структуры данных от методом их обработки. Это существенно упрощает код.
Ну и 3-е это конечно возможности мета-программирования. только они могут довести принцип DRY до совершенства.
еще одно приемушество перед другими ЯП что раст что лисп базируются на выражениях в противоположность инструкциям.
И пока хейтеры кричат: скобочки, каша и т.п. кто-то создает чистый код на этих ЯП.
остается лишь нерешенным вопрос: static || dynamic.
Re: Феномен lisp-а и rust-а
От: Эйнсток Файр Мухосранск https://raw.githubusercontent.com/EinstokFair/notes-in-russian-language/gh-pages/images/ugroza.gif
Дата: 26.05.21 02:38
Оценка: 3 (1) :))) :)))
Rust отлично заменит C и С++,
а lisp — Java-у, C#, Pyhton, JavaScript и Nemerle.
Отредактировано 30.06.2021 6:53 Эйнсток Файр . Предыдущая версия .
Re: Феномен lisp-а и rust-а
От: kov_serg Россия  
Дата: 26.05.21 03:37
Оценка: +4 :))
Здравствуйте, varenikAA, Вы писали:

AA>Что является высшим приоритетом в программировании?

AA>Фрэймворки? Производительность?
AA>На мой взгляд важнейшим являются простота ЯП и возможность посредством ЯП сохранять код
AA>максимально простым и однозначным.
AA>И здесь я вижу пока лишь два кандидата.
C и LUA
Re[2]: Феномен lisp-а и rust-а
От: varenikAA  
Дата: 26.05.21 06:10
Оценка: +1 -1 :)
Здравствуйте, kov_serg, Вы писали:

_>C и LUA


Таких ЯП как си и луа вагон, а лисп и раст уникальны даже по отношению друг к другу.
раст кстати имеет отдельные черты оберона в части полиморфизма.
Re[3]: Феномен lisp-а и rust-а
От: Эйнсток Файр Мухосранск https://raw.githubusercontent.com/EinstokFair/notes-in-russian-language/gh-pages/images/ugroza.gif
Дата: 26.05.21 06:16
Оценка:
AA> лисп и раст уникальны

У меня только один вопрос — ты уже́
Автор: kaa.python
Дата: 31.12.20
изучил, как там работает interop / native API или как называется та технология, которая реализует вызовы из lisp в rust и обратно ?
Отредактировано 26.05.2021 6:20 Эйнсток Файр . Предыдущая версия .
Re[4]: Феномен lisp-а и rust-а
От: pagid Россия  
Дата: 26.05.21 06:27
Оценка: 2 (1) +3
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>У меня только один вопрос — ты уже́
Автор: kaa.python
Дата: 31.12.20
изучил, как там работает interop / native API или как называется та технология, которая реализует вызовы из lisp в rust и обратно ?

ТС это не нужно и неинтересно, он восхищается красотой которую видит в этих языках. К их практическому применению это не имеет никакого отношения.
Re: Феномен lisp-а и rust-а
От: fmiracle  
Дата: 26.05.21 07:09
Оценка: +8
Здравствуйте, varenikAA, Вы писали:

AA>Что является высшим приоритетом в программировании?


Решение поставленных задач
Re: Феномен lisp-а и rust-а
От: Kolesiki  
Дата: 26.05.21 11:46
Оценка: +1 -2 :)
Здравствуйте, varenikAA, Вы писали:

AA>Что является высшим приоритетом в программировании?

AA>И здесь я вижу пока лишь два кандидата.

Неужели тухлее темы не было?? Прибежать с двумя аутсайдерами и сотрясать как идолом. Провокации — их если пишешь, в них должен быть ... интеллект какой-то что ли! А эти вбросы оставь первокурсникам. Или ты уже на втором?
Re[3]: Феномен lisp-а и rust-а
От: kov_serg Россия  
Дата: 26.05.21 12:11
Оценка: +1 -2
Здравствуйте, varenikAA, Вы писали:

AA>Таких ЯП как си и луа вагон, а лисп и раст уникальны даже по отношению друг к другу.

AA>раст кстати имеет отдельные черты оберона в части полиморфизма.
Уникальны sql, erlang, forth, prolog, brainfuck... а раст и lisp как раз совершенно обычные языки.
Просто lua собирается C компилятором, а C есть почти везде при желании можно самому поменять.
Синтаксис простой в изучении и очень гибкий.
Re: Феномен lisp-а и rust-а
От: Ночной Смотрящий Россия  
Дата: 26.05.21 12:23
Оценка: +2
Здравствуйте, varenikAA, Вы писали:

AA>Что является высшим приоритетом в программировании?

AA>Фрэймворки? Производительность?

Решение проблем заказчика максимально быстро и качественно за минимальные деньги.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re: Феномен lisp-а и rust-а
От: vsb Казахстан  
Дата: 26.05.21 12:28
Оценка: 10 (5) +6
Ни Lisp, ни Rust не являются простыми ЯП. Простой ЯП это виртовский Паскаль, например.

Теперь по поводу сложности ЯП. Суть в том, что реальность сложная. Да, порой программисты её переусложняют ещё больше, но даже если ты не привносишь ни толики дополнительной сложности, то реальность остаётся сложной. Простые задачи решать обычно не нужно. И сложность задачи неизменно выливается в сложность решения. Это можно назвать законом сохранения сложности. Нельзя решить сложную задачу просто. Если это кто-то делает, значит где-то подвох, где-то эту сложность спрятали.

К примеру есть задача менеджмента памяти. В постановке задачи часто нет ограничений на размер входных данных. Это вызывает необходимость выделять память разного размера и освобождать её. От этой сложности не уйти. Но её можно спрятать за сборщиком мусора. Таким образом сложность задачи перешла в сложность реализации рантайма.

Чаще всего и очевидней всего сложность прячется в библиотеках. Например есть сложный формат XML, но для программиста вся сложность в том, чтобы выучить, как правильно пользоваться каноничной библиотекой для работы с XML, а про всё остальное уже подумали разработчики библиотеки.

Но если всё писать на виртовском Паскале, окажется, что сама структура кода получается довольно сложной и упростить её никак не получится. Отсюда и берётся нужда в сложных ЯП. Когда сложность структуры кода переносится в сложную семантику ЯП и в результате получается простой код, который решает сложную проблему. А структурная сложность спрятана в компиляторе и рантайме, которые обеспечивают выполнение сложной задачи простым по виду кодом.

Это всё звучит довольно заумно. Поэтому попробую привести пример. К примеру есть понятие полиморфизма в ООП. Это когда у нас есть интерфейс с виртуальными методами и несколько реализаций. Во многих кодовых базах на языке C этот паттерн реализован, например в Linux kernel, Gtk. Там он реализован "просто" — есть таблица с указателями на функции, есть указатель на эту таблицу в объекте (ну или сразу указатели на функции в объекте). Понятное дело, что в C это требует множества служебного кода. Частично это можно спрятать за макросами, но очень частично. А в C++ этот паттерн встроен в язык и позволяет решать эту задачу кодом, который выглядит просто и изящно. А всю работу по этим таблицам функций и непрямым вызовам выполняет компилятор. Ещё один пример — мультиметоды. Если там нужны полиморфные функции, реализация которых зависит не от одного объекта, как в классическом ООП, а от двух и более объектов, в ООП предлагается применять паттерн визитор. Довольно много писанины. С мультиметодами всё выходит очень просто и понятно, хотя внутри будет, вероятно, примерно то же — таблица с указателями на таблицы и тд.

Но в любом случае сложность языка требует понимания этого языка. Выигрыш тут в том, что сложность языка достаточно выучить один раз, а использовать его можно в тысячах программ. Но, тем не менее, практика показывает, что бесконтрольное усложнение языка приводит к тому, что люди перестают его осиливать. Поэтому нужна золотая середина.

Собственно современные ЯП и пытаются найти эту золотую середину и проводят её в разных местах. Поэтому сложные ЯП нужны, но не слишком переусложнённые.
Re[4]: Феномен lisp-а и rust-а
От: varenikAA  
Дата: 26.05.21 12:31
Оценка: 1 (1)
Здравствуйте, Эйнсток Файр, Вы писали:

AA>> лисп и раст уникальны


ЭФ>У меня только один вопрос — ты уже́
Автор: kaa.python
Дата: 31.12.20
изучил, как там работает interop / native API или как называется та технология, которая реализует вызовы из lisp в rust и обратно ?

времени не хватает. читаю практичный лисп на лиспер.ру
Re: Феномен lisp-а и rust-а
От: AlexRK  
Дата: 26.05.21 12:34
Оценка: +3
Здравствуйте, varenikAA, Вы писали:

AA>Что является высшим приоритетом в программировании?

AA>Фрэймворки? Производительность?

Каждый в своем пузыре сидит и, соответственно, имеет свои приоритеты. "Высшего" нет, все относительно.

Для кого-то приоритет "решение проблем заказчика максимально быстро и качественно за минимальные деньги" (см. выше), для кого-то "минимизировать количество багов любой ценой" (авиакосмическая отрасль), для кого-то "иметь принципиальную возможность выразить на языке нужные концепции" (что-нибудь с высокой сложностью/абстрактностью предметной области, математические движки условно), для кого-то "возможность быстрого создания интересной программы", для кого-то просто фан от программирования. И так далее.
Re[2]: Феномен lisp-а и rust-а
От: varenikAA  
Дата: 26.05.21 12:34
Оценка: +1 :))
Здравствуйте, Kolesiki, Вы писали:

K>Неужели тухлее темы не было?? Прибежать с двумя аутсайдерами и сотрясать как идолом. Провокации — их если пишешь, в них должен быть ... интеллект какой-то что ли! А эти вбросы оставь первокурсникам. Или ты уже на втором?

Еще не выбрал куда поступать. Тема нормальная.

https://www.tiobe.com/tiobe-index/

rust уже скоро в первую лигу перейдет. лисп повыше упомянутого луа.
Re[4]: Феномен lisp-а и rust-а
От: varenikAA  
Дата: 26.05.21 12:35
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Синтаксис простой в изучении и очень гибкий.


с первым согласен полностью, но только вот гибкость у него такая себе(низкоуровневая, требует думать как машина).
Re[2]: Феномен lisp-а и rust-а
От: varenikAA  
Дата: 26.05.21 12:38
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

НС>Решение проблем заказчика максимально быстро и качественно за минимальные деньги.


Тут два варианта — быстро печатать или иметь языковые инструменты для быстрой реализации/расширения.
Очевидно, что все языки разные.
Re[5]: Феномен lisp-а и rust-а
От: kov_serg Россия  
Дата: 26.05.21 13:11
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>с первым согласен полностью, но только вот гибкость у него такая себе(низкоуровневая, требует думать как машина).

И как думает машина?
Re[6]: Феномен lisp-а и rust-а
От: varenikAA  
Дата: 26.05.21 13:15
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Здравствуйте, varenikAA, Вы писали:


AA>>с первым согласен полностью, но только вот гибкость у него такая себе(низкоуровневая, требует думать как машина).

_>И как думает машина?

укзатели, кругом указатели и ассемблерные вставки.
Re: Феномен lisp-а и rust-а
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.05.21 13:20
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Что является высшим приоритетом в программировании?

AA>Фрэймворки? Производительность?
AA>На мой взгляд важнейшим являются простота ЯП и возможность посредством ЯП сохранять код

Экосистема.

Rust очень сложный язык, кстати. Не концептуально, это было бы простительно, а своими синтаксическими прибабахами.
Re[3]: Феномен lisp-а и rust-а
От: Ночной Смотрящий Россия  
Дата: 26.05.21 13:21
Оценка: +1
Здравствуйте, varenikAA, Вы писали:

НС>>Решение проблем заказчика максимально быстро и качественно за минимальные деньги.

AA>Тут два варианта -

Тут очень много вариантов.

AA> быстро печатать


Это пофигу и ни на что не влияет.

AA> или иметь языковые инструменты для быстрой реализации/расширения.


Решение проблем это не только начальная реализация, но и дальнейшая эволюция кода.

AA>Очевидно, что все языки разные.


Ну ты прям КО.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.