The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз языка программирования Go 1.10

18.02.2018 10:31

Состоялся релиз языка программирования Go 1.10, который развивается компанией Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Код проекта распространяется под лицензией BSD.

Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями из языка Python. Язык достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке Си.

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

Основные новшества, представленные в выпуске Go 1.10:

  • В утилите go обеспечена поддержка автоматического кэширования результатов сборки и тестирования пакетов;
  • При тестировании пакетов командой "go test" реализован автоматический запуск команды "go vet" для выявления значительных проблем перед запуском тестов. Для отключения vet-проверок следует запускать тесты командой "go test -vet=off";
  • В cgo, механизм для организации вызова кода на C/C++ из программ на языке Go, добавлена возможность прямой передачи строковых значений между кодом на Go и Си. Функции на языке Си могут принимать строки языка Go, используя тип _GoString_, а также получать прямой доступ к строкам при помощи вызова _GoStringLen и _GoStringPtr;
  • Задаваемые в cgo флаги компиляции (#cgo CFLAGS) теперь проверяются на предмет допустимости применения. В случае применения флагов, отсутствующих в белом списке, будет выдана ошибка (например, злоумышленник может использовать в пакете флаг "-fplugin" для запуска произвольного кода на этапе сборки);
  • В языке разрешено использование операций индексирования x[1.0 << s] в случае если "s" является нетипизированной константой;
  • В утилите go обеспечена попытка автоматического определения корня инструментария на основе текущего файлового пути, если не выставлена переменная окружения GOROOT, что позволяет распаковать бинарный дистрибутив Go в любом каталоге и начать использовать его без дополнительных настроек;
  • Команда "go build" теперь определяет устаревшие пакеты только на основе содержимого файлов с исходными текстами, заданных сборочных флагов и метаданных из скомпилированных пакетов (время модификации больше не учитывается);
  • При выполнении "go build" флаги "-asmflags", "-gcflags", "-gccgoflags" и "-ldflags" теперь применяются только к пакетам, перечисленным в командной строке и не передаются при сборке зависимостей;
  • Команда "go install" теперь устанавливает только пакеты, перечисленные в командной строке (для установки сборочных зависимостей следует явно указывать флаг "-i");
  • В ассемблере для архитектуры x86_64 добавлена поддержка 359 новых инструкций, включая AVX, AVX2, BMI, BMI2, F16C, FMA3, SSE2, SSE3, SSSE3, SSE4.1 и SSE4.2;
  • В компиляторе проведена оптимизация скорости генерации кода для различных архитектур. Сборщик мусора оптимизирован для снижения задержек и минимизации негативного влияния на производительность во время своей активности;
  • Режимы сборки портированы для новых архитектур: "c-shared" теперь работоспособен для архитектур linux/ppc64le, windows/386 и windows/amd64, режим "pie" для darwin/amd64, а "plugin" для linux/ppc64le и darwin/amd64;
  • Прекращена поддержка FreeBSD 9, для работы теперь требуется как минимум FreeBSD 10.3. Возобновлена поддержка NetBSD (работа возможна только с экспериментальной кодовой базой NetBSD 8). Go 1.10 является последним выпуском с поддержкой OpenBSD 6.0, OS X 10.8 "Mountain Lion", OS X 10.9 "Mavericks", Windows XP и Windows Vista, в дальнейшем для работы потребуется как минимум OpenBSD 6.2, OS X 10.10 "Yosemite" или Windows 7.


  1. Главная ссылка к новости (https://groups.google.com/foru...)
  2. OpenNews: Обновление языка Go 1.8.4 и 1.9.1 с устранением проблем с безопасностью
  3. OpenNews: Релиз языка программирования Go 1.9
  4. OpenNews: Проект Go опубликовал собственный шрифт для программистов
  5. OpenNews: В рамках проекта gonix, развивается реализация unix-утилит на языке Go
  6. OpenNews: В рамках проекта jvm.go развивается вариант JVM, написанный на языке Go
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48096-golang
Ключевые слова: golang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (149) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 11:03, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –13 +/
    Ждем дженерики...
     
     
  • 2.91, Аноним (-), 01:19, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –6 +/
    я как узнал, что в го нет дженериков, так тут же понял, что язык игрушечный. Без дженериков добро пожаловать обратно в дельфи, где если надо создать список чего-то, то надо возводить для этого отдельный класс списка: TStringList, TIntList etc. В норм языках все проще: List<String>, List<Integer>... И не нужно дублировать функционал.

    зы Ща нагуглил delphi generics, и обнаружил, что с 2009 они уже есть. А я работал с Borland Delphi 2005 (там на диске еще древнегреческая голова статуи какая-то). Ну молодцы, чо. Значит го хуже, чем даже дельфи 2009.

     
     
  • 3.96, Рррр (?), 04:41, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Почитал в комментариях, наткнулся на слова "защита от дурака и художника", все встало на свои места. Просто есть люди, которые не могут без джкнериков физ-баз написать.
     
     
  • 4.149, _ (??), 00:01, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >"защита от дурака и художника"

    Тля! Это великолепно! Одной фразой - всю суть! :-)
    Дай URL если найдёшь.

     
  • 3.107, Анончик (?), 12:35, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Без дженериков добро пожаловать обратно в дельфи

    Только вот в делфи они есть вообще-то, и самым серьезным недостатком для меня остается секция var.

     
     
  • 4.121, Аноним (-), 16:57, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Только вот в делфи они есть вообще-то

    коммент до конца не читай
    @
    сразу отвечай

     
  • 3.108, Аноним (-), 12:49, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В Go такие вещи делаются с помощью интерфейсов. Идеология языка подразумеват отсутствие дублирования возможностей, значит раз без дженериков можно обойтись — они не нужны.
     
     
     
    Часть нити удалена модератором

  • 5.122, Аноним (-), 17:59, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > и какой же там интерфейс списка?

    Интерфейс списка? Ты о чём? Есть тип списка в стандартной библиотеке: https://golang.org/pkg/container/list/

    > принимает какой-нибудь самый базовый класс Object в своем методе add?

    Сядь поплотнее в кресло, сделай глубокий вдох, приготовься к взрыву мозга: в go не тклассов. А так — принимает interface{}.

     
     
  • 6.124, Аноним (-), 18:19, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну нормас так Что, ФП головного мозга Обратно в 70-ые Потыкал запускалку прим... большой текст свёрнут, показать
     
     
  • 7.125, Аноним (-), 18:35, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>  go не тклассов
    >Ну нормас так. Что, ФП головного мозга? Обратно в 70-ые?

    Что, не можешь представить ООП без классов? А оно бывает.

    > Го-программерам без дженериков приходится явно указывать типы там, где в норм языках они указываются на основе дженериков

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

     
  • 7.127, анон (?), 20:30, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не распинайся Высказывания ниже за авторством Роба Пайка По-моему он просто тр... большой текст свёрнут, показать
     
     
  • 8.134, Аноним (-), 23:18, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да И ещё ко многим другим извращениям Кому оно действительно нужно в больших к... текст свёрнут, показать
     
     
  • 9.136, angra (ok), 01:05, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну что поделать, люди разные, одни программисты способны слегка менять способ мы... текст свёрнут, показать
     
     
  • 10.141, Аноним (-), 06:37, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Этой мантре уже 100 лет в обед, но на практике она не работает ... текст свёрнут, показать
     
  • 8.150, _ (??), 00:05, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что И правда, почему C программеры не любят _всё_ , кроме С Не благо... текст свёрнут, показать
     
  • 8.151, _ (??), 00:06, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что C программеры не любят _всё_ , кроме С Не благодари ... текст свёрнут, показать
     

     ....большая нить свёрнута, показать (15)

  • 1.3, Аноним (-), 11:29, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Год копался в Go, Rust, Nim, Idris. Как язык лучше всех Idris. Но пользоваться им нереально. И если Rust имеет интересную концепцию управления памятью, то в том же Go я абсолютно не вижу смысла, т.к. nim обходит по всем фронтам.
    Вообще, возникает ощущение, что гугл запилил его для вчерашних студентов. Си они не осилили на достаточном уровне, а работать надо.
     
     
  • 2.6, Вадик (??), 11:59, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Год копался в Go, Rust, Nim, Idris. Как язык лучше всех Idris.
    > Но пользоваться им нереально. И если Rust имеет интересную концепцию управления
    > памятью, то в том же Go я абсолютно не вижу смысла,
    > т.к. nim обходит по всем фронтам.
    > Вообще, возникает ощущение, что гугл запилил его для вчерашних студентов. Си они
    > не осилили на достаточном уровне, а работать надо.

    Ага, я тоже, только Idrtis не смотрел. Nim интересен, но по факту он не заинтересовал большинство. Rust достаточно сложен в освоении, но система владений просто невероятна (до него не думал, что можно как-то по другому управлять памятью кроме как GC и ручной контроль через malloc и т.д.)
    Сейчас вот изучаю Go, но после полугода его использования (ага и на проде тоже) он оставил о себе впечатление зрелого и удобного инструмента.

     
     
  • 3.9, Аноним (-), 12:17, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > он оставил о себе впечатление зрелого и удобного инструмента.

    Rust или Go?

     
  • 3.17, anonymous (??), 13:51, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >Rust достаточно сложен в освоении, но система владений просто невероятна

    вообще-то она скопирована с RAI в С++, только там сделана попытка реализовать это без классов и объектов и как-то передавать в функции и возвращать из них...

     
  • 2.7, Аноним (-), 12:04, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Год копался

    А могли бы работать и пользу приносить.

    > лучше
    > нереально
    > кажется
    > интересную

    Достойные аргументы.

    Раз уж вы начали, то перечисляйте объективные критерии, по которым вы проводили сравнение.

     
     
  • 3.12, Аноним (-), 12:47, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Работать Пользу приносить Почему я не могу тратить свое свободное время на из... большой текст свёрнут, показать
     
     
  • 4.16, Gemorroj (ok), 13:11, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    а D не смотрели? великолепный же язык.
     
     
  • 5.18, анончик (?), 14:15, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так кто спорит, великолепный.
    Жаль под него нет достойного нативного гуи-фреймворка, это была бы бомба.
     
  • 5.37, Аноним (-), 17:07, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не смотрел. Беглого просмотра сайта и википедии явно недостаточно. Но из прочитанного каких-либо преимуществ перед Nim не заметил.
     
  • 5.50, Всё лучшее детям (?), 18:46, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    D хороший язык. Плюсую.
    Экосистема пока не очень развитая, но достоинств языка это не умоляет.
     
     
  • 6.60, Gemorroj (ok), 19:26, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    я вот боюсь что не пока, а уже.
    мысль кого-то с хабра: dlang попал в цикл непопулярности - непопулярный потому что не развита экосистема, экосистема неразвита потому что непопулярный.
    за ним не стоит гугл, чтобы вбивать в головы неофитам, о замечтательности языка.
     
     
  • 7.62, Всё лучшее детям (?), 19:55, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну там идёт какое-то движение http://www.modulecounts.com/
    И в основных индексах держится
    https://www.tiobe.com/tiobe-index/
    https://spectrum.ieee.org/static/interactive-the-top-programming-languages-201
    В любом случае, как уже сказал, медленное развитие экосистемы достоинств языка не умоляет.
    Использовал его немного в работе, очень понравилось.
     
     
  • 8.68, angra (ok), 20:35, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    умАляет - делает малым, меньшим умОляет - молит, настойчиво просит ... текст свёрнут, показать
     
     
  • 9.72, Всё лучшее детям (?), 20:55, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Пардон, в лингвистических клубах не числюсь Но, спасибо, что поправили ... текст свёрнут, показать
     
     
  • 10.160, Очередной аноним (?), 10:52, 28/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Блин, простого спасибо было бы достаточно, а первое предложение все испортило ... текст свёрнут, показать
     
  • 5.101, x (?), 10:06, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    D мертв потому что пытался угодить всем со своим GC/noGC режимом. Библиотеки под него в двух вариантах писать никто не будет ну и копаться выяснять с каждой конкретной либой в каком режиме работать.
     
  • 4.20, Аноним (-), 14:28, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Rust имеет интересную концепцию управления памятью
    > ... Оно лично мне интересно, ибо такого я ранее не видел. ...

    Objective-C c ARC, Swift.

     
     
  • 5.95, Аноним (-), 04:34, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Rust имеет интересную концепцию управления памятью
    >> ... Оно лично мне интересно, ибо такого я ранее не видел. ...
    > Objective-C c ARC, Swift.

    Питон тогда уж. Тоже ссылочки считает в рантайме. А еще вроде бы Perl, пых или VB<=6 (но тут за детали не скажу - никогда не интересоваля внутренностями).
    В общем, хвала маркетологам ябла, сумевших и тут создать  свом "брэнд" для классических вещей.

    Правда, вся изюминка растовой концепции - проделывать этот фокус в компайлтайме.
    Иначе вся эта **ля с владениями и отслеживанием времени жизни резко теряет смысл.

     
  • 2.8, Аноним (-), 12:06, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –6 +/
    https://habrahabr.ru/company/mailru/blog/327966/#lekciya-1-vvedenie

    Лекции по Go. Посмотрите начало первой лекции, там специалист из mail.ru объясняет, зачем этот язык разработали и какая у него ниша, какие плюсы и минусы. Скажем так, пока Вы не будете работать в команде из хотя бы 4-5 человек более нескольких лет, Вы не поймёте, чем Go лучше Си.

     
     
  • 3.14, Аноним (-), 12:51, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +19 +/
    > специалист из mail.ru

    Звучит сильно.
    > Лекции по Go.

    Открыл. Это видеоуроки. Вы серьёзно? Смузи вам в глотку.

     
     
  • 4.41, Аноним (-), 17:44, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –6 +/
    В Вашем ответе 0 полезной информации. Могли просто промолчать или похихикать.
     
     
  • 5.59, нах (?), 19:26, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    это для фанатов игого ноль. А для меня вот очень полезная информация - сэкономил минуту на открытие ссылки.
     
     
  • 6.65, Аноним (-), 20:08, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    И потратил её в пустую написав это каммент
     
  • 2.10, leap42 (ok), 12:18, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Си они не осилили на достаточном уровне, а работать надо.

    лол, кек, чебурек

    Го придумал Пайк, который написал культовое эссе о Си-кодинге ещё до вашего рождения.

     
     
  • 3.13, Аноним (-), 12:49, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как это противоречит с написанным мной?
     
     
  • 4.19, Мураками (?), 14:24, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    наверное как минимум то что он(Пайк) разбирается в теме побольше многих Д-аналитиков

    по поводу Nim и Idris то тоже выскажу своё личное мнение
    Здесь наблюдается такая же картина как и с дистрибутивами linux, поменял обои добавил пару фич и вуаля готов новый дистрибутив, так и здесь Nim и Idris это по сути надстройки над Си со своими шл..ми и блекджеком. Для меня например язык считается взрослым если он как минимум может сам себя скомпилировать и скомпилировать хорошо.

    по поводу вашего высказывания
    > гугл запилил его для вчерашних студентов

    а для кого Bell Labs пилил язык СИ ?

     
     
  • 5.22, Аноним (-), 14:52, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На счёт Idris не скажу, он вроде бы на Haskell написан А вот Nim сам на себе на... большой текст свёрнут, показать
     
     
  • 6.27, Мураками (?), 16:17, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    да вы правы, там Haskell правит балом Значит надстройка на над хаскелем, что в ... большой текст свёрнут, показать
     
     
  • 7.29, nobody (??), 16:35, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    С писал не абстрактный bell labs, а вполне конкретный инженер - Деннис Ритчи. Писал для себя и своего коллеги - Кена Томсона, для конкреной цели - заменить платформенно-зависимый ассемблер для ОС UNIX.
     
     
  • 8.34, Мураками (?), 16:45, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а с чего тогда сейчас анонимные диванные аналитики считают что Go пишет абстракт... текст свёрнут, показать
     
     
  • 9.35, nobody (??), 16:48, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Написано выше в этой ветке... текст свёрнут, показать
     
  • 7.32, Аноним (-), 16:44, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > у насколько он сам себя собирает спорный вопрос, возможно в каком-то очень и очень урезанном варианте.
    > Если смотреть на его код на github то больше четверти(27%) кода это СИ и СИ++, для сравнения у rust  это где-то 1.4%, у Go 0.4%

    Вот это Аналитика. Вот это да.
    Сорцы на си представлены специально для хейтеров бинарников. Их можно скачать и собрать компилятор с помощью gcc/шланга/мсс/etc. Однако это никак не мешает собрать Nim с помощью самого Nim'a(В процессе компиляции появятся те самые сишные/++ файлы).
    Предвидя некоторые дальнейшие бесполезные замечания по поводу кодогенерации, предлагаю обратить внимание на то, то у nim есть backend который сразу в llvm компилит.

     
     
  • 8.36, Мураками (?), 17:03, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ага, с анонимным высосанным пальцем это не сравнится как я писал выше нимовцы са... текст свёрнут, показать
     
     
  • 9.38, др. Аноним (?), 17:36, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А сами нимовцы знают, что они это пишут ... текст свёрнут, показать
     
     
  • 10.40, Мураками (?), 17:43, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    что конкретно ихняя цитата с этой https nim-lang org features html страни... текст свёрнут, показать
     
     
  • 11.43, др. Аноним (?), 17:52, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Про лажу Какое-то обоснование будет Только чур, с общепринятой интерпретацией ... текст свёрнут, показать
     
     
  • 12.47, Мураками (?), 18:23, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    у вас проблемы с пониманием слова лажа а что не пишут, или вы не умеете читать... текст свёрнут, показать
     
     
  • 13.54, Аноним (-), 18:55, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Без этого надо реализовывать всё самим К тому же теряется возможность подключит... текст свёрнут, показать
     
     
  • 14.56, Мураками (?), 19:09, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    да это приличная работа, но это и рубеж зрелости, ведь если ты предлагаешь общес... текст свёрнут, показать
     
  • 13.57, др. Аноним (?), 19:10, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    У вас трудности с пониманием слова компилятор Пишут обычно прямым текстом Ос... текст свёрнут, показать
     
     
  • 14.70, Мураками (?), 20:50, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    а в чём проблема прямую цитату с ихнего сайта я привёл, свой вольный перевод п... текст свёрнут, показать
     
  • 12.48, Мураками (?), 18:28, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    о, молодец, нашел наконец к чему придраться да, иди подмойся, а то родные наверн... текст свёрнут, показать
     
  • 9.44, др. Аноним (?), 18:01, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Или о том, что автор решил не мудрить излишне с бутстрапингом Увлекательная иг... текст свёрнут, показать
     
     
  • 10.51, Мураками (?), 18:49, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    это и говорит о незрелости языка go три года назад тоже перешел на самого-себя ... текст свёрнут, показать
     
     
  • 11.58, др. Аноним (?), 19:17, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это говорит о том, что полной самодостаточности self-hosted нет Но она для та... текст свёрнут, показать
     
     
  • 12.66, Мураками (?), 20:19, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    до определенного этапа да, но для развития языка это барьер, вернее сдерживающий... текст свёрнут, показать
     
  • 5.23, др. Аноним (?), 15:01, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А JS по такой сути надстройка над асмой Ним вообще-то ближе к паскалю, че... большой текст свёрнут, показать
     
     
  • 6.28, Мураками (?), 16:25, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> The Nim compiler and tools are all *written in Nim* and licensed under

    смотри мой ответ выше

    > А JS по такой "сути" надстройка над асмой ...

    всё дело в количестве прослоек
    а то с таким подходом можно будет называть новой операционной системой виндовс запущенную на виртуальной машине под linux

    > Ним вообще-то ближе к паскалю, чем к си.

    я говорил о возможности собрать самого себя, а не к чему и кто ближе

     
     
  • 7.42, др. Аноним (?), 17:46, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>> The Nim compiler and tools are all *written in Nim* and licensed under
    > смотри мой ответ выше

    И? Альтернативная интерпретация значения "компилятор" и чтение между строк ("нимовцы сами пишут что их компиляция полная лажа") - не аргумент ни разу.
    Компилятор на самом ЯП есть, а то что бэкэндом может выступать не только маш-код ... так и gcc в него уже давно не компилирует сразу.


    >>> Nim и Idris это по сути надстройки над Си
    >> Ним вообще-то ближе к паскалю, чем к си.
    > я говорил о возможности собрать самого себя, а не к чему и кто ближе

    Я так понимаю, что наброс с наскоку не удался, теперь будет (абсолютно не интересный мне лично) юлеж и переливание из пустого в порожнее?


     
     
  • 8.45, Мураками (?), 18:02, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ваш, да а мне интересно отвечать по теме обсуждения или моих утверждений, а не к... текст свёрнут, показать
     
     
  • 9.55, др. Аноним (?), 19:07, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Т е по теме ответа не будет Я разве неправильно процитировал Тогда еще раз К... текст свёрнут, показать
     
     
  • 10.61, Мураками (?), 19:33, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    еще раз мне не интересно обсуждение к чему Ним ближе к паскалю или си, разговор ... текст свёрнут, показать
     
  • 5.64, Аноним84701 (ok), 20:03, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Для меня например язык считается взрослым если он
    > как минимум может сам себя скомпилировать и скомпилировать хорошо.

    Что-то эдакое насчет жабы и хаскеля я подозревал )
    Но ведь и си (если брать за основу компиляторы, умеющие компилировать хорошо, т.е. clang/gcc) см.
    http://gcc.gnu.org/ml/gcc/2012-08/msg00015.html:
    > 1- The compiler can only be built with a C++ compiler.

    попадает под этот критерий.


     
  • 5.143, Аноним (-), 06:47, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Для меня например язык считается взрослым если он как минимум может сам себя скомпилировать и скомпилировать хорошо.

    Сарзу нарисовывается список невзрослых языков : php, bash, SQL и т.п.

     
  • 4.26, leap42 (ok), 16:07, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Пайк не на даче фо фан писал, он и есть инженер Гоогле.
     
  • 2.15, Аноним (-), 13:02, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще, возникает ощущение, что гугл запилил его для вчерашних студентов. Си они не осилили на достаточном уровне, а работать надо.

    Идея гугл такая: все должны писать простой в понимании код. Тогда ты типа написал проект, тебе дали новый, а твой отдали на поддержку нубам. Иначе, если код сложен, тебя будут вечно держать на проекте, так как только ты его понимаешь.

    Это неоднократно говорилось на презентациях по голангу.

     
     
  • 3.33, Аноним (-), 16:45, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >простой в понимании код

    Из https://stackoverflow.com/questions/21326109/why-are-lists-used-infrequently-i
    мы можем узнать, что вместо списков в Go следует использовать слайсы с таким замечательным синтаксисом:

    Delete:

    a = append(a[:i], a[i+1:]...) // or a = a[:i+copy(a[i:], a[i+1:])]

    Delete without preserving order:

    a[i], a = a[len(a)-1], a[:len(a)-1]

    Pop:

    x, a = a[len(a)-1], a[:len(a)-1]

     
     
  • 4.74, angra (ok), 20:57, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    И что же здесь не так? Автоматичекое управление памятью в Go существует вовсе не для того, что бы программист вообще не понимал, как идет работа с памятью. Наоборот, детали реализации массивов, срезов, списков, отображений совсем не скрываются и их понимание приветствуется.
    Представленый код очень даже простой, если ты все-таки ознакомился с тем, как работают срезы. Если очень хочется, то программист может написать однострочные функции обертки для таких "высокоуровневых" операций как delete и pop.
     
  • 4.88, Ordu (ok), 00:52, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > вместо списков в Go следует использовать слайсы с таким замечательным синтаксисом

    Да, это превосходная иллюстрация к тому, что значит простой код. Особенно если сравнить это с удалением из массива в C, где придётся использовать memove и realloc для того же, или даже если мы в C забьём на скорость, и будем использовать список, где придётся десятку указателей менять значения, обрабатывая при этом всякие специальные случаи, то этот код -- просто эталон простоты.
    В том же rust'е, как и в C, удаление элемента из массива/слайса -- это настолько геморройная операция, что она вынесена в специальную функцию.

     
     
  • 5.93, angra (ok), 02:46, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > даже если мы в C забьём на скорость, и будем использовать список, где придётся десятку  указателей менять значения, обрабатывая при этом всякие специальные случаи.

    Зачем? Для обоих случаев в односвязном списке достаточно изменить ровно один указатель. И делается это вполне элегантно. Опять таки скорость самого удаления в случае списков выше, а не ниже. У них проблема со скоростью на совсем других операциях, например на поиске элемента для удаления. Сдается мне, тебе стоит повторить теорию.

     
     
  • 6.94, Stop (?), 04:21, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Подмена понятий "массив" и "список". Срочно учить теорию.
     
     
  • 7.97, angra (ok), 06:02, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты не способен проследить дискуссию длиной в целых три поста? Никто ничего не подменял.
     
  • 6.98, Ordu (ok), 06:39, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Угу, менять надо один указатель и это можно сделать элегантно, но при выполнении... большой текст свёрнут, показать
     
     
  • 7.102, angra (ok), 10:06, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Последую совету одного финского парня "Talk is cheap. Show me the code".

    Односвязный список https://play.golang.org/p/rBDrCbJ9zUi
    Собственно удаление занимает одну строчку и состоит в изменении одного указателя, место выделено комментарием. Удаление головы также занимает одну строчку и состоит в возвращении указателя на следующий элемент. Никакой специальной обработки последнего элемента, никаких перемещений значений. Никаких апдейтов десятка указателей и прочей чуши.

    Двусвязный список https://play.golang.org/p/pl7FOfdiUDb
    Удаление даже выделено в отдельную функцию, которая принимает только удаляемый элемент. Состоит в апдейте максимум двух указателей. Не четырех, нет

     
     
  • 8.137, Ordu (ok), 03:00, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Хых Мы ушли от общей идеи удаления элемента в вакууме к частому случаю в конкре... большой текст свёрнут, показать
     
     
  • 9.138, Ordu (ok), 03:18, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален add Угу Но это потому что списочная ячейка после удал... большой текст свёрнут, показать
     
  • 9.142, angra (ok), 06:42, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    У тебя тоже проблемы с отслеживанием дискуссии на три поста Вернись и почитай, ... текст свёрнут, показать
     
     
  • 10.144, Ordu (ok), 08:14, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Естественно Ты мечешься между списки быстрее массивов и списки писать проще ... большой текст свёрнут, показать
     
     
  • 11.146, angra (ok), 17:05, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Понятно, разговариваешь с голосами в голове, ну или со всеми в этом треде сразу,... текст свёрнут, показать
     
     
  • 12.147, Ordu (ok), 21:02, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ты всегда, когда у тебя заканчиваются аргументы, переходишь на обсуждение личнос... текст свёрнут, показать
     
     
  • 13.152, angra (ok), 03:59, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Цитирую себя Зачем Для обоих случаев в односвязном списке достаточно изменить... большой текст свёрнут, показать
     
     
  • 14.153, Ordu (ok), 04:56, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не, ты действительно думаешь, что обсуждение того, что мне следует повторить ... текст свёрнут, показать
     
     
  • 15.155, angra (ok), 22:06, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я тебя наверное сейчас очень удивлю, но таки это не имело вообще никакого отноше... текст свёрнут, показать
     
     
  • 16.156, Ordu (ok), 01:28, 22/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Люди превосходно умеют видеть себя именно такими, какими хотят А хотят они себя... большой текст свёрнут, показать
     
     
  • 17.158, angra (ok), 06:25, 22/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ты серьезно думаешь, что кто-то будет слушать советы по воспитанию детей от чело... текст свёрнут, показать
     
     
  • 18.159, Ordu (ok), 06:43, 22/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, что я могу на это сказать Посочувствовать ребёнку, имеющему такого отца Я ... большой текст свёрнут, показать
     
  • 6.112, Аноним (-), 13:54, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > скорость самого удаления в
    > случае списков выше, а не ниже.

    Ну-ка, рассчитай нам скорость удаления последнего элемента из массива и из односвязного списка размером 100 элементов.

     
     
  • 7.126, angra (ok), 18:41, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А если массив/список на пару десятков тысяч элементов длиной в сотню байт каждый и надо удалить не первый или последний, а что-то в средине?
     
     
  • 8.128, анон (?), 20:45, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Так мы медленно пришли к проблеме выбора корректного контейнера В Go вам всего ... текст свёрнут, показать
     
     
  • 9.131, angra (ok), 21:11, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если для тебя использовать стандартную либу западло, а написать реализацию св... текст свёрнут, показать
     
     
  • 10.132, анон (?), 21:37, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    C Java C Я должен писать список под каждый тип, или через interface сдел... текст свёрнут, показать
     
     
  • 11.133, анон (?), 21:39, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ох, сорян На уровне языка На уровне языка у меня инструментов, чтобы не городи... текст свёрнут, показать
     
     
  • 12.135, angra (ok), 23:30, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Заметь, это не я первым предложил В зависимости от задачи Причем само собой п... текст свёрнут, показать
     
  • 10.139, Ordu (ok), 03:49, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это есть в LISP Но ни в лиспе, ни где-либо ещё я не буду создавать список из 10... большой текст свёрнут, показать
     
  • 3.63, Аноним (-), 19:58, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Так и представляю себе slab-аллокатор для ОС или драйвер для какого-нить контроллера написанный на го без ручного управления памятью, чтоб отдать нубам и чтоб не сложно было.
     
     
  • 4.75, Аноним (-), 20:59, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Кроме slab-аллокаторов и драйверов для контроллеров, конечно же, софт вообще нигде и никакой не нужен и писать его незачем.

    Почитав комменты на опеннете в очередной раз порадовался, что я не программист а просто сисадмин, которому иногда надо написать код для решения прикладной задачи. Можно взять Go, например, и решить всё, что нужно было с приемлимой скоростью и без избыточного головняка с управлением памятью, сэкономив себе при этом кучу времени благодаря стандартной библиотеке. Спасибо, Пайк & Co. Ну и в целом, спасибо вселенной, что можно быть свободным от перемывания костей ЯП, какой «православнее».

     
     
  • 5.81, Аноним (-), 22:36, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ту потом свой хеллоу-ворлд запусти через strace и посмотри на результат своих "без головняков с управлением памятью".
     
     
  • 6.87, Аноним (-), 00:34, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Дай мне хоть олну причину для того, чтобы это делать, если скорость работы на порядок выше минимально необходимой, код работает корректно и я сделал за день то, на что раньше уходили недели? Чем вывод strace читать, я лучше лишний раз друзей повидаю или вот комментарий на опеннете оставлю пока барышня чай заваривает.
     
  • 5.110, Iaaa (ok), 13:48, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "для решения прикладной задачи" вам хватит и шелла/перла/питона. Зачем городить огород с го?
     
     
  • 6.116, Василий Теркин (?), 15:15, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    "вам хватит и шелла/перла/питона"
    Golang пошустрее будет и системных ресурсов жрет поменьше. Гвоздь можно забить лбом, камнем, молотком и с помощью специализированного инструмента. Результат будет один, но вот процесс будет отличаться.
     
  • 6.118, Аноним (-), 16:14, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Так и есть, и действительно долго хватало Питона с Башем ну буквально для всего. Но со временем «всего» стало в десять раз больше, а тайминги стали короче, и Питона перестало хватать. Переписывание же прямо в лоб на Го дало прирост скорости настолько большой, что пока всего не станет раз в тридцать больше, можно не тратить время ни на какие оптимизации и просто оставить как есть. То, что можно написать на Баше я пишу на Баше. А что нельзя — то сразу на Го, чтобы потом снова не переписывать. Это, конечно же, совершенно неправильно, и софт так не разрабатывют, и писать надо всенепременно на Си с ручной оптимизацией на ассемблере, но мне моё время дорого и, как я уже писал выше, мне его есть чем занять кроме работы.
     
  • 3.67, Аноним (-), 20:29, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    На любом языке можно непонятно писать. Знаю нескольких индивидов, которые намеренно усложняют написанный код.
     
     
  • 4.99, Аноним (-), 08:32, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Я тоже знаю. Все они, почему-то, любят Rust, что настораживает меня в отношении этого языка.
     
  • 4.119, Чупачупс (?), 16:17, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ЧСВ и выпендреж. И только
     
  • 2.52, Онаним (?), 18:52, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вы абсолютно правы. И обще известный факт в том, что главная фишка Go - защита от дурака и от "художника", чтобы все люди писали простой тупoй код в котором сложно напортачить, сложно перемудрить и который легко понять и поддерживать. А в качестве бонуса даётся внезапно очень неплохая производительность.
     
  • 2.106, null (??), 12:14, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Си они не осилили на достаточном уровне, а работать надо.

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

     
  • 2.154, freehck (ok), 22:04, 21/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Как язык лучше всех Idris. Но пользоваться им нереально.

    Посмотрите тогда на Ocaml. Если использовать его в паре со стандартной библиотекой Core, то это фактически единственный ML-подобный язык, которым реально удобно пользоваться.

     

     ....большая нить свёрнута, показать (96)

  • 1.4, Аноним (-), 11:30, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –9 +/
    Это тот который из-за кривизны синтаксического анализатора не поддерживает оформление фигурных скобок по GNU нотации ?
     
     
  • 2.5, Вадик (??), 11:55, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Есил ты пытаешься идти против мейнстрима, то в любом языке ты за это будешь получать по голове. А по поводу GNU-нотации: ты явно пытаешься делать что-то неправильно.
     
     
  • 3.11, Аноним (-), 12:43, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Прошу простить великодушно, однако у вас какая-то особая возбудимость на вопрос. Вы невнимательны. Кто-то говорил что-то против мейнстрима ? Но я вас прощаю. У меня лишь пара вопросов. К чему вы упомянули слово мейнстрим ? Что вы имеете в виду говоря о том что я делаю что-то неправильно ? Ведь я не говорил в своем вопросе о том что я что-то делаю.
     
     
  • 4.21, Аноним (-), 14:40, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Что вы имеете в виду говоря о том что я делаю что-то неправильно ? Ведь я не говорил в своем вопросе о том что я что-то делаю.

    Ты ничего не делаешь, но рассказываешь всем, как правильно, — вот что ты делаешь неправильно.

     
     
  • 5.24, Аноним (-), 15:13, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Рискну предположить что у вас аналогичная неприятность что и у предыдущего автора. Вы тоже невнимательны. Смиренно прошу указать мне где я что-то утверждал о правильности чего бы то ни было.  Я лишь задаю вопросы. На которые вы не можете дать конкретных ответов. Жалкие высказывания которые я получаю лишь подтверждают мои опасения. Предыдущий автор утверждал что я что-то пытаюсь делать, при том что я этого не говорил, вы утверждаете что я ничего не делаю, при том что я этого тоже не утверждал. Вы уж определитесь, господа, что конкретно вы имеете ввиду. Господа, не теряйте лицо, сконцентрируйтесь. Постарайтесь быть логичными в своих суждениях.
     
     
  • 6.89, Anonim (??), 01:03, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Анон не может потерять лицо. ;)
     
  • 6.111, Аноним (-), 13:52, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Я лишь задаю вопросы.

    Хреновый из тебя Сократ.

     
  • 2.76, Аноним (-), 21:00, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Это тот который из-за кривизны синтаксического анализатора не поддерживает оформление
    > фигурных скобок по GNU нотации ?

    Это тот, в котором есть своя нотация для оформления кода.

     

  • 1.25, Аноним (-), 15:43, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В Арче прилетела обнова, которая на 392 Мб больше чем 9 версия, спрашивается, откуда такой размер?
     
     
  • 2.31, Мураками (?), 16:40, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    обновись, уже 1.10-2 прилетело (исправили)
    https://git.archlinux.org/svntogit/packages.git/log/trunk?h=packages/go
     

  • 1.30, Аноним (-), 16:37, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Язык, который отчаянно пытается избежать ООП, но вместо того чтобы предложить более гибкую систему типов взамен, мастерит костыли. Язык в котором если нужно поместить данные разных типов в коллекцию нужно делать коллекцию пустых интерфейсов.
     
     
  • 2.39, KonstantinB (ok), 17:42, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Язык, в котором изначально заложено ключевое для ООП понятия интерфейса, не может избегать ООП.

    Можно сказать, что Go избегает C++-подобного ООП, с его наследованием. Если же под ООП понимать Smalltalk, то в Go вполне себе ООП.

     
     
  • 3.100, Аноним (-), 08:40, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Можно сказать, что Go избегает C++-подобного ООП, с его наследованием. Если же
    > под ООП понимать Smalltalk, то в Go вполне себе ООП.

    Интересно, что вы хотели сказать. Что в Smalltalk нет наследования, или что в Smalltalk есть интерфейсы, как отдельная сущность, или что в Smalltalk нет upcasting и downcasting? Я бы побоялся сравнивать Go с таким мастодонтом, как Smalltalk - не дорос он ещё, даже Java и C# ещё не доросли.

     
     
  • 4.157, Аноним (-), 05:50, 22/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Тут надо зрить не в синтаксис и детали реализации, а в корень, в смысл вещей.

    Гошные интерфейсы это и есть обмен сообщениями между объектами, только с проверкой времени компиляции. Сам объект не в курсе, что он реализует интерфейс.

     
  • 2.77, angra (ok), 21:09, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Язык в котором если нужно поместить данные разных типов в коллекцию нужно делать коллекцию пустых интерфейсов.

    А как надо было делать в типизированном ЯП? Покажи. Заодно раскрой, как это связано с ООП.


     
  • 2.84, vantoo (ok), 00:03, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ООП давно не в моде.
     
  • 2.115, Аноним (-), 14:35, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А нехер помещать данные разных типов в коллекцию.
     
     
  • 3.130, анон (?), 20:57, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Давайте тогда сделаем так, чтобы мне не нужно было их кастить к тому единственному типу, который я туда положил, когда я хочу их получить назад и своего, например "container/list".
     

  • 1.69, Аноним (-), 20:41, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Гугловцы сами заявляли, что Go для неопытных студентиков, которые только-только из универов пришли, типа чтобы не накосячили давайте им просто руки свяжем
     
     
  • 2.71, Аноним (-), 20:50, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    За спиной
     
  • 2.73, Мураками (?), 20:57, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    это для тех студентов которые учат Си на первых курсах ?
    а может вы что-то приврали ?
     
     
  • 3.80, Аноним (-), 22:35, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Сейчас и ЕГЭ можно на Си здавать.
     
     
  • 4.82, Аноним (-), 23:04, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > Сейчас и ЕГЭ можно на Си здавать.
    > здавать.

    Здавальщикам виднее.


     
  • 3.140, Аноним (-), 04:13, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чтобы на С++ писать, его недостаточно "изучить"
     

  • 1.78, Аноним (-), 22:18, 18/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    "The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt."
    – Rob Pike

    https://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/From-Parallel-to-Con , 21:20

    Это все, что нужно знать о Go приличному человеку.

     
     
  • 2.79, Аноним (-), 22:20, 18/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >21:20

    20:44

     
  • 2.86, angra (ok), 00:34, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Полная противоположность Go с этой точки зрения - Perl. Интересно, "приличные люди" им владеют или он для них слишком сложный и непонятный?
     
     
  • 3.105, leap42 (ok), 12:01, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    за приличных людей не скажу, но самом пишу в основном на Go, а раньше писал на Perl (и учился на нём), всё ок, брат жив (но его нет)
     
     
  • 4.109, angra (ok), 13:34, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Дык, я и сам такой. Разве что Perl был далеко не первым и я по-прежнему его активно использую для части задач. Но интересно всё-таки мнение "приличных людей" :)
     
  • 2.148, Аноним (-), 23:30, 20/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И что в этом плохо? Или это что-то из рассказов прос настоящих мужиков, которые бреются бензопилами?
     

  • 1.90, Ne01eX (ok), 01:06, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Буквально вчера повторно наткнулся на перевод Виктора Черкасова (n0xi0uzz) (тут -> http://netsago.org/ru/docs/1/16/) статьи GoForCPPProgrammers (тут -> https://github.com/golang/go/wiki/GoForCPPProgrammers).

    Привёл обе ссылки, так как перевод слегка устарел и чутка отличается от оригинала.

    [b]P.S.[/b] Ни разу не фанат Go, но считаю что ознакомится с этой статьёй всё же стоит. [u]Хотя бы для формирования собственной точки зрения, хоть на чём-то основанной...[/u]

    [b]P.P.S.[/b] Там же, на Netsago.org есть подобная статья про Objective-С (http://netsago.org/ru/docs/1/15/). Тоже в переводе от n0xi0uzz.

    [b]UPD: Включите же уже наконец мне фильтр ввода с поддержкой html-тегов для комментов. Злоупотреблять не буду.[/b] :-)

     
     
  • 2.92, angra (ok), 02:35, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Статья(оригинал) в целом годная, но есть в ней одна повторяющаяся ошибка. В go не передачи по ссылке, только по значению. Все случаи, когда в статье упоминается передача по ссылке, на самом деле происходит передача значения. Другое дело, что значением является структура с указателем в одном из полей.
     

  • 1.113, adolfus (ok), 14:04, 19/02/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Время нынче такое, что если нет ISO/IEC стандарта, то использовать язык можно только ради сиюминутных поделок -- для серьезных приложений нужна прежде всего стабильность. У нас есть софт (с, фортран), который почти 20 лет (с 1999 г.) используется практически без каких-либо изменений и только периодически пересобирается под новое окружение и железо. Я даже представить себе не могу, что было бы сегодня, если бы тогда не уговорили заказчика писать под солярис -- заказчик очень хотел NT. Сегодня все это работает и под солярой 20-летней давности и под разножёпицей нынешних линуксов.
     
     
  • 2.114, Аноним (-), 14:31, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Да где эти серьёзные приложения? Они есть, конечно, но захлынула масса как раз одноразовых приложений. А вот тут-то раздолье...
     
  • 2.117, Ne01eX (ok), 15:49, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Время нынче такое, что если нет ISO/IEC стандарта, то использовать язык можно
    > только ради сиюминутных поделок -- для серьезных приложений нужна прежде всего
    > стабильность. У нас есть софт (с, фортран), который почти 20 лет
    > (с 1999 г.) используется практически без каких-либо изменений и только периодически
    > пересобирается под новое окружение и железо. Я даже представить себе не
    > могу, что было бы сегодня, если бы тогда не уговорили заказчика
    > писать под солярис -- заказчик очень хотел NT. Сегодня все это
    > работает и под солярой 20-летней давности и под разножёпицей нынешних линуксов.

    То что у вас есть сейчас возможность собирать софт под современное рабочее окружение и железо, как раз таки заслуга не Солярки, а разножёпых линуксов, которых кроме приверженности к GNU порой действительно больше ничего не объединяет. Но и это, на самом деле довольно много и ценно само по себе.

    А тот же компилятор Go входит в поставку и набора компиляторов GNU GCC и в виде самостоятельного кроссплатформенного компилятора.

    P.S. Ни разу не фанат Go. :-)

     
  • 2.123, Аноним (-), 18:08, 19/02/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Время нынче такое, что если нет ISO/IEC стандарта, то использовать язык можно
    > только ради сиюминутных поделок -- для серьезных приложений нужна прежде всего
    > стабильность.

    Муахаха. С релиза 1.0 ни разу обратную совместимость не сломали, а вот в компиляторах стандартизированных плюсов ломают регулярно.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру