powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
146 сообщений из 146, показаны все 6 страниц
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926880
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Котаны-братаны!

Здесь я буду ворчать и бухтеть про Rust.

Впрочем иногда и буду хвалить. Даже больше буду хвалить. Возможно в части ООП и типобезопасности.

Какие вопросы хотелост проговорить (Primary Goals).
- Типы данных. Строгость. ООП.
- Строки
- Коллекции
- Управление памятью (самая вкуснятина)
- Мультипоточка

Secondary Goals
- Репликатор. Если дойдут руки.
- Дрова к БД ORA/PG/Mysql/MSSQL/SQLite.
- Cargo. Репозитарии. Сообщества. Инфо-каналы.

Топики тематически связные (ИМХО).
https://www.sql.ru/forum/1173809/tyapnichnyy-benchmark-cpu-part-1 (здесь впервые потрогали его руками в сравнении)
https://www.sql.ru/forum/1303834/tyapnichnaya-budushhaya-multipotochnost

Просто линки по теме.
https://rust-lang.org
https://github.com/rust-lang

Что мы говорить не будем.

Мы не будем обсуждать мою персону. Это понятно. Нарушение правил как-бе.
Меня тут вообще нету. Я просто как говорящее радио.

Мы не будем обсуждать причины возникновения этого топика. Он возник и возник. И хрен с ним.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926939
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ворчалка типо-данных.

Примитивы. Целые i8, i16, i32, i64, i128 знаковые. Тоже самое с буквочкой u - знаковые.
Строки - почему-то инициализируются через спец-метод.

Самодостаточный код который собирается и работает.

Такой себе сферический ордер на покупку 15 акций IBM.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
use std::fs::File;
use std::io::prelude::*;

pub struct Order {
  symbol: String,
  shares: u16,
  price: u32 
}

impl Order {
  fn to_string(&self) -> String {
     return format!("Order: {}/{}@{}", self.symbol, self.shares, self.price);
  }
}

fn main() {
    let order = Order { symbol: String::from("IBM"), shares: 15, price: 229 };
    
}



Я завтыкал восклицательный знаке после format (!) и получил ошибку сборки. Что-то с макросами
надо почитать про его роль.

Интересно что туловище объекта существует отдельно от декларации его методов.
В этом есть как-бы и ООП и одновременно не-ООП. Дуализм.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926942
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
После let - идут константы. Если нужна перменная - добавляют mut.

Код: java
1.
2.
3.
    let mut x = 5;
    println!("The value of x is: {}", x);
    x = 6;



Хм.. интересно как они поступают со ссылками на данные которые мутируют.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926943
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот еще интереснее. Shadowing. Не могу перевести. Затенение что-ли.

Код: sql
1.
2.
3.
    let x = 5;
    let x = x + 1;
    let x = x * 2;


Здесь получается декларируются 3 константы x каждая последующая из которых "затеняет" предыдущую.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926944
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот интересная штучка. Tuples. Я всегда переводил как "кортежи". Не знаю правильно или нет.
Rust различает скалярные и compound типы. Вот кортеж относится ко вторым.

Инициализация кортежа. По нашему это анонимный класс из (int, double, byte) типов.
Код: sql
1.
let tup: (i32, f64, u8) = (500, 6.4, 1);
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926946
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С массивами вобщем ничего интересного.
Код: sql
1.
let a = [1, 2, 3, 4, 5];


Но контроль за вылет за границы - присутствует.

Даже в режиме релиза. Я собрал cargo build --release и получил стандартную ошибку проверки диапазона массива.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926948
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот штука похожая на тернарную операцию C++/Java

Код: javascript
1.
2.
3.
4.
5.
6.
    let condition = true;
    let number = if condition {
        5
    } else {
        6
    };
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926950
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот еще интересная тема.

Функция возвращает "пару"
Код: sql
1.
2.
3.
fn parse_money(input: &str) -> (i32, String) {
   return (145, String::from("$"));
}


Удобная штука.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926951
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее. Пойдет Borrowing and Ownership.
Относится к контролю за памятью и ссылками.
Наверное отложу на завтра.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926952
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

В Rust главное понять работу с памятью (владение, заимствование,...), остальное не существенно.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926977
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надеюсь что это будет наиболее мясная часть меню.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39926992
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

А там больше ничего и нет
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927026
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton , ты же знаешь C/C++, чем он тебя не устраивает?
зачем плодить зоопарк языков в голове?

mayton
Но контроль за вылет за границы - присутствует.

не бесплатно же.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927031
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть интерес посмотреть на модель памяти Rust. Принять к сведению best practices.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927032
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух, по поводу выхода за границы массива. Да. Думаю есть такой пункт.
Не бесплатно. Но высокий перформанс работы с массивами бывает редко.
Я помню я разрабатывал в студенчестве алгортмы машинной графики.
Например заштриховать полигон из пикселов в SVGA-режиме. Там я использовал
прямой доступ к памяти.

Это всё - достаточно low-level функций и таковые обычно в прикладном коде
не используются. В прикладно (бизнес-коде) обычно мы не работаем с байтами
или словами или двойными словами а с сущностями (Entity). Они - довольно
крупные. И редко лежат в массивах. Чаще под покрытием итератора или стрима
или еще бох знает каких абстракций.

Вобщем .. индексый доступ - это достаточно low-level. А Rust насколько я понимаю
создавался как язык безопасный - поэтому его поведение при выскакивании
за границы array предсказуемо. В данном примере - у меня код не собрался.
Компиллятор доказал что он - неработоспособен. Как глубоко (насколько ходов вперед)
видит компиллятор - мы в топике проверим.

Код: sql
1.
2.
3.
4.
fn main() {

    let a:[u32; 3] = [1,2,3];
    let y = a[3];


Код: sql
1.
2.
3.
4.
error: index out of bounds: the len is 3 but the index is 3
  --> src/main.rs:20:13
   |
20 |     let y = a[3];
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927041
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кому нужны эти массивы, когда есть <vector>
и <array> (модуль, где всё учтено)
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927042
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Но высокий перформанс работы с массивами бывает редко.

по-моему ты неправильно относишься к массивам.
это же map-to-hardware
массив = ячейки памяти, 1 в 1
в C/C++, а вот в остальных языках - нет
в ПХП там вообще дикие абстракции, такие, что массив занимает в X раз больше размер
там и int = 40 байт
а вот в C/C++ это именно память и есть, и какой такой "высокий перформанс" может быть выше этого - загадка.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927045
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудух
кому нужны эти массивы, когда есть <vector>
и <array> (модуль, где всё учтено)

Ценное замечание. До классов коллекций я еще не дошел. Дойдем здесь https://doc.rust-lang.org/book/ch08-01-vectors.html

Но я хочу закрыть тему работы с массивами тем что UB не удалось получить.
Либо не будет компилляции. Либо будет зафиксирована ошибка. Об ошибках - тоже чуть позже.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927046
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сегодня - тема Ownership, Borrowing.
Я попробую перевести как Владение и Одалживание в рамках данной технической доки
Но ради чистоты терминологии я их оставлю as is.

https://doc.rust-lang.org/book/ch04-00-understanding-ownership.html

Насколько я понял.

Владение (Ownership) - это наиболее уникальная фича Rust, которая позволяет создавать гарантии
безопасности памяти без необходимости Garbage Collector. Поэтому очень важно понять как ownership
работает в Rust.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927049
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее по тексту. Я двигаюсь длинными прыжками и буду постить только наиболе значимые фрагменты КМК.

Правила Ownership .

  • Каждое значение (value) в Rust имеет переменную которая зовётся владельцем (owner).
  • Может существовать только 1 owner в один момент времени.
  • Когда owner покидает scope - значение удаляется (When the owner goes out of scope, the value will be dropped).
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927050
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Работа со scope знакома всем по C++. Я не буду пересказывать. Просто фрагмент кода с каментами.


Код: sql
1.
2.
3.
4.
5.
{                      // s is not valid here, it’s not yet declared
    let s = "hello";   // s is valid from this point forward

    // do stuff with s
}                      // this scope is now over, and s is no longer valid
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927059
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм.. забавно crate - переводится как клетка или деревянный ящик. Смысловой паревод я пока не улавливаю.
Есть варианты. Модуль. Пакет. Зависимость. Единица публикации. Пока не определился.

Впервые вроде как здесь упоминается https://doc.rust-lang.org/cargo/reference/publishing.html
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927061
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щас на пару часиков вернёмся в родительскую задачу.
https://www.sql.ru/forum/1173809/tyapnichnyy-benchmark-cpu-part-1

Там как раз сборщик упал по причине каких-то эволюций пакетов.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
extern crate num;
extern crate rand;
extern crate time;

use rand::Rng;
use rand::ThreadRng;
use rand::prelude::*;

use std::env;
use std::error::Error;
use std::fs::File;
use std::io::Write;
use std::ops::*;


const WIDTH: i32 = 512;
const HEIGHT: i32 = 512;


#[derive(Copy)]
struct Vector {
	x: f64,
	y: f64,
	z: f64
}

impl Clone for Vector {
	fn clone(&self) -> Self {
		Vector { x: self.x, y: self.y, z: self.z }
	}
}

impl Add for Vector {
    type Output = Vector;

    fn add(self, rhs: Vector) -> Vector {
        Vector { x: self.x + rhs.x, y: self.y + rhs.y, z: self.z + rhs.z }
    }
}

impl Mul<f64> for Vector {
    type Output = Vector;

    fn mul(self: Vector, rhs: f64) -> Vector {
        Vector {x: self.x * rhs, y: self.y * rhs, z: self.z * rhs}
    }
}

impl Rem for Vector {
    type Output = f64;

    fn rem(self, rhs: Vector) -> f64 {
        self.x * rhs.x + self.y * rhs.y + self.z * rhs.z
    }
}

impl BitXor for Vector {
    type Output = Vector;

    fn bitxor(self, rhs: Vector) -> Vector {
        Vector {x: self.y * rhs.z - self.z * rhs.y, y: self.z * rhs.x - self.x * rhs.z, z: self.x * rhs.y - self.y * rhs.x}
    }
}

impl Not for Vector {
    type Output = Vector;

    fn not(self: Vector) -> Vector {
        self * (1.0 / (self % self).sqrt())
    }
}

static G:[i32; 9] = [
	0x0003C712,  // 00111100011100010010 
	0x00044814,  // 01000100100000010100
	0x00044818,  // 01000100100000011000
	0x0003CF94,  // 00111100111110010100
	0x00004892,  // 00000100100010010010
	0x00004891,  // 00000100100010010001
	0x00038710,  // 00111000011100010000
	0x00000010,  // 00000000000000010000
	0x00000010,  // 00000000000000010000
];

fn tracer(o: Vector, d: Vector, t: &mut f64, n:&mut Vector) -> i32 {
	*t = 1e9;
	let mut m: i32 = 0;
	let p: f64 = -o.z / d.z;
	if 0.01 < p {
		*t = p;
		*n = Vector {x: 0.0, y: 0.0, z: 1.0};
		m = 1;
	}
	let mut k: i32 = 20;
	while k != 0 {
		k = k - 1;
		let mut j: usize = 9;
		while j != 0 {
			j = j - 1;
			if (G[j] & 1 << k) != 0 {
				let p: Vector = o + Vector {x: -k as f64, y: 0.0, z: -(j as f64) - 4.0};
				let b = p % d; 
                                let c = p % p - 1.0; 
                                let q = b * b - c;
				if q > 0.0 {
					let s = -b - q.sqrt();
					if s < *t && s > 0.01 {
						*t = s; 
						*n = !(p + ((d) * (*t)));
						m = 2;
					}
				}
			}
		}
	}
	return m;
}

fn sampler(o: Vector, d: Vector, rng: &mut ThreadRng) -> Vector {
	let mut t: f64 = 0.0;
	let mut n: Vector = Vector {x: 0.0, y: 0.0, z: 0.0};
	let m: i32 = tracer(o, d, &mut t, &mut n);
	if m == 0 {
		return Vector {x: 0.7, y: 0.6, z: 1.0} * num::pow(1.0 - d.z, 4);
	}
	let mut h: Vector = o + (d * t);
        let l: Vector = !(Vector {x: 9.0 + rng.gen::<f64>(), y: 9.0 + rng.gen::<f64>(), z: 16.0} + (h * -1.0) );
        let r: Vector = d + (n * ((n % (d)) * -2.0));
	let mut b: f64 = l % n;
	if b < 0.0 || tracer(h, l, &mut t, &mut n) != 0 {
		b = 0.0;
	}
	let p: f64 = num::pow((l % r) * (if b > 0.0 {1.0} else {0.0}), 99);
	if (m & 1) != 0 {
		h = h * 0.2;
		return (
			if ((h.x.ceil() + h.y.ceil()) as i32) & 1 != 0 {
				Vector {x: 3.0, y: 1.0, z: 1.0}
			}
			else {
				Vector {x: 3.0, y: 3.0, z: 3.0}
			}
			) *
			(b * 0.2 + 0.1);
	}
	return Vector {x: p, y: p, z: p} + (sampler(h, r, rng) * 0.5);
}

fn main() {
	let mut rng: ThreadRng = thread_rng();
	let args: Vec<String> = env::args().collect();
	if args.len() == 1 {
		panic!("\n\nUsage: card-raytracer <filename>.ppm\n");
	}
	let start = time::precise_time_s();
	let mut out = match File::create(&args[1]) {
        	Err(why) => panic!("couldn't create {}: {}",
        			args[1],
        			Error::description(&why)),
	        Ok(file) => file,
	};
	write!(out,"P6 {} {} 255 ", WIDTH, HEIGHT).unwrap();
	let g: Vector = !(Vector {x: -6.0, y: -16.0, z: 0.0});
	let a: Vector = !(Vector {x: 0.0, y: 0.0, z: 1.0} ^ g) * 0.002;
	let b: Vector = !(g ^ a) * 0.002;
	let c: Vector = ((a + b) * -256.0) + g;
	let mut y: i32 = HEIGHT;
	while y != 0 {
		y = y - 1;
		let mut x: i32 = WIDTH;
		while x != 0 {
			x = x - 1;
			let mut p = Vector {x: 13.0, y: 13.0, z: 13.0};
			let mut r: i32 = 64;
			while r != 0 {
				r = r - 1;
				let t: Vector = (a * (rng.gen::<f64>() - 0.5) * 99.0) + (b * (rng.gen::<f64>() - 0.5) * 99.0);
				p = sampler(Vector {x: 17.0, y: 16.0, z: 8.0} + t, 
					!(t * -1.0 + (a * (rng.gen::<f64>() + x as f64) + b * (y as f64 + rng.gen::<f64>()) + c) * 16.0), 
					&mut rng) * 3.5 + p;
			} 
			match out.write_all(&[p.x as u8, p.y as u8, p.z as u8]) {
				Err(why) => panic!("couldn't write to {}: {}", args[1],
					Error::description(&why)),
        			Ok(_) => {},
			}
		}
	}
	println!("Time elapsed: {} s", time::precise_time_s() - start);
}




Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
   Compiling card-raytracer v0.1.0 (/home/mayton/git/CardRaytracerBenchmark/rust)
error[E0432]: unresolved import `rand::ThreadRng`
 --> src/card-raytracer.rs:6:5
  |
6 | use rand::ThreadRng;
  |     ^^^^^^---------
  |     |     |
  |     |     help: a similar name exists in the module: `thread_rng`
  |     no `ThreadRng` in the root

error: aborting due to previous error

For more information about this error, try `rustc --explain E0432`.
error: could not compile `card-raytracer`.

To learn more, run the command again with --verbose.



Хм... тут надо понять что это за пакет. И зачем он нужен. Предположительно - это генератор случайных чисел.
Попробую пофиксить.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927064
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто позакоментарил и компиляция прошла.

Код: sql
1.
2.
3.
4.
5.
6.
7.
-use rand::Rng;
-use rand::ThreadRng;
+//use rand::Rng;
+//use rand::ThreadRng;
 use rand::prelude::*;
 
 use std::env;



15 секунд на рендеринг картинки на стареньком Intel Core i3. Это в 1 поток.
Шикарно. Щас переползу на рабочую станцию посмотрю как сработает в AMD/Ryzen-5.

Заодно обновим статистику по бенчмаркам.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927068
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
8 секунд на AMD.

Я ничего не понимаю. Мы перегнали "C" в 2 раза. Я щас просто сиду перепроверяю цифры.
Конфигурация не менялась с год.

Патчился Линукс и патчился сам Rust c зависимостями.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927070
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перетестил "C"(Clang)
9 секунд. Ну что-ж наверное у меня цифры были устаревшие.
Но всё равно Rust быстрее.

Щас обновлю цифирки в 3х ключевых компилируемых натив-языках и опбуликую скрин.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927072
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отчёт в смежном 22080587 . Чтоб тут не флудить.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927255
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Но всё равно Rust быстрее.

Царя на тебя тут нету. Сейчас любому ПТУшнику известно, что руст - недоязычек, скриптуха и ллвм огрызок.

А вообще он не взлетит. Дело даже не в языке, а в том, что его разрабатывают хуже, чем js в свое время.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927277
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ценное замечание.

Вы rust-разработчик?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927278
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Вы rust-разработчик?

Нет, конечно
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927281
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
mayton
Вы rust-разработчик?

Нет, конечно

Давай так.

Ещё одно правило данного топика.

Все слухи, сплетни и блоггерство вокруг Rust технологий мы не будем брать на веру. А будем проверять здесь.

Это - инженерный подход? Инженерный.

Мыж не блондинки какие нибудь?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927297
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Все слухи, сплетни и блоггерство вокруг Rust технологий мы не будем брать на веру. А будем проверять здесь.

Что там проверять? Руст с самого начала позиционировал себя так, что хотите safe - пишите всё на руст. Этим они уже зарыли себя в могилу, потому что иди, перепиши всю эту прикладуху на руст заново. Второе - это этот их аджайл, что языку уже много лет, а они всё равно тащат с собой nightly сборки. Даже на ноде уже появился lts и можно чувствовать себя не совсем хипстором. Хотя лет через 10 может что-то и выйдет, если правда не придумают еще один руст, который будет, конечно, не совместим с этим. Некоторые уже рвутся что-то на руст переписывать, но разговоров слышно про это много, а про то как оно потом эксплуатируется - нема. А проблемы продакшона не состоят из похереных границ массива и чего-то подобного. Надо чтобы софт предсказуемо собирался и работал, не ломаясь при очередном обновлении. Как будет с поддержной руста дальше - не понятно. Сейчас видно, что они клепают фичешчи, у них каждый месяц по "стабильному" релизу, где они что-то вносят в язык. Про какой продакшен сейчас можно говорить - не понятно. И если выбирать между рустом и вба, то выбор - однозначно вба, как бы это дико не было.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927317
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне непонятно каким чудом ты сюда втащил VBA. И почему ты выше упоминал "скриптухуу"
Rust - судя по спецификации - это язык строгой типизации. И статически компилируемый.
Мне непонятно кто такие "они" ? Возможно ты имел в виду разработчиков Mozilla? Уточни.

Тоесть с одной стороны ты вроде в теме. Сыпешь какими-то фактами. Как инсайдер. С другой стороны - твои факты
сначала должны лечь на мои знания и спеку которую я приложил первой линкой. И только после
этого эти факты могут быть мной приняты. Пока я услышал от тебя эмоции.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927408
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Мне непонятно каким чудом ты сюда втащил VBA.

Тем, что вба стабильный и с ним железобетонно ничего делать не будут.
mayton
И почему ты выше упоминал "скриптухуу"

Да это прикол такой.
mayton
Мне непонятно кто такие "они"

Разрабы руста.
mayton
Сыпешь какими-то фактами. Как инсайдер

Какой там инсайд, всё общеизвестно. Вот недавно завезли async/await можно уже что-нибудь объявить легаси и начать переписывать. Когда у разрабов закончится мет, может к чему-то всё и придёт, а пока вводят киллерфичи каждый месяц с этим можно только поиграться и пофлеймить на форуме.
Похожий хайп недавно только прошел на js.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927420
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
mayton
Мне непонятно каким чудом ты сюда втащил VBA.

Тем, что вба стабильный и с ним железобетонно ничего делать не будут.

Я не VBA разработчик. И мне он не нужен. Более того я не разрабатываю приложения под Microsoft.
И мне кажется что в данном топике VBA - подобен носорогу Бертрана Рассела.

Давай уже покончим с ним. ОК?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927422
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster

Какой там инсайд, всё общеизвестно. Вот недавно завезли async/await можно уже что-нибудь объявить легаси и начать переписывать. Когда у разрабов закончится мет, может к чему-то всё и придёт, а пока вводят киллерфичи каждый месяц с этим можно только поиграться и пофлеймить на форуме.
Похожий хайп недавно только прошел на js.

Их вводят щас везде. В дотнете. В Node.JS. e.t.c. Это имеет связь с топиком
https://www.sql.ru/forum/1303834/tyapnichnaya-budushhaya-multipotochnost
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927427
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разрабы руста.
Ну ОК. Держи меня вкурсе новостей от этих загадочных господ.
На телеграм я уже подписался. Но може что-то проскочит...
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927443
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Давай уже покончим с ним. ОК?

Да речь про стабильность, а не вба. Можно заменить его C89, если угодно. Вот на нём всё собирается уже 30 лет, а будет ли что-то собираться на русте через 2 года - большой вопрос. Сейчас в стандарт ecmascript допиливают что-то раз в год, да и то ничего эпохального, а тут свежие фичи раз месяц.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39927453
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
mayton
Давай уже покончим с ним. ОК?

Да речь про стабильность, а не вба. Можно заменить его C89, если угодно. Вот на нём всё собирается уже 30 лет, а будет ли что-то собираться на русте через 2 года - большой вопрос. Сейчас в стандарт ecmascript допиливают что-то раз в год, да и то ничего эпохального, а тут свежие фичи раз месяц.

Почему ты думаешь что я хочу "что-то" этим Rust-ом заменить?

Может быть я не ищу замены.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39929903
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Двигаемся к ржавому ООП.

Что там есть. Первое что удивительно. Нет конструкторов. Пишут примерно следующее.

Существует единый ИСТИННЫЙ КОНСТРУКТОР. Все альтернативые способы создания объекта
сводятся к вспомогательной функции которая в конечном счете вызывает The One True Constructor.

Код: sql
1.
2.
3.
4.
5.
6.
7.
struct Foo {
    a: u8,
    b: u32,
    c: bool,
}

let foo = Foo { a: 0, b: 1, c: false };
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39929904
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

немного не по core теме, какой ide пользушся?
пробовал CLion для раста?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39929905
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
de
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39929910
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atom + поставил плагин Rust IDE.

Но я нихрена еще не научился пользоваться всеми ее возможностями поэтому - только как текстовый редактор
с autocompletition.

Компилиую в консоли отдельно.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39929912
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее. Наследования нет. В стандартной доке я не вижу исчерпывающего теоретического обоснования.
Поэтому ищу ответы на семинарах и конференциях по Rust от смежных специалистов.

Вот щас в данный момент смотрю:

Rust Edinburgh #1 - Simon Brand "How Rust gets polymorphysm right"
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39929914
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее. Trait . Был такой аналог Интерфейса в Scala. Ну... я-бы сказал что старичок Одерский первый застолбил
этот термин в Scala.

Буквальный перевод как черта или особенность .

Пока все попытки насетапить какие-то обобщения между структурами (struct) в Rust приводят к использованию Трейтов.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39929955
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Далее. Trait . Был такой аналог Интерфейса в Scala. Ну... я-бы сказал что старичок Одерский первый застолбил
этот термин в Scala.

Интересно было бы услышать на эту тему мнение его научного руководителя - старика Вирта.

maytonПока все попытки насетапить какие-то обобщения между структурами (struct) в Rust приводят к использованию Трейтов.
У меня впечатление, что traits в ржавчине используются точно в той же роли, в какой концепции в плюсах.
...
Вообще, выработавшаяся за последние 30 лет манера рассказывать о программировании в терминах языка имярек
таким способом, который тщательно избегает возможности существования иных языков во вселенной,
чем дальше, тем больше раздражает.
Оно шибко инженерно конечно, но не учёно, а местами и высокомерно.
И само по себе превращает программирование в яичницу.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39929985
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Хм.. забавно crate - переводится как клетка или деревянный ящик. Смысловой паревод я пока не улавливаю.

КАМАК'овский крейт ( https://ru.wikipedia.org/wiki/КАМАК )

поможет?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39929990
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил
mayton
Хм.. забавно crate - переводится как клетка или деревянный ящик. Смысловой паревод я пока не улавливаю.

КАМАК'овский крейт ( https://ru.wikipedia.org/wiki/КАМАК )

поможет?

Да согласен. Ящик. Поддон. Тара.

Какие еще синонимы можно придумать только чтобы быть "особенным".
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39929995
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
...

Какие еще синонимы можно придумать только чтобы быть "особенным".

ну, у некоторых это "колёса" или "самоцветы".
Короба, несомненно, звучат инженернее.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930001
mayton
Далее. Наследования нет. В стандартной доке я не вижу исчерпывающего теоретического обоснования.
Поэтому ищу ответы на семинарах и конференциях по Rust от смежных специалистов.

Вот щас в данный момент смотрю:

Rust Edinburgh #1 - Simon Brand "How Rust gets polymorphysm right"

наследования нет, конструкторов нет, классов толком нет...
бааа... Так мы же изобрели C
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930004
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ящик. Поддон. Тара.

Корзина
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930007
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Корзина - для сбора грибов.
Лукошко - для сбора ягод.
А короб с крышкой, в нём, хочешь бумаги, а хочешь - молоко храни.
И всё переносное.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930025
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
mayton
Далее. Наследования нет. В стандартной доке я не вижу исчерпывающего теоретического обоснования.
Поэтому ищу ответы на семинарах и конференциях по Rust от смежных специалистов.

Вот щас в данный момент смотрю:

Rust Edinburgh #1 - Simon Brand "How Rust gets polymorphysm right"

наследования нет, конструкторов нет, классов толком нет...
бааа... Так мы же изобрели C

Да. С одной стороны выглядит так будто они что-то из языка выкинули. С другой стороны.

wikiRust (англ. rust — ржавчина, произносится [rʌst] — раст) — мультипарадигмальный компилируемый язык программирования общего назначения,
спонсируемый Mozilla Research, сочетающий парадигмы функционального и процедурного программирования с объектной системой, основанной
на типажах, и с управлением памятью через понятие «владения» (систему аффинных типов[en][7], позволяющую обходиться без сборки мусора).
Объектно-ориентированное программирование как таковое языком не поддерживается, но язык позволяет реализовать большинство понятий ООП
при помощи других абстракций[8].

Опять-же... я не нахожу пока того что подсветил красным цветом в официальной доке https://doc.rust-lang.org/book/

Если кто-то найдет внятное объяснение политического (тык-скыть) курса - буду признателен.
Эти тезисы КМК важны для понимания того куда вообще двигается этот язык и какие цели стоят.

И еще. Типаж - это trait?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930027
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
да, это уже почти устоялось, что trait - это типаж.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930028
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offtop
Какой типаж

...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930039
wiki
но язык позволяет реализовать большинство понятий ООП
при помощи других абстракций

"большинство понятий ООП" описано в книжке "Design patterns - Elements of reusable Object-Oriented software"
и как он их реализовывает?
про контейнеры уж не спрашиваю, коли там конструкторов нету...
а вектор объектов у него хотя бы есть?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930045
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вектор есть. Вот здесь описан https://doc.rust-lang.org/book/ch08-01-vectors.html
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930046
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
отнюдь.
Весьма контекстная картинка.
Играет роль, используется в роли, требуется борода, иначе не работает.

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

Вопрос - а в статической системе проверки типов - как выглядит Пуговкин?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930048
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пуговкин - off.

Давай лучше по топику.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930069
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что по топику?
ты подсвечиваешь красным фрагменты, которые либо вообще комментария не требуют,
либо требуют слишком много слов даже от того, кто на самом деле в теме.

Какой смысл вносил автор в "объектно-ориентированное программирование не поддерживается" - лучше бы спросить у автора текста.
Но весьма вероятно, подразумевалось, что слово класс в описании языка не употребляется, нигде нет речи об "экземплярах объектов", понятие "наследование" не используется как синтаксический конструкт.
И что с того?

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


а "политический курс" я вижу примерно так:
технически заменить с++, выкинув "объектную ориентированность", но сохранив zero cors abstractions при статической типизации.

вот как мне кажется, выглядело самоосознание c++ в начале 21 века:
- нам уже понятно, что "ооп не нужен", но он казался нам таким привлекательным, что мы его сохраним, даже если его никто не использует.
- нам остро не хватает концепций и модулей - это точно будем допиливать, пока живы
- нам уже понятно, что сборщик мусора не нужен для "правильно написанной" программы, независимо, от того, использует оно "ооп" или нет. У правильно спроектированного объекта всё правильно освобождается автоматически, все RAII у нас для этого есть.
- хорошо бы нарастить мышцу "безопасного программирования" в части гарантированного исключения переполнения буфера,
исключить memory leak из-потерянных ссылок и крахи обращения к памяти по висячим ссылкам.
- да, еще кому-то что-то про сети, визуалку и параллельные вычисления надо, но это, по большей части, вещи, внешние, библиотечные, как нам кажется, потому второстепенные.

Как отвечает rust (имхо):
- хорошо, что вам "ооп не нужен" - тогда у нас его сразу и не будет
- сейчас (в 2009м) вы еще сами не договорились, что считать концепциями, и как точно их есть, а у нас на этом месте будут traits (хотя само слово это не совсем точно для этого контекста).
- ага, вы говорите, что следующие оба два пункта обслуживаются правильной и аккуратной передачей владения объектом?
во, вот это нам точно надо, и правила передачи владения... кхм... о - объектом памяти, мы прямо в синтаксис языка вошьем.
(имхо, содержательно, именно это и есть центральный пункт и цель всего проекта)
- так-так, там в вашей последней корзине, кажется, что-то полезное завалялось...
а... мы помним, глядя на кого, вы свои обобщения в язык "внедряли". У тех ребят еще "легковесные таски" завалялись, вот их мы себе тоже сразу возьмём, потому что мы "для интернета", пока вы откладываете это на потом.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930073
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

Как отвечает rust (имхо):
- хорошо, что вам "ооп не нужен" - тогда у нас его сразу и не будет
- сейчас (в 2009м) вы еще сами не договорились, что считать концепциями, и как точно их есть, а у нас на этом месте будут traits (хотя само слово это не совсем точно для этого контекста).
- ага, вы говорите, что следующие оба два пункта обслуживаются правильной и аккуратной передачей владения объектом?
во, вот это нам точно надо, и правила передачи владения... кхм... о - объектом памяти, мы прямо в синтаксис языка вошьем.
(имхо, содержательно, именно это и есть центральный пункт и цель всего проекта)
- так-так, там в вашей последней корзине, кажется, что-то полезное завалялось...
а... мы помним, глядя на кого, вы свои обобщения в язык "внедряли". У тех ребят еще "легковесные таски" завалялись, вот их мы себе тоже сразу возьмём, потому что мы "для интернета", пока вы откладываете это на потом.

По поводу передач владения и прочее.

Мне интересно. Какова будет "цена вопроса"? Тоесть насколько глубоко программист должен решать этот
вопрос чтобы код считался безопасным по memory. Тоесть без утечек и попыток "чиркнуть" по памяти чужого
объекта.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930081
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

смотря что считать "ценой вопроса".
rust считает, что у вопроса нет цены. Просто используешь rust за бесплатно, и в этом месте он за бесплатно безопасен.

C++ говорит - у нас теперь есть безопасное подмножество, используя которое вы не сможете выстрелить себе в ногу.
Цена примерна та же - в минимуме - это цена изучения и освоения нового языка/ нового подмножества существующего языка.

У вопроса о цене много разных граней может оказаться, как у хорошего бриллианта.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930085
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пока еще смотрю конфы. Сейчас - RustConf 2910 - Bringing Rust Home

Фрагмент слайда
Rough rule of thumb. A new language need to be 10 times better at something than any of the existing languages to make it worth the effort of introducing and support it.

- Rust detects large classes of serious bugs at compile times
- The cost of a bug at compile time is orders of magnitude less than in productions


Rust детектирует классы серъезных багов в фазе компилляции. И еще вдогонку очевидный тезис
о цене фикса этого бага. Тут как-бы и ежу понятно.

Но фраза выше - заявляет о том что новый язык должен быть на порядок лучше чем существующие.
Очевидно что идет попытка доказать что существующие языки (Java/C++/Python) в этом смысле хуже.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930096
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну, не на Java/Pyton они замахиваются, и не с ними сравниваются. Об этом просто забудь навсегда.
Для них оказаться в одной категории с Java/Pyton, это в лучшем случае сделать красивую мину в момент признания поражения.
И я бы это не за попытку доказать, а за оговорку на случай признания поражения принимал.
Не в том их радость, чтобы к ним люди с Java приходили (хотя и в этом тоже в период начального создания
самовоспроизводящегося коммюнити), а в том, чтобы плюсовики побросали свои знамёна,
и стройно сформировали новые ряды ржавых программистов.

PS
Java, на моё удивление, сама, как пластилин, мнётся, и с большими видами на будущее, после смены владельцев и изгнания
из проекта первосоздателей.

Rust пережил фазу изгнания из проекта своих создателей почти мгновенно, за два-три года,
и двинулся примерно перпендикулярно первоначальным планам, но само по себе это не доказательство непременной живучести.
Не волею божьей, а волею пославших разработчиков жён, языки программирования развиваются.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930097
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что до статической проверки типов в момент компиляции - по тому, что ты говоришь, похоже, что еще не смотрел посвященных этому вопросу с cppcon-2019 роликов. Вот советую это сделать.

Это гонка. И гонка не только с rust, но по тому, как вопрос активизируется, и как реагируют
выступающие на упоминание rust в вопросах, неявно с ним в первую очередь, как текущим предметом жёсткого хайпа.

Прочие потенциальные конкуренты слишком нишевые, а со стороны Java только JIT мог бы серьёзно нервировать, но пока Java
не жилец без gc, с++ может чувствовать себя совершенно комфортно, и даже не реагировать на попытки Java ускориться в развитии.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930098
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот нашел более менее внятное сравнение С++/Rust.

RustConf 2019 - The Symbiotic Relationship of C++ and Rust


[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930100
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
что до статической проверки типов в момент компиляции - по тому, что ты говоришь, похоже, что еще не смотрел посвященных этому вопросу с cppcon-2019 роликов. Вот советую это сделать.

В CppCon2019 плейлист на 160 видосов.

Ты хочешь чтобы я смотрелл до следующего года? Что там особо важное? Хотя-бы на 1-2 часа.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930102
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
ну, не на Java/Pyton они замахиваются, и не с ними сравниваются. Об этом просто забудь навсегда.
Для них оказаться в одной категории с Java/Pyton, это в лучшем случае сделать красивую мину в момент признания поражения.

Это я просто комментировал этого бородача.

[spoiler]
YouTube Video
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930108
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

Java, на моё удивление, сама, как пластилин, мнётся, и с большими видами на будущее, после смены владельцев и изгнания
из проекта первосоздателей.

Java как виртуальная машина достаточно консервативна. Она до сих пор совместима на уровне байткода с 1.1.
И это правда.

А наличие владельца роли не играет. Существует теневое правительство в виде JCP. Благодаря ему Java - надежна
и лидирует в ентерпрайзах. Очень часто муссируется вопрос что будет если Оракл то или Оракл-сё? Купит-продаст
или запретит. Да по большему счету - по барабану. Пока существует OpenJDK. Этот джин уже выпущен из бутылки
так же как и Linux в 90х.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930109
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

Прочие потенциальные конкуренты слишком нишевые, а со стороны Java только JIT мог бы серьёзно нервировать, но пока Java
не жилец без gc, с++ может чувствовать себя совершенно комфортно, и даже не реагировать на попытки Java ускориться в развитии.

Она и никогда не будет жилец без GC. Исполнительная среда и язык - неотделимы. Нельзя вообще рассматривать этот язык
без GC т.к. при его разработке ставились определённые цели и они были достигнуты именно так.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930131
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Исполнительная среда и язык - неотделимы.
Отделимы. Задача, мягко, нетривиальная, но ничто не мешает использовать JVM с совершенно отдельным генератором байт-кода и без Java SE API.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930142
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В вопросах сравнения Rust с чем-то неизвестным мы неизбежно будем обсуждать C++ и Java.

Но если сильно углубляться - то лучше создать отдельный топик IMHO.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930150
mayton
Rough rule of thumb. A new language need to be 10 times better at something than any of the existing languages to make it worth the effort of introducing and support it.

ну пусть Go это расскажут.
Google создал Go для одной глобальной цели - чтобы его программисты могли быстро программировать.
Они снизили порог вхождения до минимума, при этом оставив производительность на около-максимуме.
Там конечно му**к с комплексом бога делал оформление, как в микрософте - взял и навводил новых стандартов, вместо тех, к которым все привыкли.
и поэтому там массив инициализируется как-то так:
Код: plaintext
1.
s := []int{2, 3, 5, 7, 11, 13}


но и хвост с ним. Язык таки зашёл и свою функцию выполняет на 200%. А главное - он всего в 1.5 раза медленее C/C++! В основном потому, что вся эта простота (в частности GC) - не бесплатна. Но учитывая возросшую скорость разработки - сойдёт.
Так что если у ржавого корыта (или коробки, или чё там?) выйдет стать круче и проще Go...
...то он всё равно на хер никому не нужен будет.
Я так думаю.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930155
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза

но и хвост с ним.

Wow-wow... легче с метафорами. А то он обидется.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930157
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза

А главное - он всего в 1.5 раза медленее C/C++! В основном потому, что вся эта простота (в частности GC) - не бесплатна. Но учитывая возросшую скорость разработки - сойдёт.

Смотря на чём сравнивать. Я думаю что основные фичи связанные с I/O во многих ЯП уже достаточно хорошо вылизаны
чтобы не вызывать явных Bottlenecks. Тем более что Golang позиционировался как замена Python/C++ в гугловских
микросервисах. Я думаю что с сетью он работает достатончно быстро.

Но вот с качеством оптимизатора - там не очень. Синтетический и простой тест рендеринга 3Д-графики.
(интенсивное использование double-чисел в виде вектора или tuple с публикацией на выходе ) показывает что Golang во много больше
медленнее чем С++. А C++ и Rust идут примерно вровень.

С++ - 9s
Golang - 43s
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930161
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сорри, у меня тут тырнет корова языком слизнула, вот я выпал из сети...

mayton
...
Она и никогда не будет жилец без GC.....

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

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

Что до роликов - здесь я попался.
Оказывается я подразумевал вот этот устаревший ролик аж 14 года.
Sutter в характерной манере рассказывает как современно писать, а Macintosh показывает, что умеет
тогдашняя экспериментальная версия статического анализатора кода от Microsoft.
YouTube Video
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930169
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

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


EpsilonGC? - это вообще не GC. Это его выключатель по сути. Чисто для экспериментов.

Кстати. Попробуй на досуге вывести хоть какое-то доказательство что объект можно удалить
без использования коллекторов. Опять-же при условии что его ссылку могли миллион
раз скопировать и вписать в глобальные объекты. И при условии что никакого явного
менеджмена владением в Java нет. Все ссылки - одинаковы. Написана тонна легаси кода
и поменять семантику этого кода - практически не возможно.

Или это возможно только при условии создания нового языка с новыми принципами Memory Management.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930170
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

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

Один из крупнейших Европейских банков использовал OpenJDK. И дело даже не в том
что это не Оракловый продукт а опен-сорцный. А они использовали кастомный OpenJDK
где свои-же программисты допилили фиксы по безопасности.

Вообще в Java, open source комьюнити очень сильно. И влияние Оракла на это комьюнити очень
часто преувеличено.

А самому разработчику что? Язык знакомый? Знакомый. Значит сел. Взял jira-тикет и погнал кодить.

Да што там Java... Вокруг уже клубится 10 языков которые косвенно нужны по работе.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930171
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оказывается я подразумевал вот этот устаревший ролик аж 14 года.
Sutter в характерной манере рассказывает как современно писать, а Macintosh показывает, что умеет
тогдашняя экспериментальная версия статического анализатора кода от Microsoft.
Я посмотрю ближе к вечеру наверное.

Тема формального доказательства правоты кода или гарантия отсуствия ошибок - это тема мне интересна.

И именно поэтому я поднял "бухтелку".
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930175
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930176
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВообще в Java, open source комьюнити очень сильно. И влияние Оракла на это комьюнити очень
часто преувеличено.
Каша варится не просто разогревом котелка до бурления.
Обязательно требуется правильное помешивание.
Крутить мутовкой по часовой стрелке или против, определяется общим устройством механизма управления на базе обратной связи.
Все колёсики здесь, как прямые, так и косвенные в руках одной корпорации.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930177
wiki
Rust (англ. rust — ржавчина, произносится [rʌst] — раст) — мультипарадигмальный компилируемый язык программирования общего назначения, спонсируемый Mozilla Research

Mozilla Firefox - протекающее говно, которое выжирает всю память на линухе
каждый день надо выгружать и перезапускать
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930180
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у не менее опенсорсного rust, тоже, кстати, единый владелец в этом смысле.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930195
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
wiki
Rust (англ. rust — ржавчина, произносится [rʌst] — раст) — мультипарадигмальный компилируемый язык программирования общего назначения, спонсируемый Mozilla Research

Mozilla Firefox - протекающее говно, которое выжирает всю память на линухе
каждый день надо выгружать и перезапускать

Согласен что Mozilla говно. Но в этой цепочке причин и следствий надо что-то развернуть в другую сторону.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930196
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНаписана тонна легаси кода
и поменять семантику этого кода - практически не возможно.
и не нужно.
если совместимость сохраняется, весь старый код работает как работал.
Это не значит, что новый код рядом не может работать иначе. Это ответ сообщества c++

Известны примеры, когда корпорации выпускали такие "новые версии языка", на которых старый код просто не компилировался.
Люди иногда не ведают, что творят.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930198
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
у не менее опенсорсного rust, тоже, кстати, единый владелец в этом смысле.

Есть определенная разница.

После последних событий с Windows7/Windows10 сообщество обращалось к синему гиганту с просьбой
открыть исходники Windows-7. Разумеется пока никакого толку от этой просьбы нет.

Тоже самое если Oracle попросить открыть сорцы DBMS.

Но с Rust/Java немножко другая ситуация. Их сорцы доступны и вы можете их самостоятельно пересобрать.

Вобщем тезис в владением требует определённого дополнения.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930200
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
авторНаписана тонна легаси кода
и поменять семантику этого кода - практически не возможно.

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

Известны примеры, когда корпорации выпускали такие "новые версии языка", на которых старый код просто не компилировался.
Люди иногда не ведают, что творят.
Мне кажется что мы упорно съезжаем в оффтоп.

Основная тема топика - Rust. И я-бы не хотел ее превращать в противостояние вообще третьих языков.

Есть такое вот у меня пожелание топик-стартера.

Сравнимаем Rust с языком %LANGUAGE_NAME% и всё.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930202
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТема формального доказательства правоты кода или гарантия отсутствия ошибок - это тема мне интересна.
пока рылся в роликах, обнаружил статистически значимое присутствие оных на тему контрактов.
То есть, из недовыбранного синтаксического арсенала ADA/SPARK разве что легковесные процессы и остались.
Подозреваю, раз пошла такая пьянка, то и с ними почти наверно активно экспериментируют.

И даже есть ролик от Andrew Sutton на тему - "а зачем бы нам понадобилась интроспекция,
если мы не планируем код в рантайме модифицировать" - надо будет глянуть.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930204
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, ок.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930223
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Контракты - интересная тема. Но КМК она выходит за рамки языка.

Из тех реализаций что я видел - это особым опразом описанные базовые интерфейсы.

Вот каким контрактом покрыть возникновение NPE? Пока я не нашел решения.

NPE я считаю очень важным поинтом. Это ошибка которая уже стоила человечеству в 1 милиард.
И кроме того NPE является неопровержимым доказательством вины разработчика.
Говоря простым языком "мы обосрались". И никакого здесь нет оправдательного
фактора.

Есть языки в которых заявлено отсутствие NPE. Это например Lisp. Он трактует Nil как пустой список
да и вообще очень толерантен.

SQL - тоже на уровне операций не боится NULL. Просто скипает обработку.

Что в Rust? Заявлено принципиально отсутствие NPE?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930273
а что это за существо в платье там в начале?
куда это цппкон скатился...
YouTube Video
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930277
на 49й минуте он там как раз обсуждает сабж
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930281
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
мой крайний офф (traits):
на эту ссылку я попал с англоязычной википедии, где о происхождении термина смутно указано.
http://scg.unibe.ch/archive/papers/Scha03aTraits.pdf

получается, русскоязычная версия права, и в современном виде это швейцарское изобретение из Бернского университета.

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

Концепции формулируются как набор логических утверждений о свойствах/методах, требуемых от используемого типа,
а контракты в терминах значений выражений, построенных на переменных используемого типа.
Их почти единственная задача - формулировка пред/постусловий.
Волшебство проектирования здесь состоит в том, как спроектировать все это вместе так,
чтобы оно, будучи проверенным только на этапе компиляции вселяло в тебя уверенность в гарантиях времени выполнения.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930411
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что за транс-гендерный парень появился? На 1й минуте перед стариком Бярне?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39930442
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote=booby]
Что до роликов - здесь я попался.
Оказывается я подразумевал вот этот устаревший ролик аж 14 года.
Sutter в характерной манере рассказывает как современно писать, а Macintosh показывает, что умеет
тогдашняя экспериментальная версия статического анализатора кода от Microsoft.
YouTube Video
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39932029
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВот нашел более менее внятное сравнение С++/Rust.

RustConf 2019 - The Symbiotic Relationship of C++ and Rust

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

PS
Типаж как перевод для traits мне сразу не понравился.
Пока ехал сегодня домой понял, что правильным переводом должно быть слово подстава .
Испанец совершенно убедил меня в моей правоте.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39932030
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Испанец испанка.
sorry for my fault.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946604
Полухин нагнул Rust (17:00)
YouTube Video
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946613
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза, о спасибо. Посмотрим.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946646
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза,

Не, по Rust-у там фигня. А вот Go реально нагнул ))
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946685
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза,

