Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4 5 6      [все]
 Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Котаны-братаны!

Здесь я буду ворчать и бухтеть про 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

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

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

Мы не будем обсуждать причины возникновения этого топика. Он возник и возник. И хрен с ним.


Сообщение было отредактировано: 14 фев 20, 19:32
14 фев 20, 19:01    [22080316]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Ворчалка типо-данных.

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

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

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

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 (!) и получил ошибку сборки. Что-то с макросами
надо почитать про его роль.

Интересно что туловище объекта существует отдельно от декларации его методов.
В этом есть как-бы и ООП и одновременно не-ООП. Дуализм.
14 фев 20, 23:30    [22080400]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
После let - идут константы. Если нужна перменная - добавляют mut.

    let mut x = 5;
    println!("The value of x is: {}", x);
    x = 6;


Хм.. интересно как они поступают со ссылками на данные которые мутируют.
14 фев 20, 23:35    [22080404]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
А вот еще интереснее. Shadowing. Не могу перевести. Затенение что-ли.

    let x = 5;
    let x = x + 1;
    let x = x * 2;

Здесь получается декларируются 3 константы x каждая последующая из которых "затеняет" предыдущую.
14 фев 20, 23:38    [22080405]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
А вот интересная штучка. Tuples. Я всегда переводил как "кортежи". Не знаю правильно или нет.
Rust различает скалярные и compound типы. Вот кортеж относится ко вторым.

Инициализация кортежа. По нашему это анонимный класс из (int, double, byte) типов.
let tup: (i32, f64, u8) = (500, 6.4, 1);
14 фев 20, 23:42    [22080406]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
С массивами вобщем ничего интересного.
let a = [1, 2, 3, 4, 5];

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

Даже в режиме релиза. Я собрал cargo build --release и получил стандартную ошибку проверки диапазона массива.
14 фев 20, 23:47    [22080408]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
А вот штука похожая на тернарную операцию C++/Java

    let condition = true;
    let number = if condition {
        5
    } else {
        6
    };
14 фев 20, 23:56    [22080410]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
А вот еще интересная тема.

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

Удобная штука.
15 фев 20, 00:04    [22080412]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Далее. Пойдет Borrowing and Ownership.
Относится к контролю за памятью и ссылками.
Наверное отложу на завтра.
15 фев 20, 00:09    [22080414]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
ViPRos
Member

Откуда:
Сообщений: 9883
mayton,

В Rust главное понять работу с памятью (владение, заимствование,...), остальное не существенно.
15 фев 20, 00:11    [22080416]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Надеюсь что это будет наиболее мясная часть меню.
15 фев 20, 09:38    [22080451]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
ViPRos
Member

Откуда:
Сообщений: 9883
mayton,

А там больше ничего и нет
15 фев 20, 12:16    [22080472]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
полудух
Member

Откуда: планета орков, г.Зверополис
Сообщений: 1349
mayton, ты же знаешь C/C++, чем он тебя не устраивает?
зачем плодить зоопарк языков в голове?

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

не бесплатно же.

Сообщение было отредактировано: 15 фев 20, 16:05
15 фев 20, 16:04    [22080517]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Есть интерес посмотреть на модель памяти Rust. Принять к сведению best practices.
15 фев 20, 16:37    [22080529]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
полудух, по поводу выхода за границы массива. Да. Думаю есть такой пункт.
Не бесплатно. Но высокий перформанс работы с массивами бывает редко.
Я помню я разрабатывал в студенчестве алгортмы машинной графики.
Например заштриховать полигон из пикселов в SVGA-режиме. Там я использовал
прямой доступ к памяти.

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

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

fn main() {

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

error: index out of bounds: the len is 3 but the index is 3
  --> src/main.rs:20:13
   |
20 |     let y = a[3];
15 фев 20, 16:53    [22080532]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
полудух
Member

Откуда: планета орков, г.Зверополис
Сообщений: 1349
кому нужны эти массивы, когда есть <vector>
и <array> (модуль, где всё учтено)

Сообщение было отредактировано: 15 фев 20, 18:05
15 фев 20, 18:05    [22080544]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
полудух
Member

Откуда: планета орков, г.Зверополис
Сообщений: 1349
mayton
Но высокий перформанс работы с массивами бывает редко.

по-моему ты неправильно относишься к массивам.
это же map-to-hardware
массив = ячейки памяти, 1 в 1
в C/C++, а вот в остальных языках - нет
в ПХП там вообще дикие абстракции, такие, что массив занимает в X раз больше размер
там и int = 40 байт
а вот в C/C++ это именно память и есть, и какой такой "высокий перформанс" может быть выше этого - загадка.
15 фев 20, 18:10    [22080545]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
полудух
кому нужны эти массивы, когда есть <vector>
и <array> (модуль, где всё учтено)

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

Но я хочу закрыть тему работы с массивами тем что UB не удалось получить.
Либо не будет компилляции. Либо будет зафиксирована ошибка. Об ошибках - тоже чуть позже.
15 фев 20, 18:34    [22080549]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
На сегодня - тема Ownership, Borrowing.
Я попробую перевести как Владение и Одалживание в рамках данной технической доки
Но ради чистоты терминологии я их оставлю as is.

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

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

Владение (Ownership) - это наиболее уникальная фича Rust, которая позволяет создавать гарантии
безопасности памяти без необходимости Garbage Collector. Поэтому очень важно понять как ownership
работает в Rust.
15 фев 20, 18:48    [22080551]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Далее по тексту. Я двигаюсь длинными прыжками и буду постить только наиболе значимые фрагменты КМК.

Правила Ownership.

  • Каждое значение (value) в Rust имеет переменную которая зовётся владельцем (owner).
  • Может существовать только 1 owner в один момент времени.
  • Когда owner покидает scope - значение удаляется (When the owner goes out of scope, the value will be dropped).
15 фев 20, 18:57    [22080557]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Работа со scope знакома всем по C++. Я не буду пересказывать. Просто фрагмент кода с каментами.


{                      // 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
15 фев 20, 19:00    [22080558]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Хм.. забавно crate - переводится как клетка или деревянный ящик. Смысловой паревод я пока не улавливаю.
Есть варианты. Модуль. Пакет. Зависимость. Единица публикации. Пока не определился.

Впервые вроде как здесь упоминается https://doc.rust-lang.org/cargo/reference/publishing.html
15 фев 20, 20:25    [22080567]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Щас на пару часиков вернёмся в родительскую задачу.
https://www.sql.ru/forum/1173809/tyapnichnyy-benchmark-cpu-part-1

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

+
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);
}



   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.


Хм... тут надо понять что это за пакет. И зачем он нужен. Предположительно - это генератор случайных чисел.
Попробую пофиксить.
15 фев 20, 20:48    [22080570]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Просто позакоментарил и компиляция прошла.

-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.

Заодно обновим статистику по бенчмаркам.
15 фев 20, 21:15    [22080573]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
8 секунд на AMD.

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

Патчился Линукс и патчился сам Rust c зависимостями.
15 фев 20, 22:09    [22080582]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Перетестил "C"(Clang)
9 секунд. Ну что-ж наверное у меня цифры были устаревшие.
Но всё равно Rust быстрее.

Щас обновлю цифирки в 3х ключевых компилируемых натив-языках и опбуликую скрин.
15 фев 20, 22:16    [22080585]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Отчёт в смежном 22080587. Чтоб тут не флудить.
15 фев 20, 22:33    [22080588]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1543
mayton
Но всё равно Rust быстрее.

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

А вообще он не взлетит. Дело даже не в языке, а в том, что его разрабатывают хуже, чем js в свое время.
17 фев 20, 06:50    [22080948]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Спасибо за ценное замечание.

Вы rust-разработчик?
17 фев 20, 09:12    [22080982]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1543
mayton
Вы rust-разработчик?

Нет, конечно
17 фев 20, 09:14    [22080984]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
crutchmaster
mayton
Вы rust-разработчик?

Нет, конечно

Давай так.

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

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

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

Мыж не блондинки какие нибудь?
17 фев 20, 09:22    [22080989]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
crutchmaster
Member

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

Что там проверять? Руст с самого начала позиционировал себя так, что хотите safe - пишите всё на руст. Этим они уже зарыли себя в могилу, потому что иди, перепиши всю эту прикладуху на руст заново. Второе - это этот их аджайл, что языку уже много лет, а они всё равно тащат с собой nightly сборки. Даже на ноде уже появился lts и можно чувствовать себя не совсем хипстором. Хотя лет через 10 может что-то и выйдет, если правда не придумают еще один руст, который будет, конечно, не совместим с этим. Некоторые уже рвутся что-то на руст переписывать, но разговоров слышно про это много, а про то как оно потом эксплуатируется - нема. А проблемы продакшона не состоят из похереных границ массива и чего-то подобного. Надо чтобы софт предсказуемо собирался и работал, не ломаясь при очередном обновлении. Как будет с поддержной руста дальше - не понятно. Сейчас видно, что они клепают фичешчи, у них каждый месяц по "стабильному" релизу, где они что-то вносят в язык. Про какой продакшен сейчас можно говорить - не понятно. И если выбирать между рустом и вба, то выбор - однозначно вба, как бы это дико не было.
17 фев 20, 10:14    [22081024]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Мне непонятно каким чудом ты сюда втащил VBA. И почему ты выше упоминал "скриптухуу"
Rust - судя по спецификации - это язык строгой типизации. И статически компилируемый.
Мне непонятно кто такие "они" ? Возможно ты имел в виду разработчиков Mozilla? Уточни.

Тоесть с одной стороны ты вроде в теме. Сыпешь какими-то фактами. Как инсайдер. С другой стороны - твои факты
сначала должны лечь на мои знания и спеку которую я приложил первой линкой. И только после
этого эти факты могут быть мной приняты. Пока я услышал от тебя эмоции.
17 фев 20, 10:48    [22081068]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1543
mayton
Мне непонятно каким чудом ты сюда втащил VBA.

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

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

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

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

Сообщение было отредактировано: 17 фев 20, 12:52
17 фев 20, 12:52    [22081239]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
crutchmaster
mayton
Мне непонятно каким чудом ты сюда втащил VBA.

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

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

Давай уже покончим с ним. ОК?
17 фев 20, 13:04    [22081254]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
crutchmaster

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

Их вводят щас везде. В дотнете. В Node.JS. e.t.c. Это имеет связь с топиком
https://www.sql.ru/forum/1303834/tyapnichnaya-budushhaya-multipotochnost
17 фев 20, 13:05    [22081258]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Разрабы руста.

Ну ОК. Держи меня вкурсе новостей от этих загадочных господ.
На телеграм я уже подписался. Но може что-то проскочит...
17 фев 20, 13:10    [22081266]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 1543
mayton
Давай уже покончим с ним. ОК?

Да речь про стабильность, а не вба. Можно заменить его C89, если угодно. Вот на нём всё собирается уже 30 лет, а будет ли что-то собираться на русте через 2 года - большой вопрос. Сейчас в стандарт ecmascript допиливают что-то раз в год, да и то ничего эпохального, а тут свежие фичи раз месяц.
17 фев 20, 13:23    [22081292]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
crutchmaster
mayton
Давай уже покончим с ним. ОК?

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

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

Может быть я не ищу замены.
17 фев 20, 13:33    [22081303]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Двигаемся к ржавому ООП.

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

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

struct Foo {
    a: u8,
    b: u32,
    c: bool,
}

let foo = Foo { a: 0, b: 1, c: false };
23 фев 20, 01:22    [22085309]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
hVostt
Member

Откуда:
Сообщений: 18013
mayton,

немного не по core теме, какой ide пользушся?
пробовал CLion для раста?

Сообщение было отредактировано: 23 фев 20, 01:35
23 фев 20, 01:35    [22085313]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
hVostt
Member

Откуда:
Сообщений: 18013
de

Сообщение было отредактировано: 23 фев 20, 01:35
23 фев 20, 01:35    [22085314]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Atom + поставил плагин Rust IDE.

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

Компилиую в консоли отдельно.
23 фев 20, 01:43    [22085320]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Далее. Наследования нет. В стандартной доке я не вижу исчерпывающего теоретического обоснования.
Поэтому ищу ответы на семинарах и конференциях по Rust от смежных специалистов.

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

Rust Edinburgh #1 - Simon Brand "How Rust gets polymorphysm right"
23 фев 20, 01:45    [22085323]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Далее. Trait. Был такой аналог Интерфейса в Scala. Ну... я-бы сказал что старичок Одерский первый застолбил
этот термин в Scala.

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

Пока все попытки насетапить какие-то обобщения между структурами (struct) в Rust приводят к использованию Трейтов.
23 фев 20, 01:50    [22085327]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton
Далее. Trait. Был такой аналог Интерфейса в Scala. Ну... я-бы сказал что старичок Одерский первый застолбил
этот термин в Scala.

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

mayton
Пока все попытки насетапить какие-то обобщения между структурами (struct) в Rust приводят к использованию Трейтов.

У меня впечатление, что traits в ржавчине используются точно в той же роли, в какой концепции в плюсах.
...
Вообще, выработавшаяся за последние 30 лет манера рассказывать о программировании в терминах языка имярек
таким способом, который тщательно избегает возможности существования иных языков во вселенной,
чем дальше, тем больше раздражает.
Оно шибко инженерно конечно, но не учёно, а местами и высокомерно.
И само по себе превращает программирование в яичницу.
23 фев 20, 13:48    [22085421]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Изопропил
Member

Откуда:
Сообщений: 31518
mayton
Хм.. забавно crate - переводится как клетка или деревянный ящик. Смысловой паревод я пока не улавливаю.

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

поможет?
23 фев 20, 17:07    [22085485]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Изопропил
mayton
Хм.. забавно crate - переводится как клетка или деревянный ящик. Смысловой паревод я пока не улавливаю.

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

поможет?

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

Какие еще синонимы можно придумать только чтобы быть "особенным".
23 фев 20, 17:14    [22085490]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton
...

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

ну, у некоторых это "колёса" или "самоцветы".
Короба, несомненно, звучат инженернее.
23 фев 20, 17:26    [22085495]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
mayton
Далее. Наследования нет. В стандартной доке я не вижу исчерпывающего теоретического обоснования.
Поэтому ищу ответы на семинарах и конференциях по Rust от смежных специалистов.

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

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

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

Сообщение было отредактировано: 23 фев 20, 17:55
23 фев 20, 17:55    [22085505]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Изопропил
Member

Откуда:
Сообщений: 31518
mayton
Ящик. Поддон. Тара.

