The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Увидел свет язык программирования Rust 1.13, opennews (?), 11-Ноя-16, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


34. "Увидел свет язык программирования Rust 1.13"  –2 +/
Сообщение от Orduemail (ok), 12-Ноя-16, 08:57 
> Мне кажется, что в последнее время создатели новыхнедоязыков, употребив наркотические
> средства, придумывают синтаксис, который читаем и понятен только им.

Это как раз и есть одна из причин, зачем программисту нужна математика. Программист должен уметь справляться с символической записью. Одолевая курс матана, беря интегралы, решая дифуры или доказывая, что их невозможно решить аналитически, или размахивая расширениями полей, доказывая что данный многочлен имеет один корень в радикалах и ещё три трансцендентных, причём два из них равны -- занимаясь всей этой, казалось бы бессмысленной деятельностью, будущий программист учится пользоваться символическими языками, он учится мыслить на символических языках -- не на максимально обобщённом и неопределённом русском матерном, а на символических языках, которые максимально заточены на конкретную задачу.

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

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

39. "Увидел свет язык программирования Rust 1.13"  +2 +/
Сообщение от Аноним (-), 12-Ноя-16, 10:26 
Бред.

Языки программирования придумывались, чтобы упростить работу программисту (большинство). ЯП - транслятор человеческой логики в машинную. Для развлекушек с символами есть свои местечковые ЯП и нефиг переносить это в общий тренд.

Ответить | Правка | Наверх | Cообщить модератору

54. "Увидел свет язык программирования Rust 1.13"  +2 +/
Сообщение от антончик (?), 12-Ноя-16, 14:23 
НЕ бред, Haskell богат всяческими сахарными операторами и прочими особенностями, повышая тем порог вхождения новичков, он достаточно сильно абстрагирован от машины (сильнее чем си или rust), то-есть он по-сути "человечнее", и рождён этот сахар был не для того, чтобы прогнуться под особенности машины, а чтобы реализовать потребности человеческой логики, просто этот язык и его тонкости нужно знать, чтобы использовать это эффективно, и по факту это и есть упрощение переноса человеческой логики в машинную, удалясь от деталей реализации машины так далеко, как это возможно, чтобы не потерять эффективность, при этом кратко и лаконично выражая идеи человеческой логики.

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

Самый простой язык по вашему - это Forth.
PEN APPLE UGH!
И получаем на вершине стека APPLEPEN.

Ответить | Правка | Наверх | Cообщить модератору

81. "Увидел свет язык программирования Rust 1.13"  +/
Сообщение от Orduemail (ok), 12-Ноя-16, 23:56 
> Для развлекушек с символами есть свои местечковые ЯП и нефиг переносить это в общий тренд.

Окей. Нефиг, так нефиг. Мозилла идёт своим трендом, а общий тренд пускай катится куда ему угодно. Меня такое положение дел вполне устраивает.

Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

89. "Увидел свет язык программирования Rust 1.13"  +1 +/
Сообщение от angra (ok), 13-Ноя-16, 01:55 
Ты в силу отстутсвия опыта конечно не поверишь, но использование неалфавитноцифровых символов(или просто [^\w]) таки упрощает работу программиста, причем как по написанию, так и по чтению кода. Точно также как они упрощают запись и чтение выражений в математике. Например, вместо громоздкой фразы "необходимо и достаточно" или "тогда и только тогда" можно написать просто "<=>" и каждый математик это поймет, точно также как ты понимаешь, когда вместо "2 плюс 2 равно четыре" пишут "2+2=4".

Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

105. "Увидел свет язык программирования Rust 1.13"  –3 +/
Сообщение от Аноним (-), 14-Ноя-16, 13:43 
клоун: Ты действительно считаешь, что

if(JumpStm *j = dynamic_cast<JumpStm*>(&stm))

удобнее, чем

if(j=stm)

Громоздкие синтаксические конструкции возникают из-за непродуманного синтаксиса.

Взять напр. математику, в ней нет необходимости добавлять проверку на ноль или исключение всякий раз когда встречается деление. И вопрос как это сделать в программировании быстро и удобно. Как в php, добавив @ перед строкой или как в С++:

#include <exception>

try
{
  MyChild &child = dynamic_cast<MyChild&>(*base);
}
catch(std::bad_cast &e)
{
}

Синтаксис явно избыточен.

А вот другой пример с заменой цикла:

for(int i=0;i<=mas.count();i++)
{
arr_element element=mas[i];
TODO
}

на

forany(element,mas)
{
TODO
}

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

Ответить | Правка | Наверх | Cообщить модератору

115. "Увидел свет язык программирования Rust 1.13"  +2 +/
Сообщение от 0xd34df00d (??), 14-Ноя-16, 22:26 
> Взять напр. математику, в ней нет необходимости добавлять проверку на ноль или
> исключение всякий раз когда встречается деление.

Вообще-то есть. На нулевые и вырожденные случаи постоянно проверять надо. Вы не можете сказать, что ab = cb ⇔ a = c, вы должны сказать ab = cb ⇔ a = c ∨ b = 0. Вы не можете сказать, что в комплексном векторном пространстве у оператора существует собственное значение, вы должны сказать, что в ненулевом комплексном пространстве у оператора существует собственное значение.

> И вопрос как это сделать
> в программировании быстро и удобно.

Завернуть вычисление в Either-подобную монаду и писать везде >>=  (ну или do).

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру