OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 19 Июнь, 2025 15:16

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




Начать новую тему Ответить на тему  [ Сообщений: 172 ]  На страницу Пред.  1, 2, 3, 4, 5, 6 ... 9  След.
Автор Сообщение
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 03 Декабрь, 2008 14:02 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Geniepro писал(а):
AVC писал(а):
Кто-нибудь хочет, чтобы Оберон пустился в погоню "за сладким"?
Это явно будет не в духе оберонов... :wink:
Именно.
Вопрос в том, ясно ли мы понимаем, почему Оберон такой "несладкий"? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 03 Декабрь, 2008 20:00 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Geniepro писал(а):
Чем отличаются объекты в ФП-реализации от обычных объектов из ООП, так это тем, что в ФП приходится явно заботиться о поддержании жизни в этих объектах. То есть каждый "метод" этого "объекта", изменяющие его "состояние", на самом деле возвращает копию этого "объекта" с какими-то изменёниями. И вот с этой копией придётся что-то делать, что бы дальше работать уже с ней, а оригинал забыть и отправить в утиль.
Создание новых объектов, вместо изменения старых -- это уже особенность чистого ФП Хаскелла и к замыканиям отношения не имеет. "Замкнутые" переменные можно и изменять:
Код:
newPoint = function (x, y)
  point = {
    getX = function ()
      return x
    end,
    getY = function ()
      return y
    end,
    setX = function (newX)
      x = newX
    end,
    setY = function (newY)
      y = newY
    end,
    moveTo = function (newX, newY)
      x = newX
      y = newY
    end,
    rMoveTo = function (dX, dY)
      x = x + dX
      y = y + dY
    end,
    show = function ()
      print(x, y)
    end
  }
  return point
end

p = newPoint(3, 4)
p.setX(33)
p.rMoveTo(10,20)
p.show()


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 03 Декабрь, 2008 20:49 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
PGR писал(а):
Создание новых объектов, вместо изменения старых -- это уже особенность чистого ФП Хаскелла и к замыканиям отношения не имеет. "Замкнутые" переменные можно и изменять:
Вот только мутабельные переменные не имеют никакого отношения к ФП -- это особенность императивного подхода.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 03 Декабрь, 2008 21:02 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Не имеют. Но и замыкания, получается, тоже не ограничиваются только ФП.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Среда, 03 Декабрь, 2008 23:38 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Geniepro писал(а):
Ну так эти блоки кода отсылаются объектам как сообщения!
Хорошо, заменим слово "называются" на "являются"...

:shock: :shock: :shock:
В Смолтоке блоки кода НЕ МОГУТ ОТСЫЛАТЬСЯ КАК СООБЩЕНИЯ объектам, а - только как АРГУМЕНТЫ СООБЩЕНИЙ. Или же ИМ можно сообщение посылать:
Код:
[ ... check something and return bool result ] ifTrue: [ ... do if true ...] ifFalse: [ ... do if false ... ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 04 Декабрь, 2008 01:32 

Зарегистрирован: Воскресенье, 09 Март, 2008 22:38
Сообщения: 372
Alexey_Donskoy писал(а):
Тогда я не пойму, в чём фишка-то?

И я особо тоже.

Александр Ильин писал(а):
вложенная функция (closure)

Мне что-то вот кажется, что точнее было бы назвать это дело не "замыканием", а "вложением"...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 04 Декабрь, 2008 07:06 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
PGR писал(а):
Не имеют. Но и замыкания, получается, тоже не ограничиваются только ФП.

Я про что и говорил, когда упоминал, что замыкания (под названием блоков кода или block closures) являются одним из фундаментальных кирпичиков в Смоллтоке...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 04 Декабрь, 2008 07:10 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
AVC писал(а):
Вопрос в том, ясно ли мы понимаем, почему Оберон такой "несладкий"? :)

Просто истинным оберонщикам сахар не нужен, а те, кому он нужен, пользуются другими языками...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 04 Декабрь, 2008 12:15 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 04 Декабрь, 2008 20:47 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Geniepro писал(а):
AVC писал(а):
Вопрос в том, ясно ли мы понимаем, почему Оберон такой "несладкий"? :)

Просто истинным оберонщикам сахар не нужен, а те, кому он нужен, пользуются другими языками...

