1.2, Аноним (2), 15:31, 19/07/2019 [ответить] [﹢﹢﹢] [ · · · ] | +3 +/– | Жаль поддержки ESP32 нет, а было бы просто огонь - хорошая поддержка веб-технол... большой текст свёрнут, показать | |
|
2.18, proninyaroslav (ok), 18:46, 19/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
>- горутины (а эта железка двухъядерная).
И они никак не связаны с многоядерностью, асинхронность не всегда равно параллелизм. Так что не вижу тут никакого преимущества для многоядерных процах по сравнению с другими языками. К тому же по дефолту (по крайней мере так было) рутины запускаются на 1 ядре, поочерёдно переключаясь, так как работа с потоками ОС не такая уж и дешёвая вещь.
| |
|
3.50, АноНеМаус (?), 16:08, 20/07/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
По дефолту уже давно горутины запускаются не на одном ядре. И потоки ОС почти не используются (запускается столько потоков сколько ядер, а дальше уже свой планировщик)
| |
|
2.25, asdasd (?), 19:49, 19/07/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Любители Go, не минусуйте - в контексте встраиваемых систем "настольный" Go действительно весьма жирный.
Любая статически скомпилированная прога будет столько весить (а микрики как раз статично собранные, ибо там не то что shared library, там ОС то нет).
| |
|
3.26, Аноним (26), 19:52, 19/07/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Ничего подобного. Дело даже не в том, что у Go весьма жирный рантайм, а в самой «модели памяти», которую сии деятели героически пытаются протащить на МК. При малом объёме оперативки вообще кучу использовать противопоказано, не говоря уже про GC.
| |
3.39, Аноним (2), 06:16, 20/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Любая статически скомпилированная прога будет столько весить
Да что вы такое говорите?
| |
|
4.40, Анон12345 (?), 10:55, 20/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
frog@frog-ThinkPad-X240 /tmp> cat q.c
#include <stdio.h>
void main()
{
printf("Hello World\n");
}
frog@frog-ThinkPad-X240 /tmp> gcc q.c -static
frog@frog-ThinkPad-X240 /tmp> ls -la a.out
-rwxrwxr-x 1 frog frog 844696 Jul 20 10:54 a.out*
frog@frog-ThinkPad-X240 /tmp>
| |
|
5.42, Аноним (42), 11:15, 20/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не умеешь.
$ musl-gcc q.c -static
$ ls -l a.out
-rwxr-xr-x 1 user user 26064 июл 20 11:12 a.out
| |
|
6.56, Аноним qwerty_qwerty1 (?), 09:51, 21/07/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Не бьется что то
#include <stdio.h>
int main()
{
printf("Hello World\n");
return 0;
}
gcc q.cc -static
ls -l
844696 июл 21 09:48 a.out
70 июл 21 09:48 q.cc
| |
|
5.43, Аноним (42), 11:18, 20/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Ну и для сравнения:
$ cat q.go
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
$ go build
$ ls -l hello
-rwxr-xr-x 1 user user 1906945 июл 20 11:16 hello
| |
|
6.65, Fedd (ok), 18:26, 28/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
package main
func main() {
print("Hello World!\n")
}
go build -ldflags -s hello.go
ls -l hello
-rwxr-xr-x 1 Unit RedstarOS 760160 Jul 28 18:16 hello
| |
|
|
|
|
|
1.5, НяшМяш (ok), 16:04, 19/07/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
> так как он более прост в изучении
А вот мне он очень трудно даётся, после C-подобного синтаксиса в разных языках постоянно в голове крутится вопрос "зачем так сделали вообще"
| |
|
2.7, Аноним (26), 16:15, 19/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
У Go вполне себе C-подобный синтаксис. Слегка упрощённый (можно не ставить лишние скобочки и разделители).
| |
|
|
4.62, Аноним (-), 23:12, 22/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не надо, плюсы то еще го*но монструозное. Даже Страуструп там уже ногу сломает.
| |
|
3.35, НяшМяш (ok), 23:54, 19/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не спорю, у Go синтаксис ближе к С, чем к тому же Python. Но, например, зачем было делать 2 способа объявить переменную, оставлять возможность variable shadowing - чтобы потом ловить лулзов на этапе дебага и впиливать в go tool ещё один флаг проверки? Или, например, синтаксис методов на структуре - его вообще упорыш писал. Ладно, нет в языке классов, наследования и вот этого всего - но сделать человеческий синтаксис, чтобы в теле структуры можно было обьявить метод без тонны ((())) наверное можно было? Прямо современный язык, на котором писать сложнее чем на С. Даже жабоскрипт в этом плане куда проще и красивее.
| |
|
4.37, Аноним (42), 00:20, 20/07/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
> сделать человеческий синтаксис, чтобы в теле структуры можно было обьявить метод
Зачем тебе его там объявлять? Чтобы дублировать один и тот же прототип в двух местах, как в сишечке? Так в сишечке это не от хорошей жизни сделано.
| |
|
5.53, НяшМяш (ok), 00:27, 21/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Дык в этом-то и вопрос - зачем в современный ЯП тащит конструкции из С? Я считаю, что следующая запись куда проще парсится гдазами:
type Foo struct {
func Bar() string { ... }
}
Сразу видно, где метод как операция над структурой, а где просто глобальная функция. А в обычном Go-шной записи мне приходится смотреть на тип в скобках - вдруг там какой-нибудь саботажник в том же файле воткнул функцию для другого типа? Вот эта запись просто вызывает вопрос - зачем мне нужен Go, если я так же могу написать на С?:
type Foo struct {
}
func (f Foo) Bar() string { ... }
| |
|
6.54, funny.falcon (?), 00:43, 21/07/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
Вообще, горный синтаксис лучше выглядят в результатах грепа: хочешь найти, где метод объявлен, грепаешь, и сразу видишь, на каких типах он объявлен.
А с С++/Java/etc синтаксисом приходится лезть в файл и искать начало объявления класса.
Безусловно, с навороченными IDE это все не проблема. Но иногда хочется использовать VIM.
| |
|
7.63, Аноним (63), 23:30, 22/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
В C++ никто не запрещает писать определение метода вне определения класса. Собственно, обычно так и делают, если только речь не идёт о шаблонах и/или предназначенной для инлайнинга мелочи.
| |
|
6.61, Аноним (26), 13:36, 22/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Я считаю, что следующая запись куда проще парсится гдазами:
>
> type Foo struct {
> func Bar() string { ... }
> }
Такая — проще, да. А вот когда на месте «...» оказывается несколько десятков строк, и число методов тоже начинает измеряться десятками, — уже не проще.
| |
|
|
4.64, Наше имя Легион (?), 02:28, 23/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
структура есть сучность хранения данных. методы досступа к оным (к модификации,чтению, созданию нового etc) - это не к структуре. (ладно, в крестах - да, но то - кресты...)
| |
|
|
|
3.10, user90 (?), 16:54, 19/07/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
js хоть просмотреть можно (возникни у меня такое извращенное желание)..
Вообще-то очень забавно рассматривать браузер как среду для исполнения кода))
| |
|
4.11, Аноним (2), 16:57, 19/07/2019 [^] [^^] [^^^] [ответить]
| +3 +/– |
> js хоть просмотреть можно
Его сейчас всюду минифицируют... Толку немного.
| |
|
5.14, user90 (?), 17:09, 19/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Убедил. Поэтому давно использую технику блокировки всех сторонних js, чтобы не сталкиваться с подобными простынями :) Ну не нужны мне ПРИЛОЖЕНИЯ в браузере.
| |
|
6.15, Аноним (2), 17:22, 19/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
> не нужны мне ПРИЛОЖЕНИЯ в браузере.
Вот с этого и нужно было начинать.
| |
6.21, Аноним (21), 19:22, 19/07/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
Сейчас всё идет к тому, что в браузере будут всё более мощные и крутые приложения (уже, собственно), в частности без убогого дома и с wasm.
Нет смысла этому противиться.
| |
|
7.28, user90 (?), 20:24, 19/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Проблема в том, что эти какбы-приложения по существу все равно внешние сервисы. Да и использование браузера как среды выполнения выходит все равно довольно накладно, и тут ничего сделать нельзя. То есть никаким прогрессом тут и не пахнет..
| |
7.48, Аноним (42), 15:48, 20/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Сейчас всё идет к тому, что в браузере будут всё более мощные и крутые приложения (уже, собственно), в частности без убогого дома и с wasm.
Где-то я что-то подобное уже слышал лет 15 назад. Только вместо wasm фигурировал flash.
| |
|
6.41, CryNet (?), 10:56, 20/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Поэтому давно использую технику блокировки всех сторонних js
Ох и не завидую я тебе
| |
|
|
|
3.20, Аноним (21), 19:20, 19/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Справедливости ради, JS - один из быстрейший интерпретируемых языков. Браузерные войнушки пошли ему на пользу за последние десять лет.
| |
|
4.22, Аноним (21), 19:23, 19/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
а больное место браузера -- тормозной DOM, который в идеале заменить бы на WebGL / WebAssembly
| |
|
5.24, Crazy Alex (ok), 19:40, 19/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Больное место браузера - возможность гонять код вместе с данными и менять его в любой момент,напрочъ убившее любые осмысленные стороние (и подконтрольные пользователю) клиенты
| |
5.29, Аноним (29), 20:55, 19/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
>а больное место браузера -- тормозной DOM, который в идеале заменить бы на WebGL / WebAssembly
Ишь чего удумали, текст с сайтов копировать! Дадим им картинку, пусть утрутся.
| |
|
6.36, НяшМяш (ok), 23:56, 19/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Будем скриншотить и прогонять через OCR. Чёрт, звучит как идея для дополнения (если они к тому времени останутся).
| |
|
7.59, гуглезила (?), 10:05, 22/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
останутся, но доступа к изображению на странице у них не будет, для вашей большей безопастносте - а то ж они его могут - украсть!
| |
|
|
5.47, мяя (?), 15:16, 20/07/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
DOM не такой уж тормозной, просто не надо его использовать как хранилище данных.
| |
|
|
|
|
|
2.23, Аноним (21), 19:25, 19/07/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
Смотря на различный код, Раст, пускай и многословней, но на вид как-то поадекватнее Го
Так что пускай лучше живёт
| |
|
3.33, Аноним (33), 23:00, 19/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Адекватнее. Одни сплошные сголашения и синтаксис просто хакерский какие-то двоеточия вертикальные пайпы блоки выполнения. Ну нахрен.
| |
|
4.45, Илья (??), 14:49, 20/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Да, синтаксис не очень красивый. Но если разобраться поглубже - то становится понятно, что в расте всё на своих местах.
| |
|
|
2.32, Ordu (ok), 22:26, 19/07/2019 [^] [^^] [^^^] [ответить]
| +/– |
Не, это разные языки. Сферы их применения пересекаются, но не совпадают.
| |
|
1.30, Аноним (33), 21:10, 19/07/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Вот добавить бы упралвение подкапотными потоками (создавать, удалять, группировать в группы и т.д.) ну цены бы не было, а так приходиться изгаляться всякими GetOSLockThread.
А да еще хорошо бы более прозрачную интеграцию с C runtime и вообще бы цены небыло, а так какая игрушка.
| |
1.31, Аноним (31), 21:39, 19/07/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
И у нас там был недалеко топор. И мы подумали — может топор запустить?! Отсюда и родилась мысль — сделать летающий топор. (c)
| |
|
|
|
|
5.51, Аноним (52), 19:44, 20/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
То есть летающий топор это нормально, а гезета значит токсичная. Да помоему это все идиотизм вмесете взятое,
| |
5.55, Аноним (2), 03:13, 21/07/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Хорошо, в следующий раз просто кину ссылку на DuckDuckGo с соответствующим запросом.
| |
|
|
|
|
1.60, vantoo (ok), 13:34, 22/07/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> разработчики рассудили, что если существует вариант Python для микроконтроллеров, то почему бы не создать подобное для языка Go
Рассуждение из области "вон кто-то намусорил, значить почему бы и мне не намусорить?".
| |
|