Yura
В Го ксть больше способов выстрелить себе в ногу, чем в Java, но все-таки сложнее, чем в большинстве других языков.
Anonymous
а го он вообще для чего?
Yura
а го он вообще для чего?
В основном, для любых сетевых сервисов. Точно пока что не доя gui, и с высшей математикой пока напряги.
🏳️ Phil
из-за всяких GC
вообще нет. Go не использует динамические библиотеки и абсолютно всё льет в себя
Anonymous
Anonymous
Точнее он же не в одной с ними нише?
Yura
Я, например, выкинул nginx и звменил его серваком на Go. Раздает видео на video.mail.ru . Считается это заменой C/C++ ?
Anonymous
Anonymous
это смысл?
Yura
К чести признать, одноклассники сделали тоже самое, но на Java.
🏳️ Phil
Yura
это смысл?
В то время, когда я это делал, nginx многое не умел из того, что нужно было. И часть до сих пор не умеет.
Yura
Anonymous
Но учить его вторым к питону, не вариант?
Yura
Мерль
Вроде интересно, но С++ и Си он не заменит?
Он заменит (уже много где заменил) их в области производительных веб сервисов.
Он гораздо проще, на нём проще писать асинхронный код и сложнее выстрелить себе в ногу
Yura
Ты найдешь Go вполне родным для себя, если знаешь Python и хоть немного C.
🏳️ Phil
hamper 𓅝
Мне кажется как замена всяким сям лучше раст подойдет (драйверы всякие писать или бд всякие), а го для вебсервисов и утилит разных удобен, там где раньше ноджс использовался например.
Yura
Если сервис стоит в io, то разница будет минимальна.
Yura
Roman
Точнее он же не в одной с ними нише?
в некой степени Go заменяет C/C++, но только в определённых направлениях, часто это серверный софт (не во всех сферах естественно, C++ возможно ещё лет 20 ничто не заменит полностью)
Anonymous
А что с джавой?
🏳️ Phil
Из личного опыта.
"на донышке" :))) Но давай потеотеризируем. Там в плюсе только рантайм. Треть ли это?
Yura
На С можно написать в полтора раза производительнее, но писать придется в два-три раза дольше
Yura
🏳️ Phil
🏳️ Phil
так ладно, мне надоело в кофе-хаузе, пойду домой ;)
Yura
Приятного вечера!
Kirill
ainu
Легко.
noga, err := nogostrel.Shoot()
ainu
Стреляй по ногам как хочешь, но не забывай err проверять
ainu
Это я сарказмирую. Не видел языка, где сложнее выстрелить в ногу.
Kirill
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
Что это? Почему 132=133?
Kirill
Kirill
итого — 2 + 2 = 5
Anonymous
Хотите сказать, что в ГО такого нет?)
Kirill
Anonymous
пример же не 2 + 2
nvkv
ainu
А я знаю как:)
ainu
Import f fmt
type fmt struct {}
func (f fmt) Println (){
f.Println(5)
}
fmt.Println(2+2)
Kirill
ainu
Тьфу f повторилось но суть понятно
Kirill
так-то и nil переопределяли
ainu
Это целенаправленное прицеливание в ногу с предварительной подготовкой
Kirill
ainu
На самом деле
ainu
https://play.golang.org/p/KO-KBTcVbC
ainu
На этом можно сыграть
ainu
На целочисленности
ainu
https://play.golang.org/p/SgDRPXPz2K
Roman
Kirill
Kirill
ты видел, в каком ты чате?
ainu
defer func(){
recover()
}()
Roman
ты видел, в каком ты чате?
бляха муха, читай контекст, был приведён пример, что мол если не проверишь ошибку то undefined behaviour
noga, err := nogostrel.Shoot()
Kirill
если не проверишь ошибку — не соберется
Roman
вполне оправданная причина, случай в котором можно выстрелить себе в ногу
Kirill
ainu
Вот в пхп, яваскрипт можно выстрелить в ногу при помощи. If md5($pass) =="0abacab22..."
ainu
Из-за нюансов в преобразовании типов
ainu
В go даже int и uint не сравнишь
Kirill
Kirill
и люди пошли делать довольно уродские if (true == $abc)
Anonymous
А да, ещё вопрос
Anonymous
Го же можно под ведроид?