LINUX.ORG.RU

почему голанг - это кул

 


1

3

Голенгу никогда не догнать сишечку, потому что в нём нельзя циклические зависимости. В Си можно, в Паскале можно. Это, наверное, самая плохая новость для меня за всё время его изучения.

★★★★★

Последнее исправление: den73 (всего исправлений: 2)

Ответ на: комментарий от anonymous

А что не так? У меня есть аргументы. Го поделие Гугла для внутреннего употребления.

что мы знаем об успешных проектах гугла? 1) Google.com 2) Gmail.com - средство сбора данных. 3) Chrome - клиент для google.com 4) Android мобильный клиент для google.com да еще и купленный.

Что в минусе? Dart? D? Google glass? Автоматические машины? RSS Reader? Google code и тот просрали. Hangouts? Google plus? Этот мегачатик который закрыли хотя он был очень хорош? IoT? google App Engine (он уже обделался перед AWS и MS Azure).

В Любой момент Go бросят и уже вроде есть Go 2. Это вам не Python 2 и 3 это круче будет. Кто еще вложится как в Java?

dem ★★
()
Ответ на: комментарий от dem

Во-первых, ни Jython, ни PyPy почти никто не юзает, а Cython не вещь в себе, так что это всё не релевантно. Во-вторых, если не брать Jython, то это всё в рамках одной экосистемы со стандартной реализацией. В-третьих, примеры, когда в рамках одного языка существует несколько радикально отличных живых экосистем, на сегодняшний день можно пересчитать на пальцах одной руки, вряд ли даже двух.

WitcherGeralt ★★
()
Ответ на: комментарий от dem

Go мертв. Я давал ему 10 лет, но теперь не дам и 2-х лет... Все кто вложился в него потерпят «это фиаско братан»...

На основании чего ты делаешь такие предсказания?

Его реально используют, даже в России.

Он уже достаточно долго существует и всё время только рос и сейчас продолжает расти.

Трудно представить что go куда-то денется, это же не ruby on rails который в какой-то момент просто исчез.

За его качество ничего сказать не могу, т.к. не использовал. Но как видно на примере js, что из себя технология представляет вообще никак не влияет на популярность и перспективы.

Amethyst777
()
Ответ на: комментарий от WitcherGeralt

Во-первых, ни Jython, ни PyPy почти никто не юзает

Ой ли?

В-третьих, примеры, когда в рамках одного языка существует несколько радикально отличных живых экосистем, на сегодняшний день можно пересчитать на пальцах одной руки, вряд ли даже двух.

Тут было куча тредов какое УГ Python. Ну так и почему у него СТОЛЬКО реализаций?

dem ★★
()
Ответ на: комментарий от dem

Еще был десктопный GTalk. И Picasa. И panoramio, который они купили чтобы угробить.

Amethyst777
()
Ответ на: комментарий от Amethyst777

На основании чего ты делаешь такие предсказания?

Опыт

Его реально используют, даже в России.

FoxPro использовали и еще продолжают.

Он уже достаточно долго существует и всё время только рос и сейчас продолжает расти.

FoxPro рос. Delphi рос. И где они?

Трудно представить что go куда-то денется, это же не ruby on rails который в какой-то момент просто исчез.

Именно тоже самое что убило Ruby убьет и Go

За его качество ничего сказать не могу, т.к. не использовал. Но как видно на примере js, что из себя технология представляет вообще никак не влияет на популярность и перспективы.

Причины популярности JS не в Этом.

dem ★★
()
Ответ на: комментарий от dem

Давай пари. Подведём итоги через три года, годик на погрешность, если какая-то крупная компания, зявит, что дропает Go и всё переписывает, либо какой-то значимый проект скопытится и заявит, что проблема в Go, то ты выиграл. Чисто символически на $20, принимаешь?

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Подведём итоги через три года, годик на погрешность, если какая-то крупная компания, зявит, что дропает Go и всё переписывает, либо какой-то значимый проект скопытится и заявит, что проблема в Go, то ты выиграл. Чисто символически на $20, принимаешь?

Нет. Я больше тебе скажу что крупные компании не скажут что дропают Го - это будет коммерческий фэйл. Но ты сам увидишь что произойдет.

dem ★★
()

Мне вот что непонятно.

Я не тестировал go, но говорят, что он по производительности около Java где-то.

Java (и это мне пришлось убедиться лично на двух алгоритмах) равна и даже местами быстрее чем C gcc -O0. (OpenJDK 8, новые не проверял).

Т.е. при переносе java кода на C (а в джаве кстати вполне работает jni) код замедлется и быстрее он становится только при -O3.

Зачем go, который хуже чем Java при этом всё равно медленнее чем оптимизированный си? Некоторые ищут альтернативу джаве чтобы добиться скорости си -O3 но при этом не связываться си. Но go не решает этой задачи. При этом он уступает джаве по множеству параметров. Такую задачу возможно решает D, но точно не go. Не могу понять смыл go. Скорости он не даёт; потоков там нормальных нет; дженериков нет (это даже хуже чем в джаве! это как надо постараться); кросс-платформенного GUI нет (в джаве аж целых два - дохлый jfx и полудохлый swing, но он зато надежный); WORA нет (идея-то реально работающая), т.е. надо перекомпилировать. В чем смысл Go если даже урод-java лучше?

Amethyst777
()
Ответ на: комментарий от Amethyst777

На основании чего ты делаешь такие предсказания?

На основании голосов в голове, видно же.

// С Go не встречался, но даже мне это читать смешно.

anonymous
()
Ответ на: комментарий от hbee

и не нужны исключения.

/me закатывает глаза

//java
Class Ret<T> {
    private boolean error = false;
    private T ret;
    public Ret(T default) {
        ret = default;
    }
    public boolean ok() {
        return error == false;
    }
    public Ret<T> err() {
        ret = null;
        error = true;
        return this;
    }
    public val() {
       return ret;
    }
    public Ret<T> set(T val) {
       ret = val;
       return this;
    }
    
}
//...
Ret<Integer> someMethod() {
    Ret<Integer> ret = new Ret<Integer>(null);
    //...
    Ret<Long> localVarRaw2 = someMethod2(a1, a2);
    if (!localVarRaw2.ok()) return ret.err();
    Long localVar2 = localVarRaw2.val();
    //...
    Ret<String> localVarRaw3 = someMethod3(a1, a2, localVar2);
    if (!localVarRaw3.ok()) return ret.err();
    Long localVar3 = localVarRaw3.val();
    //...
    return ret.set(localVar10);
}

Ret<Long> someMethod2() {
    Ret<Long> ret = new Ret<Long>(null);
    //...
    if (allIsBad) return ret.err();
    //...
    return ret.set(retValue);
}
//etc
vs
Integer someMethod() {
   Integer ret = null;
   try {
      //...
      Long localVar2 = someMethod2(a1, a2);
      //...
      String localVar3 = someMethod3(a1, a2, localVar2);
   } catch (Exception e) {
      //exception code or another throw
   }
   return ret;
}
И чо? Без исключений вот так проверять каждый выхлоп? В го там как с этим?

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от Amethyst777

а в джаве кстати вполне работает jni

Читер.

Зачем go, который хуже чем Java при этом всё равно медленнее чем оптимизированный си?

1) кто владеет java? 2) Java имеет большой груз легаси 3) Java сложный. Надо головой думать.

кросс-платформенного GUI нет

Кому он нужен?

dem ★★
()
Ответ на: комментарий от WitcherGeralt

Ты виляешь. Дай определение экосистемы в контексте ЯП. И растолкуй свою мысль, я её совсем не улавливаю.

Ты про Eifell знаешь? Или про Rocket их пишут 2 землекопа. Go пишут 10 землекопов на зарплате гугла. Предположим Го станет универсален и станет работать на AWS на Azure и прочем принося им достаточно большую прибыль..... Далее рассказать?

dem ★★
()
Ответ на: комментарий от dem

Но ты сам увидишь что произойдет

И что же?

Ну, так ты сам определи симптомы, опираясь на них и поспорим. Если ты в принципе не готов на пари, значит сам в свои пророчества не веришь.

WitcherGeralt ★★
()
Ответ на: комментарий от Amethyst777

Языки медленнее Си и Явы, конечно же, тоже нужны. Иначе не было бы Питона. У Голанга в качестве преимуществ приводится AOT компиляция (быстрый старт, лучше Java), быстрая компиляция (лучше C++).

den73 ★★★★★
() автор топика
Ответ на: комментарий от Amethyst777

Банальный ответ на банальный вопрос.

Имеется много прикладных задач, которые можно реализовать с
использование разных языков программирования и при этом не
получить ощутимой выгоды от использования какого-либо языка.

Если же задача из серии обработки big data или нахождения простого
числа с количеством цифр более двух миллионов, то тогда уже
нужно подумать, что лучше использовать go или к примеру C.

anonymous
()
Ответ на: комментарий от WitcherGeralt

Нет я верю. Но я не могу знать буду ли я жив через 2-3 года.

dem ★★
()
Ответ на: комментарий от den73

А все просто будет. Это все уже написано http://local.joelonsoftware.com/wiki/Огонь_и_движение

Гугл никому не даст получить такую же выгоду от Го какую получает он. Я уверен, что тот Го который есть снаружи отличается от того что внутри. Гугл дропнет 1-й Го в пользу второго....

dem ★★
()
Ответ на: комментарий от anonymous

Если же задача из серии обработки big data или нахождения простого

числа с количеством цифр более двух миллионов, то тогда уже нужно подумать, что лучше использовать go или к примеру C.

Если у тебя есть те кто умеют в С.

dem ★★
()
Ответ на: комментарий от dem

Java сложный

И да и нет. Третий месяц осваиваю Java. Если пользоваться только самим языком и стандарной библиотекой, то он не особо сложный во-первых. Во-вторых у него отношение затрат при освоении и получаемых возможностей очень высокое. Например среди прочего в этих трех месяцах освоил его многопоточность на начальном уровне: happen before, что атомарно по дефолту, монитор wait/notify, семантику слова synchronized, примитивные блокировки. После чего чего легко и спокойно получается писать надежный безопасный многопоточный код. Когда надо поглядывая в доку. Документация отличная JLS+tutorial+javadoc. Раздражают конечно вещи типа всё signed, стандартная библиотека немного урод, сам язык немного дубовый, но это можно привыкнуть. Ну и вообще IDE помогает - с IDE это другие условия труда вообще. У Go кстати есть сравнимая с jetbrains IDE? То-то.

Будет ли Go легче в освоении? Не думаю. Причем на единицу вложенных сил получишь меньше.

Но всякие там фреймворки джавовские я даже не трогал. Там наверное всё сильно сложнее.

Amethyst777
()
Ответ на: комментарий от dem

Я уверен, что тот Го который есть снаружи отличается от того что внутри.

Продолжайте, пожалуйста. Ждём откровений про то, что на самом деле Go насаждают рептилоиды в качестве мозгового слизня для порабощения кодеров.

anonymous
()
Ответ на: комментарий от dem

Go мертв. Я давал ему 10 лет, но теперь не дам и 2-х лет...

Интересно должно быть у вас там, в параллельной вселенной.

eao197 ★★★★★
()
Ответ на: комментарий от Amethyst777

Давай так. Тебе нужен список юзеров. Что ты используешь? Коллекцию, вектор, связанный список или массив?

dem ★★
()
Ответ на: комментарий от Amethyst777

с IDE это другие условия труда вообще

Только у многословного раздутого говна вроде Java, где hello world не напишешь без кодогенерации абстрактных фабрик синглтонов.

anonymous
()
Ответ на: комментарий от eao197

Интересно должно быть у вас там, в параллельной вселенной.

Ну с FoxPro я был прав. И с C# тоже. А далее делайте что хотите...

