The OpenNET Project / Index page

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

Компания Google представила язык программирования Go 1.2

02.12.2013 18:43

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

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

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

Новая версия примечательна переработанным планировщиком, в котором частично решена проблема с негативным влиянием бесконечно зацикленных подпрограмм на выполнение других подпрограмм (goroutine) в текущем потоке (thread). Планировщик теперь вызывается при входе в функцию, т.е. может корректно передать управление другим подпрограммам в условиях вызова функций в цикле, который ранее прожирал все ресурсы (ситуация с inline-циклами не изменилась, но проблема в основном касается конфигураций с одним рабочим потоком, GOMAXPROCS=1). В инструментарий добавлена программа "go tool cover" для сбора и отображения статистики тестового покрытия (Test Coverage) для оценки качества тестирования.

Порция улучшений коснулась непосредственно языка. Изменена логика обработки nil-указателей, при появлении которых отныне выводится ошибка. Добавлена поддержка нового синтаксиса задания слайсов, оперирующего тремя аргументами - кроме определения непрерывной области в массиве через конструкцию вида array[i:j], теперь можно использовать новый формат array[i:j:k], в котором указывается как размер итогового слайса (j - i), так и его вместимость (k - i), что позволяет разработчику обеспечить доступ только к ограниченной части исходного массива.

Расширено число доступных функций в стандартной библиотеке. Добавлен новые пакеты encoding и image/color/palette. В пакете fmt в строках форматирования Printf обеспечена поддержка проиндексированных аргументов. Расширены возможности пакетов text/template и html/template. Значительно увеличена производительность некоторых пакетов: compress/bzip2 на 30%, crypto/des в 5 раз, encoding/json на 30%. Производительность сетевых функций на платформах Windows и BSD ускорена примерно на 30% (указанные оптимизации были добавлены для Linux и OS X в прошлом выпуске).

С 4 до 8KB увеличен минимальный размер стека goroutine, что должно положительно сказаться на производительности некоторых программ. Внесены дополнительные ограничения на размер стека (по умолчанию 1GB для 64-bit и 250MB для 32-bit) и число нитей (по умолчанию 10000), что позволит защитить систему от неконтролируемого потребления ресурсов (для корректировки лимитов следует использовать SetMaxThreads и SetMaxStack в пакете runtime/debug).

  1. Главная ссылка к новости (http://blog.golang.org/go12...)
  2. OpenNews: Увидел свет язык программирования Go 1.1
  3. OpenNews: Первый релиз языка программирования Go
  4. OpenNews: В состав GCC одобрено включение фронтэнда для языка Go
  5. OpenNews: Представлен новый открытый проект Google - язык программирования Go
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38568-golang
Ключевые слова: golang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (73) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, анон (?), 19:44, 02/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Вот оно престанище перловшиков. Надеюсь гугль не забросит его.
     
     
  • 2.2, Аноним (-), 19:50, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    там больше синтаксиса питона
     
  • 2.3, Crazy Alex (ok), 19:51, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • –13 +/
    Как перловщик говорю - эта ограниченная убогая штуковина не впечатляет совершенно. TIMTOWDI и рядом не лежало. Вот D - этот да, хорош.
     
     
  • 3.5, анон (?), 19:59, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Я тоже перловщик, и мне нравится эта штуковина. И чем же по вашему ограничена?
     
     
  • 4.11, Lain_13 (ok), 21:48, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вероятно у него не получилось приготовить на нём такую привычную и понятную всем перловую кашу.
     
  • 4.17, Аноним (-), 22:36, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Чел которому нравится D ... не говори с ним - запачкаешься :-\
     
     
  • 5.32, Crazy Alex (ok), 02:53, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ок, идите туда, где полторы концепции и три оператора - плодите простыни кода. Потому что сложность реашемых проблем - это данность. Она отразится либо в сложность языка либо в сложность библиотек и пользовательского кода. Только вот над языком годами думают, и учить его надо один раз. А бибилотеки и пользовательский код каждый раз новые, и рыться в них каждый раз заново.
     
  • 4.33, Crazy Alex (ok), 03:02, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Отсутствием метапрограммирования, например, что влечет невозможность сваять аналог дишных ranges. А если более общо - отсутствием "фокусов", которые могут помочь сделать код компактным и выражающим именно то, что хотели.
     
     
  • 5.35, Доктор Звездулькин (?), 03:51, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Отсутствием метапрограммирования, например, что влечет невозможность сваять аналог дишных ranges.

    Я не знаю D, но прочитал документацию про ranges и не понимаю, почему их на интерфейсах нельзя сваять.

     
  • 5.37, Аноним (-), 04:59, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А если более общо - отсутствием "фокусов", которые могут помочь
    > сделать код компактным и выражающим именно то, что хотели.

    Use Perl, Luke! C%-@

    Я серьёзно - даже рожу вон какую слепил.
    И вот в этом D перед перлом как та грелка перед Тузиком ...

     
  • 4.41, Dan (??), 05:55, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Я тоже перловик, никуда валить не собираюсь. Отучайся говорить за всех.
     
  • 2.83, Grammar Nazi (?), 15:52, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    пpиcтaнищe, ёптa
     

  • 1.8, Archer73 (ok), 20:26, 02/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    При всех плюсах он пока не умеет линковаться в .so доступные из программ на других языках. Получается он хорош только в написании маленьких приложений. Как только созданные наработки хочется вынести в библиотеку окажется, что никто кроме Go их использовать не сможет.
     
     
  • 2.10, Andrey Mitrofanov (?), 21:14, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > При всех плюсах он пока не умеет линковаться в .so доступные из

    Моно и CIL наше Всё! Да, камрад Мигель?

     
  • 2.24, BratSinot (ok), 00:21, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > окажется, что никто кроме Go их использовать не сможет

    О боже, Erlang, Lisp (добавите сюда практически любой non-C язык) тоже не умеют!

     
     
  • 3.25, vitalif (ok), 00:26, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Да, но они-то скриптовые, а не компилируемые...
     
     
  • 4.31, Led (ok), 02:20, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Да, но они-то скриптовые, а не компилируемые...

    Сам ты скриптовый...

     
  • 4.45, arisu (ok), 08:18, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Да, но они-то скриптовые, а не компилируемые…

    ты так больше не шути, пожалуйста.

     
  • 3.26, Аноним (-), 00:41, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > О боже, Erlang, Lisp (добавите сюда практически любой non-C язык) тоже не умеют!

    При том это баг, а не фича. Почему этот ретардизм с невозможностью реюза кода считается нормальным? Вот си и держит №1 по популярности. Реюз кода - великая вещь.

     
     
  • 4.46, arisu (ok), 08:20, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Реюз кода - великая вещь.

    и код на эрланге отлично можно «реюзать» в другом проекте на эрланге. а код на cl — в другом проекте на cl. я тебе ещё страшней вещь скажу: код на си тоже только в другом проекте на си можно «реюзать». ну, и в c++, если повезёт.

     
     
  • 5.59, burjui (ok), 13:53, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Именно. А вызывать сишные функции из динамически компонуемых библиотек не умеет разве что Brainfuck. Написать сишную обёртку для функции на другом ЯП - тоже посильная задача для простых смертных.
     
  • 3.50, Archer73 (ok), 08:48, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Fortran и FreePascal почему-то умеют.
     

  • 1.9, некто (ok), 20:44, 02/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вроде как благодаря go имеем docker-контейнеры для виртуализации на базе cgroup.
     
     
  • 2.15, Аноним (-), 22:30, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То, что его написали на го, не означает, что его нельзя было написать на чем-то другом. Потому благодарить не за что.
     
     
  • 3.18, Аноним (-), 22:38, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > То, что его написали на го, не означает, что его нельзя было
    > написать на чем-то другом. Потому благодарить не за что.

    Потому что ты жадная шкoлoта. Написать можно много на чём - однако написали на Go.

     
  • 3.20, некто (ok), 22:47, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    ну в общем конечно это не та благодарность по сравнению с тем, что если бы контейнеры написали бы на эрланге... Хотя все-равно разнообразие несколько радует...
     
  • 2.27, Аноним (-), 00:44, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > вроде как благодаря go имеем docker-контейнеры для виртуализации на базе cgroup.

    Сами по себе cgroups и LXC - набор системных вызовов и ряда рукояток. То что некто накатал один из управляторов на go - не делает это чем-то эксклюзивным, а основная заслуга идет таки ядру линя, а не этой оболочке от cocиски.

     
     
  • 3.30, Аноним (-), 02:06, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    поражаюсь людям пишушим комменты и не разбирающимися в вопросе, ну не позорьтесь.
    LXC это тулза в юзерспейсе.
     
  • 3.34, некто (ok), 03:33, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    если бы не контейнеры - не интересовался особо этим языком, а так выглядит как язык с системным уклоном и возможностями параллельности, хотя какая может быть параллельность без эрланга...  
     
     
  • 4.61, Аноним (-), 18:47, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >какая может быть параллельность без эрланга...  

    такая же как ис эрлангом, только без эрланга.

      

     
     
  • 5.80, некто (ok), 12:10, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >>какая может быть параллельность без эрланга...
    > такая же как ис эрлангом, только без эрланга.

    Go красивый и компактный, но не функциональный. А без иммутабельности достичь "прозрачной" параллельности проблематично. Отсюда и проблемы с планировщиком, возможно. Модель акторов как гарант асинхронного взаимодействия в этом языке не упоминается. Но тем не менее язык интересен и корректно с эрлангом его можно сравнивать только по определенным нишам.

     

  • 1.12, Аноним (-), 21:58, 02/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    GC и производительность Си звучит мягко говоря странно. Отожрав хотя-бы гиг оперативы, от производительности не останется и следа
     
     
  • 2.16, Аноним (-), 22:31, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > GC и производительность Си звучит мягко говоря странно. Отожрав хотя-бы гиг оперативы,
    > от производительности не останется и следа

    От реализации ГЦ зависит. И, кстати, чем чаще и тщательнее мусор собирается, тем тормозов больше. А аллоцированная память на производительность мало влияет.

     
     
  • 3.21, Аноним (-), 22:56, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Теория говорит о том, что в общем случае тормоза сборщика пропорциональны объёму занятой памяти. Сказки про генерации, инкрементальную сборку и нон-стоп оставьте на закуску теоретикам.
     
     
  • 4.47, arisu (ok), 08:21, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Теория говорит


    > Сказки … оставьте на закуску теоретикам.

    молодец, взаимоисключающие параграфы во все поля!

     
  • 2.67, Аноним (-), 20:34, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Отожрав 1 гагабайт оперативы из 128 гигабайт. Гугель предлагает Go для написания программ работающих на сервере.
    А скорость достигается путем того что программа не ищет свободное место ОП, а использует заранее подготовленную область. Любая крупная программа использует техники автоматизированного управления памятью, так какая разница кто это будет делать пограмист-пейсатель программы или компилятором (виртуальной машиной)?
     

  • 1.14, Аноним (-), 22:05, 02/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Очень кстати новость. Только вчера начал знакомиться с языком. Интересен для разработки веб приложений.
     
     
  • 2.19, Andrey Mitrofanov (?), 22:39, 02/12/2013 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > Очень кстати
    > языком
    > для разработки веб приложений.

    Написал на awk-е вебсервер. До 4ёх утра писал - взлетело. Массу удовольствия получил! </чистейшая>

     
     
  • 3.39, Аноним (-), 05:32, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Адгбша - вы таки лох :) На вашем любимим баш давно уже есть < пол-кило буков.

    PS: Да я и сама офигела :)

     

  • 1.23, vitalif (ok), 23:09, 02/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Всё бы хорошо, но статическая линковка - это виндузятничество. Хотя тому, что гугл - латентные виндузятники, я не удивлён.
     
     
  • 2.28, Аноним (-), 00:46, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > гугл - латентные виндyзятники, я не удивлён.

    Они б рады, да вот конкурент им MS, опаньки.

     
  • 2.48, arisu (ok), 08:24, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Всё бы хорошо, но статическая линковка - это виндузятничество.

    нет, это пайковщина: http://harmful.cat-v.org/software/dynamic-linking/ он известный противник shared libraries.

     
     
  • 3.62, Аноним (-), 19:20, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ты дал ссылку на плохой сайт, необъективный.
     
     
  • 4.65, Аноним (-), 20:25, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Можешь доказать необъективность?
     
     
  • 5.66, arisu (ok), 20:27, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Можешь доказать необъективность?

    да чо там — это ж пландевятовцы, где Пайк руку приложил. конечно, необъективны: ну точно же слова Пайка исказили!

     

  • 1.29, Аноним (-), 01:16, 03/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок

    Эти "достоинства скриптовых языков" не вытекают из какой-то абстрактной "скриптовости".

     
  • 1.38, AnonuS (?), 05:28, 03/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Новая версия примечательна переработанным планировщиком, в котором частично решена проблема с негативным влиянием бесконечно зацикленных нитей на выполнение других подпрограмм в текущем потоке. Планировщик теперь вызывается при входе в фунуцию, т.е. может корректно передать управление другим подпрограммам в условиях вызова функций в цикле, который ранее прожирал все ресурсы (ситуация с inline-циклами не изменилась, но проблема в основном касается конфигураций с одним рабочим потоком, GOMAXPROCS=1).

    Ээээээпать, расшифруйте чего здесь написано ??? Потоки, нити, подпрограммы...

     
     
  • 2.54, Аноним (-), 10:51, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Go может запускать несколько потоков через штатные threads уровня ОС В каждом и... большой текст свёрнут, показать
     

  • 1.40, Аноним (-), 05:55, 03/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ура!
     
  • 1.42, Darkman (??), 07:35, 03/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хз как все, уже больше года пишу на Go и чем дальше тем больше нравится, уже практически не использую другие языки, причем нравится что могу и для Винды написать, и для Линухов тоже. Согласен что есть маленький косяк, что не делает нормальных dll, so... но извините это 1 версия языка, все еще впереди.
     
     
  • 2.43, Аноним (-), 08:13, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    с другой стороны, Go собирает все в один исполняемый файл, что очень удобно для деплоя на сервер
     
     
  • 3.51, oOo (?), 08:52, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > с другой стороны, Go собирает все в один исполняемый файл, что очень
    > удобно для деплоя на сервер

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

     
     
  • 4.63, Аноним (-), 20:20, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что ты делаешь, когда находишь в софте, не написанном на Go, уязвимость? Правильно, то же самое: обновляешь его (или его компоненты) на всех серверах, заменяя уязвимые копии.
     
     
  • 5.64, arisu (ok), 20:22, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А что ты делаешь, когда находишь в софте, не написанном на Go,
    > уязвимость? Правильно, то же самое: обновляешь его (или его компоненты) на
    > всех серверах, заменяя уязвимые копии.

    а если уязвимость в библиотеке? ура-ура, пересобираем всё, что на этом ге было собрано — вместо замены одной библиотеки и перезапуска софта.

     
     
  • 6.70, ф1 (?), 23:25, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И в чем проблема пересобрать? При такой скорости компиляции даже не заметишь.
     
     
  • 7.73, arisu (ok), 05:24, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    (вздыхает) да ничего, ничего, просто иди мимо.
     
  • 2.68, Алексей Морозов (ok), 20:56, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Скажите лучше, как вы живёте с rc-кодами?
     
     
  • 3.69, arisu (ok), 21:13, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Скажите лучше, как вы живёте с rc-кодами?

    намного комфортней, чем с исключениями.

     
     
  • 4.71, Алексей Морозов (ok), 04:20, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Скажите лучше, как вы живёте с rc-кодами?
    > намного комфортней, чем с исключениями.

    Комфортнее чем? Тем, что при каждом вызове на каждом уровне нужно думать о том, что там внутри могло что-то случиться и это надо как-то обработать?


     
     
  • 5.72, Led (ok), 05:16, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Комфортнее чем? Тем, что при каждом вызове на каждом уровне нужно думать

    Да, большинству думать некомфортно...

     
     
  • 6.76, Алексей Морозов (ok), 08:17, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Комфортнее чем? Тем, что при каждом вызове на каждом уровне нужно думать
    > Да, большинству думать некомфортно...

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

     
  • 5.74, arisu (ok), 05:37, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Комфортнее чем?

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

    поэтому гуляй, вася. лимит просвещения дураков у меня временно исчерпался.

     
     
  • 6.75, Алексей Морозов (ok), 08:16, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Дурные оскорбления пропущу мимо ушей. Будем считать, что у Вас день не задался.

    Аргументы сторон, по крайней мере, некоторые из них, я, естественно читал. Как другой спор тупо- и остроконечников, про Checked/Unchecked Exceptions в Java/Scala. А ещё знаком с методологиями обработки исключительных ситуаций в таких, например, языках как Visual Basic и Rexx'е, где действительно были чётко выделенные fail/recovery секции, и, в целом, при всех известных ограничениях, код они не загрязняли.

    Под загрязнением кода я в ввиду примерно такие конструкции, щедро разбросанные по многим Go-шным библиотекам:

    defer func() {
      if e := recover(); e != nil {
        err = e.(error)
      }
    }()

    Замечу, что никаких _осмысленных_ действий в этом случае не производится, только борьба с приступами диар^W паники в нижележащем коде, конвертация из одного вида исключительных ситуаций в другой. О котором, кстати, вызывающей стороне ещё и думать надо будет особо, даже если ничего осмысленного она с этой ошибкой сделать не сможет.

    Ребята, после такого со скепсисом начинаешь воспринимать критику подхода с исключениями, они-де обрабатываются где попало, а не ровно в том месте, в котором есть хоть какой-то шанс сделать с этим исключением что-то осмысленное.

    Поэтому, собственно, и вопрос был: почему лично Вы думаете, что такой способ лучше?

     
     
  • 7.77, arisu (ok), 10:08, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • +3 +/
    исключения 8212 это fuckin uncontrollable mess прежде всего во-первых, они... большой текст свёрнут, показать
     
     
  • 8.78, Алексей Морозов (ok), 12:01, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    - Это лозунг Как земля - крестьянам, фабрики - рабочим В каждом конкретн... большой текст свёрнут, показать
     
     
  • 9.79, arisu (ok), 12:08, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а детали 8212 это долго, нудно, безрезультативно и офтопично всё равно никто... текст свёрнут, показать
     
  • 8.81, некто (ok), 12:11, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    gt оверквотинг удален let it crash ... текст свёрнут, показать
     
     
  • 9.82, Алексей Морозов (ok), 13:45, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да, если остальное окружение это позволяет ... текст свёрнут, показать
     
     
  • 10.84, некто (ok), 19:01, 04/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    let it live в принципе, вы правы, если позволяет окружение, но чревато неправил... текст свёрнут, показать
     

  • 1.53, Аноним (-), 09:10, 03/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    есть аналог си-шеых указателец ?
     
     
  • 2.56, Аноним (-), 11:29, 03/12/2013 [^] [^^] [^^^] [ответить]  
  • +/
    http://bolknote.ru/2011/05/05/~3200#10
     

  • 1.60, Аноним (-), 17:25, 03/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Графическую библиотеку к нему прикрутили?
     
  • 1.85, Аноним (85), 13:26, 30/04/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати, для всех интересующихся Go http://4gophers.com/
     

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



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

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