Корзина
23 фев 20, 17:58    [22085511]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
Корзина - для сбора грибов.
Лукошко - для сбора ягод.
А короб с крышкой, в нём, хочешь бумаги, а хочешь - молоко храни.
И всё переносное.
23 фев 20, 18:16    [22085515]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Алексей Роза
mayton
Далее. Наследования нет. В стандартной доке я не вижу исчерпывающего теоретического обоснования.
Поэтому ищу ответы на семинарах и конференциях по Rust от смежных специалистов.

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

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

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

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

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


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

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

И еще. Типаж - это trait?
23 фев 20, 19:27    [22085539]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton,
да, это уже почти устоялось, что trait - это типаж.
23 фев 20, 19:34    [22085541]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
+ offtop

Какой типаж
Картинка с другого сайта.
23 фев 20, 19:36    [22085542]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
wiki
но язык позволяет реализовать большинство понятий ООП
при помощи других абстракций

"большинство понятий ООП" описано в книжке "Design patterns - Elements of reusable Object-Oriented software"
и как он их реализовывает?
про контейнеры уж не спрашиваю, коли там конструкторов нету...
а вектор объектов у него хотя бы есть?

Сообщение было отредактировано: 23 фев 20, 20:42
23 фев 20, 20:42    [22085568]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Вектор есть. Вот здесь описан https://doc.rust-lang.org/book/ch08-01-vectors.html
23 фев 20, 20:55    [22085576]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton,
отнюдь.
Весьма контекстная картинка.
Играет роль, используется в роли, требуется борода, иначе не работает.

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

Вопрос - а в статической системе проверки типов - как выглядит Пуговкин?
23 фев 20, 20:55    [22085577]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Пуговкин - off.

Давай лучше по топику.
23 фев 20, 20:59    [22085579]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
а что по топику?
ты подсвечиваешь красным фрагменты, которые либо вообще комментария не требуют,
либо требуют слишком много слов даже от того, кто на самом деле в теме.

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

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


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

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

Как отвечает rust (имхо):
- хорошо, что вам "ооп не нужен" - тогда у нас его сразу и не будет
- сейчас (в 2009м) вы еще сами не договорились, что считать концепциями, и как точно их есть, а у нас на этом месте будут traits (хотя само слово это не совсем точно для этого контекста).
- ага, вы говорите, что следующие оба два пункта обслуживаются правильной и аккуратной передачей владения объектом?
во, вот это нам точно надо, и правила передачи владения... кхм... о - объектом памяти, мы прямо в синтаксис языка вошьем.
(имхо, содержательно, именно это и есть центральный пункт и цель всего проекта)
- так-так, там в вашей последней корзине, кажется, что-то полезное завалялось...
а... мы помним, глядя на кого, вы свои обобщения в язык "внедряли". У тех ребят еще "легковесные таски" завалялись, вот их мы себе тоже сразу возьмём, потому что мы "для интернета", пока вы откладываете это на потом.
23 фев 20, 22:37    [22085621]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby

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

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

Мне интересно. Какова будет "цена вопроса"? Тоесть насколько глубоко программист должен решать этот
вопрос чтобы код считался безопасным по memory. Тоесть без утечек и попыток "чиркнуть" по памяти чужого
объекта.
23 фев 20, 22:50    [22085628]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton,

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

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

У вопроса о цене много разных граней может оказаться, как у хорошего бриллианта.

Сообщение было отредактировано: 23 фев 20, 23:28
23 фев 20, 23:26    [22085651]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Я пока еще смотрю конфы. Сейчас - 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) в этом смысле хуже.
23 фев 20, 23:42    [22085656]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
ну, не на Java/Pyton они замахиваются, и не с ними сравниваются. Об этом просто забудь навсегда.
Для них оказаться в одной категории с Java/Pyton, это в лучшем случае сделать красивую мину в момент признания поражения.
И я бы это не за попытку доказать, а за оговорку на случай признания поражения принимал.
Не в том их радость, чтобы к ним люди с Java приходили (хотя и в этом тоже в период начального создания
самовоспроизводящегося коммюнити)
, а в том, чтобы плюсовики побросали свои знамёна,
и стройно сформировали новые ряды ржавых программистов.

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

Rust пережил фазу изгнания из проекта своих создателей почти мгновенно, за два-три года,
и двинулся примерно перпендикулярно первоначальным планам, но само по себе это не доказательство непременной живучести.
Не волею божьей, а волею пославших разработчиков жён, языки программирования развиваются.
24 фев 20, 00:42    [22085692]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
что до статической проверки типов в момент компиляции - по тому, что ты говоришь, похоже, что еще не смотрел посвященных этому вопросу с cppcon-2019 роликов. Вот советую это сделать.

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

Прочие потенциальные конкуренты слишком нишевые, а со стороны Java только JIT мог бы серьёзно нервировать, но пока Java
не жилец без gc, с++ может чувствовать себя совершенно комфортно, и даже не реагировать на попытки Java ускориться в развитии.
24 фев 20, 00:54    [22085698]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Вот нашел более менее внятное сравнение С++/Rust.

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


+

24 фев 20, 00:54    [22085699]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby
что до статической проверки типов в момент компиляции - по тому, что ты говоришь, похоже, что еще не смотрел посвященных этому вопросу с cppcon-2019 роликов. Вот советую это сделать.

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

Ты хочешь чтобы я смотрелл до следующего года? Что там особо важное? Хотя-бы на 1-2 часа.
24 фев 20, 01:08    [22085701]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby
ну, не на Java/Pyton они замахиваются, и не с ними сравниваются. Об этом просто забудь навсегда.
Для них оказаться в одной категории с Java/Pyton, это в лучшем случае сделать красивую мину в момент признания поражения.

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

+


24 фев 20, 01:13    [22085703]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby

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

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

А наличие владельца роли не играет. Существует теневое правительство в виде JCP. Благодаря ему Java - надежна
и лидирует в ентерпрайзах. Очень часто муссируется вопрос что будет если Оракл то или Оракл-сё? Купит-продаст
или запретит. Да по большему счету - по барабану. Пока существует OpenJDK. Этот джин уже выпущен из бутылки
так же как и Linux в 90х.
24 фев 20, 01:26    [22085709]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby

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

Она и никогда не будет жилец без GC. Исполнительная среда и язык - неотделимы. Нельзя вообще рассматривать этот язык
без GC т.к. при его разработке ставились определённые цели и они были достигнуты именно так.
24 фев 20, 01:31    [22085710]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 10422
mayton
Исполнительная среда и язык - неотделимы.
Отделимы. Задача, мягко, нетривиальная, но ничто не мешает использовать JVM с совершенно отдельным генератором байт-кода и без Java SE API.
24 фев 20, 09:21    [22085743]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
В вопросах сравнения Rust с чем-то неизвестным мы неизбежно будем обсуждать C++ и Java.

Но если сильно углубляться - то лучше создать отдельный топик IMHO.
24 фев 20, 10:52    [22085757]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
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 для одной глобальной цели - чтобы его программисты могли быстро программировать.
Они снизили порог вхождения до минимума, при этом оставив производительность на около-максимуме.
Там конечно му**к с комплексом бога делал оформление, как в микрософте - взял и навводил новых стандартов, вместо тех, к которым все привыкли.
и поэтому там массив инициализируется как-то так:
s := []int{2, 3, 5, 7, 11, 13}

но и хвост с ним. Язык таки зашёл и свою функцию выполняет на 200%. А главное - он всего в 1.5 раза медленее C/C++! В основном потому, что вся эта простота (в частности GC) - не бесплатна. Но учитывая возросшую скорость разработки - сойдёт.
Так что если у ржавого корыта (или коробки, или чё там?) выйдет стать круче и проще Go...
...то он всё равно на хер никому не нужен будет.
Я так думаю.
24 фев 20, 11:16    [22085766]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Алексей Роза

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

Wow-wow... легче с метафорами. А то он обидется.
24 фев 20, 12:05    [22085773]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Алексей Роза

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

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

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

С++ - 9s
Golang - 43s
24 фев 20, 12:17    [22085775]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
сорри, у меня тут тырнет корова языком слизнула, вот я выпал из сети...

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

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

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

Что до роликов - здесь я попался.
Оказывается я подразумевал вот этот устаревший ролик аж 14 года.
Sutter в характерной манере рассказывает как современно писать, а Macintosh показывает, что умеет
тогдашняя экспериментальная версия статического анализатора кода от Microsoft.


Там где-то в соседних годах бултыхается еще ролик-другой с Нилом Макинтошом,
и что-то с докладчиками с выраженным русским акцентом на тему статического анализа кода.
(Но их акцент тяжеловато слушать - russians are scary...)
24 фев 20, 12:43    [22085780]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby

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


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

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

Или это возможно только при условии создания нового языка с новыми принципами Memory Management.
24 фев 20, 13:15    [22085796]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby

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

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

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

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

Да што там Java... Вокруг уже клубится 10 языков которые косвенно нужны по работе.
24 фев 20, 13:23    [22085799]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Оказывается я подразумевал вот этот устаревший ролик аж 14 года.
Sutter в характерной манере рассказывает как современно писать, а Macintosh показывает, что умеет
тогдашняя экспериментальная версия статического анализатора кода от Microsoft.

Я посмотрю ближе к вечеру наверное.

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

И именно поэтому я поднял "бухтелку".
24 фев 20, 13:24    [22085800]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
Сравнение D и C++ и Rust на примерах
24 фев 20, 13:39    [22085806]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

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

Каша варится не просто разогревом котелка до бурления.
Обязательно требуется правильное помешивание.
Крутить мутовкой по часовой стрелке или против, определяется общим устройством механизма управления на базе обратной связи.
Все колёсики здесь, как прямые, так и косвенные в руках одной корпорации.
24 фев 20, 13:41    [22085808]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
wiki
Rust (англ. rust — ржавчина, произносится [rʌst] — раст) — мультипарадигмальный компилируемый язык программирования общего назначения, спонсируемый Mozilla Research