Да не в этом дело!
"сахар" и сахар нужен всем.
Только, что подразумевается по сахаром? Почему возникает в нём избыточная потребность?
Я обожаю тематику встроенных систем и систем реального времени просто потому, что здесь между мной, моим интеллектом, идеями и решениями И железом - МИНИМУМ промежуточного кода, нет чужих идей, идеологий и проектных решений которые я должен блюсти и которым должен подчиняться (буде то стандарты или принятые сообществом технологии). Я - сам себе автор всего этого. Это - классно, это - непередаваемое ощущение почти Бога (ты сам строишь хотя бы и миниатюрный мир, который своей работоспособностью и устойчивостью доказывает правильность твоих решений и заделов)... Это вселяет уверенность. Это стимулирует (потому, как всякоразных "перинок" и "сололмки" никто, для "смягчения ошибок", тоже не подложит - только твои мыслительные процессы (их, реализованный в твоём же коде, результат) обеспечивают тебе уровень комфортности и безопасности).
Пока что, объёмы памяти не позволяли реализовать огромные системы времени исполнения в таких системах. Для "сахара" места нет. Надо, что по-проще... Например, Оберон-0 там бы был - самое "то". Но, к сожалению и здесь властвует Си. К сожалению, потому, что есть масса моментиков, когда всё-таки было бы лучше иметь БОЛЕЕ безопасный язык для реализации систем... Другое дело, что ДАЖЕ на уровне привлекательности Оберона-0, естественно иметь более приятные и удобные возможности. Пусть будет строгий язык, с соответствующей семантикой элементов! Но, ребята, упираться рогом в какие-то непонятные "принципы" и упорствовать против введения в язык, например, средств инициализации структур данных при объявлении или объявлении переменных в любом месте кода или быть против рассмотрения введения безымянных (и параметризуемых) блоков кода, передаваемых в качестве аргументов функциям) - это уже просто МАРАЗМ!
Это уже - не сахар,а - доказавшее свою полезность и не наносящее какой-то там "вред" или "отступление от йоты" - средство!

"Сахара" НЕТ. Есть адекватность выбора средств к задачам в совокупности с реализованными идеологиями и парадигмами.
Будет у меня что-то встроенное с гигом ОЗУ и тремя ГГц быстродействия - почему и не попробовать на Си-шарпе поработать?... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 04 Декабрь, 2008 21:52 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Объявление переменных в любом месте кода штука может и полезная где-то. И удобная для кого-то. Как частное решение. Сужу по своему опыту - объявлять переменные "на ходу" удобно, потому что не надо париться про наличие спец.ящика для их объявления. Как только количество этих переменных начинает превышать десяток, а исходник не умещается на экране, попасть на тупую ошибку становится очень просто.

Оно понятно, что профессионалы ошибок не делают.

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

Когда на блюде ворох фантиков, тык это ж смотрится красиво! Создаётся впечатление, что ребята классно поработали и завернули все возможные чихи, каждый в свой фантик. И можно здорово сократить дорогу, если взять все эти фантики и употребить по назначению. Одно не учитывается - человек не может держать в голове одновременно больше 7 фантиков ("единиц информации", 7 плюс-минус 2). Но и совсем без фантиков не может.

Получается смешная штука. Фантики имеют себестоимость, поэтому их надо продавать побольше. Чихов в жизни полно, поэтому производство фантиков никогда не закончится. А глянешь на улицу - ничо не изменилось. Люди как ходют о двух ногах, так и ходют. Как потребляют 15-20 литров кислорода в час, так и потребляют. До Марса человека забросить не смогли, мир во всём мире никому не нужен, телевизора хватает для удовлетворения всех духовных потребностей для подавляющей массы населения. Читать стали меньше, убивать больше.

Откуда берутся фантики и для каких целей - непонятно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 04 Декабрь, 2008 22:20 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Иван Кузьмицкий писал(а):
...объявлять переменные "на ходу" удобно, потому что не надо париться про наличие спец.ящика для их объявления. Как только количество этих переменных начинает превышать десяток, а исходник не умещается на экране, попасть на тупую ошибку становится очень просто.

