OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 08:56

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 120 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Вторник, 18 Июль, 2017 14:30 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Не надо забывать, что это ведь сишники делают, ещё недавно компилятор был на Си, да и рантайм тоже, частично. Стало быть у них сишный взгляд на мир. И развиваться они будут известно куда. Они вообще обещали не развиваться в сторону ещё одного языка (go 2) но в итоге вот что получилось.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Вторник, 18 Июль, 2017 14:44 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Вспоминается статья Спольски "Огонь и движение" http://russian.joelonsoftware.com/Articles/FireAndMotion.html


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Вторник, 18 Июль, 2017 15:30 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
viewtopic.php?f=31&t=6085


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Вторник, 18 Июль, 2017 16:29 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Info21 писал(а):
Го выглядит как продукт безмозглого энтузиазма.

Мартышки-вредители из Гугла.


Да я бы не сказал.
Каких-то грубых ошибок они не накорячили.
Достаточно аккуратный, для современного ИТ вообще беспрецедентно аккуратный проект.
Раздувания фичами избежали.

По сути, просто использовали мейнстрим-внешний вид "под Цы", чтобы не переть против ветра.

В этом плане Borland когда-то с извращениями Паскаля пёрло гораздо худшим образом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Вторник, 18 Июль, 2017 16:47 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Но Оберон-то уже сколько лет есть?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Вторник, 18 Июль, 2017 18:36 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Ну дык рынок.
Они не хотят на рынке играть с Обероном.

В том числе на "внутреннем рынке" разработок компании Google.

Для этого надо совершенно дистанциироваться от мейнстрима, что требует доминирования небанановой мотивации.
А эти наоборот - берут Оберон и адаптируют к бананодобывательству...
Хотя... это и есть мартышко-вредительство, в итоге.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Вторник, 18 Июль, 2017 18:38 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Вредительство по отношению к "эталонному пути" ну и к Оберонам с Виртом (по сути, попользоваться плодами лет труда, подгадив под планку рынка).

И достаточно позитивное воздействие на отрасль, потому что всё же сильный сдвиг в нужную сторону в подходах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Вторник, 18 Июль, 2017 20:28 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Речь о том, что они обращаются с Обероном как мартышки -- схватили и испортили. Испортили не столько фигурными скобочками, сколько вот этим всем -- отсутствием ассетров, фигней с корутинами и проч.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Четверг, 20 Июль, 2017 13:44 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1134
Откуда: СССР v2.0 rc 1
1) Нет яиц ,как сказал бы крокодил по имени "Данди"
2) Хватило мозгов хотя бы не объявлять о поломке совместимости. Видимо, пример python оказался наглядным
3) введение алиасов радует. Ещё не всё стырили из Оберона))
4) ждём версию 3, где начнётся выкидывание всякого ненужного, и динамической кодогенерации. Нельзя же вот так нагло взять и скопировать. Оберон же Паскаль!! Не камильфо!))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Вторник, 25 Июль, 2017 19:42 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 473
Илья Ермаков писал(а):
...
Каких-то грубых ошибок они не накорячили.
Достаточно аккуратный, для современного ИТ вообще беспрецедентно аккуратный проект.
...

Тем не менее, "оттенки" имеются:
https://habrahabr.ru/company/mailru/blog/314804/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Среда, 26 Июль, 2017 10:39 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Ну и хорошо.
Язык им теперь изменить - не поле перейти.
Вляпались таки в кучу мелкой дряни, на фоне которой Обероны опять несравнимо чище (и особенно для образования).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Среда, 26 Июль, 2017 11:48 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1447
Откуда: Киев
Мелкой дряни там хватает, но в этом списке часть проблем - не проблемы. Я не смотрел все 50, но, к примеру, в 1-й 10-ке только 2-е являются таковыми.

А вот, оцените проблему "11. Строки не могут быть nil"
Они и для Оберона составили бы отличный список.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Среда, 26 Июль, 2017 12:04 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1134
Откуда: СССР v2.0 rc 1
Почитал статью. Ужаснулся. Почитал комментарии. Содрогнулся.
Итог статьи можно процитировать комментарием (обратите внимание на количество плюсов):
Цитата:
gkraser 9 ноября 2016 в 18:47
+11
Мда… Собирался на выходных поизучать этот язык… Прочитал про особенности и коментарии и понял, что это не тот язык, на котором мне хотелось бы писать…

Даже если 2 проблемы из 10 реально проблемы, то... Нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Среда, 26 Июль, 2017 15:22 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 1447
Откуда: Киев
1. В Обероне больше 2-х проблем.
2. Если программировать на Go в стиле Oberon, то в 1-й десятке нет проблем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Среда, 26 Июль, 2017 18:37 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Не, ну я просмотрел внимательно.

Часть там действительно не проблемы.

Но есть какие-то дурные навороты с объявлением переменных (когда, вроде, разумно хотели что-то сделать - а в итоге хрень опять какая-то, путаница, просто VAR-секция тупо и без проблем).
С массивами полный П. При изначальной заявке на решение вопроса. Либо просто не работали с научным софтом, что не понимают, как их нормально готовить.
С многопоточностью, что уже обсудили.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Среда, 26 Июль, 2017 18:57 

