LINUX.ORG.RU

Язык программирования Go. Стоит ли?

 


0

3

Собираюсь взяться за этот ЯП. Есть что о нём сказать плохого? Пробежал глазами по гайду - вроде, ничё так, симпатичненько. Радует, что он компилируемый. Это гарантирует приемлемую скорость выполнения. Метайте критические стрелы.



Последнее исправление: maxcom (всего исправлений: 5)

Если ты так фанатично настроен на веру в этот язык, то нафейхуа спрашиваешь мнение форума?

le_legioner ★★
()
Ответ на: комментарий от bOshist

Т.е source mage и lunar linux для тебя недостаточно серьёзные дистрибутивы?

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

Огромные бинарники. Нет, в самом деле ОГРОМНЫЕ бинарники.

Видимо статически собирает. У цацкеля пока по умолчанию так же (можно и динамически, только мало ли что тянет, да если еще из установленных cabal-ом, сиди потом обновляй).

anonymous
()
Ответ на: комментарий от le_legioner

Он почему-то подумал, что лор ВДРУГ ответит что-нибудь конструктивное.

quantum-troll ★★★★★
()
Ответ на: комментарий от Cancellor

Вот для кого Патрег - бог, пускай и пишут тчк

bOshist
() автор топика
Ответ на: комментарий от bOshist

к тому времени как ты его выучишь назубок - его постигнет участь СИ ( в твоей версии развития событий)

q11q11 ★★★★★
()

Не конструктивно - НО адекватно

Буду краток:

C/C++ - если любишь писать программы.

Python(Django,etc)/Ruby(ruby on rails) - если хочется творить сайты, создавать интернет сервисы.

Лично я, успел попробовать все из этого. И выбрал для себя c/c++ из-за скорости и функциональности.

muteki_okami
()
Ответ на: комментарий от bOshist

Ну. Это серьёзный язык.

это на сайте проекта написано?

и по обратной логике (по-твоему) питон это... ну так, фуфлыжечка побаловаться на 5 минут

q11q11 ★★★★★
()
Ответ на: комментарий от bOshist

За этим языком будущее. Я верю, что он, со временем, вытеснит СИ.

Си уже раз дцать вытесняли, а воз и ныне там.

Когда все спохватятся и станут лихорадочно перелезать на него, я уже буду знать его назубок.

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

belous_k_a
()
Ответ на: комментарий от quantum-troll

Параметрический полиморфизм

Нигде больше такого нет?

CSP-конкурентность, defer и другие мелочи.

которые решаются библиотеками, ага.

belous_k_a
()
Ответ на: комментарий от bOshist

Поклёп.

по ссылке есть код - запускай и проверяй

vaino
()
Ответ на: комментарий от belous_k_a

Нигде больше такого нет?

В хаскеле есть. Проограммируй на хаскеле.

CSP-конкурентность, defer

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

quantum-troll ★★★★★
()
Ответ на: комментарий от quantum-troll

В хаскеле есть.

И только?

второе же — чистая фича языка, читай мануал.

Это называется синтаксический сахар, по сути для этого даже библиотеки ненужны, в принципе как и сама «фича»

belous_k_a
()
Ответ на: комментарий от belous_k_a

Никакой это не сахар.

в принципе как и сама «фича»

Можно увидеть код без данной фичи реализующий нечто подобное на любом языке?

// Pseudocode

foo = getSomeResource()

foo.bar() // Fatal error can be here. 

if foo.baz() {
    freeSomeResource(foo) 
    return
}

// Тут еще пару блоков похожих на baz.

freeSomeResource(foo) 

urxvt ★★★★★
()
Ответ на: комментарий от bOshist

В общем, я бросил его изучать) Даже стандартную либу не до конца осилил. Так и не понял, зачем он мне нужен.

А go тебе зачем нужен?
Знаешь, ты мне напоминаешь тех пионеров рубистов, которые истерили на хабре лет несколько назад. Обещали и смерть питона и конкурента пыхпыха и прочие прелести для будущего авангарда комсомола. Выросли.