Назовите имя примера такой ошибки!
Появление "цикловых" переменных действующих только в области видимости цикла мы называем благом, а распространение этого же правила на остальные случаи - злом! Критерии определите их!
Я вам сказал, что мне не надо знать и забивать голову лишней инфой во время анализа (да и - написания) кода. Переменная появится в тексте только тогда, когда появляется потребность в ней. Вы опасаетесь "затенения" имён? Ну - ради Бога! Но, но почему-то для переменных цикла Ады мы в ладоши хлопаем, а для ординарных временных переменных кривим носиком... Проблема-то не в "затенении", а в отсутствии явного импорта в текущий контекст совокупности внешних переменных. В большинстве случаев мы просто идём на компромис, выбирая меньшее из зол... И выбираем "текстуально-очередное" расположение описаний переменных, обуславливающих их области действия.
Ну, или потребуйте существования опции компилятора, предупреждающей о совпадении имён переменных....

Иван Кузьмицкий писал(а):
Оно понятно, что профессионалы ошибок не делают.

Делают.

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

Ну так проанализируйте и найдите золотую середину между поддержкой "правильности" в подходах и удобстве их реализации и сопровождения! Или для Вас "интеллисенс" - личный враг? :twisted:

Иван Кузьмицкий писал(а):
Откуда берутся фантики и для каких целей - непонятно.

Для большинства из всех людей
Удобней камня молоток,
При забивании гвоздей.

:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 04 Декабрь, 2008 22:32 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
А вообще меня здесь страшно стали раздражать противостояния всякоразные...
Иногда такое впечатление складывается, что отдельные индивидуумы сюда "заземлять" свои страхи и комплексы ходят.
Программирование, что - особая отрасль деятельности в смысле своего генезиса?
Направления, замыкающиеся в себе, "твердолобые", "закуклившиеся" в своём мироощущении и своей модели мира обречены. Нельзя самоограничиваться в развитии! Надо ХВАТАТЬ всё новопоявившиеся и пропускать через горнило и топку своего анализа и пробования, вычленять оставшееся и вкладывать в свой "талмуд", гибко видоизменяя и подстраивая его. Мы можем с водой и ребёнка выплеснуть!
Не нравится вам Си-шарп и дотНЕТ - воля ваша. Только как-то не упустите момент, что визуал-студия станет вторым турбо-борланд-паскалем!...
Я уже сейчас практически все свои алгоритмы и их логику сначала стал обкатывать в Си-шарпе, как делал до этого в Борландовских продуктах... Не в малой степени и потому, что там ДЕЙСТВИТЕЛЬНО УДОБНО работать... Кто его знает, может быть потому, что именно тиме вижул-студии много бывших борландовцев работает?... :D
То же самое и самого языка касается. Ну УДОБНО мне с замыканиями работать (хотя бы и в такой реализации, как в Си-шарпе!). Ну удобно мне инициализировать коллекции = new List<OfAnyType>() { именно, здесь, в, месте, их, объявления };...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Четверг, 04 Декабрь, 2008 23:34 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Владимир Лось писал(а):
Появление "цикловых" переменных действующих только в области видимости цикла мы называем благом, а распространение этого же правила на остальные случаи - злом! Критерии определите их!
Лично я сторонник объявления переменных всегда в отдельном месте. И противник смешивания фактов объявления с потоком логики в тексте. Потому как мне совсем не хочется пялиться на знаки явного импорта в том контексте, где реализуется рабочая логика. Мне нравится обнадёживающая граница между "вот тут у меня переменные" и "вот тут я ими думаю" :)

Владимир Лось писал(а):
Или для Вас "интеллисенс" - личный враг? :twisted:
Ха-ха, почему сразу - "личный"? :) Ясен пень, когда своего интеллисенса (который между ушами) на обозрение фантиков не хватает, то без фирменного помогальника никак. Ещё вопрос, где в итоге выше производительность: при разглядывании выпадающих интеллисенсовских списков, или же в наработанном гипертекстовом автоматизме. ;)

Владимир Лось писал(а):
Для большинства из всех людей
Удобней камня молоток,
При забивании гвоздей.

:)


Сей ординарный гвоздобой
Совсем не прибавляет искушенья.
Так и воткнули в рукоятку ...микрофон
Для будоражащего разум развлеченья
:)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Пятница, 05 Декабрь, 2008 00:47 

