Здравствуйте, vaa, Вы писали:
vaa>плюс то плюс, но вот F# требует отступы на основе пробелов, если в редакторе настройки не поменять то придется исправлять,
Так надо поменять настройки или IDE
Это куда меньшая проблема чем кривые стили в С++.
Здравствуйте, Skorodum, Вы писали:
S>Это куда меньшая проблема чем кривые стили в С++. CC>>А что тебе мешает писать на С++ нормально? S>Вы уже перестали пить коньяк по утрам?
Ясно, значит руки мешают.
Бывает...
Тогда не ной про "кривые стили в С++", это не стили кривые.
vaa>Мне кажется это признак хорошего ЯП, если писать и отлаживать можно без опоры на сложные инструменты.
Это прежде всего признак маленького короткоживущего проекта. В любом большом или долгоживущем проекте рано или поздно
1 приходится добавлять требования, которые ломают ранее принятые решения. Проводить такие изменения без адекватных инструментов мягко говоря нерационально
2 добавлять/менять членов команды, и новички не понимают ранее принятые решения.
Здравствуйте, kaa.python, Вы писали:
KP>Мне кажется что D победил ни Rust (этот вообще ХЗ что победил там), а сначала Java, а потом Go. Наличие GC является логической отправной точкой для такого сравнения.
Мне кажется, проблема D заключается в том, что у него никогда не было сколь-либо многочисленной community.
Преимуществом Go является то, что именно в построение community и экосистемы было вложено чуть ли не больше сил, чем в сам язык.
vaa>Мне кажется это признак хорошего ЯП, если писать и отлаживать можно без опоры на сложные инструменты.
Угу. Все зависит от сложности алгоритма. Не говоря уж о всяких ООП где переопределение виртуальных методов или методов интерфейсов так сразу и не увидишь.
Без отладчика ну никак. Ну и интеллисенс, рефакторинг это ооочень удобно!!
и солнце б утром не вставало, когда бы не было меня
Здравствуйте, kaa.python, Вы писали:
NGP>>Зелёные потоки это ж отсталось и абсурд. Почему ты их в плюс выставляешь?
KP>Я боюсь что не могу понять твоего утверждения. А ты не мог бы прояснить в чем зелёные потоки из Go или BEAM это отсталость и абсурд?
Я ни тот ни другой язык не смотрел. Там термином "Зелёный поток" названо что-то нестандартное? Не то же самое, что на допотопных платформах называлось симуляцией многопоточности?
Здравствуйте, Serginio1, Вы писали:
S> Угу. Все зависит от сложности алгоритма. Не говоря уж о всяких ООП где переопределение виртуальных методов или методов интерфейсов так сразу и не увидишь. S>Без отладчика ну никак. Ну и интеллисенс, рефакторинг это ооочень удобно!!
Здравствуйте, T4r4sB, Вы писали:
TB>В случае с Govno Compiler Collection много-то и не надо. TB>https://rextester.com/XTFLG76850
Не ну гнусь всегда отличалась, но на ошибки всегда надо смотреть по порядку, и зачастую не следует смотреть на следующую в этом же файле пока не починил первую.
Так что тут всё ещё нормально.
TB>https://rextester.com/HSLZ45412
Тут типичный гнусный линкер, да.
Нормальный линкер (вижуалка) говорит внятно:
Здравствуйте, Слава, Вы писали:
С>Здравствуйте, kaa.python, Вы писали:
KP>>Смотреть во что сейчас превратился D нет времени,
С>А если у вас настолько нет времени (и вероятно этим гордитесь), то что вы делаете на форуме?
Время на форум есть. Времени на красивый, но мертворождённый язык нет. Ещё вопросы?
I>Это прежде всего признак маленького короткоживущего проекта. В любом большом или долгоживущем проекте рано или поздно I>1 приходится добавлять требования, которые ломают ранее принятые решения. Проводить такие изменения без адекватных инструментов мягко говоря нерационально I>2 добавлять/менять членов команды, и новички не понимают ранее принятые решения.
Я этого не отрицаю. Любой инструмент лишь добавляет мощи.
Я лишь хочу сказать, что ди один из лучших на сегодня ЯП. Достаточно сравнить:
use rand::Rng;
use std::cmp::Ordering;
use std::io;
fn main() {
println!("Guess the number!");
let secret_number = rand::thread_rng().gen_range(1..101);
loop {
println!("Please input your guess.");
let mut guess = String::new();
io::stdin()
.read_line(&mut guess)
.expect("Failed to read line");
let guess: u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => continue,
};
println!("You guessed: {}", guess);
match guess.cmp(&secret_number) {
Ordering::Less => println!("Too small!"),
Ordering::Greater => println!("Too big!"),
Ordering::Equal => {
println!("You win!");
break;
}
}
}
}
Если в том же F# матч это матч, то в расте наркоме похоже писали
Код на ди делает все тоже самое, но без синтаксического шума:
import std.stdio;
import std.random;
import std.conv;
void main()
{
writeln("Guess the number!");
auto secret_number = uniform(1, 101);
writeln("The secret number is: ", secret_number);
while (true)
{
writeln("Please input your guess.");
auto line = readln;
auto guess = 0
try { guess = parse!uint(line); } catch (Exception e) { continue; }
writeln("You guessed: ", guess);
if (guess < secret_number)
writeln("Too small!");
else if (guess > secret_number)
writeln("Too big!");
else
{
writeln("You win!");
break;
}
}
}
Здравствуйте, vaa, Вы писали:
vaa>Код на ди делает все тоже самое, но без синтаксического шума:
Этот код "на ди" выглядит как С++ в котором #include заменили на import
Так что опять таки непонятно нафига нужен ди если уже есть С++
Здравствуйте, CreatorCray, Вы писали: CC>Так что опять таки непонятно нафига нужен ди если уже есть С++
Так это одна из киллер-фич — плюсовикам не нужно ломать мозг.
Здравствуйте, vaa, Вы писали:
S>>Вы реально видите какую-то принципиальную разницу между двумя приведенными вами вариантами?
vaa>Ес, оф кос.
Ахринеть не встать. Там же все 1-в-1, только форма буковок чутка отличается. Замените в Rust-овом варианте первое guess на line, последний match на обычный if, а в D-варианте запишите try-catch не в одну строку и вы получите практически двух близнецов-братьев.
Здравствуйте, vaa, Вы писали:
CC>>Так что опять таки непонятно нафига нужен ди если уже есть С++ vaa>Так это одна из киллер-фич — плюсовикам не нужно ломать мозг.
Ну вот если бы он был бы под JVM — то имхо было бы интересно. Мне джава совсем не зашла, хотя я её смотрел в последний раз 8ой версии — 11я может и получше. C++ (в то время 0x03, 0x11 тока-тока взлетал, и я его не трогал) был горозда удобнее как язык. Котлин — потыкал немножко, но тоже как-то не зашло, тем более уже начал 11/14/17 использовать; хотя он сильно отличается и от джавы и от плюсов — он мне понравился больше джавы. А вот почти как C++, с возможностью писать для большой джавы и для андроидов — это было бы интересно