malices_gossips ★★★
()
Ответ на: комментарий от urxvt

Можно увидеть код без данной фичи реализующий нечто подобное на любом языке?

defer вообщето откладывает все вызовы до выхода из метода (судя по доке), а ваш псевдокод откладывает мысль о том дислексия на ЯП — реальность.

По сути

List funcs;
try{
  funcs.add([func1, "arg1"])
  funcs.add([func1, "arg2"])
  ...//throw errors
  return;
} finally {
  foreach(func in funcs) {
    call(func);// exec func1 with arg1 and arg2
  }
}

практически на любом языке поддерживающем finally-like конструкции.

belous_k_a
()
Ответ на: комментарий от bOshist

В нем синтаксис такой же простой, как в Basic'е. Можно сказать, что это детский язык программирования.

Это вы про LISP?

O02eg ★★★★★
()
Ответ на: комментарий от vaino

его даже PHP рвет

Только в pidigits и regex-dna.

А в целом, раз в 5 быстрее, чем PHP выходит.

KRoN73 ★★★★★
()
Ответ на: комментарий от belous_k_a

Нигде больше такого нет?

Есть ещё в SML, OCaml, Scala. В Java, C# (generics) и С++ (templates) - в несколько преломлённой форме.

которые решаются библиотеками, ага.

Например какими?

quasimoto ★★★★
()
Ответ на: комментарий от urxvt

Обычный импорт там делается так: import «foo»

То есть «foo» это путь к файлу в котором определён модуль и поэтому нужны кавычки?

quasimoto ★★★★
()
Ответ на: комментарий от bOshist

Фапаем на сложность?

инкремент

В нем синтаксис такой же простой, как в Basic'е. Можно сказать, что это детский язык программирования.

1) когда это простота синтаксиса (не возможностей, а синтаксиса) было отриц. качеством для ЯП?
2)Питон тем и хорош. что легок в усвоении , но с широкими возможностями (это я про бейсик)
3)Все же не стоит забывать что питон больше скриптовой язык, чем прикладной, и он очень даже хорош для случаев, когда время резко ограничено

comp00 ★★★★
()
Ответ на: комментарий от quasimoto

Есть ещё в SML, OCaml, Scala. В Java, C# (generics) и С++ (templates) - в несколько преломлённой форме.

То только в хаскелле то везде где есть шаблонные методы, вы уже както определитесь 8)

Например какими?

А гугльнуть? http://www.cs.kent.ac.uk/projects/ofa/jcsp/ и http://en.wikipedia.org/wiki/JCSP

belous_k_a
()
Ответ на: комментарий от bOshist

Это зомбие живее некоторых только народившихся языков.

belous_k_a
()
Ответ на: комментарий от quasimoto

То есть «foo» это путь к файлу в котором определён модуль и поэтому нужны кавычки?

foo это имя модуля (модуль может состоять из нескольких файлов.

urxvt ★★★★★
()
Ответ на: комментарий от belous_k_a

То только в хаскелле то везде где есть шаблонные методы, вы уже както определитесь 8)

Никто ITT не говорил про «только в хаскеле», изначально это тоже ML-фича (можно гульнуть сюда - http://en.wikipedia.org/wiki/Parametric_polymorphism).

JCSP

Это, видимо, за счёт возможностей JVM? В GHC и Erlang, например, лёгкая конкурентность реализуется именно на уровне RTS.

quasimoto ★★★★
()
Ответ на: комментарий от urxvt

foo это имя модуля (модуль может состоять из нескольких файлов.
(модуль может состоять из нескольких файлов.

Г-споди...

jessey
()

Это гарантирует приемлемую скорость выполнения

Это CS, здесь никто ничего не гарантирует.

Если вы такой фанбой, я буду только рад, если вы портируете Go под оффтопик.

buddhist ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.