Форум сайта python.su
186
> Есть ли у Python будущее?
Нет, у него настоящее. Будущее за Haskell-ом.
> Фигурная скобка на другой строке является синтаксической ошибкой?!
Это фича такая, что бы все в одном стиле писали.
Офлайн
857
RodegastЧтобы все в одном стиле писали, в Go есть форматер. Так этот форматер тоже дубовый, потому что его невозможно настроить, он не параметризован. После него мне необходимо ходить и все табуляции в начале строки на четыре пробела править. Хотя если они уж взялись это делать, то в форматере должен быть параметр “отступ = 4 пробела” либо в командной строке, либо в файле настроек форматера. Мало того, коды на Go очень глубокие, как правило, потому что там много конструкций типа горутин, которые в виде определений функций вкладываются в код, из-за чего у него вырастает глубина сама собой. Ну там, горутина внутри свитча или селекта, в котором кейс с циклом, - глубина там получается под десятку, хотя ничего сложного и запутанного там нет. Так они говорят “давай мы тебе сделаем табуляцию, а ты потом её поднастроишь под нужную ширину отображения”. А если я код открою в какой-нибудь консоли, где табуляция вообще не настраивается и равна по ширине 8 символам, я там что, код не смогу редактировать из-за их навязанной тупости? И вот эта фигня со скобкой должна быть в форматере, а не мешать компиляции. Какое отношение скобка имеет к компиляции?
Это фича такая, что бы все в одном стиле писали.
Отредактировано py.user.next (Авг. 24, 2020 11:37:27)
Офлайн
568
py.user.nextЧто? Дайте три фичи идентичные для Раст и Го.
Хотя по новизне, по фичам он похож на Go.
Офлайн
857
FishHookДа в Rust'е побольше фич разных интересных
Дайте три фичи идентичные для Раст и Го.
fn main() {
let mut n = 0;
let f = |x| x * x;
let res = loop {
n += 1;
println!("Func = {}", f(n));
if n >= 3 {
break "ok";
}
};
println!("Result: {}", res);
}fn main(){let mut n=0;let f=|x|x*x;let res=loop{n+=1;println!("Func = {}",f(n));if n>=3{break"ok";}};println!("Result: {}",res);}[guest@localhost rust]$ rustc example.rs
[guest@localhost rust]$ ./example
Func = 1
Func = 4
Func = 9
Result: ok
[guest@localhost rust]$
Отредактировано py.user.next (Авг. 24, 2020 13:06:18)
Офлайн
568
py.user.next
Rust по фичам он похож на Go.
FishHook
Дайте три фичи идентичные для Раст и Го.
Офлайн
857
FishHookТам есть это. Просто оно там не доделано или сделано через одно место, что им пользоваться нельзя (когда пользуешься, жалеешь время потраченное). Например, цикл for там есть с range, который якобы новшество такое, срезы, но там это всё использовать вообще неудобно. В Go range возвращает второе значение, даже когда оно не нужно. И там нашли выход! Там надо ставить подчёркивание, чтобы на него принять это ненужное значение, от которого просто так избавиться нельзя. То есть они не доработали язык, а вставили в него затычку. Знаешь, как это бывает “я сейчас затычку вставлю, а потом, когда будет время, я это сделаю по-нормальному”. Вот это как раз тот случай.
И в итоге вы демонстрируете что “В Go такого и близко нет”
FishHookКак-то ты не заметил цикл loop, который есть и в Go. Там гибкий оператор for. Также там использован break, который не просто делает break, как в старых языках, но делает этот break куда-то или с чем-то. Также там использовано создание функции прямо в блоке кода.
Я прекрасно знаю, что есть в обоих этих языках
fn main() {
for i in &[1, 2, 3, 4, 5, 6, 7, 8, 9, 10][2..5] {
println!("{}", i);
};
}[guest@localhost rust]$ rustc slice.rs
[guest@localhost rust]$ ./slice
3
4
5
[guest@localhost rust]$
package main
import "fmt"
func main() {
for _, i := range []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}[2:5] {
fmt.Println(i)
}
}
[guest@localhost go]$ go run slice.go
3
4
5
[guest@localhost go]$
Отредактировано py.user.next (Авг. 25, 2020 00:35:06)
Офлайн
0
Так вроде питон быстрее вычесления проводит чем go? Нейросети, дата сайн и прочие направления где есть большая работа с данными, как оно может пропасть?
Офлайн
41
oDoDo
Так вроде питон быстрее вычесления проводит чем go? Нейросети, дата сайн и прочие направления где есть большая работа с данными, как оно может пропасть?
Офлайн