хороший текст, хотя и маркетинговый чуть менее, чем целиком.
Но, на мой взгляд, все существенные моменты в современной околоязыковой мифологии затронуты.

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

2) язык x плохой, потому что по отношению к y, компилятор, точившийся для y, вставляет дополнительные инструкции,
и наверно это и есть прямое свидетельство непригодности языка x.
Во первых, см. п. 1)
Во вторых, место такой оказавшейся вставки - на мой взгляд - затрагивает самое существо дела.
А именно - б о льшая часть борьбы вокруг безопасности сосредотачивается, в конечном счёте, вокруг вопросов
о передаче параметров и их использовании в теле процедуры.
Усложнение семантики в обоих моментах ведет к техническому усложнению организации вызова.
И то, что современный компилятор языка x не очень хорошо видит, где синтаксические модификаторы
должны приводить к наличию дополнительного кода, а где нет - на мой взгляд, целиком укладывается в позицию 1) и не является собственным недостатком языка x.

3) про язык y везде и даже в ЦЕРНе.
Суть здесь в том, что всякий язык должен что-то гарантировать программисту.
два замечания в этом контексте:
- одно - про статическую компиляцию и связанную с ней веру в достижение конечной цели статического доказательства
правильности работы программы. Нет сейчас никакого языка, который осмелился бы заявить, что окончательно достиг такой цели.

второе - касательно "скорости".
Гарантии, касающиеся скорости, в языках типа y стоят на двух столбах
а) наши абстракции бесплатны в том смысле, что сами вы не найдёте способа получить их дешевле - здесь - допустим.
б) мы гарантируем вам, что "оптимизируем" ваш код так, что не только мама программиста не узнает, её ли сын/дочь его писал,
но и самому программисту придется попотеть, чтобы опознать, в том что получилось, как же оно соотносится с написанным им кодом.
То есть гарантируется неотъемлемое право компилятора ломать и переставлять местами код, написанный программистом.
Началось это с goto considered harmful, который был проклят именно за то, что мешает умным компиляторам ломать глупый код программиста.

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

И любой "оптимизирующий" компилятор, произвольно переставляющий код программиста из соображений "скорости вычисления",
не то, чтобы должен быть немедленно проклят, а технически не годен для использования на таких задачах, в которых программисту
весьма желательна обратная гарантия от компилятора, когда тот даёт честное слово, гарантию того,
что не будет произвольно манипулировать исходным кодом.
cpp, несомненно, ведущий язык в церне, но, имхо, это результат наличия обширной библиотеки вычислительных алгоритмов, написанной на фортране чуть менее, чем целиком.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946700
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,

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

А философствовать можно до абсолютной бесконечности меняя угол и наклон точки зрения. Потому как даже памятник Пушкину с какой-то стороны является не более чем каменной задницей.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946713
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

