The OpenNET Project / Index page

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

Компания Google надеется на включение компилятора языка Go в GCC 4.6

24.10.2010 20:12

Ян Ланс Тейлор (Ian Lance Taylor) из компании Google сообщил в списке рассылки разработчиков GCC о готовности кода фронтэнда "gccgo" языка программирования Go для слияния с кодовой базой GCC. Если не возникнут непредвиденные проблемы, поддержка языка Go появится в следующем релизе GCC 4.6, выход которого ожидается в следующем году. Напомню, возможность включения в GCC фронтэнда для языка Go была утверждена управляющим советом разработчиков GCC в январе этого года. Обзор языка Go можно найти в тексте первоначального анонса.

  1. Главная ссылка к новости (http://www.phoronix.com/scan.p...)
  2. OpenNews: В состав GCC одобрено включение фронтэнда для языка Go
  3. OpenNews: Представлен новый открытый проект Google - язык программирования Go
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/28397-gcc
Ключевые слова: gcc, go, lang, google
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (73) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 22:13, 24/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Да, только этого самодельного языка там не хватало.
    И так уже имеем комбайн с паровой машиной и на гусеницах, теперь ещё это.
    Утопят они GCC...
     
     
  • 2.33, be_nt_all (ok), 11:41, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Да, только этого самодельного языка там не хватало.

    Ага, самодельный язык Си там уже есть, а теперь там появился ещё один самодельный язык от его [co]создателей. (Вам, сударь, фамилии Пайк и Томпсон о чём-либо говорят? или до Страуструпа жизни не было?)
    > И так уже имеем комбайн с паровой машиной и на гусеницах, теперь ещё это.

    А по мне GNU Compiler Collection больше напоминает шуруповёрт со сменными наконечниками. И это есть хорошо.


     

  • 1.3, Thorton (?), 22:15, 24/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что-то в этом Go есть.. а даже если нет - пусть будет - программисты тоже люди - а людям нужна свобода самовыражаться на том языке который им нравиться =)) Стремление gcc поддерживать все - как минимум похвально.
     
     
  • 2.5, Аноним (-), 22:38, 24/10/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    gcc к этому не стренится
    это гугл стремится вписать себя в историю везде где только можно
    чем то напоминает политику майкрософта
    только майксрософт навязывает готовые продукты
    а гуглы навязывает свои идеи в любые проекты
     
  • 2.13, Сергей Митрофанович (?), 00:19, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >Стремление gcc поддерживать все - как минимум похвально.

    Какое "всё"? Там "всем" и не пахло. D и то в стандартной поставке нет (хотя уже даже в gdb есть), а тут Go.

     
     
  • 3.34, be_nt_all (ok), 11:53, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >>Стремление gcc поддерживать все - как минимум похвально.
    > Какое "всё"? Там "всем" и не пахло. D и то в стандартной
    > поставке нет (хотя уже даже в gdb есть), а тут Go.

    А что, уже есть фронтенд для D-2? Кому нужно куда-то включать заброшенный фронтенд для устаревшей ветви языка?

     
     
  • 4.37, Сергей Митрофанович (?), 13:09, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще, GDC (фронтэнд для D к GCC) поддерживает D 2.0.29 (актуальная версия сейчас 2.0.49). Хотя если бы и не было, а интегрировать очень хотелось, то написали бы с нуля. Впрочем, это я всего лишь к тому, что разработчики GCC никогда не стремились поддерживать все возможные языки, так что вряд ли включат этот Go.
     
     
  • 5.38, Толстый (ok), 13:49, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вообще, GDC (фронтэнд для D к GCC) поддерживает D 2.0.29 (актуальная версия сейчас 2.0.49).

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

    А что до Go, то это хорошая попытка пропиарить вполне заурядную вещь. Я бы не сказал что язык - какое-то откровение, хотя некоторые идеи там конечно неплохие.

     
     
  • 6.45, be_nt_all (ok), 07:18, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну язык-откровение и язык рабочая лошадка, это разные вещи Откровением был Фор... большой текст свёрнут, показать
     
     
  • 7.46, stimpack (?), 08:28, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    как я понял, в вашем понятии мейнстрим - это то, что используется теми самыми 95%ми? :-)
    Тогда вы некстати упустили Delhi, .NET - это ж вот где миллионы!!!
    И для них, надо сказать, это откровение...
    " - Смари чувак, как я умею - огого!
    - Ну ты ваще крут!" :-)
     
     
  • 8.47, be_nt_all (ok), 11:38, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Мэйнстрим это главный поток Сколько это 8212 excuse me не считал Да, я ... текст свёрнут, показать
     
  • 7.50, Crazy Alex (??), 14:58, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Надеюсь, что нет. Язык примитивен ужасно. Тот же D2 в этом плане интереснее гораздо - как раз "скриптовые" возможности у него отличные, сам язык довольно прост (определённо проще перла) и очень логичен, есть масса фишек по выполнению кода при компиляции, неплохо заменяющих eval, и при этом со вменяемым синтаксисом.
     
     
  • 8.62, be_nt_all (ok), 19:44, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Ну прям таки 171 примитивно ужасен 187 Просто это НЕ 171 программируемый ... текст свёрнут, показать
     
     
  • 9.66, Crazy Alex (??), 22:43, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    D проще плюсов на порядок И включает явный способ отключить небезопасные фичи... текст свёрнут, показать
     

  • 1.6, Кракен (?), 22:50, 24/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Почему так все недовольны? Ну сделали они фронтед, причем сделали так, что он вполне рабочий и готов для включения в кодовую базу. Что в этом плохого? Посмотрите на зоопарк фронтедов для ллвм.
    И вообще, го - вполне неплохой язык, а то сейчас для реальных проектов кроме анаьлного сишарпа мало что подходит.
     
  • 1.7, Crazy Alex (??), 22:57, 24/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну.. Ада там есть, чего ж Go не быть... Хотя язык мерзкий. Они мне вместе с явой бытовую технику напоминают - "мы знаем, что вы идиот, поэтому для вашей безопасности мы ампутировали все сколько-нибудь нетривиальные возможности". Как надо - см. D2
     
     
  • 2.9, pavlinux (ok), 23:37, 24/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    И Ада, и Фортран и С++ и ObjC надо отдельно сделать.

     
     
  • 3.10, Crazy Alex (??), 23:53, 24/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А зачем? Оно всегда было "GNU Compiler Collection". Проект такой, а не единый бинарник или там библиотека. А в дистрибутивах и так бьют на части, кто хочет.
     
     
  • 4.12, Андрей (??), 00:17, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Оно всегда было "GNU Compiler Collection"

    оно НЕ всегда так было, изначально это был "GNU С Compiler"

     
     
  • 5.51, Crazy Alex (??), 15:00, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> Оно всегда было "GNU Compiler Collection"
    > оно НЕ всегда так было, изначально это был "GNU С Compiler"

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

     
  • 4.14, pavlinux (ok), 00:46, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А зачем? Оно всегда было "GNU Compiler Collection". Проект такой, а не
    > единый бинарник или там библиотека. А в дистрибутивах и так бьют
    > на части, кто хочет.

    Не, ну если будет как Жава, тогда ладно, пускай на ФТПшниках валяется.

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


     
     
  • 5.18, be_nt_all (ok), 05:35, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Дело-то в том, что будущий монстр это Гугля.

    Ясновидящие на opennet detected Ж)

    А при чём тут язык Go?

    Да, сейчас Google собирает под своей крышей народ, который разрабатывает (open source) языки программирования. Гвидо с его Питоном, Пайк и Томпсон, которые когда то разработали Си, а теперь вот Go (да Go — не урезанный С++, это продвинутый Си, кстати, не первый проект на эту тему, но Cyclone «не взлетел»). Глядишь, ещё Гослинг туда трудоустроится…

    Да, это, возможно, часть «плана по захвату мира» — вот только это не захват через «бабло и адвокатское хайло», а «тонкая работа на информационных планах» — «мир будет писать на наших языках». Это вам не бесноватый Балмер, с его криками в стиле «у нас есть такие патенты, но мы вам о них не расскажем». Мир, в котором Google станет «империей зла» станет, похоже, другим миром — и этот Париж (новый мир, пусть даже «дивный новый мир») стоит такой мессы (власти гугля).

     
     
  • 6.41, pavlinux (ok), 19:59, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> Дело-то в том, что будущий монстр это Гугля.
    > Мир, в котором Google станет «империей зла» станет, похоже, другим миром —
    > и этот Париж (новый мир, пусть даже «дивный новый мир») стоит такой мессы
    > (власти гугля).

    Последние два тысячелетия этого не было, с чего бы вдруг?! :)


     
     
  • 7.52, Crazy Alex (??), 15:04, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что мир меняется, как ни странно. А IT его меняют очень быстро. Впрочем, я гуглу и сам не особо доверяю. Но Go в GCC - не ахти какая угроза, благо GCC - проект FSF, который вполне независим и в гробу видел хоть Майкрософт, хоть Гугл, хоть Редхат, в тех случаях, когда/если те что-то против СПО делают.
     
     
  • 8.61, pavlinux (ok), 18:06, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, да, да и это мы слышали - Дело было так, - охотно начал рассказывать а... текст свёрнут, показать
     
     
  • 9.69, Crazy Alex (??), 23:15, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Обратите внимание - сказочка о событиях двухтысячелетней давности А сейчас инте... текст свёрнут, показать
     
     
  • 10.70, pavlinux (ok), 23:31, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С легкой руки жрецов, и тогда тысячи активно орали на площади за права не винн... текст свёрнут, показать
     
  • 7.64, be_nt_all (ok), 20:50, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Последние два тысячелетия этого не было, с чего бы вдруг?! :)

    Поясню свою сумбурную мысль, а то, кажется, её никто не понял. Если создание Google открытого языка программирования — шаг к «мировому господству», я за, ибо когда «путь тёмного властелина» настолько светел — в мире, где будет такой «тёмный властелин», должно стать определённо больше света. А если нет, так я и тем паче не против, ибо фигли тогда бояться.

    (вот такая у меня почти что «ирландская философия»)

     
  • 3.15, Ytch (?), 00:54, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > И Ада, и Фортран и С++ и ObjC надо отдельно сделать.

    Как минимум половину из этого хоронить пора, а не отдельно делать.

     
     
  • 4.19, be_nt_all (ok), 05:47, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> И Ада, и Фортран и С++ и ObjC надо отдельно сделать.
    > Как минимум половину из этого хоронить пора, а не отдельно делать.

    И что вы предлагаете хоронить?

    Fortran? Так у него есть своя экологическая ниша, он ещё всех переживёт.

    Аду? И чем вам не угодил язык близкий по своим «фичам» к С++, но с повышенной защитой от всяких дырявостей. Судя по тому, что GNU Ada Translator всё ещё пилит одна коммерческая фирма (ага, ADA Core), этот язык тоже, слава богу, жив и востребован.

    Или давайте забросим все «альтернативные» языки и начнём вкладывать кирпичики в единую «вавилонскую башню» C/C++? Таки це дурна idea.

     
     
  • 5.42, Толстый_ (?), 23:30, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Fortran? Так у него есть своя экологическая ниша, он ещё всех переживёт.

    Фортран уничтожить надо как можно скорее. Очень много людей испортило себе мозг фортраном, мне приходится иметь дело с кодом написанным на С программистами Фортрана. Или у нас парень работает кандидат наук по физике, тоже во время учебы мозг себе фортраном испортил. Его код - это абсолютная жесть, индусам далеко, причем он умный парень. Зря минусуете человека, фортран должен умереть. Тот же самый D отлично подходит для numeric programming.

     
     
  • 6.43, be_nt_all (ok), 06:18, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    И что делать с кучей всяческого готового fortran-софта, вроде программ по квантово-химическому моделированию? Хотя… Можно писать кошмарную лапшу на Паскале, можно структурно писать на Фортране.

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

     
  • 2.31, Аноним (-), 11:07, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Они мне вместе с явой бытовую технику напоминают - "мы знаем,
    > что вы идиот, поэтому для вашей безопасности мы ампутировали все сколько-нибудь
    > нетривиальные возможности". Как надо - см. D2

    Ну так в яве это сделано прежде всего для снижения количества багов (при использовании хорошей IDE очень много багов уже статический анализ кода выявляет, так что к концу есть шанс получить очень даже годную программу). Кроме того, урезание возможностей языка облегчает поддержку чужого кода. Вы пробовали поддерживать чужой код, написанный с использованием "нетривиальных возможностей"? Это очень весело.

     
     
  • 3.39, User294 (ok), 18:13, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > так что к концу есть шанс получить очень даже годную программу).

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

     
     
  • 4.44, be_nt_all (ok), 06:24, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Сказки - это хорошо, но почему-то на практике проще найти пингвина в
    > пустыне Сахара чем не монструозную, не тормозную и не глючную программу
    > на яве которая бы просто работала, мля.

    OmegaT. Удобная программа типа «translation memory», пользуюсь порой для перевода всякой документации. Просто работает. На десктопе. На Java.

    jEdit. Лично я предпочитаю таки SciTE, но в jEdit я не вижу ни тормознутости, ни глючности ни тем паче монструозности.

    Да и Eclipse не так страшен, он монстр — потому что это программа про всё сразу, а не потому что он написан на Java.

    зы. Разумеется наличие прослойки в виде JVM не делает выполнение программ легче, но именно поэтому у Java и С# появляются такие конкуренты как D, Go и Vala, которые виртуальной машины не предусматривают.


     
     
  • 5.60, Crazy Alex (??), 16:42, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >> Сказки - это хорошо, но почему-то на практике проще найти пингвина в
    >> пустыне Сахара чем не монструозную, не тормозную и не глючную программу
    >> на яве которая бы просто работала, мля.
    > OmegaT. Удобная программа типа «translation memory», пользуюсь порой для перевода
    > всякой документации. Просто работает. На десктопе. На Java.
    > jEdit. Лично я предпочитаю таки SciTE, но в jEdit я не вижу
    > ни тормознутости, ни глючности ни тем паче монструозности.
    > Да и Eclipse не так страшен, он монстр — потому что это
    > программа про всё сразу, а не потому что он написан на
    > Java.

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

    > зы. Разумеется наличие прослойки в виде JVM не делает выполнение программ легче,
    > но именно поэтому у Java и С# появляются такие конкуренты как
    > D, Go и Vala, которые виртуальной машины не предусматривают.

    D имеет подмножество, расчитанное на не-системное применение (SafeD), которое МОЖЕТ работать в VM. Где-то был даже экспериментальный компилятор D для дотнета.

     
  • 3.53, Crazy Alex (??), 15:57, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Они мне вместе с явой бытовую технику напоминают - "мы знаем,
    >> что вы идиот, поэтому для вашей безопасности мы ампутировали все сколько-нибудь
    >> нетривиальные возможности". Как надо - см. D2
    > Ну так в яве это сделано прежде всего для снижения количества багов
    > (при использовании хорошей IDE очень много багов уже статический анализ кода
    > выявляет, так что к концу есть шанс получить очень даже годную
    > программу). Кроме того, урезание возможностей языка облегчает поддержку чужого кода. Вы
    > пробовали поддерживать чужой код, написанный с использованием "нетривиальных возможностей"?
    > Это очень весело.

    В D (обеих версий) вполне учтён опыт явы в этом плане. Он идеально парсится, в отличие от плюсов, и очень много проверяется статически. Плюс в D2 есть подмножество SafeD (соотвествие которому может проверять компилятор при нужном флаге), которое по надёжности аналогично яве. А вот удобства больше - пишется скорее a-la скриптовый язык, т.к. syntax sugar'а много. В результате код лучше читается, чем ява.

    Урезание возможностей, соотвественно, делается просто - модуль может быть трех типов - system (всё разрешено), safe (SafeD) и trusted (в интерфейсе - SafeD,  в внутри - всё разрешено). Под "нетривиальными возможностями" (для явы нетривиальными) я имею в виду не мутные хаки, а, скажем, удобную работу с ресурсами. В яве для этого, фактически, есть только finally, который удобным вряд ли назовёшь. В D - finally, C++-style (RAII/деструкторы) и объявления scope. Или static if, в котором код в неисполняемой ветви не обязан быть семантически верным (он не компилируется), а только синтаксически. В результате возможно что-нибудь вида

    static if (typeof(var) == function)
       var();
    else
       defaultFunction(var);

    Впрочем, шаблоны там Адександреску проектировал, а это уже о чём-то говорит :-)

     

  • 1.8, pavlinux (ok), 23:33, 24/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Пилять, а отдельно код нельзя что ли отдать FSF
    Сделали бы GNU Go, и cдох бы он так же как fortran77   :)
     
     
  • 2.11, XoRe (ok), 00:10, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > и cдох бы он так же как fortran77

    А директорам потом перед учредителями объясняться за нерациональное использование средств? =)

     
  • 2.48, Reditus (?), 12:45, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Не выйдет - название уже занято :)
    http://www.gnu.org/software/gnugo/
     

  • 1.16, Метеор (?), 01:53, 25/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Странные люди, им нахоляву дают компилятор, а они чет жалуются, я так рад любому развитию инфраструктуры программирования, а новый язык это каккраз развитие. Хотя я и обожаю с++ и врядли когда буду писать на чем-то другом, но иметь альтернативу всегда хорошо.
     
     
  • 2.28, spanasik (ok), 10:57, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Когда Вам предлагают нахаляву что-то домой затащить, Вы тоже всегда соглашаетесь ? Например, старое кресло с помойки или бомжа ?
     

  • 1.17, qpq (ok), 04:29, 25/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    google готовит плацдарм для замены языка в андроиде? )
     
  • 1.21, Аноним (-), 08:42, 25/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Они дают вам инструмент, а вы их хаите....

    Не нужен будет Го народу, так им и не будут пользоваться и он умрет....
    А так может еще допилят оптимизации в АСТ специфичные ГО (и полезные остальным)

     
     
  • 2.22, аноним (?), 09:35, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    они не дают а навязывают новый язык, а это несколько другая вещь..
    Вот D никто никому не навязывают, но о нем многие положительно отзываются. А вот о го практически ничего хорошего не слышно, кроме как кривой синтаксис и непонятно какие преимущества у тех же C/C++/Java/(C#&&Mono) ну и т.д.
     
     
  • 3.23, аноним (?), 09:40, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    * какие преимущества от тех же


     
     
  • 4.24, аноним (?), 09:50, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    * какие преимущества по сравнению с теми же
     
     
  • 5.49, аноним (?), 14:33, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    снекс =)
     
  • 3.26, be_nt_all (ok), 10:52, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну почему все сравнивают Go с D? «Это животные разной породы» (© Маяковский). D — «форк» C++, Go — форк чистого Си для системного программирования. До этого для таких целей в AT&T придумали язык Cyclone, но он «не взлетел». Вот с си-клоном/циклоном Go и надо сравнивать.
     
  • 3.32, be_nt_all (ok), 11:30, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя нет, это всё же не аналог Циклон'а. Так, на первый взгляд Go — это прежде всего язык для написания высоконагруженных веб-сервисов (а что бы ещё от гугла ожидать). Сборка мусора, легковесные процессы (go-процедуры), хеши, которые словари, простенький вывод типов… плюс всякие особенности синтаксиса, заставляющие вспомнить про Python и Lua.

    А что от классов оставили одни интерфейсы — так я сейчас перечитываю «паттерны проектирования» от «банды четырёх» — и, поверьте, это чтиво внушает что «объектная парадигма провалилась» больше, чем все одноимённые нашумевшие речи.

    Вот пара цитат прямо по теме:

    «У манипулирования объектами строго через интерфейс абстрактного класса есть два преимущества:
    — клиенту не нужно иметь информации о конкретных типах объектов, которыми он пользуется, при условии, что все они имеют ожидаемый клиентом интерфейс;
    — клиенту необязательно «знать» о классах, с помощью которых реализованы объекты. Клиенту известно только об абстрактном классе (или классах),  определяющих интерфейс.

    Данные преимущества настолько существенно уменьшают число зависимостей между подсистемами, что можно даже сформулировать принцип объектно-ориентированного проектирования для повторного использования: программируйте в соответствии с интерфейсом, а не с реализацией.»

    «Зависимость от реализации может повлечь за собой проблемы при попытке повторного использования подкласса. Если хотя бы один аспект унаследованной реализации непригоден для новой предметной области, то приходится  переписывать родительский класс или заменять его чем-то более подходящим. Такая  зависимость ограничивает гибкость и возможности повторного использования. С  проблемой можно справиться, если наследовать только абстрактным классам, поскольку в них обычно совсем нет реализации или она минимальна.»

     
     
  • 4.54, Crazy Alex (??), 16:07, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Хотя нет, это всё же не аналог Циклон'а. Так, на первый взгляд
    > Go — это прежде всего язык для написания высоконагруженных веб-сервисов (а
    > что бы ещё от гугла ожидать). Сборка мусора, легковесные процессы (go-процедуры),
    > хеши, которые словари, простенький вывод типов… плюс всякие особенности синтаксиса,
    > заставляющие вспомнить про Python и Lua.

    так здесь ответ давно известен - erlang в помощь.

    > А что от классов оставили одни интерфейсы — так я сейчас перечитываю
    > «паттерны проектирования» от «банды четырёх» — и, поверьте,
    > это чтиво внушает что «объектная парадигма провалилась» больше, чем все одноимённые
    > нашумевшие речи.

    Оно как бы да, но нынешние интерфейсы всё равно слишком мало гооврят о реализации, чтобы на них полагаться. Например, реализация имеет некоторую сложность, на которую обычно можно закладываться. А интерфейс - вот сунут тебе что-то со сложностью O(n^2), и получай тормоза на ровном месте.

     
  • 4.73, Ed Wood (?), 12:17, 01/11/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Хотя нет, это всё же не аналог Циклон'а. Так, на первый взгляд
    > Go ? это прежде всего язык для написания высоконагруженных веб-сервисов (а

    Go -- это аналог скорее не Циклона, а компилируемый вариант Limbo из Inferno. Вот прямо из лимбо тянутся эти CSP (Choare Sequentional Processes), ADT типы и прочее..
    А особая фича Go -- это его реализация ООП.

     

  • 1.25, mapron (ok), 10:47, 25/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пусть дальше надеется... а мы будем надеяться что этого не произойдет.
    Конечно, чем больше компиляторов, тем больше выбора и тем лучше, но тратить силы FSF разработчиков лучше на что-то более продуктивное.
     
     
  • 2.29, be_nt_all (ok), 11:05, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Конечно, чем больше компиляторов, тем больше выбора и тем лучше, но тратить
    > силы FSF разработчиков лучше на что-то более продуктивное.

    FSF разработчики это конечно некое fixnum число людей цель которых — пилить всё, что объявлено кошерным GNU проектом. Ха. Если кто-то пилит GnuGo — то либо потому что ему за это гугль платит, либо just for fun, независимо от того, признан ли FSF данный проект официально. Есть конечно ещё мэйнтейнеры, но уж они появления в составе GNU Compiler Collection ещё одного языка переживут.

    зы. Фанатам D конечно обидно — типа наш фронтэнд не берут, а гугловский… Но во первых 2-я версия D ещё не стабилизирована и для GCC её реализации нету, а 1-я — уже вчерашний день. Во вторых Пайк с Томпсоном, которые стоят за Go — фигуры в мире C/C++ всё же более значимые, чем Брайт с Александреску. Впрочем, когда D 2.0 устоится, Александреску выпустит про него книжку, и кто нибудь напишет фронтенд для _этого_ языка, его включение в официальные вполне можно будет ожидать.

     
     
  • 3.35, bootforce (?), 12:31, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    d ставит на llvm
     
     
  • 4.36, be_nt_all (ok), 12:58, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > d ставит на llvm

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

    А Google ставит на старый-добрый GCC. И если Google будет вкладываться в разработку GCC (в том числе шлифуя фронтэнд по свой бэкенд), проекту GNU от этого _явно_ хуже не станет. О чём шум то?

     
  • 4.40, User294 (ok), 18:17, 25/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > d ставит на llvm

    Вот только загвоздка в том что LLVM пилися Эпплом в одно рыло. А эппл не *ставит*, он *кладет*. На все что не Эппл. Эпплу D тоже не особо сдался судя по всему. Это кажется называется "безвыигрышная лотерея".

     
     
  • 5.59, Crazy Alex (??), 16:34, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> d ставит на llvm
    > Вот только загвоздка в том что LLVM пилися Эпплом в одно рыло.
    > А эппл не *ставит*, он *кладет*. На все что не Эппл.
    > Эпплу D тоже не особо сдался судя по всему. Это кажется
    > называется "безвыигрышная лотерея".

    Брайту ставить ни на что не надо. У него свой компилятор есть. Пока - для x86 и amd64. В планах - arm, как допилит фронтэнд. Впрочем, энтузиасты пилят и GCC-вариант, и LLVM. У GCC-шников, вроде, получается пока лучше. А там видно будет. Судя по всему, на LLVM уже довольно много народу завязалось, так что полностью убить его эпплу уже вряд ли дадут, форкнут. Скорость дальнейшего развития - вопрос другой, конечно - но, думаю, решаемо. Примеры MySQL и OpenOffice уже есть.

    Основная проблема с D - что пилит его Брайт чуть ли не в одиночку (еще пара человек есть), так что дело не особо быстро идёт. Впрочем, до конца года обещали релиз - поглядим...

     
     
  • 6.65, be_nt_all (ok), 21:13, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Основная проблема с D - что пилит его Брайт чуть ли не в одиночку

    Думается, был бы DMD под «кошерной» или «православной» лицензией, народ бы подтянулся. А раз он выбрал открытый код с фактически проприетарной лицензией — ему в одиночку пилить удобней, и в свою «кухню» он чужих пускать не хочет. Это его выбор.


     
     
  • 7.67, Crazy Alex (??), 22:46, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Основная проблема с D - что пилит его Брайт чуть ли не в одиночку
    > Думается, был бы DMD под «кошерной» или «православной» лицензией,
    > народ бы подтянулся. А раз он выбрал открытый код с фактически
    > проприетарной лицензией — ему в одиночку пилить удобней, и в свою
    > «кухню» он чужих пускать не хочет. Это его выбор.

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

     
  • 4.58, Crazy Alex (??), 16:28, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > d ставит на llvm

    Откуда сведения?
    У D есть референсный компилятор от Брайта (для обеих версий, для D2 актуален 2.049). LLVM-бакэнд, как b GCC - сторонние разработки.
    в LLVM-варианте поддержка D2  в зачаточной стадии ("D2 support is highly experimental (read: unusable) "), в GCC-варианте используется фронтэнд 2.029. В общем, в LLVM самая худшая на данный момент поддержка.

     
  • 3.55, Crazy Alex (??), 16:19, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > зы. Фанатам D конечно обидно — типа наш фронтэнд не берут, а
    > гугловский… Но во первых 2-я версия D ещё не стабилизирована и
    > для GCC её реализации нету, а 1-я — уже вчерашний день.
    > Во вторых Пайк с Томпсоном, которые стоят за Go — фигуры
    > в мире C/C++ всё же более значимые, чем Брайт с Александреску.
    > Впрочем, когда D 2.0 устоится, Александреску выпустит про него книжку, и
    > кто нибудь напишет фронтенд для _этого_ языка, его включение в официальные
    > вполне можно будет ожидать.

    Не обидно. Как раз потому, что 2-я версия еще не вышла, хоть и на подходе. Книжка вышла в апреле. http://www.amazon.com/D-Programming-Language-Andrei-Alexandrescu/dp/032163536 (гляньте, кстати, на количество звёздочек). Для желающих - торренты в помощь, она почти везде есть. Но молчать, пока не выйдет релиз - значит давать тому же Go лишнюю фору, а как язык он мне гораздо меньше нравится.

    Насчёт значимости - вы поймёте, что неправы, когда начнёте отделять мир C от мира C++/ Во втором Александреску уважаем наравне со Страуструпом, так как фактически дал плюсам вторую жизнь. Брайт - ненамного меньше, так как умудрился в одиночку реализовать C++-компилятор, причём долгое время этот компилятор был в числе лучших. Добавьте, что D поддерживает еще Мейерс. Пайк же с Томпсоном культовые фигуры в основном в C-мире.

    В общем - у Go есть гугл, вот нехай сам его и пиарит. А у D гугла за спиной нет, так что стоит о нём напоминать и объяснять, в чём его плюсы.

     
     
  • 4.63, be_nt_all (ok), 20:23, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    ух ты пошёл искать А здесь что новости не было, или я просто пропустил Go нуж... большой текст свёрнут, показать
     
     
  • 5.68, Crazy Alex (??), 23:13, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не было, наверное Я тогда за прогрессом D очень редко послеживал, так что не зн... большой текст свёрнут, показать
     
     
  • 6.71, be_nt_all (ok), 14:10, 27/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну, я просто пользуюсь любыми подобными темами чтобы упомянуть D и какие-нибудь его фишки.

    Чисто практический вопрос, GUI на D2 — это QtD или возможны варианты?

     
     
  • 7.72, Crazy Alex (??), 05:31, 28/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Не в курсе - я с написанием GUI вообще пересекаюсь мало, а больше по сетевым сервисам. Но сейчас глянул - вроде больше ничего пока. В принципе, большинство всё же ждёт релиза.
     
  • 7.75, Ed Wood (?), 12:27, 01/11/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Чисто практический вопрос, GUI на D2 ? это QtD или возможны варианты?

    GUI на сегодняшний момент, это в основном D1. Под D1 есть QtD, GtkD, wxD, DFL под Windows и вагон минималистичных, но заброшенных тулкитов.
    QtD под D2 может соберётся, а может и нет -- пробовать надо. По самой библиотеке там зависимостей от Tango/Phobos (D1/D2) минимум. Пробовать надо и собирать. Но офицальная конфигурация, ЕМНИП -- LDC+D1+QtD.

     
     
  • 8.76, Crazy Alex (??), 18:14, 03/11/2010 [^] [^^] [^^^] [ответить]  
  • +/
    У него в требованиях нынче D2 заявлен... текст свёрнут, показать
     

  • 1.27, Аноним (-), 10:56, 25/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Понравился пример "Fibonacci Closure" на оф. сайте. Там есть строка:
    println(f(), f(), f(), f(), f())
    Спасибо, посмеялся.
     
  • 1.30, xcode (?), 11:07, 25/10/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Вот хорошо бы, чтобы поддержку ObjC и Go вставили в Code::Blocks. А то D есть, а этих языков нету.
     
     
  • 2.56, Crazy Alex (??), 16:21, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот хорошо бы, чтобы поддержку ObjC и Go вставили в Code::Blocks. А
    > то D есть, а этих языков нету.

    Лучше не надо. Над ним не так много народу пашет, а багов там и так хватает обычно. Кроме того, не уверен, как со сложностью разбора этих языков. D-то специально проектировался для простого разбора, так что его поддержать просто.

     
  • 2.57, Crazy Alex (??), 16:22, 26/10/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Впрочем, можете считать, что D там тоже нет - там первый диалект, насколько я помню, а он не особо интересен.
     
     
  • 3.74, Ed Wood (?), 12:24, 01/11/2010 [^] [^^] [^^^] [ответить]  
  • +/
    > Впрочем, можете считать, что D там тоже нет - там первый диалект,
    > насколько я помню, а он не особо интересен.

    кому как. На сегодняшний момент под D2 есть только танго с тангобосом и его особый Phobos2 с поддержкой ranges и контейнеров. Реально написанного на D2 софта мало.
    Реальный софт, существующий сейчас на D -- как раз пишется на D1. И вот для D1 из реализаций компиляторов LDC вполне неплох. Так что можно считать LDC, D1+tango+ld binutils линкер -- самая production конфигурация. DMD более "канонiчный", но D1+tango+OPTLINKER toolchain имеет проблемы в линкере, см. рассылку и посты h3r3tic.
    Из D2 конфигураций реально можно пользоваться DMD: D2+phobos2, и в некотором роде GDC: D2+phobos2.
    Tango пилят на предмет совместимости с D2, см. tangobos. Но очень вяло пилят, с точки зрения D2.

    Так что реально используемая сейчас конфигурация, это D1 в виде LDC+D1+tango или DMD+D1+tango и кучи софта, библиотек.
    Или, D2 в виде DMD+D2+phobos2, но там библиотек и софта практически нет. Только напоиграться.

     

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



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

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