dem ★★
()
Ответ на: комментарий от Amethyst777

Потоки там более чем нормальные, тебе просто со стороны кажется, я тоже сначала не понял.

всё равно медленнее

Не медленнее. Не факт, что абстракции на C, написанные прогером средней руки, будут быстрее аналогичных в Go. Плюс скорость разработки и простота поддержки критичней производительности софта, не зря кругом Python.

кросс-платформенного GUI нет

Такая область применения вообще не подразувается, хотя первая ласточка уже есть.

WORA нет

Чего это нет, если в компиляторе целая туча платформ поддерживается.

урод-java лучше

VM с собой надо таскать, так что хуже вот прям сразу.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от anonymous

тогда уже

нужно подумать, что лучше использовать go или к примеру C

Так в том то и дело, что для таких задач go вообще глупость. Мне говорили что он по скорости находится между Java и С.

Алгоритмы и всякие числодробилки хорошо работают в самой джаве. Совмеренная жава, как выяснилось, очень быстрая. У меня получилось так что Си дает прирост 1,5 ну максимум самый максимум в 2 раза над Java. (современная x86 машина, бесплатная JVM)

Amethyst777
()
Ответ на: комментарий от WitcherGeralt

WORA нет

Чего это нет, если в компиляторе целая туча платформ поддерживается.

Я тебе про WORA говорю, кукаретик. Про WORA.

Amethyst777
()
Ответ на: комментарий от Amethyst777

У меня получилось так что Си дает прирост 1,5 ну максимум самый максимум в 2 раза над Java

Это если писать код, не зная основ производительности. Если царя внести, то раз в 50 будет, инфа 100%.

Ну и расскажи, что за задача, мне тоже интересно.

anonymous
()
Ответ на: комментарий от dem

Java сложный. Надо головой думать

Палка о двух концах. Чтобы обходиться меньшим, надо тоже головой думать. Разным людям удобнее думать на разных уровнях, а кто-то (я) знает минусы и того и другого, ему плевать.

WitcherGeralt ★★
()
Ответ на: комментарий от anonymous

Только у многословного раздутого говна вроде Java, где hello world не напишешь без кодогенерации абстрактных фабрик синглтонов.

Не могу точно сказать, т.к. пишу код для своих задач, не использую фреймворков и прочего.

НО. Если работать только с самим языком, со стандартной библиотекой и ограниченным набором сторонних библиотек, то особо много бойлеплейта набивать не приходится.

Догадываюсь, что из J2EE идет или из спрингов.

Amethyst777
()
Ответ на: комментарий от dem

Ты хочешь сказать, он дропнет общедоступную часть и оставит себе улучшенную? Я не исключаю, что это так и будет. Но мне кажется, что Гуглу и так хорошо. Взять одни только гугл докс - сколько разведданных. Бери и делай хоть тебе гугл такси, хоть тебе гугл еду - все конкуренты как на ладони.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от dem

Разочарую вас на счет FoxPro.

Имеется https://github.com/harbour/core /100% совместимый c Clipper/.
Так вот при сборке проекта получается не Clipper + байт код, а
обычный C код, который уже затем компилируется ...

Кроме того в prg код можно писать в перемежку с C кодом.
В PRG можно использовать ООП ...

Конечно и в harbour имеются недостатки, ...

anonymous
()
Ответ на: комментарий от Amethyst777

Ты откуда такой дерзкий вылез? Сам-то понимаешь о чём говоришь? «Write once», всё как в твоей мантре.

WitcherGeralt ★★
()
Ответ на: комментарий от den73

Но я, честно говоря, думаю, что мировое правительство (или господь Бог) целенаправленно откладывает момент, когда роботы убъют людей или когда наступит электронный тоталитаризм. Потому что то, что происходит в ИТ, в целом выглядит как саботаж. Если мы рассмотрим чисто техническую сторону дела. Но если мы учтём роль ИТ в жизни людей, то это выглядит как оборона светлых сил от наступающего апокалипсиса.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.