
Andrew
12.03.2017
17:11:35
Поискал в офф. репах archlinux swift - не нашел...

Мерлин
12.03.2017
17:13:19
Есть докер образ

Yura
12.03.2017
17:16:24
Собираются с perl мигрировать потихоньку на swift

Google

Yura
12.03.2017
17:17:09
Может быть даже получится.
Во всяком случае, я - точно не противник swift: удобный компилируемый язык с refcount в языке и поддержкой корпорации - такого давно не хватало.
К сожалению, Vala не взлетел, а Cython ни кто всерьез не воспринимает.
Есть еще nim, но мне он что-то не слишком нравится: слишком быстро усложняется, а стройности все меньше. Могу ошибаться.

Semyon
12.03.2017
17:23:10
у меня бомбит
"горутины" в swift есть, называется Grand Central Dispatch, кушайте не обляпайтесь. Под капотом работает точно так же как горутина.
CSP либ дохрена и больше
ленгвидж симплисити — ну хз, свифт достаточно прост как язык
компилейшн спид да, это вообще главна проблема свифта

Yura
12.03.2017
17:46:34
Файберы прикручиваются к swift на ура. Конечно, с горутинами с их резиновым стэком ни что не сравнится, но не всем нужно 100000 корутин, и чтоб 1000 из них с мегабайтным стэком. Чаще всего (если не брать go, в котором по горутине на каждый чих) одновременно корутин не больше пары тысяч. И каждой можно спокойно дать "640kB, которых хватит всем"


N
12.03.2017
18:14:23
ленгвидж симплисити — ну хз, свифт достаточно прост как язык
угу, простой язык, главное привыкнуть к ARC - единственное, что может сбить с толку приходящих с GC языков людей на него. И да, обработка ошибок мне в нем нравится многим больше, чем в Go. И defer поинтереснее - вызывается в конце области видимости, много прикольных штук, но в то же время очень простые для понимания.
компилейшн спид да, это вообще главна проблема свифта
а тут не соглашусь. для меня это менее проблема, чем изменения языка с потерей обратной совместимости. ну да, есть мигрейшн тулы в xcode, которые мигрируют не все, а так плохо в целом, что не устаканили язык сам еще с одной стороны и в данный момент это напргягает больше всего. компилить можно взять железку помощнее, macbook 12 долго компилит, а берешь macbook pro 15 на i7 и уже все комфортно по времени

Google

Semyon
12.03.2017
18:41:25
проблема с миграциями такая себе проблема
раз в год потратить пару часов, в среднем
а вот что у меня средней руки проект собирается 20 минут на CI клин билдом — это проблема
ну а вообще щас Крис съебал из сраного Эппла
так что пизда теперь вашему свифту ебаному, мухахах

N
12.03.2017
18:45:41

Semyon
12.03.2017
18:47:01
мы на каком-то этапе просто стали делать в командном календаре отметку "проверить, не вышла ли бета икскода и если да, то мигрировать проект на новый свифт"
чтобы не быть как коммунальщики

Roman
12.03.2017
19:17:30

Diskord
12.03.2017
19:30:45
Всем привет.
Можно вопрос? Можно ли сравнить управляемость кода с jvm?

Yura
12.03.2017
19:33:53
И что имеется в виду под "управляемостью кода"?

Diskord
12.03.2017
19:34:40
Ну насколько я понял в го довольно толстые бинарники
из-за всяких GC

Yura
12.03.2017
19:35:29
В Го ксть больше способов выстрелить себе в ногу, чем в Java, но все-таки сложнее, чем в большинстве других языков.

Diskord
12.03.2017
19:35:42
а го он вообще для чего?

Yura
12.03.2017
19:35:50
а го он вообще для чего?
В основном, для любых сетевых сервисов. Точно пока что не доя gui, и с высшей математикой пока напряги.

Google

Phil
12.03.2017
19:37:14
из-за всяких GC
вообще нет. Go не использует динамические библиотеки и абсолютно всё льет в себя

Diskord
12.03.2017
19:37:49
Точнее он же не в одной с ними нише?

Yura
12.03.2017
19:39:13
Я, например, выкинул nginx и звменил его серваком на Go. Раздает видео на video.mail.ru . Считается это заменой C/C++ ?