К сожалению….

Почему "к сожалению"?


hVostt
... Ваши замечания ... выглядят и фактически являются не более чем философией.

Почему это вас печалит?
Я, таки, вполне удовлетворюсь и тем, что эти замечания выглядят и не менее, чем философия.
:)

hVostt
... которые можно было зачесть...

Примите к расчёт, что персонально Ваше желание что-либо "зачесть" совершенно бесценно для меня.

hVostt

А философствовать можно до абсолютной бесконечности меняя угол и наклон точки зрения....

Можно. И моё скромное мнение состоит как раз в том, что, по возможности - нужно.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946818
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby,

Ну вот, што и требовалось доказать

booby хороший текст, хотя и маркетинговый чуть менее, чем целиком.

Показывать, почему это так, на фактах, я конечно же не буду.

Маркетинговый и всё.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946906
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начал смотреть.

На 26-й минуте Полухин говорит о соглашениях по вызову. И о том что их менять нельзя.
Полностью согласен. Нелзя.

Но язык Rust - молодой и сырой. Он только в 2015 году вышел на версию 1.0.
Тоесть 5 лет прошло. И если сравнивать его с историей С++ то это ничтожно мало.
Это как эволюция Windows-95 - Windows-2000. Такая примерно разница.

Вобщем смотрю дальше.

