Re[8]: Так ли хороша математическая нотация?
От: Klapaucius  
Дата: 04.08.11 12:12
Оценка: 46 (3) +4 :)
Здравствуйте, Undying, Вы писали:

U>Стратегия:


U>
U>interface IWorker
U>{
U>  int Work();
U>}

U>class ConcreteWorker : IWorker
U>{
U>  public int Work() { ... }
U>}
U>


U>Жду стратегии на математическом языке.


То, что вы написали — это никакой не паттерн стратегия. Разница такая же, как между 3 и множеством целых чисел. Паттерн стратегия, это вовсе не этот ваш код, а функция, которая получив ваш код на вход вернет значение "истина", а получив на вход что-то стратегией не являющееся — "ложь".

Паттерны это или классы классов объектов, которые в большинстве языков программирования не выражаются, либо еще и функции отображающие из одного класса объектов в другой. К примеру, некоторые паттерны, вроде фасада (F : T -> T) и адаптера (A : U -> V) — это комбинаторы объектов. В подавляющем большинстве языков они не могут быть выражены, они существуют только в уме программиста, а в языке выражается результат их работы в уме программиста.
... << RSDN@Home 1.2.0 alpha 4 rev. 1476>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[3]: Так ли хороша математическая нотация?
От: denisko http://sdeniskos.blogspot.com/
Дата: 04.08.11 13:32
Оценка:
Здравствуйте, D. Mon, Вы писали:

DM>Здравствуйте, Mamut, Вы писали:


M>>Математика

M>>circle = [(x, y) | X ∈ R, sin(x) + cos(x) = 1]

DM>

Ну будет зебра ограниченная кругом, вполне себе ничего.
<Подпись удалена модератором>
Re[9]: Так ли хороша математическая нотация?
От: Undying Россия  
Дата: 04.08.11 13:59
Оценка: :))
Здравствуйте, Klapaucius, Вы писали:

K>То, что вы написали — это никакой не паттерн стратегия. Разница такая же, как между 3 и множеством целых чисел. Паттерн стратегия, это вовсе не этот ваш код, а функция, которая получив ваш код на вход вернет значение "истина", а получив на вход что-то стратегией не являющееся — "ложь".


Это вы откуда такое определение стратегии взяли и какая от него польза при написании программ?

Под паттерном стратегия я понимал это: http://ru.wikipedia.org/wiki/Стратегия_(шаблон_проектирования) И вот такая стратегия мне нужна, т.к. позволяет решать реальные задачи гораздо проще, а то что вы называете стратегией мне даром не надо.
Re[10]: Так ли хороша математическая нотация?
От: Cyberax Марс  
Дата: 04.08.11 14:00
Оценка:
Здравствуйте, Undying, Вы писали:

C>>Пожалуйста:

C>>
C>>interface IWorker
C>>{
C>>  int Work();
C>>}
C>>class ConcreteWorker : IWorker
C>>{
C>>  public int Work() { ... }
C>>}
C>>

U>И в каком году это вошло в математический язык?
Примерно в 1999-м году, когда впервые появился C#.
Sapienti sat!
Re[10]: Так ли хороша математическая нотация?
От: Cyberax Марс  
Дата: 04.08.11 14:05
Оценка: +1
Здравствуйте, Undying, Вы писали:

K>>То, что вы написали — это никакой не паттерн стратегия. Разница такая же, как между 3 и множеством целых чисел. Паттерн стратегия, это вовсе не этот ваш код, а функция, которая получив ваш код на вход вернет значение "истина", а получив на вход что-то стратегией не являющееся — "ложь".

U>Это вы откуда такое определение стратегии взяли и какая от него польза при написании программ?
Это формализация понятия "паттерн". Как мне формально определить является ли заданный код реализацией какого-либо паттерна?

U>Под паттерном стратегия я понимал это: http://ru.wikipedia.org/wiki/Стратегия_(шаблон_проектирования) И вот такая стратегия мне нужна, т.к. позволяет решать реальные задачи гораздо проще, а то что вы называете стратегией мне даром не надо.

Ты просто не понимаешь что тебе говорят, и всё.
Sapienti sat!
Re[4]: Так ли хороша математическая нотация?
От: Mamut Швеция http://dmitriid.com
Дата: 04.08.11 14:11
Оценка: :)
M>>>Математика
M>>>circle = [(x, y) | X ∈ R, sin(x) + cos(x) = 1]

DM>>

D>Ну будет зебра ограниченная кругом, вполне себе ничего.

Ээээ. А это разве не единичный круг я описал?


dmitriid.comGitHubLinkedIn
Re[11]: Так ли хороша математическая нотация?
От: Undying Россия  
Дата: 04.08.11 14:14
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Рассуждения вообще бессмысленны, в математике ты должен все рассуждения идут в рамках некоторой теории со своим набором аксиом. Стандарты всех языков программирования можно понимать как неформальное описание такой системы аксиом. После чего текст на языке программирования становится автоматически формальным математическим текстом (= математический язык).


Ценность твоего рассуждения такая же как то, что любой объект реального мира состоит из атомов, соответственно любой новый объект автоматически становится набором атомов. Формально все верно, но бессмысленно, т.к. решению задач никак не помогает.
Re[5]: Так ли хороша математическая нотация?
От: Cyberax Марс  
Дата: 04.08.11 14:17
Оценка: +1 :))) :)
Здравствуйте, Mamut, Вы писали:

M>>>>Математика

M>>>>circle = [(x, y) | X ∈ R, sin(x) + cos(x) = 1]

DM>>>

D>>Ну будет зебра ограниченная кругом, вполне себе ничего.
M>Ээээ. А это разве не единичный круг я описал?
Вообще-то, нет Должно быть: sin(x)^2+cos(x)^2 = 1
Sapienti sat!
Re[11]: Так ли хороша математическая нотация?
От: Undying Россия  
Дата: 04.08.11 14:23
Оценка: :))
Здравствуйте, Cyberax, Вы писали:

C>Это формализация понятия "паттерн". Как мне формально определить является ли заданный код реализацией какого-либо паттерна?


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

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

C>Ты просто не понимаешь что тебе говорят, и всё.


Это неудивительно, т.к. у меня технический склад ума, а у вас математический. Соответственно для меня математика всего лишь инструмент, а для вас это абсолютно все.
Re[6]: Уравнение окружности
От: Qbit86 Кипр
Дата: 04.08.11 14:23
Оценка: +4 :)
Здравствуйте, Cyberax, Вы писали:

M>>>>>circle = [(x, y) | X ∈ R, sin(x) + cos(x) = 1]

M>>Ээээ. А это разве не единичный круг я описал? :)
C>Вообще-то, нет :) Должно быть: sin(x)^2+cos(x)^2 = 1

Вообще-то, уравнение единичной окружности: x^2 + y^2 = 1 :)
Глаза у меня добрые, но рубашка — смирительная!
Re[12]: Паттерн Стратегия
От: Qbit86 Кипр
Дата: 04.08.11 14:26
Оценка:
Здравствуйте, Undying, Вы писали:

U>Паттерн стратегия это еще очень примитивный пример, который имеет достаточно однозначное отражение в коде.


Нет. Паттерн Стратегия выглядит точно так же (вплоть до UML-диаграммы), как и паттерн Состояние. И тем не менее, это разные паттерны.
Глаза у меня добрые, но рубашка — смирительная!
Re[5]: Так ли хороша математическая нотация?
От: denisko http://sdeniskos.blogspot.com/
Дата: 04.08.11 14:27
Оценка: +1
Здравствуйте, Mamut, Вы писали:

M>>>>Математика

M>>>>circle = [(x, y) | X ∈ R, sin(x) + cos(x) = 1]

DM>>>

D>>Ну будет зебра ограниченная кругом, вполне себе ничего.

M>Ээээ. А это разве не единичный круг я описал?

Ты зебру описал, т.е множество точек (x = n * pi/2, y in (-inf,inf)) , для круга условие x*x+y*y < 1, например или Y < 1 в полярной системе.
<Подпись удалена модератором>
Re[6]: Так ли хороша математическая нотация?
От: denisko http://sdeniskos.blogspot.com/
Дата: 04.08.11 14:27
Оценка: +3
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, Mamut, Вы писали:


M>>>>>Математика