Mozilla Firefox - протекающее говно, которое выжирает всю память на линухе
каждый день надо выгружать и перезапускать
24 фев 20, 13:43    [22085809]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
у не менее опенсорсного rust, тоже, кстати, единый владелец в этом смысле.
24 фев 20, 13:46    [22085812]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Алексей Роза
wiki
Rust (англ. rust — ржавчина, произносится [rʌst] — раст) — мультипарадигмальный компилируемый язык программирования общего назначения, спонсируемый Mozilla Research

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

Согласен что Mozilla говно. Но в этой цепочке причин и следствий надо что-то развернуть в другую сторону.
24 фев 20, 14:11    [22085833]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
автор
Написана тонна легаси кода
и поменять семантику этого кода - практически не возможно.

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

Известны примеры, когда корпорации выпускали такие "новые версии языка", на которых старый код просто не компилировался.
Люди иногда не ведают, что творят.
24 фев 20, 14:11    [22085834]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby
у не менее опенсорсного rust, тоже, кстати, единый владелец в этом смысле.

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

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

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

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

Вобщем тезис в владением требует определённого дополнения.
24 фев 20, 14:14    [22085837]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby
автор
Написана тонна легаси кода
и поменять семантику этого кода - практически не возможно.

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

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

Мне кажется что мы упорно съезжаем в оффтоп.

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

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

Сравнимаем Rust с языком %LANGUAGE_NAME% и всё.

Сообщение было отредактировано: 24 фев 20, 14:23
24 фев 20, 14:23    [22085842]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton
Тема формального доказательства правоты кода или гарантия отсутствия ошибок - это тема мне интересна.

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

И даже есть ролик от Andrew Sutton на тему - "а зачем бы нам понадобилась интроспекция,
если мы не планируем код в рантайме модифицировать" - надо будет глянуть.
24 фев 20, 14:28    [22085844]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton, ок.
24 фев 20, 14:30    [22085846]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Контракты - интересная тема. Но КМК она выходит за рамки языка.

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

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

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

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

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

Что в Rust? Заявлено принципиально отсутствие NPE?
24 фев 20, 15:14    [22085870]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
а что это за существо в платье там в начале?
куда это цппкон скатился...
24 фев 20, 17:47    [22085946]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
на 49й минуте он там как раз обсуждает сабж
24 фев 20, 17:58    [22085952]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton,
мой крайний офф (traits):
на эту ссылку я попал с англоязычной википедии, где о происхождении термина смутно указано.
http://scg.unibe.ch/archive/papers/Scha03aTraits.pdf

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

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

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

Сообщение было отредактировано: 24 фев 20, 18:09
24 фев 20, 18:03    [22085956]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
А что за транс-гендерный парень появился? На 1й минуте перед стариком Бярне?
25 фев 20, 09:34    [22086159]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby

Что до роликов - здесь я попался.
Оказывается я подразумевал вот этот устаревший ролик аж 14 года.
Sutter в характерной манере рассказывает как современно писать, а Macintosh показывает, что умеет
тогдашняя экспериментальная версия статического анализатора кода от Microsoft.


Там где-то в соседних годах бултыхается еще ролик-другой с Нилом Макинтошом,
и что-то с докладчиками с выраженным русским акцентом на тему статического анализа кода.
(Но их акцент тяжеловато слушать - russians are scary...)

Саттера я начал слушать вчера. Прослушал где-то 1/3. Интересно. Речь идет об увеличении надёжности.
Я-бы чуть позже поспорил с некоторыми аргументами. Особенно где речь касатеся гарантий
отсутствия memory-leaks.

Но я не буду все комментировать здесь. Скорее всего подниму отдельный топик в С++
как раз не тему строгости компилляций.
25 фев 20, 10:38    [22086212]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton
Вот нашел более менее внятное сравнение С++/Rust.

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


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

PS
Типаж как перевод для traits мне сразу не понравился.
Пока ехал сегодня домой понял, что правильным переводом должно быть слово подстава.
Испанец совершенно убедил меня в моей правоте.
28 фев 20, 02:01    [22088771]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
Испанец испанка.
sorry for my fault.
28 фев 20, 02:37    [22088772]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
Полухин нагнул Rust (17:00)


Сообщение было отредактировано: 13 апр 20, 13:58
13 апр 20, 13:59    [22115383]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Алексей Роза, о спасибо. Посмотрим.
13 апр 20, 14:07    [22115394]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
hVostt
Member

Откуда:
Сообщений: 18013
Алексей Роза,

Не, по Rust-у там фигня. А вот Go реально нагнул ))
13 апр 20, 15:20    [22115459]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
Алексей Роза,

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

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

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

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

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

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

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

Сообщение было отредактировано: 13 апр 20, 17:36
13 апр 20, 17:32    [22115532]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
hVostt
Member

Откуда:
Сообщений: 18013
booby,

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

А философствовать можно до абсолютной бесконечности меняя угол и наклон точки зрения. Потому как даже памятник Пушкину с какой-то стороны является не более чем каменной задницей.
13 апр 20, 18:17    [22115552]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
hVostt

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

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


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

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

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

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

hVostt

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

Можно. И моё скромное мнение состоит как раз в том, что, по возможности - нужно.
13 апр 20, 18:40    [22115572]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
hVostt
Member

Откуда:
Сообщений: 18013
booby,

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

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


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

Маркетинговый и всё.

Сообщение было отредактировано: 14 апр 20, 03:12
14 апр 20, 03:10    [22115732]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Начал смотреть.

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

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

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

Но не могу сказать что Полухин прям "нагибает". Нагибатор блин. Скорее просто сравнивает.

Сообщение было отредактировано: 14 апр 20, 11:47
14 апр 20, 11:48    [22115867]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Далее.

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

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

Либо просто списать этот бинарный шум на особенности самого LLVM. Тоесть по сути
это замечение к другому стеку технологий. На ДРУГОМ более низком уровне.
14 апр 20, 11:54    [22115875]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
На 30-й минуте Антон говорит о том что для С++ написана уйма библиотек и т.д. в т.ч Фортран (!)

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

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

Тоесть существует синергетический тренд на сокращение секций unsafe. Они не должны быть вечными.
14 апр 20, 12:18    [22115896]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
На 36 минуте Антон утверждает что Go - в 2-4 раза медленнее С++.

Да. Подтверждаю что в 2 раза - точно медленее. Но общий посыл сообщения - это очень сильная
манипуляция аудиторией. В конце концов те цели для которых Go создавался - достигнуты.
Он оказался лучшим языком google для клепания внутренних микро-сервисов где скорость
ПРОЦЕССА разработки или эффективность разработчика была бы выше чем в С++ и перформанс
рантайма был бы лучше чем Python.
14 апр 20, 13:25    [22115940]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
На 40-й минуте. "Палево" касающееся скрытого отключения GC для managed языков.

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

Спасибо Антону.
14 апр 20, 13:30    [22115942]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton
...это очень сильная
манипуляция аудиторией....

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

Но в целом, это уныло, продавать идею о том, cpp - лучший из языков, на конференции по cpp
Там все коробейники с таким товаром.
14 апр 20, 14:16    [22115966]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
mayton
На 30-й минуте Антон говорит о том что для С++ написана уйма библиотек и т.д. в т.ч Фортран (!)

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

D имеет поддержку C-либ и он проще в разработке, но чё-то убийцей С++ не стал...
Go вообще не имеет поддержку C-либ, но взлетел гораздо выше растов и D, и даже питона походу обогнал
...однако он правильно говорит, что строить 100500 доп. дата-центров спецом для Go никто не будет...
короче говоря, C/C++ непобедим.

Сообщение было отредактировано: 14 апр 20, 14:19
14 апр 20, 14:17    [22115968]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
У меня в течение лекции не покидало ощущение что Антон пошел в крестовый поход за С++
при том что с другой стороны вобщем-то никого нет. Всем пофиг.

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

Кому был месседж?
14 апр 20, 14:48    [22115996]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Типа лекция поддержки С++ newcomers? Не бойтесь ребята. У вас будет работа. Будут вакансии.

Правда порог вхождения мать ево... ну ничего-ничего.... как-то разойдется.
14 апр 20, 15:11    [22116017]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Пример с log-stash - был вообще ниочем. Просто частный случай. Мы дескыть выкинули из него
ненужный функционал и переписали на С++ и теперь давайте сравним расход ресурсов.

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

Какой вообще был информационный повод создавать эту лекцию?!
Услышать от лектора "Я не люблю маркетинговый шум от других языков?"
Ну... такое.
14 апр 20, 15:37    [22116040]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
C++ конфы вообще мало смотрят
даже у cppcon в среднем 10к просмотров, если там ноунеймы выступают
и 123к, если Страуструп...
43к, если Чендлер Каррут
а тут русская конфа, о которой я вообще первый раз слышу, вот и 527 просмотров...
хотя рекламу в ВК (и не только) гоняли много

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

Сообщение было отредактировано: 14 апр 20, 15:50
14 апр 20, 15:48    [22116046]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
А кто унижает?
14 апр 20, 15:50    [22116048]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
mayton
А кто унижает?

так тесты те же самые, где C++ якобы сливает
14 апр 20, 15:51    [22116050]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Дай линки.
14 апр 20, 15:54    [22116052]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
ты начало видео не смотрел чтоли?
14 апр 20, 16:13    [22116075]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Рука-лицо...

тебе сложно кликабельный линк приаттачить?

Сообщение было отредактировано: 14 апр 20, 16:21
14 апр 20, 16:21    [22116083]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
да нет у меня линков. Видео смотри, там словами.

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

Сообщение было отредактировано: 14 апр 20, 16:27
14 апр 20, 16:27    [22116087]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
Алексей Роза
да нет у меня линков. Видео смотри, там словами.

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


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

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

Согласен.

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

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

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

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

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

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

По остальным пунктам я воздержусь.

Сообщение было отредактировано: 14 апр 20, 16:36
14 апр 20, 16:37    [22116092]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
hVostt
Member

Откуда:
Сообщений: 18013
booby
Но в целом, это уныло, продавать идею о том, cpp - лучший из языков, на конференции по cpp
Там все коробейники с таким товаром.


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

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

При чём тут маркетинг? Всё сказанное соответствует действительности. Если это где-то не так, просьба продемонстрировать, а не болтать про маркетинг и сферических макретологов в вакууме. Уныло, не интересно, и не по адресу.
14 апр 20, 17:35    [22116125]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
hVostt
Member

Откуда:
Сообщений: 18013
mayton
Или аудитория подобрана так что сидят С++ ники. И кому это было надо?

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


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

Учитывая наличие постоянно декларируемых убийцев С++, это актуально как никогда.
14 апр 20, 17:37    [22116126]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
hVostt
Member

Откуда:
Сообщений: 18013
mayton
Пример с log-stash - был вообще ниочем. Просто частный случай. Мы дескыть выкинули из него
ненужный функционал и переписали на С++ и теперь давайте сравним расход ресурсов.

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


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

Это совершенно актуальный и практический вопрос, и сравнение совершенно в тему.
14 апр 20, 17:38    [22116128]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

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

Торвальдс может.
Правда, он не только это может.
14 апр 20, 17:45    [22116133]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
mayton
Согласен.

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

у каждого своя точка зрения
14 апр 20, 17:56    [22116144]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
hVostt
mayton
Пример с log-stash - был вообще ниочем. Просто частный случай. Мы дескыть выкинули из него
ненужный функционал и переписали на С++ и теперь давайте сравним расход ресурсов.

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


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

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

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

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

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

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

Я верю в это.
14 апр 20, 18:29    [22116166]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
hVostt
mayton
Или аудитория подобрана так что сидят С++ ники. И кому это было надо?

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


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

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

Ага. По сути идёт борьба на поголовье новых разрабов которые должны "влиться" в ряды.
14 апр 20, 18:30    [22116167]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby
hVostt
...
Лучший с точки зрения производительности.
Оспорить-то никто пока не может.
....

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

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

Я считаю - имеет право (Торвальдс). Это - его детище.
Выстраданное...
14 апр 20, 18:33    [22116173]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton
...
Торвальдс в р0т (хл)ебал С++. ...

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

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

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

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

Хоть эти две истории самостоятельные и сильно разнесены во времени,
но в моём самоизолированном сознании они крепкой веревочкой связаны.
То есть, Линус - причина по крайней мере некоторых тектонических движений в отрасли.
Ну, так мне кажется
14 апр 20, 19:06    [22116212]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
mayton
Member

Откуда: loopback
Сообщений: 48022
booby
mayton
...
Торвальдс в р0т (хл)ебал С++. ...

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

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

Я помню этот срач. Ему больше 15 лет. Кажется Таннебаум топил за микро-ядра а Линус за монолоит.
Но тактически победил Линус т.к. выдал нечто работающее. А теоретики остались за бортом.
14 апр 20, 19:14    [22116217]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
mayton
...Ему больше 15 лет. Кажется Таннебаум топил за микро-ядра а Линус за монолоит.
Но тактически победил Линус т.к. выдал нечто работающее. А теоретики остались за бортом.

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

Таненбаум поминает этот срач.
Но финансирование получил Торвальдс, примерно в это время как раз.
Вот и вся история про профессоров и хакеров.
14 апр 20, 19:43    [22116249]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Dima T
Member

Откуда:
Сообщений: 14886
ЕМНИП все было проще, начиналось засилие MS, Билл Гейтс наседал и IBM проспонсировал развитие Линукса чтобы за MS DOS не переплачивать.
14 апр 20, 20:12    [22116293]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
у IBM была OS/2
а в линух вливаются сотни миллионов $$ от всяких гуглов, интелов, ораклов, айбиэмов и прочих
фря о таком и не мечтает...
но всё ещё держится

Сообщение было отредактировано: 14 апр 20, 21:51
14 апр 20, 21:50    [22116365]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
booby
Member

Откуда:
Сообщений: 2002
Посмотрел вот такое, по случаю выходных:



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

Who is Mr Alexandrescu?

(То, что он кофаундер D, я в курсе, в общих чертах...)
6 июн 20, 22:05    [22146919]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
microbash
Member

Откуда:
Сообщений: 164
Алексей Роза

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


Что вы имеете в виду? Из Go нельзя вызвать код С?
12 июл 20, 12:06    [22165973]     Ответить | Цитировать Сообщить модератору
 Re: Тяпничная ворчалка и бухтелка по поводу Rust и ООП и типобезопасности  [new]
Алексей Роза
Member [заблокирован]

Откуда: РФ
Сообщений: 557
microbash
Алексей Роза

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


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

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

в D это просто подключение либы, как и в C/C++.

Сообщение было отредактировано: 12 июл 20, 12:29
12 июл 20, 12:31    [22165984]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4 5 6      [все]
Все форумы / Программирование Ответить