Зарегистрирован: Понедельник, 05 Июнь, 2006 09:49
Сообщения: 327
Откуда: Ленинград, Емельянов Алексей Николаевич
Владимир Лось писал(а):
... что именно тиме вижул-студии много бывших борландовцев работает?... :D
;...

извините пожалуйста, а что такое тиме


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Пятница, 05 Декабрь, 2008 01:22 

Зарегистрирован: Понедельник, 29 Январь, 2007 19:00
Сообщения: 370
Откуда: Украина, Запорожье
Иван Кузьмицкий писал(а):
Ещё вопрос, где в итоге выше производительность: при разглядывании выпадающих интеллисенсовских списков, или же в наработанном гипертекстовом автоматизме.
А как этот гипертекстовый автоматизм наработать? Хочется поднять свою производительность...
Axcel писал(а):
извините пожалуйста, а что такое тиме
team -- команда


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Пятница, 05 Декабрь, 2008 07:18 

Зарегистрирован: Понедельник, 25 Февраль, 2008 08:42
Сообщения: 125
Иван Кузьмицкий писал(а):
Объявление переменных в любом месте кода штука может и полезная где-то. И удобная для кого-то. Как частное решение. Сужу по своему опыту - объявлять переменные "на ходу" удобно, потому что не надо париться про наличие спец.ящика для их объявления. Как только количество этих переменных начинает превышать десяток, а исходник не умещается на экране, попасть на тупую ошибку становится очень просто.

Этот вопрос удобно решен в дельфийной среде.
Как только мне затребовалась переменная в данном участке кода, я пишу её и, оставив курсор на этой переменной, нажимаю Ctrl+Shift+V.
Среда сама в секции var данной процедуры вставит объявление.
А когда я наведу курсор на какой-нибудь объект программы, среда выставит описание что это и где объявлено, с возможностью перехода в место объявления по клику мышки.

Такое вовсе не сложно сделать в любой среде.

Иван Кузьмицкий писал(а):
Одно не учитывается - человек не может держать в голове одновременно больше 7 фантиков ("единиц информации", 7 плюс-минус 2). Но и совсем без фантиков не может.

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

Иван Кузьмицкий писал(а):
А глянешь на улицу - ничо не изменилось. Люди как ходют о двух ногах, так и ходют.

Во времена Пушкина человек в 40 лет – старик.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Пятница, 05 Декабрь, 2008 07:30 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Пятница, 05 Декабрь, 2008 08:17 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
PGR писал(а):
А как этот гипертекстовый автоматизм наработать? Хочется поднять свою производительность...
Ничего нового-особенного. Это я так обозвал стиль работы в ББ :) По имени модуля падаем в интерфейс\документацию модуля, по имени процедуры падаем в её исходник, бросаем коммандеры там, где нужно\захотелось, выделение смысловых участков текста цветом\стилем для глазозацепляемости.

Я уж не говорю о таких полезных и ежедневно используемых вещах, как навигатор кода Ильи Ермакова, браузер переменных Петра Кушнира, закладки Александра Ильина. Тот самый "интеллисенс"? Неа, гипертекст!

ББ сам по себе гипертекстовый, плюс являет собой воплощение идей Раскина. Конечно, в ББ предлагается достаточно высокая культура работы с текстом. Я к тому, что сначала должна идти культура, а только потом специальные помогальники. Наличие спецсредств само по себе ещё не говорит об уровне культуры.

ain писал(а):
При чем тут одновременно?
По такой логике человек не в состоянии вообще программировать, ибо ему приходится помнить о десятках, а то и сотнях разных команд, соглашений, правил и инструкций.

"7 плюс-минус 2" - это т.н. "число Миллера", объём внимания. Физиологический, блин, предел.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сюда?
СообщениеДобавлено: Пятница, 05 Декабрь, 2008 08:34 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1053
Откуда: Россия, Чебоксары
Про число Миллера Паронджанов уже давно всё объяснил...
Если Вы не в курсе, то напомню, что, оказывается, не было адекватных научных исследований на эту тему.
Те исследования, которые были (откуда оно и взялось) - решали задачи рекламного бизнеса (как правильно рекламу строить).
Согласитесь, что проектирование системы и восприятие рекламного щита - несколько разные задачи, как по форме, так и по содержанию...


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

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


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

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


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

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