M>>>>>circle = [(x, y) | X ∈ R, sin(x) + cos(x) = 1]

DM>>>>

D>>>Ну будет зебра ограниченная кругом, вполне себе ничего.
M>>Ээээ. А это разве не единичный круг я описал?
C>Вообще-то, нет Должно быть: sin(x)^2+cos(x)^2 = 1
А это вообще вся плоскость.
<Подпись удалена модератором>
Re[12]: Редукционизм
От: Qbit86 Кипр
Дата: 04.08.11 14:30
Оценка:
Здравствуйте, Undying, Вы писали:

U>Ценность твоего рассуждения такая же как то, что любой объект реального мира состоит из атомов, соответственно любой новый объект автоматически становится набором атомов. Формально все верно, но бессмысленно, т.к. решению задач никак не помогает.


Это называется редукционизм.
Глаза у меня добрые, но рубашка — смирительная!
Re[12]: Так ли хороша математическая нотация?
От: samius Япония http://sams-tricks.blogspot.com
Дата: 04.08.11 14:30
Оценка: +4
Здравствуйте, Undying, Вы писали:

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

Design Patterns as Higher-Order Datatype-Generic Programs

ну а стратегия — это ФВП для бедных
apply(f,x) = f(x)
Re[13]: Паттерн Стратегия
От: Undying Россия  
Дата: 04.08.11 14:31
Оценка:
Здравствуйте, Qbit86, Вы писали:

U>>Паттерн стратегия это еще очень примитивный пример, который имеет достаточно однозначное отражение в коде.

Q>Нет. Паттерн Стратегия выглядит точно так же (вплоть до UML-диаграммы), как и паттерн Состояние. И тем не менее, это разные паттерны.

Т.е. ты подтверждаешь мою точку зрения, что никакого отношения к математики паттерны не имеют, т.к. им невозможно дать строго формализованное определение?
Re[13]: Редукционизм
От: Undying Россия  
Дата: 04.08.11 14:38
Оценка:
Здравствуйте, Qbit86, Вы писали:

U>>Ценность твоего рассуждения такая же как то, что любой объект реального мира состоит из атомов, соответственно любой новый объект автоматически становится набором атомов. Формально все верно, но бессмысленно, т.к. решению задач никак не помогает.


Q>Это называется редукционизм.


Да, согласен, люди, для которых математика является самоценностью, это редукционисты.
Re[14]: Редукционизм
От: Qbit86 Кипр
Дата: 04.08.11 14:40
Оценка:
Здравствуйте, Undying, Вы писали:

Q>>Это называется редукционизм.


U>Да, согласен, люди, для которых математика является самоценностью, это редукционисты.


Для меня, например, математика является самоценностью, но я не редукционист :)
Глаза у меня добрые, но рубашка — смирительная!
Re[14]: Паттерн Стратегия
От: Qbit86 Кипр
Дата: 04.08.11 14:41
Оценка:
Здравствуйте, Undying, Вы писали:

U>Т.е. ты подтверждаешь мою точку зрения, что никакого отношения к математики паттерны не имеют, т.к. им невозможно дать строго формализованное определение?


Не совсем, они могут иметь какое-то отношение к математике, даже если вдруг им невозможно дать строгого формального определения.
Глаза у меня добрые, но рубашка — смирительная!
Re[12]: Так ли хороша математическая нотация?
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 04.08.11 15:10
Оценка:
Здравствуйте, Undying, Вы писали:

U>Здравствуйте, Mystic, Вы писали:


U>Ценность твоего рассуждения такая же как то, что любой объект реального мира состоит из атомов, соответственно любой новый объект автоматически становится набором атомов. Формально все верно, но бессмысленно, т.к. решению задач никак не помогает.


На самом деле математика лежит на поверхности, просто очень много людей, программирующих на C#, не знакомы с теорией множеств, графами, так что зачем сужать потенциальную аудиторию? Нужно определение стратегии? Берем за основу этот рисунок



Моментально получаем

Говорят, что классы c1, c2, c3 образуют паттерн стратегия, если
(1) классы с2 и с3 наследуются от c1, и при этом перекрывают виртуальный метод a;
(2) существует такой класс c4, содержащий метод m, который вызывает метод a у класса c1.


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