LINUX.ORG.RU

Google Go продолжает привлекать сторонников


0

0

Напомним: объектно ориентированный Go сочетает скорость разработки динамических языков наподобие Python с безопасностью компилирующих языков вроде Си и C++. При этом Go располагает неявной типизацией и реальными замыканиями (true closures), а возможности многопоточного программирования и параллелизма позволяют эффективно нагружать современные многоядерные процессоры. Есть мнение, что Go прекрасно подходит для системного программирования веб-серверов, систем хранения и баз данных. Внешне исходный код Go-приложений напоминает синтаксис С++ и Python.

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

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

http://citforum.ru/news/23332/

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

repeat ten times
     ...
     wait two seconds
     ...
end repeat

вот это я понимаю - язык (:

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

Ну это зря. В таком языке многое просто не нужно. Данный код легче сократить во что-то такое:

for 10:
 wait 2
Т.е. отступ играет роль как в пайтоне. По сему так получилось компактно. Пайтон наиболее близок к «идеалу»:
for i in range(10):
 thread.sleep(2)

И да, грац меня с звездой ^^'

tia ()

Go является надеждой на светлое будущее.
Однако меня пугает тот факт, что гугл его делает прежде всего для себя, по сему некоторые фичи(к примеру, исключения) не делаются не по соображениям «в языках это не нужно», а по соображениям «нам это не нужно». А так да, рассматриваю как язык для закапывания D.

например, сервер почтовых списков рассылки

Ужас. Имплементировать на новом языке то что уже не нужно...
Вообще меня пугают мейл-листы, а точнее как их людят сейчас. Вот некоторые делают форумы с openid и всё гуд.

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

Интересно как там сделана параллельность. Но и отсутствие русскоязычной литературы и вообще книг - минус. Пока слабо представляю как его учить.

wyldrodney ()
Ответ на: комментарий от tia
for 10: 
 wait 2

Первые 4 определения для for из словаря:

From Base dictionary [mueller24]:

for

  [fO:] (полная форма); [fэ] (редуцированная форма)

    1. _prep.

      1) для, ради; передаётся тж. дательным падежом; for my sake ради
      меня; it is very good for you вам очень полезно; for children для
      детей; for sale для продажи

      2) за; we are for peace мы за мир

      3) ради, за (о цели); just for fun ради шутки; to send for a doctor
      послать за врачом

      4) против, от; medicine for a cough лекарство от кашля
Надо не for, а repeat.

Пайтон наиболее близок к «идеалу»:

Шлак, многабукаф. Итератор и диапазон значений для тупого повторения не нужно, это лишняя энтропия.

(loop repeat 10 do (sleep 2))

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

>(loop repeat 10 do (sleep 2))
Да, это тоже не плохо. Но при использовании чего-то большего оно слишком в другую сторону «идёт». В прочем, это уже спор на счёт лиспа.
С другой стороны и for не плохо.

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

В руби это было бы:

10.times do
  sleep 2
end
или
10.times { some; sleep 2 }

f3ex ★★ ()

Есть мнение, что Go прекрасно подходит для системного программирования веб-серверов, систем хранения и баз данных


А каку него с GUIмордами?

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

Но и отсутствие русскоязычной литературы и вообще книг - минус



Гыыыыы. Даже по Java актуальных книг переведенных на русский нет, а уж по Groovy, Clojure, Go, Fan, Factor даже не мечтай

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

> Но и отсутствие русскоязычной литературы и вообще книг - минус. Пока слабо представляю как его учить.

Не осилил английский?

drull ★☆☆☆ ()
Ответ на: комментарий от tia

Ну ты понимаешь, да?

Ты ещё пробелы посчитай... Я понимаю, что i и range для безусловного выполнения тупого цикла N раз семантически совершенно не имеют смысла. Питоноводы так делают? Ну, пусть делают. Это «близко к идеалу»? Даже близко нет.

mv ★★★★★ ()

Кстате, недавно в Development в каком-то сраче спрашивали, «а что на этих ваших Clojurах написано большого и тяжелого?» Вот, наткнулся rsdn.ru/forum/decl/3709585.1.aspx

Karapuz ★★★★★ ()

>с безопасностью компилирующих языков вроде Си и C++

В каком месте тут смеяться? :)

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

>Не осилил английский?

Люитель тратить время впустую? Или ты у нас одинаково быстро и полно воспринимаешь техническую литературу на обоих языках?

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

Я ещё скобки посчитаю кекеке.

Даже близко нет.

Безусловно не близко. Но здесь есть и разумность. Отсутствие большого количества сущностей. Зачем запоминать 20 версий циклов если можно и одним обойтись? Это легче, удобнее. Антиподом как-раз является один диалект лиспа(не буду врать, ибо не помню названий диалектов), в котором для объявления функций был не хилый список макросов(10 штук точно было).

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

Кстати да, вот руби очень даже ничего в данном случае. Но оно не красиво.

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

>Люитель тратить время впустую? Или ты у нас одинаково быстро и полно воспринимаешь техническую литературу на обоих языках?

Муахаха, школьник оправдывает свою тупость.

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

Это высер а не язык. У гугля все решения сделаны тяпляп и небрежно. Надеюсь это говно не наберет популярности.

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

Ты изучил английский так что воспринимаешь информацию на нём как на русском? Что могу сказать, ты уберчеловек. Способен прочитать английский текст беглым взглядом и не читая букв в середине слов(это один из хороших методов проверки, кстати)? Ты просто нереально крут. А мы то тут так... обычные людишки.

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

Советую глянуть таки на решения гугла, а то вот так, говоря о том чего не видел, можно попасть в не лучшую ситуацию.

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

10.times { some; sleep 2 }

Тогда уже так: ⟦ 2 ☕ ⟧ 10 ⊗

...

Гы, реально работающий код :)

С вот такой обвязкой:

"⟦" alias [[
"⟧" alias ]]
"☕" alias sleep
: ⊗  (( word times -- ))  times 0 ?DO word EXECUTE LOOP ;

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

Но здесь есть и разумность. Отсутствие большого количества сущностей.

Много взаимно дублирующихся сущностей - это плохо, ты тут прав. Но неправ в том, где (Python vs Lisp) этих сущностей меньше.

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

Да, но я и не говорил что в пайтоне это хорошо. Пайтон безусловно где-то примитивен. Как минимум в отсутствии некоторых операторов(repeat может быть можно отнести к ним) и работе с памятью(но это чисто так, наболевшее).

tia ()

зачем столько языков постоянно придумывают? всё равно же они ничего не меняют, методология остается старая. надо новые методы выражения замысла разрабатывать, а не языки.

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

воспринимаешь техническую литературу на обоих языках?


Знаешь. На наш язык техническую литературу переводят студни промтом за зачем автоматом и гонорар от издательства преподу и читать «ЭТО» потом просто не получается

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

Дык, Форт :)

...

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

Лисперы ответят на такую запись практическим примером? :)

Вот работающий пример на Форте (с самим JBForth): http://balancer.endofinternet.net/files/programming/jbforth/jbf-test.tar.gz

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

>Ты изучил английский так что воспринимаешь информацию на нём как на русском? Что могу сказать, ты уберчеловек. Способен прочитать английский текст беглым взглядом и не читая букв в середине слов(это один из хороших методов проверки, кстати)? Ты просто нереально крут. А мы то тут так... обычные людишки.

Прикинь, да. Это вырабатывается через какое то время, пока читаешь. И чем больше читаешь, тем лучше. Тексты не художественные, так то это достаточно просто. А когда не читаешь совсем, уровень то тем же и остается. А ты и выдропень просто ничего не читаете, но зато ноете, как вам все плохо. А вывод то один - школота.

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

>Глупый ты.

Для тебя тоже английский - это «время впустую» как для выдропня? Школоло!

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

Он просто самотверждается, не обращай внимания)

В доказательство его гигантского интеллекта мы можем наблюдать множетсво интеллектуальных высеров.

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

> Муахаха, школьник оправдывает свою тупость.

Это не школьник, это студентота. Если не отчислили еще.

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

> Ты изучил английский так что воспринимаешь информацию на нём как на русском? Что могу сказать, ты уберчеловек.

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

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

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

Честно говоря, я думал, это необходимое свойство программиста.

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

>Честно говоря, я думал, это необходимое свойство программиста.

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

Я читаю документацию, с этим проблем никогда не было. Но на русском это проще.

Есть тут идиоты, считающие что ради новых языков программист должен изощряться, и использовать малополезный язык максимально часто, в ущерб реальной жизни(работа работой, мне нет до неё дела во время отдыха)?

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

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

Самое смешное, что я именно так и читаю. Я прекрасно и на уровне целых токенов знаю английские слова. Более того, я в широком ряде случаев не перевожу в голове на русский, прямо понимая оригинальный текст. И внутренний диалог могу на английском вести...

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

Так что мне чаще тоже плохой перевод проще понять, чем оригинал :)

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

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

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

Нет, был у меня один одноклассник, который в программе на паскакале завёл переменные типа количество_вагонов_стоящих_на_запасных_путях, но это же полное извращение.

малополезный язык

Как теперь говорят, facepalm.png.

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

И значение слов знаю не всех

Значение - или перевод на русский?

Я не всегда в процессе чтения документации могу ответить на вопрос «как это слово переводится».

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

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

...в процессе программирования.

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

малополезный язык

Как теперь говорят, facepalm.png.

Тут сказать нечего? )

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

>Значение - или перевод на русский?

Иногда так, иногда эдак. Бывает, что чувствуешь, что слово обозначает, а перевести не можешь. Но нечасто :)

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

Вот чисто один в один также как и у меня. Но нормальный текст, литературный, бегло не прочитать. А вот «такой» текст бегло тоже «на английском» и воспринимаю без как такового перевода. Самое смешное что иногда, когда встречаю изощрённое новое слово, приходится сильнее изучать другие слова, а точнее их значения, хотя вроде как их и так понимаю.

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

Да, именно так.

А в школе/институте английский изучал или другой?

А то я немецкий... ;) Английский уже сам стал ковырять со словарём, когда в начале 1990-х в непереводные RPG-шки играть приходилось.

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

В школе английски вообще толком не преподавали. Каждый год с нуля да галопом по Европам. Сейчас вот в универе преподают, но тоже не айс. Доклад, перевод, обсуждение на английском и хватит.
В общем то можно сказать что в основном изучал сам, по жизни, игрушкам, литераторе, интернету etc etc etc.

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

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

Лисперы ответят на такую запись практическим примером? :)

Как-то так...

(defmacro ☕ (n)
  `(sleep ,n))

(defmacro ⊗ (n &body body)
  `(loop repeat ,n do
	(progn
	  ,@body)))

(set-macro-character #\⟦
 #'(lambda (stream char)
     (declare (ignore char))
     (read-delimited-list #\⟧ stream t)))

(⊗ 10 ⟦ ☕ 2 ⟧)
mv ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.