Diskord
12.03.2017
19:40:36
это смысл?

Yura
12.03.2017
19:40:53
К чести признать, одноклассники сделали тоже самое, но на Java.

Phil
12.03.2017
19:41:15

Yura
12.03.2017
19:41:42
это смысл?
В то время, когда я это делал, nginx многое не умел из того, что нужно было. И часть до сих пор не умеет.

Diskord
12.03.2017
19:42:33
Но учить его вторым к питону, не вариант?

Yura
12.03.2017
19:42:54

Roman
12.03.2017
19:42:55

Мерлин
12.03.2017
19:43:29

Yura
12.03.2017
19:43:37
Ты найдешь Go вполне родным для себя, если знаешь Python и хоть немного C.

Phil
12.03.2017
19:43:46

hamper ?
12.03.2017
19:43:57
Мне кажется как замена всяким сям лучше раст подойдет (драйверы всякие писать или бд всякие), а го для вебсервисов и утилит разных удобен, там где раньше ноджс использовался например.

Yura
12.03.2017
19:44:10
Если сервис стоит в io, то разница будет минимальна.

Google

Phil
12.03.2017
19:44:36

Yura
12.03.2017
19:44:51

Roman
12.03.2017
19:45:01
Точнее он же не в одной с ними нише?
в некой степени Go заменяет C/C++, но только в определённых направлениях, часто это серверный софт (не во всех сферах естественно, C++ возможно ещё лет 20 ничто не заменит полностью)

Diskord
12.03.2017
19:45:22
А что с джавой?

Phil
12.03.2017
19:45:23
Из личного опыта.
"на донышке" :))) Но давай потеотеризируем. Там в плюсе только рантайм. Треть ли это?

Yura
12.03.2017
19:45:36
На С можно написать в полтора раза производительнее, но писать придется в два-три раза дольше

Phil
12.03.2017
19:47:07

Yura
12.03.2017
19:47:51

Phil
12.03.2017
19:48:46
так ладно, мне надоело в кофе-хаузе, пойду домой ;)

Yura
12.03.2017
19:49:24
Приятного вечера!

Kirill
12.03.2017
19:49:53

ainu
12.03.2017
19:52:36
Легко.
noga, err := nogostrel.Shoot()
Стреляй по ногам как хочешь, но не забывай err проверять
Это я сарказмирую. Не видел языка, где сложнее выстрелить в ногу.

Kirill
12.03.2017
19:54:32
import java.lang.reflect.Field;
public class Main {
public static void main(String[] args) throws Exception {
Class cache = Integer.class.getDeclaredClasses()[0];
Field c = cache.getDeclaredField("cache");
c.setAccessible(true);
Integer[] array = (Integer[]) c.get(cache);
array[132] = array[133];
System.out.printf("%d", 2 + 2);
}
}

ainu
12.03.2017
19:55:58
Что это? Почему 132=133?

Kirill
12.03.2017
19:56:15
итого — 2 + 2 = 5

Google

Stanislav
12.03.2017
19:56:52
Хотите сказать, что в ГО такого нет?)

Kirill
12.03.2017
19:57:08

ainu
12.03.2017
19:57:30

Stanislav
12.03.2017
19:57:53
пример же не 2 + 2

Semyon
12.03.2017
19:58:06

Kirill
12.03.2017
19:58:18

ainu
12.03.2017
19:59:08
А я знаю как:)

Kirill
12.03.2017
19:59:24

ainu
12.03.2017
20:00:58
Import f fmt
type fmt struct {}
func (f fmt) Println (){
f.Println(5)
}
fmt.Println(2+2)

Kirill
12.03.2017
20:01:18

ainu
12.03.2017
20:01:27
Тьфу f повторилось но суть понятно

Kirill
12.03.2017
20:01:32
так-то и nil переопределяли

ainu
12.03.2017
20:01:58
Это целенаправленное прицеливание в ногу с предварительной подготовкой

Kirill
12.03.2017
20:03:20

ainu
12.03.2017
20:03:39
На самом деле
https://play.golang.org/p/KO-KBTcVbC
На этом можно сыграть
На целочисленности
https://play.golang.org/p/SgDRPXPz2K

Roman
12.03.2017
20:08:17