The OpenNET Project / Index page

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



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

Оглавление

Вышла версия 2.066 компилятора языка D, opennews (??), 19-Авг-14, (0) [смотреть все]

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


4. "Вышла версия 2.066 компилятора языка D"  +7 +/
Сообщение от Resonance (ok), 19-Авг-14, 10:50 
> У D практически не осталось явных преимуществ перед C++. Сегодня C++14 вышел,
> ещё дальше толкнул развитие языка.

Ну вот тут не соглашусь, пакетная организация кода чего только стоит в D, а так же не нужно разделять на .cpp и .h исходники. Да и вообще С++ слишком переусложнен. Вот пример кода с хабра:
int& (*fpi)(int*) = [](auto* a) -> auto& { return *a; }; // OK
Все понятно?

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

6. "Вышла версия 2.066 компилятора языка D"  +1 +/
Сообщение от nibemail (?), 19-Авг-14, 11:33 
а чем тут можно напугать?
Ответить | Правка | Наверх | Cообщить модератору

7. "Вышла версия 2.066 компилятора языка D"  +1 +/
Сообщение от Сука (?), 19-Авг-14, 11:34 
да
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

8. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от RazrFalconemail (ok), 19-Авг-14, 11:36 
>> а так же не нужно разделять на .cpp и .h

какой ужас

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

9. "Вышла версия 2.066 компилятора языка D"  +1 +/
Сообщение от Пиони (?), 19-Авг-14, 11:44 
Это непонятно только тем, кто на C++ никогда толком и не писал :)
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

10. "Вышла версия 2.066 компилятора языка D"  –1 +/
Сообщение от Наноним (?), 19-Авг-14, 11:49 
> int& (*fpi)(int*) = [](auto* a) -> auto& { return *a; }; // OK

Кто ни будь, разтолкуйте, интересно стало =)

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

12. "Вышла версия 2.066 компилятора языка D"  +4 +/
Сообщение от Пиони (?), 19-Авг-14, 12:09 
Слева - переменная fpi, которая является указателем на функцию, принимающую в качестве аргумента указатель на int, и возвращающая ссылку на int.

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

В случае с fpi сущность будет иметь тип int.

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

13. "Вышла версия 2.066 компилятора языка D"  –2 +/
Сообщение от Аноним (-), 19-Авг-14, 12:12 
указатель на функцию принимающую указатель на int и возвращающую ссылку на int который указывает на нафиг никому не нужную лямбда функцию которая принимает указатель на автоматический тип (в данном случае int) и возвращает ссылку на автоматический тип (в данном случае int).

все эти последние C++ стандарты просто мусор для ленивых чудаков которые замусоривают язык из за того что им проще писать auto, а не полный тип и они не осилили pthread_create и восторгаются тупыми как и они сами лямбда функциями

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

15. "Вышла версия 2.066 компилятора языка D"  +2 +/
Сообщение от Аноним (-), 19-Авг-14, 12:18 
pthreads лежат гораздо ниже уровнем, чем C++11 threads. Первыми пользуются либо студенты, либо авторы параллельных библиотек. Auto в некоторых случаях удобен, хотя бы при создании итератора.
Ответить | Правка | Наверх | Cообщить модератору

16. "Вышла версия 2.066 компилятора языка D"  +4 +/
Сообщение от Пиони (?), 19-Авг-14, 12:25 
Привет чудакам, которые любят писать везде тип, а потом много рефакторить, от чудаков которые используют auto, для автоматическое дедукции и отдают себя радостям жизни
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

71. "Вышла версия 2.066 компилятора языка D"  +1 +/
Сообщение от Аноним (-), 20-Авг-14, 07:06 
Привет любителям auto, пишущим такой код, в который без IDE, всплывающими подсказками позволяющей узнавать типы переменных, лучше даже не смотреть.
Ответить | Правка | Наверх | Cообщить модератору

21. "Вышла версия 2.066 компилятора языка D"  +1 +/
Сообщение от arisu (ok), 19-Авг-14, 12:38 
> язык из за того что им проще писать auto

google:dlang+voldemort+types. вперёд сделать это без auto.

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

32. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от Crazy Alex (ok), 19-Авг-14, 14:35 
Тут до людей еще не дошло, что auto - это механизм абстракции. Что интересно, в скриптовых  языках они этот механизм обычно вполне ценят.
Ответить | Правка | Наверх | Cообщить модератору

40. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от Vkni (ok), 19-Авг-14, 15:30 
> Тут до людей еще не дошло, что auto - это механизм абстракции.
> Что интересно, в скриптовых  языках они этот механизм обычно вполне
> ценят.

Это вывод типов для бедных. В OCaml'е аналог функции (с учётом того, что ссылок нет), выглядел бы так:

let fpi = fun (a:int) -> a;;

Сделать нормальный вывод типов мешает совместимость с языком Цэ - автоматическое приведение типов.

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

42. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от Crazy Alex (ok), 19-Авг-14, 17:04 
А что такое вывод типов? Это и есть механизм абстракции. Когда всё, что мне надо знать - что то, что я получу от функции, имеет нужный мне интерфейс (соответствует концепту). И, соответственно, мой код сможет с этим работать.
Ответить | Правка | Наверх | Cообщить модератору

43. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от Vkni (ok), 19-Авг-14, 17:15 
> А что такое вывод типов? Это и есть механизм абстракции.

Угу. Кстати, auto - это те же шаблоны, только сделанные в другом виде. :-) Т.о. для описания одного и того же у C++ теперь есть 2 похожих частично перекрывающихся механизма.

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

62. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от arisu (ok), 20-Авг-14, 04:28 
всё на свете шаблоны, только в разных видах.
Ответить | Правка | Наверх | Cообщить модератору

102. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от Crazy Alex (ok), 21-Авг-14, 18:43 
Э... вывод типов - да. Но шаблоны? Чего ради?

Но если даже и да - то тем лучше. Если в одном случае удобно одно, а в другом - другое - хорошо, что доступны оба варианта. Я вообще очень ценю богатый синтаксис - позволяет не морочить голову с вопросом "а вот как бы подогнать то, что хочу сказать, под почти подходящие средства языка".

В том же D, вон, есть, как минимум, три способа сделать что-то при выходе из скопа - RAII аналогичный плюсам, finally как в джаве и свой оператор scope(exit). И обычно крайне очевидно, что когда применять. Хотя если упереться рогом можно было бы оставить только один механизм - но писать было бы явно менее удобно.

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

106. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от arisu (ok), 21-Авг-14, 18:55 
scope() вообще мегаофигенен, как по мне: всяческие освобождения можно писать сразу рядом с захватом и не напрягаться, что что-то забыл, не листать код.
Ответить | Правка | Наверх | Cообщить модератору

28. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от ями (?), 19-Авг-14, 14:12 
Господи, шо это?
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

31. "Вышла версия 2.066 компилятора языка D"  +9 +/
Сообщение от arisu (ok), 19-Авг-14, 14:23 
> Господи, шо это?

это перл.

хотя… нет, перл понятней.

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

48. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от Аноним (-), 19-Авг-14, 21:14 
это не C++, а C. На C++ будет как-то так: std::function<int& (int*)> fpi = ...
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

51. "Вышла версия 2.066 компилятора языка D"  +1 +/
Сообщение от Аноним (-), 19-Авг-14, 22:51 
Твоя ирония понятна, собрат аноним, но в С нет ни замыканий, ни вывода типов.
Ответить | Правка | Наверх | Cообщить модератору

54. "Вышла версия 2.066 компилятора языка D"  –1 +/
Сообщение от rob pike (?), 19-Авг-14, 23:24 
> в С нет ни замыканий

Вопрос не так однозначен. http://okmij.org/ftp/cpp-digest/#pointer-closure

> ни вывода типов

И аппликативных функторов тоже нет. Вот ведь ужас-то какой.

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

79. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от Аноним (-), 20-Авг-14, 11:15 
> Вопрос не так однозначен. http://okmij.org/ftp/cpp-digest/#pointer-closure

В этой статье нет ничего о том, как симулировать замыкания в С — только о том, как симулировать С-подобные операции над указателями с помощью замыканий scheme.

> И аппликативных функторов тоже нет. Вот ведь ужас-то какой.

В комментируемом примере аппликативных функторов, в отличии от вывода типов, не наблюдается, так что сарказм неуместен.

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

57. "Вышла версия 2.066 компилятора языка D"  +2 +/
Сообщение от Аноним (-), 20-Авг-14, 00:45 
Плохой пример. Откройте книжку Шаблоны С++ - именно они причина, почему Александреску сказал "хватит" С++. С++ неверен by design - слишком много к нему присобачивали design-костылей. В итоге получилось пугало: ни красоты ни лаконичности. Мне кажется у него нет будущего и это уже агония: все ушли в C, Java/Python/C# и т.д. Кто-то прекрасно себя чувствует в Erlang, ML/HAskell... Впереди восхождение Rust, Go, D. Нет смысла инвестировать так много времени в язык, отдача от которого так низка. Вспомните ошибку компиляции шаблонов - в 100 строк и романтика сразу пропадет.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

70. "Вышла версия 2.066 компилятора языка D"  +/
Сообщение от arisu (ok), 20-Авг-14, 05:15 
но всё это перекрывается тем, что на C++ уже написано огромное количество кода, и переписать его на другом языке часто попросту нереально по трудозатратам. а вот постепенно чистить и улучшать, используя новые фичи C++ — вполне возможно.
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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