LINUX.ORG.RU

Учебник «Learning Go»

 , , ,


0

2

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

Он подойдёт для тех, кому мало официального Go Tutorial, но при этом лень читать спецификацию языка.

Книга свёрстана на LaTeX и распространяется под CC BY-NC-SA 3.0. Автор (Miek Gieben) периодически дополняет и редактирует книгу.

>>> Список ночных PDF-сборок книги

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

>> tailgunner

cat-v вызывает у него острые приступы ДИСКОМФОРТА

Нене, меня очень радуют ссылки на cat-v, по уже озвученной мной причине.

tailgunner ★★★★★ ()
Ответ на: о Модульности. от qulinxao

пространства имен позволяют связывать только сущности одного уровня иерархии(в ООП или не в ООП - вопрос другой). кстати, каждый класс является пространством имен(Все дружно: «спасибо, КЭП!»). А сущности на разных уровнях иерархии пространством имен не свяжешь. Тут нужно либо наследование либо особо хитрый костыль(затрудняюсь сказать, какой именно), при котором это окажется нинужным. Ну или, как я уже говорил, помнить наизусть 10000+ функций, а что - тоже метод...

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

Ну при чем тут ынтырпрайз? Почти во всех задачах возникают разлапистые структуры данных.

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

Ну посмотри, например, на систему модулей в Standard ML и в Ada. Поймешь, что ООП нинужно.

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

В относительно большом проекте без такой удобной штуки как ООП очень напряжно.

ООП и слабая связанность модулей — вещи ортогональные.

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

Не хотят они монстра. Для настоящего программиста, излишняя сложность — хуже, чем бессмысленная жестокость. (имеется в виду сложность результата, а не трудности разработки)

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

> Ну посмотри, например, на систему модулей в Standard ML и в Ada. Поймешь, что ООП нинужно.

Тем не менее, есть Ocaml и Ada95.

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

Но в то же время есть Haskell (конечно, есть ещё и O'Haskell, но он никому не нужен).

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

Очень «веский» аргумент. Наверное потому, что у тебя в голове вообще ничего нет.

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

то, что уже давно успешно используется программистами уже почти 20 лет, перечислять нет смысла....

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

> Я осилил. Но так и не вижу, на кой хрен эта дурная цацка нужна. Может хоть ты расскажешь, раз такой вумный?

Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of OOP.

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

> Но в то же время есть Haskell (конечно, есть ещё и O'Haskell, но он никому не нужен).

Можно подумать, Haskell кому-то нужен.

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

> Ты уж извини, но Brainfuck - это эзотерика и for fun.

Можно подумать, LISP, Haskell и Smalltalk не эзотерика и не for fun.

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

щаз набегут знатоки LISP и утроллят тебя энтерпрайзными решениями на нем :-)

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

> щаз набегут знатоки LISP и утроллят тебя энтерпрайзными решениями на нем :-)

Я уже заранее знаю, чем они будут «троллить».

Самый модный козырь сейчас — решение от ITA Software, которое Google ещё не успел переписать на нормальном языке. Алсо кучка шлимазлов, которые в своё время неосмотрительно вляпались в LISP, а теперь плотно сидят на legacy-игле ушлых гешефтмахеров — конторки под названием Franz Inc.

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

Как ни странно, но хаскель таки действительно кому-то нужен.

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

Доооо, расчёт факториалов и чисел Фибоначчи — офигенно важные для человечества задачи, ага.

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

Hedgewars, XMonad и некоторое другое тоже не стоит забывать, пожалуй.

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

Вообще, зависит от того, как понимать это «нужен».

Хиповые шмотки, айфоны, молескины, романы Бегбедера и Коэльо — нужны ли они? Их охотно покупают; стало быть, они кому-то нужны. Но популярность у леммингов не делает всё вышеперечисленное хоть сколько-нибудь полезным.

Так и с Хаскелем.

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

Hedgewars и XMonad — это не «благодаря», а «вопреки».

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

Вопреки? Т.е, их разработчики проявили НЕСГИБАЕМОСТЬ И ПРЕОДОЛЕНИЕ и отреклись от б-гомерзкого Си++ во имя великого Хаскеля?
Разработчики просто были знакомы с ЯП и взяли то, что им было удобно. Но в отличии от них, подавляющее большинство программистов плохо знакомо с языками вне рамок це-цепэпэ-ява-пыхпых-руби-пёрл-etc. А если нет разработчиков, нет и ПО.

quantum-troll ★★★★★ ()

Пробовал вчера пересобрать книгу в формате a5letter, но оказалось, что в моей OpenSuSE чего-то там не хватает. pdf собирается, но какой-то корявый, без библиографии и содержания. xelatex ругается на что-то дважды во время сборки, но я не могу понять, что ему не нравится. Вроде все необходимые пакеты установил...

Кто разбирается в tex, помогите собрать эту книжку. Хочется ее почитать на читалке 6', но там a4 хреновато отображается.

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

Я уже заранее знаю, чем они будут «троллить».

Самый модный козырь сейчас — решение от ITA Software, которое Google ещё не успел переписать на нормальном языке. Алсо кучка шлимазлов, которые в своё время неосмотрительно вляпались в LISP, а теперь плотно сидят на legacy-игле ушлых гешефтмахеров — конторки под названием Franz Inc.

Я написал на лиспе параметрический вывод МПХ, т.е. длина выводимого МПХ зависит от входного параметра. Если ты считаешь, что изучение длины МПХ является недостойной темой исследования для настоящего мужчины, то ты глубоко ошибаешься и вообще педик.

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

От XMonad после даже StumpWM блевать тянет, я уж не говорю про сравнение с кошерным Ratpoison.

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

> Тут нужно либо наследование либо особо хитрый костыль(затрудняюсь сказать, какой именно),

полиморфизм

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

> Ну посмотри, например, на систему модулей в Standard ML и в Ada. Поймешь, что ООП нинужно.


или модулу, оберон-2 и «раширяемый тип запись»
а нормальная модульность = полиморфизм на уровне интерфейсов модуля,полиморфизм не обьектов, а интерфейсов

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

> Ну вот и какого хрена они его не сделали фронтэндом к GCC или LLVM? бекендом к gcc сделали, см. gccgo  — включен в состав GCC 4.6. из плюсов оптимизации GCC и простой C FFI, cgo, из минусов — горутины не совсем полно реализованы

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

>> Статическая типизация

http://harmful.cat-v.org/software/dynamic-linking/ http://aiju.de/rant/dynamic-linking



не путай статическую типизацию и статическую/динамическую линковку!
вот в обероне-2 например, есть и статическая типизация и динамическая линковка.
точнее, динамическая загрузка модулей, которая реализована очень просто, не то что кошмар с so библиотеками, GNU build system и libtool + versioned so symbols + dsohowto.pdf by Ulrich Drepper костылики

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

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

> COmega

* спасибо, запейсал в блокнотег новое умное слово ))

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

с другой стороны, исключения в оберон совсем никакие (хотя для модулы-3 что-то было), а в Go Duck&Cover ^W Panic & recover  — неплохо реализовано

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

> не путай статическую типизацию и статическую/динамическую линковку!
Я ответил про линковку на ответ про типизацию? 0_0 Прости, похоже я невнимательно читал.

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

Давайте не будем холивар оконных менеджеров. Пожалуйста.

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

ну, я имел ввиду костыль не относящийся к ООП. Чтобы так сказать подчеркнуть, что есть и другие варианты :-)

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

>полиморфизм не обьектов, а интерфейсов

а, ну если полиморфизм так рассматривать...

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

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

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