The OpenNET Project / Index page

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

17.02.2017 11:44  Релиз языка программирования Go 1.8

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

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

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

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

  • Добавленный в прошлом выпуске бэкенд компилятора SSA (Static Single Assignment), обеспечивающий прирост производительности генерируемого кода на 5-35%, задействован для всех архитектур, а не только для x86_64. При тестировании на 32-разрядных системах ARM собранные с использованием нового бэкенда программы, продемонстрировали снижение нагрузки на CPU на 20-30%. Для x86_64 отмечается увеличение производительности до 10%, по сравнению с показателями SSA в прошлом выпуске. Кроме того, проведена работа по увеличению производительности компиляции, которая на системах x86_64 стала выполняться на 15% быстрее;
  • Проведена работа по сокращению периодов активации сборщика мусора, приводящих к приостановке выполнения кода приложения. Сборщик мусора теперь осуществляет свою работу в рамках более коротких циклов, не превышающих 100 мкс и обычно длящихся около 10 мкс. Также прекращено использование операций сканирования стека, приостанавливающих выполнение приложения;
  • В модуль с реализацией функций HTTP-сервера добавлена поддержка операций Push для HTTP/2, которые позволяют серверу инициировать обращение к клиенту. В http-сервер также добавлен метод Server.Shutdown для завершения соединения с ожиданием окончания обработки запроса и метод Server.Close для незамедлительного обрыва соединения;
  • В модуль context добавлены средства для принудительного завершения соединений и использования таймаутов. Поддержка контекстов добавлена во многие штатные библиотеки, включая database/sql, net и функцию Server.Shutdown из net/http;
  • В модуль sort добавлена новая функция Slice, упрощающая сортировку данных с типом slice. Например, для сортировки структур по полю "Name" можно выполнить:
    
       sort.Slice(s, func(i, j int) bool { return s[i].Name < s[j].Name })
    
  • Проведена оптимизация модулей bytes, crypto/aes, crypto/cipher, crypto/elliptic, crypto/sha256, crypto/sha512, encoding/asn1, encoding/csv, encoding/hex, encoding/json, hash/crc32, image/color, image/draw, math, math/big, reflect, regexp, runtime, strconv, strings, syscall, text/template и unicode/utf8;
  • Добавлена поддержка 32-разрядной архитектуры MIPS (MIPS32r1) для систем big-endian (linux/mips) и little-endian (linux/mipsle);
  • Изменены требования к минимально поддерживаемым версиям: DragonFly 4.4.4, OpenBSD 5.9 и OS X 10.8;
  • Значительно улучшен порт для Plan 9, в котором почти доведены до полноценного состояния сетевые функции.


  1. Главная ссылка к новости (https://blog.golang.org/go1.8...)
  2. OpenNews: Проект Go опубликовал собственный шрифт для программистов
  3. OpenNews: Выпуск языка программирования Go 1.7
  4. OpenNews: Доступен язык программирования Go 1.6
  5. OpenNews: Язык программирования Go переходит с Mercurial на Git и GitHub
  6. OpenNews: В кодовую базу LLVM приняты биндинги для языка Go
Лицензия: CC-BY
Тип: Программы
Ключевые слова: golang
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 13:03, 17/02/2017 [ответить] [смотреть все]
  • –8 +/
    Не густо
     
     
  • 2.4, KonstantinB, 13:08, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +18 +/
    Производительность подняли, gc-паузу сократили, что еще надо?

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

     
     
  • 3.9, Аноним, 13:23, 17/02/2017 [^] [ответить] [смотреть все]
  • –7 +/
    >  gc-паузу сократили, что еще надо?

    Вообще gc убрать, сам буду кучу чистить.

     
     
  • 4.16, u, 13:48, 17/02/2017 [^] [ответить] [смотреть все]
  • +/
    GOGC=off
     
     
  • 5.20, Аноним, 14:04, 17/02/2017 [^] [ответить] [смотреть все]
  • –2 +/
    И-и-и-и Это опция активирует в Go невидимые ранне функции операторы, типа, free... весь текст скрыт [показать]
     
     
  • 6.25, Василий Теркин, 14:23, 17/02/2017 [^] [ответить] [смотреть все]  
  • +7 +/
    А зачем тебе все это в твоем fmt.Println("Hello World")?
     
  • 6.27, Василий Теркин, 14:27, 17/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    И потом, если уж так чешется, берешь исходники, форкаешь и дописываешь нужный фу... весь текст скрыт [показать]
     
     
  • 7.31, Аноним, 14:48, 17/02/2017 [^] [ответить] [смотреть все]  
  • +5 +/
    Полный бред Давай мы теперь всё будем по любому поводу форкать и переписывать п... весь текст скрыт [показать]
     
     
  • 8.47, Василий Теркин, 15:02, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Вот и замечательно Не пойму только, к чему был Ваш бред выше по ветке Чем CPP ... весь текст скрыт [показать]
     
     
  • 9.58, Аноним, 15:15, 17/02/2017 [^] [ответить] [смотреть все]  
  • –6 +/
    Это не мой бред выше по ветке Меня CPP полностью устраивает ну почти , и на гу... весь текст скрыт [показать]
     
     
  • 10.66, Василий Теркин, 15:31, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    На здоровье У меня нет таких проблем как у Вас Дайте догадаюсь, наверняка и ра... весь текст скрыт [показать]
     
     
  • 11.106, Аноним, 17:29, 17/02/2017 [^] [ответить] [смотреть все]  
  • –4 +/
    Не угадали Владею 3-мя разговорными языками, c , qml, javascript, php, html, s... весь текст скрыт [показать]
     
     
  • 12.119, _, 17:49, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    А по моему он там на сухую гоняет ... весь текст скрыт [показать]
     
     
  • 13.171, hhg, 21:08, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    угумс. хтмл написал, а цсс нет - косячник.
     
  • 12.127, Василий Теркин, 17:56, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну я в резюмешках и не такое видел Скромность украшает человека Но есть пробле... весь текст скрыт [показать]
     
  • 12.170, Аноним, 20:41, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Русский разговорный, русский строительно-армейский, русский литературный ... весь текст скрыт [показать]
     
  • 9.63, Аноним, 15:21, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Даже в CPP уже лет 5 как ручное освобождение памяти считается дурным тоном Есть... весь текст скрыт [показать]
     
     
  • 10.69, Василий Теркин, 15:35, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну а я разве спорю Можете ковыряться в проблеме любым микроскопом А в бизнесе ... весь текст скрыт [показать]
     
     
  • 11.111, Аноним, 17:37, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    На обертывание выделения памяти в умный указатель уходит 1, максимум 2 секунды ... весь текст скрыт [показать]
     
  • 11.157, Аноним, 18:50, 17/02/2017 [^] [ответить] [смотреть все]  
  • –5 +/
    Business, production -- какие великие слова в устах Василий Теркин , делающие е... весь текст скрыт [показать]
     
     
  • 12.163, Василий Теркин, 19:09, 17/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Это что, попытка неуклюжего троллинга Весьма неуклюжая, стоит заметить Ну да л... весь текст скрыт [показать]
     
  • 10.193, angra, 12:31, 18/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Их вообще-то там много и каждый со своими достоинствами и недостатками А еще ес... весь текст скрыт [показать]
     
     
  • 11.199, Аноним, 17:46, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Их 2 - unique_ptr и shared_ptr И weak_ptr, немного усложненная разновидность sh... весь текст скрыт [показать]
     
  • 7.79, Аноним, 15:57, 17/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Лучше бы сделали опцию, которая включает отключает сборщик мусора при запуске Go... весь текст скрыт [показать]
     
     
  • 8.112, Аноним, 17:41, 17/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Сборщика мусора не должно быть совсем Есть куча техник обойтись без него и слеж... весь текст скрыт [показать]
     
     
  • 9.126, _, 17:55, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    и при этом есть куча языков где всё так и сделано Вот и юзайте их, Д,Б С ... весь текст скрыт [показать]
     
  • 9.203, Аноним, 18:00, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Кокой юношеский максимализм У GC есть свои плюсы, как и минусы ... весь текст скрыт [показать]
     
  • 6.155, KonstantinB, 18:45, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    И что же будет с библиотеками, которые полагаются на gc Все переписывать с каки... весь текст скрыт [показать]
     
  • 4.18, Аноним, 13:59, 17/02/2017 [^] [ответить] [смотреть все]  
  • +10 +/
    > Вообще gc убрать, сам буду кучу чистить.

    Тогда бери лопату и дуй чистить кучу.

     
  • 4.30, Аноним, 14:46, 17/02/2017 [^] [ответить] [смотреть все]  
  • +5 +/
    батенька зачем вам го? Пишите на си
     
  • 4.33, Аноним, 14:49, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Неосиляторы вас загрызут за такие высказывания
     
  • 2.6, Аноним, 13:11, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +18 +/
    Нет бы запилить несовместимый Golang 3.0 и %%%ться с ним 25 лет подряд.
    Вот это весело, вот это адреналин.
     
     
  • 3.176, anonnchick, 21:35, 17/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Ветка 3 0 идет строго после 2 7... весь текст скрыт [показать]
     
  • 1.2, Аноним, 13:03, 17/02/2017 [ответить] [смотреть все]  
  • –1 +/
    Дебагер уже запилили?
     
     
  • 2.5, Пользователь Debian, 13:10, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Погуглите по слову "delve".
     
  • 2.10, Аноним, 13:27, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    а тебе какой нужен а то я через плагин к Intellij Idea отлично дебажу ещё со ст... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.19, Аноним, 14:02, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Jetbrains уже и полноценную EDI для Golang выкатели EAP пока -Gogland https w... весь текст скрыт [показать]
     
  • 2.28, derlafff, 14:28, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Эмм. gdb прекрасно работает
     
     
  • 3.162, Аноним, 19:08, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Оно же на С написано!
     
  • 1.3, Nexor, 13:07, 17/02/2017 [ответить] [смотреть все]  
  • +1 +/
    100 МИЛЛИсекунд? В оригинале написано 10 МИКРОсекунд... кто то ошибся, но я больше склоняюсь к ошибке в исходном тексте, т.к. иначе звучит нереально
     
     
  • 2.7, Пользователь Debian, 13:12, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Микросекунд, да.
     
  • 2.14, angra, 13:47, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Миллисекунды были версии три назад, теперь речь действительно о микро, что конеч... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.38, Я. Р. Ош, 14:52, 17/02/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    что не помешает некоторым фанатикам бугуртить, когда их священную корову еретики... весь текст скрыт [показать]
     
     
  • 4.141, _, 18:14, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Обвинить - это предъявить доказательства У _цивилизованных_ людей а не у your ... весь текст скрыт [показать]
     
     
  • 5.180, Sw00p aka Jerom, 22:33, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    перед тем как предъявить, нужно прочесть Теория доказательства Д Гильберт-а ... весь текст скрыт [показать]
     
  • 3.54, Аноним, 15:10, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Где-то мы уже слышали эти сказки 8230 Ах да 8212 Оракол тоже всем любит рас... весь текст скрыт [показать]
     
     
  • 4.147, Comdiv, 18:24, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Было бы странно при неаккуратном выделении памяти чего-то хотеть Free delete то... весь текст скрыт [показать]
     
     
  • 5.192, angra, 12:16, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Поддержу, некоторые наивно считают, что наличие gc избавляет от необходимости ду... весь текст скрыт [показать]
     
  • 3.205, Кай, 19:13, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    А зачем тогда вообще нужно ручное управление памятью, если GC столь быстр ... весь текст скрыт [показать]
     
  • 1.8, Аноним, 13:22, 17/02/2017 [ответить] [смотреть все]  
  • –1 +/
    Это версия компилятора или новая версия стандарта?
     
     
  • 2.12, Andrey Mitrofanov, 13:37, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Нет стандарта, кроме версии компайлера про пророка писать тут ... весь текст скрыт [показать] [показать ветку]
     
  • 1.13, angra, 13:44, 17/02/2017 [ответить] [смотреть все]  
  • +5 +/
    > Синтаксис Go основан на привычных элементах  языка Си с отдельными заимствованиями  из языка Python.

    А создатели то и не знают, что они оказывается из питона заимствовали. Они думали, что из algol-60/pascal/modula/oberon и csp/squeak/newsqueak/alef.

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

    С явой, плюсами, но не с С. На нишу С go никогда не претендовал.

     
     
  • 2.152, Comdiv, 18:32, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Это потому что Вы сужаете изначально широкую нишу С, от которой постоянно откусы... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.191, angra, 12:11, 18/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    А если я на perl сделаю прототип видеокодека, будешь ли ты считать видеокодеки н... весь текст скрыт [показать]
     
     
  • 4.195, Comdiv, 15:05, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    В самом вопросе содержатся 1-а манипуляция и 1-а логическая ошибка, правильней б... весь текст скрыт [показать]
     
  • 1.15, Аноним, 13:47, 17/02/2017 [ответить] [смотреть все]  
  • –6 +/
    Я был более лучшего мнения об этом ЯП, заточенном на сетевые приложения Т е то... весь текст скрыт [показать]
     
     
  • 2.17, angra, 13:50, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Нет, это вообще о другом.
     
     
  • 3.209, Аноним, 20:41, 18/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Опеннет превратился в ЛОР Изучай теперь, и не говори мне что выставление опции ... весь текст скрыт [показать]
     
     
  • 4.211, angra, 20:59, 18/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Возможно это вызовет у тебя нервный смех, но это опять не о том И если бы ты уд... весь текст скрыт [показать]
     
     
  • 5.215, Аноним, 21:12, 18/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Ах да, мега чистильщик сообщений Вот пруфы ЗА ТЕБЯ я дам Как обычно Ты же с Л... весь текст скрыт [показать]
     
  • 5.218, Аноним, 21:35, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Офигеть терминология в гугле И пруфы аналитиков просто сыпятся https go goog... весь текст скрыт [показать]
     
  • 2.169, LU, 20:17, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    А я менее лучшего
     
  • 2.181, Sw00p aka Jerom, 22:36, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    >>FIN-FIN/ACK, RST?

    разве не ОС должна делать (точнее tcp/ip стек)?


     
     
  • 3.210, Аноним, 20:49, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Открой ты RFC 793 и прочитай кто что должен Нубасы хреновы не знают, что делает... весь текст скрыт [показать]
     
     
  • 4.225, Sw00p aka Jerom, 16:29, 19/02/2017 [^] [ответить] [смотреть все]  
  • +/
    ага ЯП должен реализовывать в стд стек TCP IP https git ke... весь текст скрыт [показать]
     
     
  • 5.227, Аноним, 12:35, 20/02/2017 [^] [ответить] [смотреть все]  
  • +/
    И что ты нашел Что ты хочешь доказать Что ты вообще пытаешься сказать, кроме к... весь текст скрыт [показать]
     
     
  • 6.229, Sw00p aka Jerom, 17:33, 20/02/2017 [^] [ответить] [смотреть все]  
  • +/
    клондайк ну как минимум - нерешенные проблемы Гильберта Молчание золото, я то... весь текст скрыт [показать]
     
     
  • 7.231, Аноним, 20:43, 20/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Столько же сколько дергают сискол accept http man7 org linux man-pages man2... весь текст скрыт [показать]
     
     
  • 8.234, Sw00p aka Jerom, 23:22, 20/02/2017 [^] [ответить] [смотреть все]  
  • +/
    не устраивает пакет net - узайте уже пакет syscall - вот там уж точно вы будете ... весь текст скрыт [показать]
     
  • 8.235, Sw00p aka Jerom, 00:29, 21/02/2017 [^] [ответить] [смотреть все]  
  • +/
    1 не пакеты, а сегменты 2 SYN ACK, ACK - это не пакеты, а Флаги управляющие б... весь текст скрыт [показать]
     
  • 6.230, Sw00p aka Jerom, 17:43, 20/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Урок номер 1 Сетевая модель OSI https ru wikipedia org wiki D0 A1 D0 B5 D1 8... весь текст скрыт [показать]
     
  • 1.21, Owlet, 14:05, 17/02/2017 [ответить] [смотреть все]  
  • +1 +/
    > В модуль sort добавлена новая функция Slice, упрощающая сортировку данных с типом slice

    Вот для чего, дети, нужны дженерики. Чтобы не было по своей функции сортировки для каждого вида последовательностей.

     
     
  • 2.24, Аноним, 14:20, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +6 +/
    Читая такие откровения, понимаешь почему кодирование оутсорсят в Индию, а не в Россию.
     
     
  • 3.105, Andrey Mitrofanov, 17:20, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Потому что и сами они довольно неискренние, и самовар у них неоткровенный D... весь текст скрыт [показать]
     
  • 3.194, Michael Shigorin, 13:03, 18/02/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    Потому что у нас -- разработчики, а не кодеры Боюсь, Вы всё же приукрашиваете ... весь текст скрыт [показать]
     
     
  • 4.212, Аноним, 21:01, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Потому что ворье Потому что Альт стоит как последняя винда в коробке А в Индии... весь текст скрыт [показать]
     
  • 2.160, KonstantinB, 18:55, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Вот отсутствие дженериков в том или ином виде - это действительно недостаток Но... весь текст скрыт [показать] [показать ветку]
     
  • 1.26, Ilya Indigo, 14:24, 17/02/2017 [ответить] [смотреть все]  
  • –4 +/
    В бочку с мёдом добавили ложку дёгтя ... весь текст скрыт [показать]
     
     
  • 2.44, Аноним, 15:00, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –4 +/
    Это как раз была ложка меда, тщательно выскребенная и отцеженная из бочки с дёгт... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.179, Led, 22:26, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    > Это как раз была ложка меда

    Этот "мёд" уже один раз кто-то ел.

     
  • 1.29, Аноним, 14:32, 17/02/2017 [ответить] [смотреть все]  
  • +1 +/
    Наконецта порт для план 9 доделали, Роб Майк своих не бросает!
     
  • 1.55, Аноним, 15:11, 17/02/2017 [ответить] [смотреть все]  
  • –3 +/
    Никогда не понимал, зачем нужен сборщик мусора В С его нет, и никаких проблем... весь текст скрыт [показать]
     
     
  • 2.65, Аноним, 15:29, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +9 +/
    > Никогда не понимал, зачем нужен сборщик мусора? В С++ его нет, и
    > никаких проблем это не создаёт.

    Совершенно никаких, даром что USE-AFTER-FREE входит в 20ку самых эксплуатируемых уязвимостей. Примерчик с пылу с жару:
    CVE-2016-7117 - критическая дыра в ядре Linux Рейтинг опасности 10/10


     
     
  • 3.68, Аноним, 15:35, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Мне кажется люди просто не знаю, что уже давно проблема ручного контроля освобож... весь текст скрыт [показать]
     
     
  • 4.73, Василий Теркин, 15:45, 17/02/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Ну да, ну да Когда НУЖНО программисту Только страдают от этого потом пользов... весь текст скрыт [показать]
     
     
  • 5.77, Аноним, 15:55, 17/02/2017 [^] [ответить] [смотреть все]  
  • –4 +/
    Сборщик мусора не удалит объект, пока на него есть ссылки И запускается он чере... весь текст скрыт [показать]
     
     
  • 6.86, Аноним, 16:10, 17/02/2017 [^] [ответить] [смотреть все]  
  • +7 +/
    > Сборщик мусора не удалит объект, пока на него есть ссылки. И запускается
    > он через определенные промежутки времени.

    Фееричные-познания-в-теме-рука-лицо.жпг

    > В с++ даже локальный
    > объект можно удалить автоматически до выхода из функции просто ограничив ему
    > область видимости фигурными скобками. В том же Go он будет жить
    > еще несколько мс после завершения функции, пока сборщик не соизволит пошевелиться.

    Опять тайные знания? На самом деле есть только один GC, а еscape анализ придумка маркетологов?


     
     
  • 7.121, Аноним, 17:52, 17/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Ветка про сборщик мусора, а не про Go. Везде разные реализации сборщика.
     
     
  • 8.133, Аноним, 18:01, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Ответ как раз про _сборщики_ мусора, а не специфику го Алгоритмов сборки целая ... весь текст скрыт [показать]
     
  • 6.90, Аноним, 16:23, 17/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Go использует стандартную реализацию стека Все локальные переменные будут удале... весь текст скрыт [показать]
     
     
  • 7.97, hoopoe, 16:47, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    там же замыкания на уровне языка реализованы... как их на стек положить?
     
     
  • 8.125, Мяут, 17:55, 17/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Там компилятор автоматически определяет, нужно ли переменную на стеке создавать ... весь текст скрыт [показать]
     
     
  • 9.172, Аноним, 21:11, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Еще зависит от размера и типа переменной и от самой функции, как она вызывается ... весь текст скрыт [показать]
     
  • 7.123, Аноним, 17:53, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    В общем случае да, но есть исключения
     
  • 5.78, Аноним, 15:56, 17/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Системы с ограниченными ресурсами самое то, чтобы распылять их на потуги сборщик... весь текст скрыт [показать]
     
     
  • 6.87, Аноним, 16:12, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    У вас в квартире дверь есть?
     
     
  • 7.120, Аноним, 17:50, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    У вас в квартире унитаз есть?
     
     
  • 8.132, Аноним, 18:00, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    В магазине:

    - У вас трусы есть?
    - Нет.
    - А в продаже?

     
  • 6.156, Аноним, 18:48, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    На автоматическое управление памятью тратятся вычислительные ресурсы машины На ... весь текст скрыт [показать]
     
     
  • 7.173, Аноним, 21:14, 17/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Написали уже, оптимальный - умные указатели Никакого тебе сборщика мусора и руч... весь текст скрыт [показать]
     
  • 5.80, Аноним, 15:57, 17/02/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    Краши уже в прошлом, есть статические анализароры, умные указатели, диапазонные ... весь текст скрыт [показать]
     
     
  • 6.88, Василий Теркин, 16:13, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Вы серьезно ... весь текст скрыт [показать]
     
     
  • 7.124, Аноним, 17:55, 17/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Для меня да Ваш уровень знания языка вероятно гораздо ниже, раз краши для вас о... весь текст скрыт [показать]
     
     
  • 8.140, Василий Теркин, 18:12, 17/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    А что написали Судя по приводимым в этой ветке примерам - код из популярной сер... весь текст скрыт [показать]
     
  • 4.94, Ordu, 16:30, 17/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Если бы всё было так просто, то мемликов бы не было Вообще нигде не было бы, да... весь текст скрыт [показать]
     
     
  • 5.108, Аноним, 17:35, 17/02/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    А не всё так просто Но и не всё так ужасно Как это В ассемблере же ни смарт-п... весь текст скрыт [показать]
     
     
  • 6.158, Ordu, 18:51, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Потому что до тех пор, пока у нас есть указатель вписывающийся в идею uniq_ptr, ... весь текст скрыт [показать]
     
     
  • 7.165, Аноним, 19:31, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Не всегда просто Легко забыть сделать delete перед return в середине функции О... весь текст скрыт [показать]
     
     
  • 8.168, Ordu, 20:10, 17/02/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Вот нефиг писать исключительно на C Попробуй пописать на C или asm годик, теб... весь текст скрыт [показать]
     
     
  • 9.175, Аноним, 21:21, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Может так и есть, но ведь так удобно Выяснил, что больше делать нечего, и до... весь текст скрыт [показать]
     
     
  • 10.178, Ordu, 22:17, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну, много чего есть удобного, что потом может выйти боком Для этого и придумыва... весь текст скрыт [показать]
     
  • 6.184, анонимчик, 23:23, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    который на каждый чих мьютекс блокирует проще на питоне написать и слипы повст... весь текст скрыт [показать]
     
  • 5.128, Аноним, 17:56, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Во всех этих случаях требуется пересмотр архитектуры приложения.
     
     
  • 6.164, Ordu, 19:26, 17/02/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Требуется И что Ну пересмотришь ты её, а дальше что Будешь переписывать пару ... весь текст скрыт [показать]
     
     
  • 7.182, Аноним, 23:06, 17/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Это стало мифом , когда стало модно быть балбесом ... весь текст скрыт [показать]
     
     
  • 8.185, Ordu, 00:03, 18/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Может быть Но я склонен разделять мнение этих 95 , которые считают, что проблем... весь текст скрыт [показать]
     
     
  • 9.190, Аноним, 08:39, 18/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    KISS.
     
     
  • 10.198, chinarulezzz, 16:20, 18/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Потому что, если не вся, то большая часть _сложности_ вытекает из 1 незнания х... весь текст скрыт [показать]
     
  • 4.118, Аноним, 17:49, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Нет, не решена Программист должен изначально знать нужен ему unique_ptr или sha... весь текст скрыт [показать]
     
     
  • 5.131, Аноним, 18:00, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    shared_ptr, а уж тем более weak_ptr - это вообще наиредчашие случаи Я за 15 лет... весь текст скрыт [показать]
     
     
  • 6.149, Аноним, 18:25, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Не думаю, что редчайшим случаем является ситуация, когда неизвестно кто из владе... весь текст скрыт [показать]
     
     
  • 7.177, Аноним, 21:43, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Ситцация, когда нужен shared_ptr Такая ситуация является просто очень редкой П... весь текст скрыт [показать]
     
  • 4.189, Андрей, 07:25, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    А что с динамическим выделением объекта Он-то выделится тогда, когда это нужно ... весь текст скрыт [показать]
     
     
  • 5.200, Аноним, 17:49, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Какой аллокатор напишешь - так и будет выделяться А GC никогда не был и не буде... весь текст скрыт [показать]
     
     
  • 6.223, Андрей, 15:48, 19/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Так можно и язык свой написать Я говорю о тех, что под капотом в glibc и в stdl... весь текст скрыт [показать]
     
  • 5.219, Аноним, 22:04, 18/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Ты ничего не смыслишь в программировании.
     
  • 3.104, Аноним, 17:19, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Абы ляпнуть чтоль Ядро Linux написано НЕ на С Ваш Кэп ... весь текст скрыт [показать]
     
     
  • 4.110, Василий Теркин, 17:37, 17/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Писали бы на С вообще бы Линукса до сих пор не было ... весь текст скрыт [показать]
     
     
  • 5.113, Аноним, 17:42, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Что за перевод темы такой Пассаж про CVE-2016-7117 не в тему к С был, так или... весь текст скрыт [показать]
     
     
  • 6.145, Василий Теркин, 18:19, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Все в тему С и ассемблер тоже без мусорки Но и без ООП со всякими с плюшками... весь текст скрыт [показать]
     
  • 4.174, Аноним, 21:17, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    На Go что ли Если серьезно, причем здесь ядро вообще ... весь текст скрыт [показать]
     
  • 3.183, Аноним, 23:23, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Ядро Linux это примерчик того, что в C нужен сборщик мусора Ну вот как, как к... весь текст скрыт [показать]
     
  • 2.93, Аноним, 16:26, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    Да-да, С нахваливают, что память нужно вручную освобождать и юзают при этом ум... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.109, Аноним, 17:37, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Взаимоисключающие утверждения?
     
  • 3.134, Аноним, 18:03, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Как раз вручную память освобождать не следует И язык позволяет обходится без эт... весь текст скрыт [показать]
     
  • 2.96, Толл, 16:35, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Сильное утверждение Проверять я его, конечно же, не буду с ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.135, Аноним, 18:05, 17/02/2017 [^] [ответить] [смотреть все]  
  • –4 +/
    Вот и создатели Go не стали И получилось что имеем - большой костылище для реше... весь текст скрыт [показать]
     
     
  • 4.154, Mike Lee, 18:45, 17/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Точно Засунем все в смартпоинтеры, потрахаемся с копированием, удалим auto_ptr ... весь текст скрыт [показать]
     
     
  • 5.201, Аноним, 17:56, 18/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Смарт поинтеры нужны в единичных случаях, т к обычно достаточно контейнеров В ... весь текст скрыт [показать]
     
  • 2.98, Василий Теркин, 17:05, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Прогони в С class Node public Node next for int i 0 i 1... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.101, Василий Теркин, 17:14, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Стырено в https habrahabr ru post 148657 Но смысл понятен Сборщик мусора, оп... весь текст скрыт [показать]
     
  • 3.139, Аноним, 18:11, 17/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    Не показателен Так никто не пишет Для С это вполне нормальный код, т к разра... весь текст скрыт [показать]
     
     
  • 4.143, Аноним, 18:17, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Только вот считающих, что уж они понимают, как что-то работает, во все времена б... весь текст скрыт [показать]
     
  • 4.151, Василий Теркин, 18:31, 17/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Ну тогда напиши код для cpp правильно , сделав тоже самое, но за меньшее время ... весь текст скрыт [показать]
     
     
  • 5.166, Аноним, 19:37, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Да запросто:

    {
    }

    (компилятор соптимизировал всё в ноль)

     
  • 5.202, Аноним, 17:59, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Решение предельно простое, не выделять память 10000000 раз, как ииот.
     
  • 3.150, Ivan, 18:30, 17/02/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Не хочется кормить тролля, но один раз отвечу Данный пример ничего полезного не... весь текст скрыт [показать]
     
     
  • 4.161, Василий Теркин, 18:55, 17/02/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Спасибо за развернутый ответ Но я НИКОГДА и не спорил, что в С с его гибкость... весь текст скрыт [показать]
     
     
  • 5.167, Аноним, 19:45, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    А что про Python и Ruby скажете Скорость разработки на них выше, чем на Java И... весь текст скрыт [показать]
     
     
  • 6.228, Василий Теркин, 14:56, 20/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Ну вроде оба этих языка относятся к интерпретируемым за исключением отдельно при... весь текст скрыт [показать]
     
  • 1.64, Аноним, 15:26, 17/02/2017 [ответить] [смотреть все]  
  • +1 +/
    Осторожно, влюбиться в него очень просто При этом уровень вхождения выше средне... весь текст скрыт [показать]
     
     
  • 2.70, Аноним, 15:39, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Всё ровным счетом наоборот И настройки не относятся к уровню вхождения в язык ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.75, Василий Теркин, 15:49, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Разве что программисту на бэйсике А уж CPP-программеру, например, без знания на... весь текст скрыт [показать]
     
     
  • 4.81, Аноним, 16:00, 17/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    или если под виндой - скачать и поставить sdk с оф сайта Дальше можно писать к... весь текст скрыт [показать]
     
     
  • 5.82, Аноним, 16:02, 17/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Хотя в конкретном случае Qt Creator достаточно, он сам подтянет зависимости
     
  • 2.102, Аномномномнимус, 17:16, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Хорошая шутка юмора, но нет, уж лучше старый добрый C++
     
  • 2.137, Аноним, 18:06, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –3 +/
    Язык без дженериков не нужен.
     
  • 1.91, Аноним, 16:25, 17/02/2017 [ответить] [смотреть все]  
  • –1 +/
    А если на этой штуке игровой движок накатать, все будет совсем плохо Как оно по... весь текст скрыт [показать]
     
     
  • 2.142, Аноним, 18:15, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Со сборщиком мусора придётся побороться Но эта проблема всех больших проектов н... весь текст скрыт [показать] [показать ветку]
     
  • 2.144, Аноним, 18:18, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Пули будут в полёте приостанавливаться на время сборки мусора :)
     
  • 2.153, Аноним Аналитег, 18:36, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Думаю игровых движков должно быть мало как раз из-за gc, который может создавать... весь текст скрыт [показать] [показать ветку]
     
  • 1.95, Аноним, 16:31, 17/02/2017 [ответить] [смотреть все]  
  • –3 +/
    func g НЕВЕРНО if x else НЕВЕРНО func ... весь текст скрыт [показать]
     
     
  • 2.99, Аноним, 17:06, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    func g НЕВЕРНО Платят за количество строк Я знаю эти удаки на С... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.136, Аноним, 18:05, 17/02/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    Нет, просто такой код легче читать Представьте себе, иногда не лишено смысла Н... весь текст скрыт [показать]
     
  • 3.186, Аноним, 04:38, 18/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    int main Это оправдано, потому что в отличие от хелловордов, в реальном коде э... весь текст скрыт [показать]
     
  • 3.220, Аноним, 22:16, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Да-да, ты прав https gcc gnu org viewcvs gcc trunk libgcc crtstuff c view mar... весь текст скрыт [показать]
     
  • 2.100, Вы забыли заполнить поле Name, 17:12, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    он еще не компилируется с несиспользуемыми переменными
     
     
  • 3.148, Аноним, 18:24, 17/02/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    При том, что это явно замедляет разработку, а они борются за каждую секунду разр... весь текст скрыт [показать]
     
     
  • 4.187, Аноним, 04:39, 18/02/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Просто баранье упёрство, хотя там напрашивается warning, а не error
     
  • 4.196, angra, 15:36, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Ты просто не понимаешь, что экономить на до не на спичках уменьшение времени на ... весь текст скрыт [показать]
     
  • 2.103, Аноним, 17:18, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Форматирование переносом строк для чайников, том 2 func g верно func ... весь текст скрыт [показать] [показать ветку]
     
  • 2.107, Andrey Mitrofanov, 17:32, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +4 +/
    Вздох облегчения из гугля дважды обогнул шарик ... весь текст скрыт [показать] [показать ветку]
     
  • 2.146, Аноним, 18:21, 17/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Я предпочитаю так А с функциями зависит от количества аргументов Например част... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.188, Аноним, 04:41, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Если тебе такое понадобилось, с высокой вероятностью эту функцию стоит переделат... весь текст скрыт [показать]
     
     
  • 4.206, Аноним, 20:16, 18/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Или не тратить время и оставить всё как есть
     
  • 2.197, angra, 15:43, 18/02/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Одной из основных целей при разработке go и его дальнейшем развитии была и остае... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.207, Аноним, 20:19, 18/02/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    На мой взгляд предложенное форматирование в Go - самовыражение его разработчиков... весь текст скрыт [показать]
     
     
  • 4.224, Андрей, 15:59, 19/02/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Неправильный стиль Синтаксически корректный стиль оформления кода не бывает неп... весь текст скрыт [показать]
     
  • 4.232, Аноним Аналитег, 21:15, 20/02/2017 [^] [ответить] [смотреть все]  
  • +/
    Мой опыт говорит, что в каждом монастыре свой code convention Причем каждый кей... весь текст скрыт [показать]
     
  • 1.226, Анонишвили, 11:45, 20/02/2017 [ответить] [смотреть все]  
  • –1 +/
    lol no generics
     

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


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor