Нужен, как замена(попытка) сей, в какой-то мере(в какой =) ).
Питона в плане лёгкости написания кода. Кроме того, есть относительно жесткие правила форматирования (вроде обязательных скобок у if-ов и расстановки точек с запятой), что тоже чем-то напоминает питон.
Нужен, как замена(попытка) сей, в какой-то мере(в какой =) ).
Скорее как замена в том сегменте, где ручное управление памятью и ассемблероподобность си уже не нужны, а вот компилируемость, скорость работы и статическая типизация ещё нужны. Кстати, это довольно широкая сфера применения. Чем-то похож на паскаль в этом плане.
Просто я сейчас немного заинтересовался сетевым программированием. Нужно что-то типа C++ но со сборщиком. Тут напоролся на Go, но что-то отзывы о нем не очень, как ситуация сейчас - тоже не ясно. Кто это использует, надо ли вообще, что хорошего или плохого.
Скорее как замена в том сегменте, где ручное управление памятью и ассемблероподобность си уже не нужны, а вот компилируемость, скорость работы и статическая типизация ещё нужны. Кстати, это довольно широкая сфера применения.
Слышали мы подобные рекламки от D. Здесь тоже очередная версия Go будет не совместима с предыдущей и стабилизироваться шесть лет?
Go жрёт намного меньше памяти, а это может быть важно, особенно если софт пишется не для толстых серверов крупных корпораций, а для десктопов или чего-то некрупного. Да и он менее монструозен, чем джава.
Да, для меня JVM - страшная штука. Если не будет аналогов, наверное поковыряю C и C++. На что-то серьезное меня не хватит конечно, ради интереса разве.
Но пока что непонятен его статус. Вроде кто-то использует, но пока что не мейнстрим. Не ясно что там будет с совместимостью. В общем, язык пока что скорее экспериментальный, а не ынтырпрайзный.
Слышали мы подобные рекламки от D. Здесь тоже очередная версия Go будет не совместима с предыдущей и стабилизироваться шесть лет?
После выхода Go 1 со стабильностью стало всё более-менее нормально. Некоторые вещи в языке выглядят не очень выразительно, но, судя по всему, для задач, которые ставились, он уже готов. И больше его ломать не хотят, так как планов «захватить мир программирования во всех сферах» не ставится.
Проектировали язык, кстати, довольно солидные люди, вроде Роба Пайка и Кена Томпсона, так что никаких критических просчётов всё же не ожидается. Это вам не питон, где сначала наделали нелогичных print expression, а потом, к третьей версии, решили всё поломать для восстановления красоты.
Но пока что непонятен его статус. Вроде кто-то использует, но пока что не мейнстрим. Не ясно что там будет с совместимостью. В общем, язык пока что скорее экспериментальный, а не ынтырпрайзный.
Язык очень молодой, стабильная версия вышла недавно. До этого, естественно, рассчитывать на него не стоило вообще. Сейчас всё выглядит приличнее. За языком стоит гугль, который, несмотря на все его недостатки, всё же солиден, и помереть так просто не даст. Как минимум гугловцы говорили, что у них там на go написан «real stuff».
Естественно, закладывать какой-то сверхтолстый ынтерпрайзный проект на него не стоит, если ты, конечно, не являешься гуглом с его ресурсами. Но для чего-то среднего, имхо, вполне подойдёт. Хотя, конечно, надо учитывать, что язык новый, малоизвестный, и толпу кодеров со знаниями его найти будет непросто.
Да, гугл - солидная штука и все такое, но они вон и ЯП Dart пиарили - помер, Google Wave - помер, Google Plus - одной ногой в могиле...Не получилось бы с Go такой же фигни.
Да, гугл - солидная штука и все такое, но они вон и ЯП Dart пиарили - помер,
Дарт не помер. Он просто не нужен изначально, так как нельзя выдумывать новый язык для браузеров, не заручившись поддержкой производителей браузеров. В результате мы имеем приличный язык, который либо работает в приличной VM, но только в хроме, либо транслируется в неприличный и большой js, но везде. Этот фейл, имхо, видно изначально при создании языка. Go от этого свободен, так как для него вопросы браузеров не важны. Кроссплатформенность у языка вполне нормальная.
Google Wave - помер
Это да, тут ничего не скажу.
Google Plus - одной ногой в могиле
Очень вряд ли. Свою пользовательскую базу они набрали, людей там достаточно. Естественно, это не фейсбук, но побить фейсбук на его поле нереально. Просто потому, что никто не пойдёт в другую соцсеть, если туда не перейдут все друзья. А все друзья не перейдут, потому что их друзья... и так далее. То, что гугл+ ещё жив, как раз доказывает, что проект хоть чего-то смог добиться. Закрывать его из-за того, что он не стал круче фейсбука, может только не понимающий вышеперечисленного псих:)
Конечно огромного размера, он по дефолту все-все статически линкует.
Более того, он не только по дефолту так линкует, он вообще только так и умеет:) Динамический линкинг пока не родился, и даже не планируется. Не является целью языка, увы, хотя разговоры об этом идут.
Может, через какое-то время, и сделают, но точно не скоро, тем более у авторов что-то есть на тему ненужности данной штуки. Спорный момент, конечно.
Вроде можно, но конкретно исполняемые бинарники выходят относительно толстыми. А вот библиотеки довольно компактны.
Для тех, кто очень хочет, есть gccgo, у которого выходят мелкие бинарники, но у него есть некоторые свои особенности, которые, впрочем, не проявляются на основной массе программ. Но, наверное, наткнуться можно. И shared libraries он делать может. А вот динамической подгрузки кода, похоже, нет.
Нормально как по мне, боюсь что := - такая нотация оператора далеко не самая большая проблема этого инструмента. Темболее, что это вывод типа, как указал cx
А чем С++ совместно с shared_ptr/weak_ptr не торт?
У С++ много других проблем, и главная (для меня) — нечитаемость. С++ впитал в себя слишком много парадигм, пытаясь их уместить в узкие рамки Си-подобного синтаксиса. Я ничего не говорю плохого про Си, наоборот, но кесарю кесарево — синтаксис Си идеален для «explicit» стиля, когда ООП или управление памятью не прячется за какими-то доп. костылями.
А С++ попытался «упростить» вещи, и в итоге мы получили нечитаемый ужас вроде:
(Посчитайте сколько тут синтаксических конструкций поверх чистого Си.)
Go пытается быть правильным языком «среднего уровня», занять нишу C++. Успехов ему, конечно, но, кажется, он опоздал. Сейчас скорее идет дальнейшее разделение на низкий и высокий уровень, место «среднему» не остается. На низком уровне как был Си так и остался, а высокий за языками вроде Ruby, Python (к сожалению), JS.
Хотя, одну нишу для Go я всё еще вижу — это native игры. Хотя есть подозрения, что даже в играх никто с С++ уходить не будет. Но я рад ошибиться. :)
А GC в Go можно вообще отключить, насколько я знаю.
К сожалению, нет — нельзя.
Хотел было уже написать «тогда закапывайте»... но есть ли шансы на исправление GC?.. Если нет, тогда дверь игр для Go закрыта, и я даже не знаю, куда бы его можно было впихнуть...