Зарегистрирован: Пятница, 13 Март, 2009 16:36
Сообщения: 987
Откуда: Казань
Самое главное они не остановятся в добавлении фич, после go 2, будет go 3, go 4, go 5 (сам Бог велел, так как по японски go - это 5) и т.д. Соответственно, и от старых фич не будут избавляться, чтобы не поломать совместимость, и новые будут добавлять "по просьбам трудящихся".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Четверг, 27 Июль, 2017 20:46 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 473
Любопытны дискуссии по поводу возможной реализации generic-ов. Напр.:
https://github.com/golang/go/issues/15292

Там много комментов, но основные результаты компактно собраны здесь (полезно, кстати):
https://docs.google.com/document/d/1vrA ... X4N4/edit#

Здесь основные "proposal" (в конце страницы ссылки):
https://github.com/golang/proposal/blob ... enerics.md

И пожалуй ещё:
https://github.com/golang/proposal/blob ... nctions.md

Опять же, очевидно, что над проблематикой изначально особо не парились. Отсюда и последствия для синтаксиса. К примеру, если generic объявлять так "type [T] Vector []T" (якобы один из самых приемлемых вариантов), но используется он как "Vector[int]" (т.е. теперь скобки совсем в другом месте).

Но синтаксис ..., это такое дело..., второстепенное... (хотя лично я не в восторге, что основатели решили ломать глаза аля IllegalIndirection (исходя из потребности именования с большой буквы для pub)).

А generic-и, скорее всего, ввести придётся, поскольку некоторые встроенные имеются, а для остального предлагается аля:
https://appliedgo.net/generics/

И такая "дифференциация" в целом общество не устраивает. А если тема "покатится", то раскроется новый косяк. Поскольку обобщения и абстракции выйдут на новый качественный уровень, особенно среди поставщиков библиотечных программных продуктов, и тогда потребуется явно заботиться о "const" для объектов, чтоб функции их не ломали когда не нужно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Четверг, 27 Июль, 2017 20:55 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 473
Кстати, если в язык не ввели бы ограниченные встроенные generic-и, то вероятно выкручивались бы традиционно для С-мира -- через какие-то макросы. Видимо, желание быть поближе к скриптовым языкам аля Питон сыграло роль.

А "С-шники" обычно не в курсе "Pascal"-мучений без generic-ов. В своё время была оригинальная библиотека AntiDOT для реализации "STL":
https://sourceforge.net/projects/adot/

Код примерно в стиле:
Код:
var
  n : TTInteger;
... 
  n := TTInteger.create(TCVector);
  n.add([1,2,3,7,6,5]);
...

Контейнеры как-то сбоку, основная работа через "данные". Для каждого встроенного типа вводится абстракция -- тип-поле контейнера (обычный тип -- некое значение, абстракция выше -- совокупность значений, управляемая неким образом). На примере выше используется вектор. Так используем список (list):
Код:
var
  n : TTInteger;
  m : TTDouble;
...
  n := TTInteger.create(TCList, [TTDouble]);
  m := n.fields[1] as TTDouble;
  n.AddRecord([1, 0.999]);
...

В create указываем тип контейнера и возможный список (типов) дополнительных полей (в данном случае одно поле).
Так работаем с map:
Код:
 
var
  n : TTDouble;
  s : TTString;
...
  n := TTDouble.create(TCMultimap, [TTString]);
  s := n.Fields[1] as TTString;

  n.Map[3.14] := 'Pi';
  n.Map[2.72] := 'E';

  s[n.Add(1.618)] := 'Golden Ration';
  s[n.Add(1.618)] := 'Golden';
...

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Воскресенье, 23 Декабрь, 2018 17:19 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
"Если вы подумываете начать писать на Go, то вот что вам следует знать.."

https://habr.com/post/421259/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Воскресенье, 23 Декабрь, 2018 21:09 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1134
Откуда: СССР v2.0 rc 1
Дженерики -- это специфичная весь именно для С++. Уже больше 20 лет шкодю, и пока от их отсутствия не страдаю (и применял 1,5 раза). Вот что действительно ломает (вот прям сейчас): в питоне нельзя перегрузить "присвоить" (который соответствует математическому "равно"). Типизация динамическая, а на практике -- только и успеваю прикручивать модуль typing ко в ему, что можно и нельзя. Иначе просто каша. Меня совершенно не устраивают искусственно введённые типы в язык, и, неизбежно сбоку прикрученные специфические методы работы с ними.
Меня просто бесят умники, которые пишут вот так:
color, deep = process(lambda x: process2(x)) for i in map(seek(pool) not iter)
Я удивляюсь, как в мире питона вообще что-то работает.
В топку такие конструкции. Оберон наше всё.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 120 ]  На страницу Пред.  1, 2, 3, 4, 5, 6

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB