OberonCore

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

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




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

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Ага... Учитывая, что параметры в процедуре записываются через запятую... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Суббота, 14 Ноябрь, 2009 15:31 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Info21 писал(а):
albobin писал(а):
if a := rwc.RemoteAddr(); a != nil {
c.RemoteAddr = a.String()
Что здесь плохого?
А что хорошего в таком трюкаческом запутывании синтаксиса? Обосновывать нужно усложнение.


У авторов борются противоречивые желания:
1. Отделить объявления переменных от применения переменных
2. Сделать объявление переменной как можно ближе к первому применению

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


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

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
albobin писал(а):
if a := rwc.RemoteAddr(); a != nil {
c.RemoteAddr = a.String()
}
...
Что здесь плохого?

a объявляется в теле условия цикла, а доступно в блоке ветки then. Чего тут хорошего...


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

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Вполне можно было бы обойтись лишней парой скобок.
Код:
{
   a := rwc.RemoteAddr();
   if a != nil {
      c.RemoteAddr = a.String()
    }
}


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

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

http://scienceblogs.com/goodmath/2009/1 ... age_go.php

Оберон многократно вспоминается, а Пайк в энергичных выражениях обвинен в плагиате.
----
где-то еще попалось выражение "Wirth's revenge" -- месть Вирта :))


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

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
прошёл по ссылке и обнаружил:

Цитата:
Why can't people just use Oberon and move on with life? I'll tell you why -- because it was designed by Niklaus Wirth. People HATE Wirth. He's the anti-Christ. He's an abomination. Nobody loves him, and neither should you. He's communist, fascist, and a capitalist pig all at the same time. And, get this folks!, he writes his languages using all-caps keywords! OH NOES!!


Смеялся :)


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

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

From: Josef Templ
To: BLACKBOX@LISTS.OBERON.CH
Subject: Re: [BLACKBOX] Go
Time: 2009-11-13 at 11:53
Message

Hi Everybody!

I have just scanned the Go language spec and it looks a lot like a mix from Oberon/CP and C with some interesting syntactical ideas borrowed from functional languages, I guess, but nothing really new.

Regarding OO features it seems weak to me.
It has type bound procedures but no inheritance.
It doesn't even have type extension for records as the original Oberon introduced.
(Please correct me if I missed something in the spec.)

All it has is an interface type with structural equivalence rules.
An interface is a purely abstract type that only specifies a set of
method signatures.
It is compatible with any type that has the appropriate set of type bound procedures, which is checked by the compiler.

I guess it would be very hard to program something like the Oberon system with its many extensible message records in Go.
The message records would have to be expressed by interfaces with setter and getter functions for accessing the record fields. And there is no subclassing for
creating extended message types.
It would also be very hard to program in a Java/C++-OO-style with tons of methods inherited by subclasses.
These would have to be replicated by the programmer.
May be they envision a new OO-programminig style that I am not aware of.

This is at least my understanding from the language spec.

A questionable point, in my oppinion, is the way exports are marked.
Go uses the convention that a name starting with a capital letter is public.
So when you decide to export a previously private name later on,
you have to change that name.

For me, the funniest part of the language spec is the name for threads in Go.
They are called 'goroutines'.

- JT


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Кузьмицкий писал(а):
прошёл по ссылке и обнаружил:
Цитата:
Why can't people just use Oberon and move on with life? ...
Смеялся :)
Вот тут переведено несколько фрагментов:

http://www.inr.ac.ru/~info21/go.htm


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Понедельник, 16 Ноябрь, 2009 07:36 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Josef Templ писал(а):
I have just scanned the Go language spec and it looks a lot like a mix from Oberon/CP and C with some interesting syntactical ideas borrowed from functional languages, I guess, but nothing really new.

Другие утверждают, что Go -- перекрашенный Limbo, кто-то сравнивает с Алголом-68 с неутешительным выводом, что за 41 год ничего нового в разработке языков программирования, а Go -- просто регресс... :lol:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Понедельник, 16 Ноябрь, 2009 07:51 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Geniepro писал(а):
кто-то сравнивает с Алголом-68
Сравнивать и с пяткой можно, да толку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Понедельник, 16 Ноябрь, 2009 09:10 

Зарегистрирован: Пятница, 24 Апрель, 2009 16:28
Сообщения: 563
Откуда: Москва
Выход языка Go - это большой вклад в проект Информатика-21.
Поздравляю, коллеги!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Понедельник, 16 Ноябрь, 2009 09:58 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Вообще для сравнения обязательно надо студиозам изучить два направления: Додиез и КП, Дотнет и ББ.
Только вот, чтобы их убедить в преимуществе ББ, надо, чтоб среда собирала сведения о многих вещах. Например, количество ошибочных действий в малознакомой ситуации. Или количество запусков с неправильными результатами...
Такие сборы - обязательное условие обучающей среды... А не только черепашки и роботы...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Понедельник, 16 Ноябрь, 2009 10:03 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
И вообще, нужно считать уровень обученности. И показать, что при работе в ББ такой уровень повышается значительно быстрее... Только вот как чистоту экспериментов обеспечить? Люди ж все разные...Может быть, взять две группы, одну учить на додиезе в дотнет, а вторую - на КП в ББ. А потом поменять и как самостоятельную работу заставить учить второй язык и среду?


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Валерий Лаптев писал(а):
И вообще, нужно считать уровень обученности...Может быть, взять две группы, одну учить на додиезе в дотнет, а вторую - на КП в ББ. А потом поменять и как самостоятельную работу заставить учить второй язык и среду?
Цель не средам/языкам научить, а культуру привить (viewtopic.php?p=28335#p28335). Среда/язык - инструмент.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Понедельник, 16 Ноябрь, 2009 10:43 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Евгений Темиргалеев писал(а):
Валерий Лаптев писал(а):
И вообще, нужно считать уровень обученности...Может быть, взять две группы, одну учить на додиезе в дотнет, а вторую - на КП в ББ. А потом поменять и как самостоятельную работу заставить учить второй язык и среду?
Цель не средам/языкам научить, а культуру привить (viewtopic.php?p=28335#p28335). Среда/язык - инструмент.

Это да! Но учатся водить машину на конкретной же машине...
Машину люди видят с детства, поэтому знают, что у всех есть руль, 4 колеса, тормоз и газ.
А с языками программирования и средами сталкиваются только при специальном обучении. И уяснить, что в принципе одинаково, можно только рассмотрев две конкретных среды и два конкретных языка... А то так и будут думать, что додиез или КП - уникальны...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Понедельник, 16 Ноябрь, 2009 11:06 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Валерий Лаптев писал(а):
Такие сборы - обязательное условие обучающей среды... А не только черепашки и роботы...
Обязательное? Хм.
Впрочем, делайте, раз нужно :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Понедельник, 16 Ноябрь, 2009 11:07 
Аватара пользователя

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


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Валерий Лаптев писал(а):
Это да! Но учатся водить машину на конкретной же машине...
Машину люди видят с детства, поэтому знают, что у всех есть руль, 4 колеса, тормоз и газ.
А с языками программирования и средами сталкиваются только при специальном обучении. И уяснить, что в принципе одинаково, можно только рассмотрев две конкретных среды и два конкретных языка... А то так и будут думать, что додиез или КП - уникальны...
Брать одну концепцию и показывать различия в её воплощении. Т.е. что у одной машины руль квадратный, а у другой круглый.

Например, SET КП - целое, биты которого - значения характеристической функции множества от номера бита. Отображаются напрямую на побитовые операции. И эффективная реализация понятия множество, и побитовые операции, если надо.

В .net насчет этого - вспоминаю - была статья, где некто ругался на безграмотность молодого поколения .net программистов, которые основ архит-ры не знают. Как пример приводилась работа с битами целого, для которой примеялось что-то типа коллекций/векторов/foreach-и... И то, что можно было записать одной побитовой операцией оказывалось настоящим циклом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Понедельник, 16 Ноябрь, 2009 11:21 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Брать концепцию и показывать разные воплощения - это не для начинающих. Это уже ближе к философии и обобщению. Такое можно делать потом, для установления общего взгляда на конкретные вещи. А первый язык выучивается как иностранный - наизусть. Выучив английский и французский, можно понять, что они относятся к одной группе. А вот арабский (лисп) - из другой группы.
Поэтому сначала - конкретика, а потом обобщение. Не получается новичков учить сразу обобщению-концепции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Системный язык Go от Google
СообщениеДобавлено: Понедельник, 16 Ноябрь, 2009 11:27 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Info21 писал(а):
Валерий Лаптев писал(а):
Такие сборы - обязательное условие обучающей среды... А не только черепашки и роботы...
Обязательное? Хм.
Впрочем, делайте, раз нужно :)

А как иначе мамочек останавливать?! Только конкретикой: а вот ваш сынуля какую лабуду пишет! И система на основании собранных действий студента рекомендации преподу выдает: добавить по такой теме заданий и контроль! Или вообще сама добавляет. Для этого и надо все собирать и считать...


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

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


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

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


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

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