The OpenNET Project / Index page

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



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

Оглавление

Выпуск языка программирования Rust 1.40, opennews (??), 23-Дек-19, (0) [смотреть все]

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


4. "Выпуск языка программирования Rust 1.40"  +3 +/
Сообщение от Аноним (4), 23-Дек-19, 12:14 
С++ хватит всем.
Ответить | Правка | Наверх | Cообщить модератору

5. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 12:16 
+100500 Зачем нужен еще один монстр
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 12:43 
Ну как зачем? Нужно больше языков, больше говнокурсов, больше некому не нужных кодеров, а самое главное больше книжек
Ответить | Правка | Наверх | Cообщить модератору

415. "Выпуск языка программирования Rust 1.40"  –2 +/
Сообщение от Аноним (-), 25-Дек-19, 02:22 
> Ну как зачем? Нужно больше языков, больше говнокурсов, больше некому не нужных
> кодеров, а самое главное больше книжек

Еще мозилла очень хочет свой маленький но гордый клон Apple Store. Ну или хотя-бы репу cargo, если с продажей приложений и огораживанием девайсов не задалось...

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

6. "Выпуск языка программирования Rust 1.40"  +8 +/
Сообщение от _Ононим_ (?), 23-Дек-19, 12:18 
Ересь!
ANSI C наше всё.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

7. "Выпуск языка программирования Rust 1.40"  –2 +/
Сообщение от Аноним (5), 23-Дек-19, 12:28 
как быть с абстракциями? файл по старинке изображать в виде чехарды буффера, структур и разбросанных функций?
Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск языка программирования Rust 1.40"  +2 +/
Сообщение от _Ононим_ (?), 23-Дек-19, 12:43 
Обструкцию вашим абстракциям.
Потому на Луну больше не летаем, что абстрагируемся, абстрагируемся да никак на абстрагируемся.
Ответить | Правка | Наверх | Cообщить модератору

13. "Выпуск языка программирования Rust 1.40"  –2 +/
Сообщение от Аноним (5), 23-Дек-19, 12:46 
Гонишь ведь, ООП позволяет писать и тестировать программу по кускам, что не позволяет С
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от _Ононим_ (?), 23-Дек-19, 13:15 
Тогда лучший выбор - интерпретаторы бейсиков и пайтонов и прочих.
Позволяют по одной команде писать.
Ответить | Правка | Наверх | Cообщить модератору

32. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 13:19 
Сам понял че сказал? Где я говорил о скоросте и простоте написания программы?
Ответить | Правка | Наверх | Cообщить модератору

34. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от _Ононим_ (?), 23-Дек-19, 13:23 
А я где?
Написал print(2+2) и тут же протестировал, нажав Enter.
Ответить | Правка | Наверх | Cообщить модератору

52. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 13:45 
Такой код, безусловно
Ответить | Правка | Наверх | Cообщить модератору

37. "Выпуск языка программирования Rust 1.40"  +2 +/
Сообщение от Проходил мимо (?), 23-Дек-19, 13:27 
Это не С виноват, а кривые руки.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

50. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 13:42 
ООП это часть языка, а не рук
Ответить | Правка | Наверх | Cообщить модератору

283. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (283), 23-Дек-19, 20:35 
да как бы Си не запрещает ООП... немного некрасиво будет выглядеть, то в принципе много где реализовано... вот чего реально не хватает в сях - так это темплейтов, иногда макрос сильно неудобно дебажить
Ответить | Правка | Наверх | Cообщить модератору

305. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 21:44 
Инкапсуляцию и наследование как реализовать без магии?
Ответить | Правка | Наверх | Cообщить модератору

319. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (319), 23-Дек-19, 23:10 
--point.h--
struct Point;

--point.c--
#include "point.h"

struct Point
{
   int x;
   int y;
};

--main.c--
#include "point.h"

int main()
{
   struct Point p1;
   p1.x = 10; //ERROR
   return 0;
}

О чудо, неужели это инкапсуляция!? Но как такое может быть???

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

321. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (5), 23-Дек-19, 23:54 
Наследование тактично не заметили да? И фразу "без черной магии" видимо тоже, то есть штатными средствами
Ответить | Правка | Наверх | Cообщить модератору

344. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от дождик (?), 24-Дек-19, 07:48 
Боюсь показаться придирчивым, но есть ощущение, что сообщение при  ошибке компиляции только неявно укажет на проблему.
Ответить | Правка | К родителю #319 | Наверх | Cообщить модератору

414. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (-), 25-Дек-19, 02:19 
> Гонишь ведь, ООП позволяет писать и тестировать программу по кускам, что не позволяет С

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

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

324. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от Ordu (ok), 24-Дек-19, 00:10 
> Потому на Луну больше не летаем, что абстрагируемся, абстрагируемся да никак на абстрагируемся.

Да ладно, дело вовсе не в этом. В компьютере Apollo было 5-7 виртуальных машин[1], причём полностью софтварных, потому что аппаратной виртуализации ещё не придумали. И это несмотря на то, что оперативки было всего 2Kb. Ты недооцениваешь программистов, думая что они не напихали в аполло абстракций.

Мы не летаем на Луну, потому что это коммерчески невыгодно. Летать туда за патриотизмом -- моветон: весь патриотизм, какой там был, оттуда уже вывезли пендосы. Хотя китайцы может и подберут, что осталось на донышке. Если успеют.

[1] https://www.theatlantic.com/science/archive/2019/07/underapp.../

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

14. "Выпуск языка программирования Rust 1.40"  +3 +/
Сообщение от Аноним (14), 23-Дек-19, 12:46 
> как быть с абстракциями?

/* car.h */

struct car;
enum car_drive_direction { FORWARD, BACK };
enum car_door { FRONT_LEFT, FRONT_RIGHT, REAR_LEFT, REAR_RIGHT };

struct car *car_alloc ();
void car_free (struct car *);
void car_engine_on (struct car *):
void car_engine_off (struct car *):
void car_gearbox_set_gear (struct car *, unsigned);
void car_drive (struct car *, car_drive_direction);
void car_door_open (struct car *, car_door);
void car_door_close (struct car *, car_door);

> файл по старинке изображать в виде чехарды буффера, структур и разбросанных функций?

Встречный вопрос: в плюсах приватные методы и поля всё ещё принято светить в заголовочных файлах?

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

16. "Выпуск языка программирования Rust 1.40"  –5 +/
Сообщение от Аноним (5), 23-Дек-19, 12:49 
Префикс не панацея, а жесткий костыль

Заголовочный файл каким образом влияет на инкапсуляцию?

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

27. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аметист (?), 23-Дек-19, 13:03 
Не нужна никому твоя инкапсуляция, хоспаде
Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (5), 23-Дек-19, 13:15 
Функции тогда выпили, инкапсуляция как никак хоть и примитивная
Ответить | Правка | Наверх | Cообщить модератору

46. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от _Ононим_ (?), 23-Дек-19, 13:39 
Функции - естественно и небезобразно, в отличие от натужных инкапсуляций и прочих объектно-ориентированных извращений.
Ответить | Правка | Наверх | Cообщить модератору

54. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (5), 23-Дек-19, 13:46 
Чем Классы противоестественны если функции естественны?
Ответить | Правка | Наверх | Cообщить модератору

108. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от _Ононим_ (?), 23-Дек-19, 14:44 
Даже не знаю как ответить.
"Не следует множить сущее без необходимости"? (Оккам)
Ответить | Правка | Наверх | Cообщить модератору

134. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 15:03 
Функции выкидываем? Goto наше все?
Ответить | Правка | Наверх | Cообщить модератору

144. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от _Ононим_ (?), 23-Дек-19, 15:15 
void foo(){}
int main(){ foo(); return 0;}

===

call foo

foo:
ret

===
Что-нибудь подобное с классами и прочей ахинеей?

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

151. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Andrey Mitrofanov_N0 (??), 23-Дек-19, 15:24 
> Что-нибудь подобное с классами и прочей ахинеей?

NOP с классами?  Do-o-oh.

Тогда мне https://duckduckgo.com/?q=%22Lisp+1.5+manual%22+&#...
заверните "первые" четыре тома Кнута.

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

162. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 15:31 
Упарываться только не надо, раста с головой
Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (38), 23-Дек-19, 13:27 
А теперь надо расширить
struct car
до
struct super_car

И добавить пару ф-ций к super_car
void super_car_wings_open (super_car car *);
void super_car_wings_close (super_car car *);

Причем super_car должна содержать все атрибуты car таким образом, что если позднее в car добавят атрибут, он должен появиться и в super_car. Список атрибутов car должен определяться в одном месте (без дублирования).

Ну и, соответсвенно, комплект функций car_* должен корректно работать с super_car

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

43. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 13:32 
Причем афтар не шарит шо c99 является подмножеством C++, и даже так быдлокодить кресты ему не запрещают
Ответить | Правка | Наверх | Cообщить модератору

75. "Выпуск языка программирования Rust 1.40"  +2 +/
Сообщение от _Ононим_ (?), 23-Дек-19, 14:10 
Причем ответчик или не в курсе разницы ANSI C и C99 или читать не умеет, а потому переходит на личность, обвиняя в быдлокодерстве.

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

Джон Варли. Нажмите "ВВОД"

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

82. "Выпуск языка программирования Rust 1.40"  –2 +/
Сообщение от Аноним (5), 23-Дек-19, 14:15 
Путаешь с K&R C, ANSI C это как раз C99
Ответить | Правка | Наверх | Cообщить модератору

90. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от _Ононим_ (?), 23-Дек-19, 14:27 
?
(gcc -ansi) == (gcc -std=c89)
Нет?
Ответить | Правка | Наверх | Cообщить модератору

109. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 14:44 
Пруф в виде флага компилятора очень убедителен эт да, а ничо шо именно K&R C был положен в основу стандарта C89, а C11 вполне себе ANSI?
Ответить | Правка | Наверх | Cообщить модератору

130. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от _Ононим_ (?), 23-Дек-19, 14:59 
The original ANSI C standard (X3.159-1989) was ratified in 1989 and published in 1990.
Не подскажете, где находится ANSI C11?
Ответить | Правка | Наверх | Cообщить модератору

138. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 15:09 
В качестве стандарта ISO/IEC 9899:2011
Ответить | Правка | Наверх | Cообщить модератору

146. "Выпуск языка программирования Rust 1.40"  +3 +/
Сообщение от _Ононим_ (?), 23-Дек-19, 15:20 
"... ISO/IEC 9899:201 ..."
Никак ANSI не  разгляжу в этой строчке.
Ответить | Правка | Наверх | Cообщить модератору

141. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 15:11 
Сейчас стандартизацией С не только ANSI занимается
Ответить | Правка | К родителю #130 | Наверх | Cообщить модератору

148. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от _Ононим_ (?), 23-Дек-19, 15:22 
Рад за Вас и за стандартизацию.
Вот только наверху я написал "... ANSI C ...".
Ответить | Правка | Наверх | Cообщить модератору

167. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 15:36 
ANSI C такого языка не существует, есть стандарт с кодовым обозначением, а название историческое шоб не путали c99 принятый ANSI с c89 принятый все тем же ANSI, C11 при участии ANSI и чо не ANSI да?
Ответить | Правка | К родителю #148 | Наверх | Cообщить модератору

177. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от _Ононим_ (?), 23-Дек-19, 15:48 
"ANSI C такого языка не существует..."
Хера се!
Вы раскрыли мне глаза!
До сих пор я прозябал в неведении.
Процитирую свою же запись ранее прозябавшего меня двумя этажами выше:
"The original ANSI C standard ..."
Ответить | Правка | К родителю #167 | Наверх | Cообщить модератору

183. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 16:02 
Лол C99 тоже ANSI пилил, так какой из них ANSI C или все таки конкретизируем на полном наименовании ANSI X3.159-1989 а не на сленге?
Ответить | Правка | К родителю #177 | Наверх | Cообщить модератору

89. "Выпуск языка программирования Rust 1.40"  +2 +/
Сообщение от Урри (?), 23-Дек-19, 14:26 
> Джон Варли. Нажмите "ВВОД"

Охренеть. Я думал не осталось уже людей, которые читали эту книгу.

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

99. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от _Ононим_ (?), 23-Дек-19, 14:36 
Охренеть. Я думал так же.
Ответить | Правка | Наверх | Cообщить модератору

291. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (291), 23-Дек-19, 20:54 
(po.ke) (li.ve)
Ответить | Правка | Наверх | Cообщить модератору

342. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Адекват (ok), 24-Дек-19, 07:10 
Пошаговая инструкция, как покончить жизнь самоубийством при помощи микроволновки.
Ответить | Правка | К родителю #89 | Наверх | Cообщить модератору

57. "Выпуск языка программирования Rust 1.40"  +3 +/
Сообщение от Аноним (57), 23-Дек-19, 13:52 
А потом на 8 уровне таких вложений программист скажет нет лучше уж раст)
Ответить | Правка | К родителю #38 | Наверх | Cообщить модератору

74. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (5), 23-Дек-19, 14:08 
глянет на раст и скажет ну нахер
Ответить | Правка | Наверх | Cообщить модератору

101. "Выпуск языка программирования Rust 1.40"  +2 +/
Сообщение от Брат Анон (?), 23-Дек-19, 14:37 
Нет, ну ты видел? ВИДЕЛ?!

Да ну нахер.

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

112. "Выпуск языка программирования Rust 1.40"  –2 +/
Сообщение от Аноним (5), 23-Дек-19, 14:44 
Синтаксис настолько жесткий шо нет слов, страшно правда
Ответить | Правка | Наверх | Cообщить модератору

294. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (294), 23-Дек-19, 21:00 
Да, синтаксис, конечно, не c#. Но можно немного покрутить настройки rustfmt, тогда код становится более читаемый. Но, справедливости ради, в плюсах такая же каша
Ответить | Правка | Наверх | Cообщить модератору

377. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от Аноним84701 (ok), 24-Дек-19, 18:41 
> Синтаксис настолько жесткий шо нет слов, страшно правда

И то ли дело:


#define MAP_LIST(f, ...) EVAL(MAP_LIST1(f, __VA_ARGS__, ()()(), ()()(), ()()(), 0))
volatile const static signed long int* const restrict borsch = {(const volatile void*)0};

или

    if(!C) {
        l=(o=S].O)?S].I:0; I=o?S].l%9+1:(S].O=i%9+1);
        for(;l<81;l++,I=S].O,o=0) if(!(s]>>10)) {
        for(;;I=I%9+1,o=1) {
            l0=0; if(o&&I==S].O) goto O;
            if(s]>>I&1) {
            S].l=I; S++].I=l; S]=S-1];
            N(I,); O>w&&(w=O); goto lO;
            }
        }
        }

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

92. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от Урри (?), 23-Дек-19, 14:30 
Все это отлично решалось еще во времена динозавров с помощью макросов, которые легко и просто раскрываются либо в сишные структуры со списками функций (включая виртуальные), либо в классические плюсовые классы. При этом ни капли не теряя в читабельности.

https://www.cs.rit.edu/~ats/books/ooc.pdf (c) 1993(!!!) год.


Хотя о чем это я, современные "программисты" же книг не читают...

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

343. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (38), 24-Дек-19, 07:45 
Программисты читают книги в которых пишут вещи поумнее, чем тут описаны.

Эмуляция наследования через агрегацию, ха-ха ктобы сомневался.

Вот пример оттуда.

struct Point {
const void * class;
int x, y;
};
struct Circle { const struct Point _; int rad; };

В результате использовать поля объекта приходится так

static void Circle_draw (const void * _self)
{ const struct Circle * self = _self;
  printf("circle at %d,%d rad %d\n",
  self —> _.x, self —> _.y, self —> rad);
}

Это типичное не то.

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

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

358. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Урри (?), 24-Дек-19, 13:30 
> Программисты читают книги в которых пишут вещи поумнее, чем тут описаны.
> Эмуляция наследования через агрегацию, ха-ха ктобы сомневался.

Ха-ха, кто-бы сомневался, что макака-неосилятор спрыгнет на "мне же неудобно". Чтобы макаке было удобно, макака может написать макрос, который спрячет все эти неудобности.

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

505. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от деанон (?), 27-Дек-19, 08:12 
Спасибо, крутая книжка, почитаю
Ответить | Правка | К родителю #92 | Наверх | Cообщить модератору

48. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от nuzhny (?), 23-Дек-19, 13:41 
>Встречный вопрос: в плюсах приватные методы и поля всё ещё принято светить в заголовочных файлах?

Нет, в плюсах мы используем pimpl: https://en.cppreference.com/w/cpp/language/pimpl

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

94. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от Урри (?), 23-Дек-19, 14:33 
.. который до сих пор даже студия не умеет скипать при дебаге; да и вообще:

Access overhead: In pImpl, each call to a private member function indirects through a pointer. Each access to a public member made by a private member indirects through another pointer. Both indirections cross translation unit boundaries and so can only be optimized out by link-time optimization. Note that OO factory requires indirection across translation units to access both public data and implementation detail, and offers even fewer opportunities for the link time optimizer due to virtual dispatch.

Space overhead: pImpl adds one pointer to the public component and, if any private member needs access to a public member, another pointer is either added to the implementation component or passed as a parameter for each call to the private member that requires it. If stateful custom allocators are supported, the allocator instance also has to be stored.

Lifetime management overhead: pImpl (as well as OO factory) place the implementation object on the heap, which imposes significant runtime overhead at construction and destruction. This may be partially offset by custom allocators, since allocation size for pImpl (but not OO factory) is known at compile time.

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

340. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Nuzhnyemail (?), 24-Дек-19, 05:53 
>который до сих пор даже студия не умеет скипать при дебаге; да и вообще:

Это всё описание старого подхода. В современном С++ никто не мешает использовать статический pimpl без перечисленных оверхедов.

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

360. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от Урри (?), 24-Дек-19, 13:33 
>>который до сих пор даже студия не умеет скипать при дебаге; да и вообще:
> Это всё описание старого подхода. В современном С++ никто не мешает использовать
> статический pimpl без перечисленных оверхедов.

это уже не pimpl.

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

350. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от cppguy (?), 24-Дек-19, 09:51 
https://www.youtube.com/watch?v=_AkF8SpUV3k вот вам pimpl без хипы
Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

359. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Урри (?), 24-Дек-19, 13:31 
видосик? серьезно??
Ответить | Правка | Наверх | Cообщить модератору

297. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (14), 23-Дек-19, 21:06 
> Нет, в плюсах мы используем pimpl

"Мы" это кто? Хотя бы 10% плюсовиков так делают на постоянной основе?

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

426. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от freehckemail (ok), 25-Дек-19, 04:54 
>>Встречный вопрос: в плюсах приватные методы и поля всё ещё принято светить в заголовочных файлах?
> Нет, в плюсах мы используем pimpl: https://en.cppreference.com/w/cpp/language/pimpl

Вау. То есть таки решили (причём лишь частично, при изменении публичных интерфейсов один фиг потребуется рекомпиляция потомков) одну из проблем кривой реализации объектной модели в C++, да и то ценой потерь в рантайме и усложнением сопровождения кода. Класс. Обожаю кресты.

Урри, что-нибудь получше в крестах изобрели, не подскажешь? А то я давно в этот лес не лез, и если честно, не особо хочу.

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

8. "Выпуск языка программирования Rust 1.40"  –3 +/
Сообщение от Аноним (5), 23-Дек-19, 12:29 
Без пространств имен нафиг не сдался
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

12. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от Серёжа Айдельс Лохсофт (?), 23-Дек-19, 12:44 
скажи это линуксам
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 12:47 
И чо? Все внезапно станут ядрописателями или как то смысл твой не уловил
Ответить | Правка | Наверх | Cообщить модератору

17. "Выпуск языка программирования Rust 1.40"  +2 +/
Сообщение от _Ононим_ (?), 23-Дек-19, 12:50 
Пространство имён хорошо помогло герою Мягкова в фильме "Ирония судьбы ...".
Единственный известный положительный случай.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

19. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 12:52 
Конфликт имен тебе обеспечен
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от Аноним (21), 23-Дек-19, 12:55 
Там модули, это лучше namespace-овю
Более того, без модулей в rust не добавить файлы с исходниками (привет инклудам), и структуру файлов надо, о ужас, продумывать заранее.
Сначала после мышления в стиле плюсов выглядит дико, но потом начинаешь понимать изящество решения.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

23. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 12:58 
Rust сольется в первой же партии не трать время на спор, лучше глянь на предыдущего убийцу цепепе
Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 12:59 
C++20 Modules так то, православные тоже не стоят на месте
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

33. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (21), 23-Дек-19, 13:20 
В плюсы сейчас много идей заимствуют из современных языков, из раста в том числе.
Посмотрел что предлагалось на встрече комитета - так штук 5-6 предложений - дежавю после раста.
Годиков через 5-10 эти 2 языка будут больше похожи друг на друга)
Но у С++ есть много наследия из прошлого, с которым будет трудно.
Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск языка программирования Rust 1.40"  –4 +/
Сообщение от Аноним (5), 23-Дек-19, 13:26 
Тем временем появится армия безработных растаманов, то шо их прелесть стала никому не нужна, вот я о чем, на C++ работа будет всегда, а мейстрим ЯП пока популярно, имхо C++ никогда не был популярен, а ему скоро ему сорокет стукнет
Ответить | Правка | Наверх | Cообщить модератору

97. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Урри (?), 23-Дек-19, 14:35 
ах из раста... модули в плюсы с 2000 года пытаются впихнуть, тогда не то что растом, мазилой даже еще не пахло.
Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

102. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 14:38 
C++ видите ли не молодежный
Ответить | Правка | Наверх | Cообщить модератору

295. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (294), 23-Дек-19, 21:06 
Тут не в молодёжности дело, а в самом c++
Ответить | Правка | Наверх | Cообщить модератору

307. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Аноним (5), 23-Дек-19, 21:47 
Ломать совместимость с Си предлагаешь или о каком фатальном недостатке C++ идет речь?
Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 13:02 
Модули немного для другого, а именно для замены инклудов, пространства имен в модулях юзаются еще как, представь себе Qt поставляемый в виде модулей без данной технологии
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

59. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Урри (?), 23-Дек-19, 13:53 
А вот нечего все валить в кучу.
Описывай паблик интерфейсы, разбивай проект на независимые части и собирай отдельно. Заодно электричество на пересборке сэкономишь.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

76. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 14:10 
Ну так собстенно и делают, другого выхода нет, раздельная компиляция
Ответить | Правка | Наверх | Cообщить модератору

100. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Урри (?), 23-Дек-19, 14:36 
Другой выход, само собой, есть. Например, макросы со сменой префикса.

Просто именно такой способ - простой и правильный.

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

114. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 14:45 
Черной магии и без макросов хватает
Ответить | Правка | Наверх | Cообщить модератору

132. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от Урри (?), 23-Дек-19, 14:59 
Ну почему магии? Макросы бывают очень удобными и наглядными https://github.com/swansontec/map-macro

Я вот подобный макрос использовал чтобы сделать более наглядными ассемблерные вставки (да, иногда и такое по работе приходилось делать), без засоряющих код "\n" и "\t". Причем, заметьте, мне не пришлось для этого изобретать новый язык.

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

142. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 15:12 
Функциональные макросы наглядные? Да ладно, шоб я сдох
Ответить | Правка | Наверх | Cообщить модератору

150. "Выпуск языка программирования Rust 1.40"  +2 +/
Сообщение от Урри (?), 23-Дек-19, 15:24 
Хм, вы предпочитаете __asm__("\tmov a,b;\n\tmov b,c\n"), а не __ASM__("mov a,b", "mov b,c")?

Занятно...

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

188. "Выпуск языка программирования Rust 1.40"  –1 +/
Сообщение от Аноним (5), 23-Дек-19, 16:11 
Предпочитаю не использовать в C++ асемблер и Си-специфичный синтаксис, я манал изобретать уже изобретенное, да и с компилятором шо ты шо я шо сам линус деточка с лапаткой в песочнице, сомневаюсь шо в вашей конторе используют процессоры отличные от x86
Ответить | Правка | Наверх | Cообщить модератору

361. "Выпуск языка программирования Rust 1.40"  +/
Сообщение от Урри (?), 24-Дек-19, 13:37 
Ну ты манал, а я изобретаю еще НЕ изобретенное и иногда приходится писать даже на ассемблере (причем в позапрошлом году за такое мне гугл, например, деньги платил).

Ну а вообще, про libffi слышал, деточка? можешь посмотреть на список поддерживаемых платформ: https://github.com/libffi/libffi/tree/master/src

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

378. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от Аноним (5), 24-Дек-19, 18:53 
Переизобретаешь COM? Ну ну деточка
Ответить | Правка | Наверх | Cообщить модератору

427. "Выпуск языка программирования Rust 1.40"  +1 +/
Сообщение от freehckemail (ok), 25-Дек-19, 05:10 
> Ну почему магии? Макросы бывают очень удобными и наглядными https://github.com/swansontec/map-macro

Я конечно всё понимаю, но после того, как взглянул на макросы в лиспах, смотреть на пляски с сишным препроцессором уже довольно-таки больно. Не, я понимаю, когда слаще репы не едали -- это выглядит, как рокет-сайнс, да. Но это же жуть на самом деле, Урри. Даже окамловый PPX выглядит лучше, чем это, хотя он на самом деле тоже жуть, но он хотя бы типизирован и гарантировано формирует корректный AST.

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

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

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




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

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