Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет kouzdra ([info]kouzdra)
@ 2013-08-09 09:48:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Entry tags:go, Компутерщина

Go-программерское
Кропая фигню всякую задумался на тему, почему в языках отсутствует аналог паскалевского оператора

with ... do ...

Вместо этого городят всякие хитрые ad-hoc правила про self/this, qualified/unqualified imports или еще какую фигню. Хотя казалось бы чего проще-то. Надо тебе локально открыть scope - берешь и пишешь.

PS: Go тут при том, что у ем в объектах этого сахару нет, но зато есть хитровывернутая система с импортами. Причем неудобно и то и другое - unqualified импортами в результате в нем никто не пользуется.


(Добавить комментарий)


[info]gogabr
2013-08-09 19:31 (ссылка)
Unqualified импорт в Go не стали вводить из соображений читаемости -- чтобы при каждом идентификаторе было видно, откуда он взялся, и не надо было держать контекст в голове.

(Ответить) (Ветвь дискуссии)


[info]kouzdra
2013-08-10 15:00 (ссылка)
что значит "не стали вводить" - он там есть:
import ....

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]gogabr
2013-08-10 22:38 (ссылка)
Посмотрел сейчас спецификацию языка; да, есть.

Я полагался на http://talks.golang.org/2012/splash.slide#41:
package qualifier always present for imported names

Видимо, сам Пайк не знает или не помнит про import .

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kouzdra
2013-08-10 23:08 (ссылка)
Дык я им пробовал пользоваться - работает конечно - но через ж. Вопрос собственно в том и состоит - ну блядь вы решили запретить что-то чистоты идеи для. Ну бывает - может выгорит, а может нет. Но тут как раз стандартная ситуация - ну плюньте на традицию (тем более, что все Go из этого и состоит) и введите в оборот классическую конструкцию с предельно ясной семантикой

(Ответить) (Уровень выше)


[info]qwerty
2013-08-10 01:52 (ссылка)
Совсем без self/this в выражениях, в которых присутствуют идентификаторы из разных scope'ов, обойтись трудно.

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

(Ответить)