Но не могу сказать что Полухин прям "нагибает". Нагибатор блин. Скорее просто сравнивает.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946912
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Далее.

По поводу сравнения бинарников. Не очень корректно сравнивать бинарь Rust и бинарь
собранный классическим компилляторо (возм GCC?) который генерирует бинарь.

Тут либо надо было брать clang/rust и смотреть насколько эффективен LLVM-код на выходе.

Либо просто списать этот бинарный шум на особенности самого LLVM. Тоесть по сути
это замечение к другому стеку технологий. На ДРУГОМ более низком уровне.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946927
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На 30-й минуте Антон говорит о том что для С++ написана уйма библиотек и т.д. в т.ч Фортран (!)

Аргумент вобщем не о чем. Он не отностится напрямую к языку. Это просто еще одна констатация
того факта что язык - молод.

Блок unsafe { ... } и безопасность. Эта таже самая старая тема что JNI/Java, Platform Invoke/Dotnet. Ее используют
не от хорошей жизни. Очень часто как временное решение для вызова протокольной библиотеки (драйвера БД)
и т.п. Но сообщество обычно через несколько лет выкатывает нативный по отношению к Java/.Net драйвер
который взаимодействует с сетью и нормально решает этот вопрос с unsafe {..}.

Тоесть существует синергетический тренд на сокращение секций unsafe. Они не должны быть вечными.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946950
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На 36 минуте Антон утверждает что Go - в 2-4 раза медленнее С++.

Да. Подтверждаю что в 2 раза - точно медленее. Но общий посыл сообщения - это очень сильная
манипуляция аудиторией. В конце концов те цели для которых Go создавался - достигнуты.
Он оказался лучшим языком google для клепания внутренних микро-сервисов где скорость
ПРОЦЕССА разработки или эффективность разработчика была бы выше чем в С++ и перформанс
рантайма был бы лучше чем Python.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946951
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На 40-й минуте. "Палево" касающееся скрытого отключения GC для managed языков.

Очень хороший поинт. Я спецом проверю как ведется лог GC для Java implementation
трассировщика луча чтоб убедится что мне повезло и я попал в промежуточек между
уборками. ИЛи все таки уборка была но достаточно быстрая.

Спасибо Антону.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946964
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
...это очень сильная
манипуляция аудиторией....

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

Но в целом, это уныло, продавать идею о том, cpp - лучший из языков, на конференции по cpp
Там все коробейники с таким товаром.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946965
mayton
На 30-й минуте Антон говорит о том что для С++ написана уйма библиотек и т.д. в т.ч Фортран (!)

Аргумент вобщем не о чем. Он не отностится напрямую к языку. Это просто еще одна констатация
того факта что язык - молод.

D имеет поддержку C-либ и он проще в разработке, но чё-то убийцей С++ не стал...
Go вообще не имеет поддержку C-либ, но взлетел гораздо выше растов и D, и даже питона походу обогнал
...однако он правильно говорит, что строить 100500 доп. дата-центров спецом для Go никто не будет...
короче говоря, C/C++ непобедим.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946978
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня в течение лекции не покидало ощущение что Антон пошел в крестовый поход за С++
при том что с другой стороны вобщем-то никого нет. Всем пофиг.

Или аудитория подобрана так что сидят С++ ники. И кому это было надо?

Кому был месседж?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39946997
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа лекция поддержки С++ newcomers? Не бойтесь ребята. У вас будет работа. Будут вакансии.

Правда порог вхождения мать ево... ну ничего-ничего.... как-то разойдется.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947015
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример с log-stash - был вообще ниочем. Просто частный случай. Мы дескыть выкинули из него
ненужный функционал и переписали на С++ и теперь давайте сравним расход ресурсов.

Можно было про это не говорить. Так. Зря потраченое эфирное время.

Какой вообще был информационный повод создавать эту лекцию?!
Услышать от лектора "Я не люблю маркетинговый шум от других языков?"
Ну... такое.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947021
C++ конфы вообще мало смотрят
даже у https://www.youtube.com/results?search_query=cppcon+2019
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947023
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто унижает?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947025
mayton
А кто унижает?

так тесты те же самые, где C++ якобы сливает
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947027
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дай линки.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947043
ты начало видео не смотрел чтоли?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947048
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рука-лицо...

тебе сложно кликабельный линк приаттачить?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947049
да нет у меня линков. Видео смотри, там словами.

лично я считаю, что C++ экономит гораздо больше времени, чем требует на преодоление "порога вхождения"
когда знаешь C/C++, то уже не нужны никакие другие языки и не придётся страдать от каши из разных языков
и именно C++, как никто, учит программировать строго правильно, именно так, как нужно
если научился на C++, то считай понял всю компьютерную начинку
А заодно и сумеешь написать что угодно - хоть электронику программируй, хоть игры пиши.
да и порог не такой уж и высокий, было бы желание.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947052
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Роза
да нет у меня линков. Видео смотри, там словами.

лично я считаю, что C++ экономит гораздо больше времени, чем требует на преодоление "порога вхождения"
когда знаешь C/C++, то уже не нужны никакие другие языки и не придётся страдать от каши из разных языков
и именно C++, как никто, учит программировать строго правильно, именно так, как нужно
если научился на C++, то считай понял всю компьютерную начинку
А заодно и сумеешь написать что угодно - хоть электронику программируй, хоть игры пиши.
да и порог не такой уж и высокий, было бы желание.


Другое дело. По этому пункту.

>> и именно C++, как никто, учит программировать строго правильно, именно так, как нужно

Согласен.

>> если научился на C++, то считай понял всю компьютерную начинку

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

>> когда знаешь C/C++, то уже не нужны никакие другие языки и не придётся страдать от каши из разных языков

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

>> лично я считаю, что C++ экономит гораздо больше времени, чем требует на преодоление "порога вхождения"

Не согласен. Сколько длился твой порог вхождения?

По остальным пунктам я воздержусь.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947075
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
Но в целом, это уныло, продавать идею о том, cpp - лучший из языков, на конференции по cpp
Там все коробейники с таким товаром.


Лучший с точки зрения производительности.
Оспорить-то никто пока не может.

Понятное дело, что для разных задач разный инструмент, с самого начала были указаны сферы применения, какие претензии?

При чём тут маркетинг? Всё сказанное соответствует действительности. Если это где-то не так, просьба продемонстрировать, а не болтать про маркетинг и сферических макретологов в вакууме. Уныло, не интересно, и не по адресу.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947076
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Или аудитория подобрана так что сидят С++ ники. И кому это было надо?

Кому был месседж?


Месседж, рассказать, почему C++ до сих пор актуален. Для сообщества это крайне важно. Всем хочется кушать, никто не хочет остаться у разбитого корыта.

Учитывая наличие постоянно декларируемых убийцев С++, это актуально как никогда.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947077
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Пример с log-stash - был вообще ниочем. Просто частный случай. Мы дескыть выкинули из него
ненужный функционал и переписали на С++ и теперь давайте сравним расход ресурсов.

Можно было про это не говорить. Так. Зря потраченое эфирное время.


Тоже не согласен. Цифры. У нас я почекал, сравнить не с чем, но с исходными данными бьётся. Такая же нагрузка от логстеша. И да, это немного парит.

Это совершенно актуальный и практический вопрос, и сравнение совершенно в тему.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947080
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
...
Лучший с точки зрения производительности.
Оспорить-то никто пока не может.
....

Торвальдс может.
Правда, он не только это может.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947088
mayton
Согласен.

mayton
Не согласен.

у каждого своя точка зрения
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947107
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
Пример с log-stash - был вообще ниочем. Просто частный случай. Мы дескыть выкинули из него
ненужный функционал и переписали на С++ и теперь давайте сравним расход ресурсов.

Можно было про это не говорить. Так. Зря потраченое эфирное время.


Тоже не согласен. Цифры. У нас я почекал, сравнить не с чем, но с исходными данными бьётся. Такая же нагрузка от логстеша. И да, это немного парит.

Это совершенно актуальный и практический вопрос, и сравнение совершенно в тему.

Меня поразило другое. Логстеш был настолько универсален что хавал ВСЕ (!) форматы логов.
Особенно удивительно тем что формат даты в логах был разный. Я еще тогда заподозрил что
он как-то слишком много действий будет делать (список регулярок штоли).

Знающие логстеш - прошу подтвердить или опровергнуть.

Но в рамках современного облако-строительства когда бизнесу задача нужна "на вчера"
а парсить логи уже надо - он скорее всего обеспечивает очень быстрый выход в прод.

Я такой подход не одобряю но я понимаю почему его берут как универсальное решение а потом
кастомизируют. И я думаю что написание своей утилиты было кастомизацией хотя и тактически
неправильной. Надо было профилировать под JProfiler или FlightRecoder и смотреть что именно
тормозит. Если регулярка - выкосить нах. LMAX достиг перформанса соизмеримого с С++ - значит
и логстеш тоже можно.

Я верю в это.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947108
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
Или аудитория подобрана так что сидят С++ ники. И кому это было надо?

Кому был месседж?


Месседж, рассказать, почему C++ до сих пор актуален. Для сообщества это крайне важно. Всем хочется кушать, никто не хочет остаться у разбитого корыта.

Учитывая наличие постоянно декларируемых убийцев С++, это актуально как никогда.

Ага. По сути идёт борьба на поголовье новых разрабов которые должны "влиться" в ряды.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947113
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
hVostt
...
Лучший с точки зрения производительности.
Оспорить-то никто пока не может.
....

Торвальдс может.
Правда, он не только это может.

Торвальдс в р0т (хл)ебал С++. Но он - сложный человек.
Как Элик в Oracle. Срёт всем в мозг - и ему позволительно.

Я считаю - имеет право (Торвальдс). Это - его детище.
Выстраданное...
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947142
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
...
Торвальдс в р0т (хл)ебал С++. ...

я же добавил - он не только это "хлебал".

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

Я подозреваю, что если бы он столь агрессивно не "хлебал", то никакого стабильного многолетнего финансирования
от "не названного источника" (слухи конкретный банк называют) , никакой Linux Foundation никогда бы не получил,
да и самого "фаундейшена" не было бы.

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

Хоть эти две истории самостоятельные и сильно разнесены во времени,
но в моём самоизолированном сознании они крепкой веревочкой связаны.
То есть, Линус - причина по крайней мере некоторых тектонических движений в отрасли.
Ну, так мне кажется
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947145
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
mayton
...
Торвальдс в р0т (хл)ебал С++. ...

я же добавил - он не только это "хлебал".

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

Я помню этот срач. Ему больше 15 лет. Кажется Таннебаум топил за микро-ядра а Линус за монолоит.
Но тактически победил Линус т.к. выдал нечто работающее. А теоретики остались за бортом.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947165
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
...Ему больше 15 лет. Кажется Таннебаум топил за микро-ядра а Линус за монолоит.
Но тактически победил Линус т.к. выдал нечто работающее. А теоретики остались за бортом.

ох, скрижали лень подымать, но как бы ни больше 25 в моём сознании...
во - вики про 92й год рассказывает.

Таненбаум поминает этот срач.
Но финансирование получил Торвальдс, примерно в это время как раз.
Вот и вся история про профессоров и хакеров.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947198
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕМНИП все было проще, начиналось засилие MS, Билл Гейтс наседал и IBM проспонсировал развитие Линукса чтобы за MS DOS не переплачивать.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39947252
у IBM была OS/2
а в линух вливаются сотни миллионов $$ от всяких гуглов, интелов, ораклов, айбиэмов и прочих
фря о таком и не мечтает...
но всё ещё держится
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39966787
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрел вот такое, по случаю выходных:

YouTube Video
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39978592
microbash
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Алексей Роза

Go вообще не имеет поддержку C-либ


Что вы имеете в виду? Из Go нельзя вызвать код С?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #39978602
microbash
Алексей Роза

Go вообще не имеет поддержку C-либ


Что вы имеете в виду? Из Go нельзя вызвать код С?

с большими костылями можно. ибо в Go другой линкер и есть GC.
Теперь у них есть SWIG , жить стало легче. А то раньше C++ вообще никак.

в D это просто подключение либы, как и в C/C++.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #40137366
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Философия обработки исключительных ситуаций в Rust.

Как известно - исключений нет. Но что есть? Как нам, разработчикам, привыкшим сидеть
в теплой ванне try-catch ловить ошибки к примеру I/O? Неужели мы теперь обязаны
проверять каждый статус как в языке "C" ?

Вот тут я начал читать.
https://doc.rust-lang.org/nomicon/unwinding.html

И по поводу терминологии. Как вы переводите Unwinding?
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #40137432
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Раскручивание, развёртывание.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #40137441
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Философия обработки исключительных ситуаций в Rust.

Как известно - исключений нет. Но что есть? Как нам, разработчикам, привыкшим сидеть
в теплой ванне try-catch ловить ошибки к примеру I/O? Неужели мы теперь обязаны
проверять каждый статус как в языке "C" ?

Вот тут я начал читать.
https://doc.rust-lang.org/nomicon/unwinding.html

И по поводу терминологии. Как вы переводите Unwinding?

Насколько я помню, неудачный unwrap приводит к панике. Надо проверять все, хотя бы результат цепочки анврапов.
Исключений в расте нет , идеология владения мешает.

И вообще, пора про него забыть, хайп уже прошел.


Stack Unwinding - Раскрутка/размотка стека.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #40137462
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Вот тут я начал читать.
https://doc.rust-lang.org/nomicon/unwinding.html

И по поводу терминологии. Как вы переводите Unwinding?

В данном конкретном случае я бы склонялся к переводу в стиле " завершение с ошибкой ".
Но не настаиваю, по множеству причин.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #40137467
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby
mayton

Вот тут я начал читать.
https://doc.rust-lang.org/nomicon/unwinding.html

И по поводу терминологии. Как вы переводите Unwinding?

В данном конкретном случае я бы склонялся к переводу в стиле " завершение с ошибкой ".
Но не настаиваю, по множеству причин.

Мда... все переводы - ужасны. Пожалуй я оставлю Unwinding как есть.
Это как если-бы я стал в одном тексте переводить Thread как поток
и тут-же попался бы в ловушку синонима когда пришлось вводить бы
перевод для Stream.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #40137475
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Это как если-бы я стал в одном тексте переводить Thread как поток и тут-же попался бы в ловушку синонима когда пришлось вводить бы перевод для Stream.
"поток исполнения" и "поток данных".
Уточняющие слова можно убирать, если смысл очевиден из контекста.
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #40137486
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Если что, есть растбук на русском, но это другая книга
https://doc.rust-lang.ru/book/
...
Рейтинг: 0 / 0
Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
    #40137511
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl
mayton,

Если что, есть растбук на русском, но это другая книга
https://doc.rust-lang.ru/book/

Спасибо
...
Рейтинг: 0 / 0
146 сообщений из 146, показаны все 6 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]