Имя: Пароль:
LIFE
 
OFF: Что такое линейное программировние, что такое процедурное, функциональное?
0 Матрейя
 
27.01.06
11:59
Также расскажите плиз чайнику что такое ООП и приведите примеры?  Ссылок не надо, я их читал, не понимаю. Своими словами расскажите плиз.
1 Андрюха
 
27.01.06
12:00
Это когда методы и свойства объектов инкапсулированы в них самих.
3 SnarkHunter
 
27.01.06
12:00
Один уже повелся...
4 ДенисЧ
 
27.01.06
12:01
Опять :-)
линейное программирование - это не программирование, это математика :-)
процедурное - когда в коде только процедуры.
объектное - когда только объекты
функциональное - это когда нет переменных, толбко функции.
Где-то так :-)
5 Андрюха
 
27.01.06
12:02
Так это тебя мы все видели в сапогах у ёлочки?
6 Guk
 
27.01.06
12:03
Неужели никто не знает?...
7 NS
 
27.01.06
12:03
Процедурное программирование - это вырожденный случай ООП.
Линейное программирование - это НЕПРОЦЕДУРНОЕ программирование - примеры - стандарт Бейсика (чистый случай - программы без использования GO SUB).
8 France
 
27.01.06
12:03
а что такое объекты?
9 колодина
 
27.01.06
12:03
автор закончил только церковно-приходскую школу?
10 Матрейя
 
27.01.06
12:04
(1) Андрюха, что такое инкапсулирование, методы и свойства? Братское сердце, объясни доступными словами ламеру.
11 GrayT
 
27.01.06
12:04
Теб ещ потом наследование и полиморфизм рассказывать - ну его нах.
12 у лю 427
 
27.01.06
12:05
Здравствуй, Света..........
13 ДенисЧ
 
27.01.06
12:05
(7) насчёт линейного программирования
http://slovari.yandex.ru/art.xml?art=bse/00042/66600.htm&;
encpage=bse&mrkp=http%3A//hghltd.yandex.com/yandbtm%3Furl%
3Dhttp%253A//encycl.yandex.ru/texts/bse/00042/66600.htm%26text%
3D%25EB%25E8%25ED%25E5%25E9%25ED%25EE%25E5%2B%25EF%25F0%25EE%
25E3%25F0%25E0%25EC%25EC%25E8%25F0%25EE%25E2%25E0%25ED%25E8%
25E5%26reqtext%3D%2528%25EB%25E8%25ED%25E5%25E9%25ED%25EE%25E5%
253A%253A56329%2B%2526%2B%25EF%25F0%25EE%25E3%25F0%25E0%25EC%
25EC%25E8%25F0%25EE%25E2%25E0%25ED%25E8%25E5%253A%253A9501%2529//
6%26%26isu%3D2
14 Демогоргон
 
27.01.06
12:06
(10) я тебе счас объясню...
15 Андрюха
 
27.01.06
12:06
Свойства - это данные, а методы - это способы их взаимодействия. Это понятно?
16 Бешенная Нога
 
27.01.06
12:06
а зачем это автору? меньше знаешь крепче спишь
17 NS
 
27.01.06
12:09
(13) В русском, да и в других я языках одно и то же слово и словосочетание может обозначать разные понятия. Что такое Линейное программирование в Математике я есно отлично знаю.
18 ДенисЧ
 
27.01.06
12:10
(17) Просто я в первый раз (за свою недолгую :-) жизнь услышал термин "линейное программирование" в таком аксепте. Не применяют его обычно...
19 NS
 
27.01.06
12:11
(18) Применяют. И процедурное программирование как раз пришло на смену линейному.
20 GrayT
 
27.01.06
12:11
(18)Ты суслика видишь? А он есть!
21 ДенисЧ
 
27.01.06
12:12
(19) Уу... Ссылку дашь?
(20) неа. Если я его не вижу, значит, его нет...
22 romix
 
модератор
27.01.06
12:13
ООП - это когда фуннкции и переменные "упакованы" в объект, и доступны "через точку".
23 Матрейя
 
27.01.06
12:14
Я так вижу что все чайники как я. У всех каша в голове. Никто не может объяснить доходчиво, лаконично, с простыми примерами
24 NS
 
27.01.06
12:14
25 Демогоргон
 
27.01.06
12:14
(10) Начнем с понятия объекта ООП.
Объект ООП - это термин, предпологающий под собой понятие объекта, который является симбиозом функции и данных. В данном случае функция - это метод, свойста - это данные объекта.

Т.е.  создадим например Объект справочник, т.е. массив объектов типа справочник и определим ему методы ПометитьВсеЭлементыНаУдаления и НайтиПоКОду и данные - Имя и код
Если мы сделаем типа
Справочник.ПометитьВсеЭлементыНаУдаления(); - удаляет все элементы в массиве
Справочник.НайтиПоКОду("0001"); - позиционируем на КОНКРЕТНЫЙ элемент в массиве
Справочник.Имя = "УГу"; присовем этому конкретному элементу имя (если он спозиционирован.

Т.е. через объект мы можем обращаться как к всему массиву значений, так и к одному конкретному ...
26 Матрейя
 
27.01.06
12:15
25. Что такое объек для начала?
27 Олег_1978
 
27.01.06
12:15
(0) Это ты так статью писать решил???
28 GrayT
 
27.01.06
12:15
"упакованы" = инкапсулированы - всегда считал что это только один из трех основопологающих принципов ООП
29 Олег_1978
 
27.01.06
12:15
30 aka MIK
 
27.01.06
12:15
Шото мне одно место подсказывает шо линейное программировани это когда надо раздать какие-то ресурсы
31 Kstn12
 
27.01.06
12:16
ООП это моделирование сущностей мира сего (и того тож) и их поведения.
А вообще нахрена ООП чайнику?
32 ДенисЧ
 
27.01.06
12:16
шо то мне подсказывает, что нужно говорить не про методы, а про сообщения...
33 Андрюха
 
27.01.06
12:16
(26) Объект - это копия класса
34 Kstn12
 
27.01.06
12:17
(33) Не копия а Экземпляр.
35 ДенисЧ
 
27.01.06
12:17
(33) садись, два.
36 Андрюха
 
27.01.06
12:18
(34) Правильно, экземпляр (но по сути - копия)
37 Kstn12
 
27.01.06
12:18
(25) Объяснение риального структурного алгоритма.
38 aka MIK
 
27.01.06
12:19
Главный класс в мире - бабло, все остальное - его наследники, все инкапсулировано в нем, он наследуется, ибо он - основа основа, он полиморфен - ибо все можно за него купить
---
Все, статья готова. С тебя $20
39 aka MIK
 
27.01.06
12:21
Главный класс в мире - бабло, все инкапсулировано в нем, он наследуется, ибо он - основа основ, он полиморфен - ибо все можно за него купить!
---
Откорректировано корректором. С тебя $25 ($5 - корректору)
40 NS
 
27.01.06
12:21
http://en.wikipedia.org/wiki/Unstructured_programming
А переводить на русский можно как угодно.
Обычно переводят, как линейное (не процедурное, не структурное) программирование
41 Матрейя
 
27.01.06
12:23
Может кто-нибудь по порядку, серьезно и доходчиво объясниь? От ваших ответов только каши в голове становится больше.
42 Муравей
 
27.01.06
12:23
"ООП для чайников" - Была такая книжка
мне в свое время помогла
43 NS
 
27.01.06
12:24
(41) Так всё в википедии есть.
http://en.wikipedia.org/wiki/Object-oriented_programming
44 Матрейя
 
27.01.06
12:24
Или призайтесь сами себе, что чайники или не пишите всякую хню. Просьба отвечать по существу темы, лаконично и доступно.
45 Kstn12
 
27.01.06
12:25
(42)Судя по Сабжу не очень..
ООП - это когда программа состоит из объектов которые между собой взаимодействуют. Тоже "чайное" объяснение
46 Демогоргон
 
27.01.06
12:25
(26) Объект - это объект...

В языке программирования - строчка
47 Матрейя
 
27.01.06
12:25
43. Ссылок и я могу набросать. Ты сам-то хоть понимаешь о чем речь? Если да, то объясни своими словами.
48 Демогоргон
 
27.01.06
12:25
+ (46) Оформленная по параметром.
(47) Называть всех чайниками проще простого. А аттестацию нужно в реале проводить ...
49 NS
 
27.01.06
12:25
(44) Неужели можно сказать лаконичней чем в википедии?
ООП - это в общем случае, когда есть обеъкты, а у них в свою очередь - методы и свойства.
50 колодина
 
27.01.06
12:26
(44) вот теперь я поняла смысл ветки - в том, чтобы все признались, что они - чайники....
51 Муравей
 
27.01.06
12:26
(47) Мальчик не хами
Если ты не понял почему 2+2 из книжек
то тебе не поможет никто
52 Kstn12
 
27.01.06
12:27
Вместо конкретного алгоритма ты описываешь кучу объектов, потом пинаешь один под зад и они начинают сношаться друг с другом. Так и выполняется ООП прога.
53 NS
 
27.01.06
12:27
(+49) Вырожденный случай ООП - это процедурное программирование. Когда методы объектов мы подменяем процедурами над объектами. При этом объектом является передаваемый в процедуру (функцию) список параметров (возможно не все параметры входят в объект)
54 Joint
 
27.01.06
12:28
чё забыли что ли все? надо человеку объяснсть через собаку и ее хвост, и как хвост машет собакой
55 France
 
27.01.06
12:28
хню несем, господа..
56 Андрюха
 
27.01.06
12:28
Тут дело прежде всего - в парадигме программирования. Программист сам определяет какие типы данныъ использовать и какие операции над ними производить. По сути - то же процедурное программирование, только застрахованное от ошибок.
57 Kstn12
 
27.01.06
12:29
(54) Ну-ка ну-ка... Я не слышал..
58 ДенисЧ
 
27.01.06
12:29
(49) садись, три. ОБъекты не "имеют свойства и методы", они отвечают на посылаемые им сообщения.
59 NS
 
27.01.06
12:29
(56) Каким это образом ООП застраховано от ошибок????
60 Демогоргон
 
27.01.06
12:29
(56) и легче и понятнее
61 Kstn12
 
27.01.06
12:29
(56) Ни одно программирование не защищено от ошибок.
62 NS
 
27.01.06
12:30
(58) Что? Может они еще и дрочат втихаря?
63 Андрюха
 
27.01.06
12:30
(61) Я не сказал "защищено", я сказал "застраховано".
64 France
 
27.01.06
12:30
аффтару пять за ветку!!...
65 Joint
 
27.01.06
12:30
(57)да это были такие популярные иллюстрации
ВОТ ЕСТЬ СОБАКИ - собаки с..ка полезные животные, собаки это КЛАСС
66 ДенисЧ
 
27.01.06
12:31
(62) ну не знаю, не знаю. Это определение ООП, классическое, такаскать. А то, что из него сделали в с+/жаве - это уже на совести Страустрапа.
67 Демогоргон
 
27.01.06
12:31
(59) Есть функция УдалитьВсеСправочники и УдалитьВсеДокументы
В ООП - это Документ.УдалитьВсе и Справочник.УдалитьВсе ...
68 NS
 
27.01.06
12:31
(63) Хорошо, каким образом застраховано?
69 Joint
 
27.01.06
12:31
у собак есть метакласс - ЖЫВОТНЫЕ, но это потом...
70 Андрюха
 
27.01.06
12:32
Экземпляр класса "собака" невозможно сложить с экземпляром класса "книга", т.к. это разные классы - вот тебе и застрахованность.
71 France
 
27.01.06
12:32
(69)все мы едины в боге
72 NS
 
27.01.06
12:32
(70) А в процедурном программировании ты их сложить сможешь...
Круто!
73 Kstn12
 
27.01.06
12:32
(65) Не мне больше запомнились картинки из книги буча, кот по частям, как его видят бабушки и т.д.
74 Joint
 
27.01.06
12:33
но кроме сущности СОБАКИ есть конкретная реализация - СОБАКА, причем СОБАКА <> СОБАКА, это понятно на примере того что собака может быть СУКА а можеть быть КОБЕЛЬ
75 NS
 
27.01.06
12:33
(70) То есть как это нельзя сложить? Как раз можно!
76 Андрюха
 
27.01.06
12:33
(72) В процедурном - такая возможность не исключена, но породит ошибку.
77 France
 
27.01.06
12:33
собака+книга = андрюха
78 Андрюха
 
27.01.06
12:34
(77) :)))
79 Kstn12
 
27.01.06
12:34
(69) Почему метакласс?
80 Kstn12
 
27.01.06
12:36
В сиплюсах аналог метеклассов есть пространства имен (С++03) ИМХО.
81 ДенисЧ
 
27.01.06
12:36
(80) плохое ХО...
82 France
 
27.01.06
12:36
(80) что такое инхо?
83 Kstn12
 
27.01.06
12:37
(81) Обоснуй
84 Joint
 
27.01.06
12:37
тут мы в плотную подходим к понятию свойств СОБАКИ (как часть инкапсуляции) когда СОБАКА создается ей назначается допустим свойство СУКА, а второй объект создается со свойством КОБЕЛЬ, и хотя они относятся к классу СОБАКИ но при этом инкапсулируют разные свойства, у одного писька у другого эээ ну вы поняли.
85 ДенисЧ
 
27.01.06
12:38
(83) от обоснуя слышу :-)
Пространства имён не могут использовать для получения информации о классе и тме более для создания экземпляров класса. Они просто делят наборы классов на логические части.
86 France
 
27.01.06
12:40
(84) СУКА - это не свойств, это ЖИЗНЬ..
87 Андрюха
 
27.01.06
12:40
(75) Да, можно, например по ошибке к указателю на целое число 10 прибавить целое число 7, в надежде, что результат - целое число 17, но на самом деле ты получишь адрес числа 10 со смещением 7. Т.е. результат не вполне ожидаемый. А в ООП такой фокус не пройдет.
88 Kstn12
 
27.01.06
12:41
(85) Согласен. А какая инфа о классе может быть получена?
89 Андрюха
 
27.01.06
12:41
(75)+ Это в С++, в Delphi адресная арифметика не пролезет.
90 NS
 
27.01.06
12:42
(89) А это еще почему????
91 Андрюха
 
27.01.06
12:43
(90) Потом у что не пройдёт. Не веришь - попробуй. Выскочит ошибка. Но это не главное - это для пояснения примера.
92 ДенисЧ
 
27.01.06
12:44
(88) набор свойств, методов (ладно, будем использовать такой термин), области видимости, дерево подчинения...
93 NS
 
27.01.06
12:44
(91) И какая-же ошибка выскочит?
И что значит попробуй?
94 Андрюха
 
27.01.06
12:47
(93) Я про то, что компилятор C++ такой фокус схавает, а в Delphi вылезет ошибка: операция над несовместимыми типами данных.
95 Kstn12
 
27.01.06
12:48
(92) В ООП излишне ИМХО.
96 Kstn12
 
27.01.06
12:48
(95) по крайней мере необязательны (метаклассы).
97 NS
 
27.01.06
12:49
(94) При какой операции? Мы говорили об объединении классов (объектов)? или уже тема поменялась?
98 ДенисЧ
 
27.01.06
12:51
(95-96) Опять же плохое ХО :-) Посмотри на nybernate и сделай такое без метаклассов.
99 Андрюха
 
27.01.06
12:51
(97) Считаю дальнейшую беседу излишней. Мы говорим о разных вещах.
100 NS
 
27.01.06
12:51
(+97) Или об сложении?
То есть в процедурном программировании я смогу сложить два набора данных, или хотя бы две переменные с разным типом данных????
А в объектно ориентированном не смогу написать процедуру (функцию) сложения двух разных объектов? Или метод для одного объекта, чтоб прибавить ему объект другого типа?
101 ЛВП
 
27.01.06
12:51
100?
102 Kstn12
 
27.01.06
12:52
(101) А вот и нет.
103 Андрюха
 
27.01.06
12:54
(100) Я тебя понял, ты в своём вопросе абсолютно прав. Внутри описания методя можно нагородить всё что угодно.
104 aka MIK
 
27.01.06
12:54
Народ, вас ностальгия замучила? Институтские годы вспоминаете? Говорят вам - есть один базовый класс - бабло! Идите создавайте объекты данного класса путем кодирования кода своих процедур, не  занимайтесь демагогией...
105 АнтыАдын1Сник
 
27.01.06
13:01
Активность ветки на элементарнейший вопрос с 99% флудом в ней подтверждая Основную Теорему об АдынЭсниках.
106 quest
 
27.01.06
13:03
(105) Что за теорема?
107 Настойащие пацаны
 
27.01.06
13:06
не обсуждают высосанные из пальца секунду назад утверждения об ООП.

Они используют ООП при проектировании/разработке сложных систем и получают за это реальное бабло.

Они также не реагируют на возгласы: Нам не нужно ООП.
108 АнтыАдын1Сник
 
27.01.06
13:07
Все адынэсники - тупые.
109 Матрейя
 
27.01.06
13:07
110 quest
 
27.01.06
13:08
(0) Может ты лучше спросишь что тебе конкретно там непонятно? А то вопрос слишком общий.
111 Матрейя
 
27.01.06
13:10
110. Для начала расскажи, что такое функциональное программирование, что такое процедурное, что такое объектное. Чем они друг от друга отличаются, чем подобны. Простыми словами, с простыми примерами.
112 quest
 
27.01.06
13:16
может тебе проще начать читать листинги программ? Скачай документацию по С++, prolog'у lisp'у найди эквивалентные программы (на вскидку - объединение списков) и уже потом спрашивай. А то можно спросить чем различаются между собой танк, трактор и вездеход и потом визжать что все ламера них...на не разбираются в автомобилестроении
113 Salimbek
 
27.01.06
13:23
Народ, да выгоните. Матрена пообещал на рилнете написать статью, понятную любому ламеру, вот он и развел тут бодягу, шоб ему как ламеру все разжевали, а он потом аккуратненько все в свою статью перепишет и будет дальше понтоваться
З.Ы. ИМХО Матрена не ап_салютный ламер и что такое ООП - знает
114 quest
 
27.01.06
13:25
(113) на З.Ы. Но не особо понимает.
115 France
 
27.01.06
13:26
Матрейя разводит народ..
116 Математик
 
27.01.06
13:28
Вы тут фигней страдаете а у меня в ряд Лорана-Шварца в Axiom функция 2 часа не раскладывается.

Горит проект на 100 000$
117 у лю 427
 
27.01.06
13:35
якуею
118 fez
 
27.01.06
14:23
(113) Интересно, Света Семененко тоже статьи пишет и на них потом бабки рубит?
Если да, то элегантно... Всегда считал, что ее выступления - это чистый стеб.
119 Матрейя
 
27.01.06
15:28
up
120 France
 
27.01.06
15:29
(119) неугомонный какой... лучше бы моделью занялся.
121 Матрейя
 
27.01.06
15:30
120 просьба отвечать по существу темы.
122 ДенисЧ
 
27.01.06
15:38
В языках, называемых функциональными, хорошо поддерживаются нижеперечисленные подходы, а все прочие подходы поддерживаются плохо или не поддерживаются вовсе:

   * Функции - объекты первого класса. Т.е., все, что можно делать с "данными", можно делать и с функциями (вроде передачи функции другой функции в качестве параметра).
   * Использование рекурсии в качестве основной структуры контроля потока управления. В некоторых языках не существует иной конструкции цикла, кроме рекурсии.
   * Акцент на обработке списков (lists, отсюда название Lisp - LISt Processing). Списки с рекурсивным обходом подсписков часто используются в качестве замены циклов.
   * "Чистые" функциональные языки избегают побочных эффектов. Это исключает почти повсеместно распространенный в императивных языках подход, при котором одной и той же переменной последовательно присваиваются различные значения для отслеживания состояния программы.
   * FP не одобряет или совершенно запрещает утверждения (statements), используя вместо этого вычисление выражений (т.е. функций с аргументами). В предельном случае, одна программа есть одно выражение (плюс дополнительные определения).
   * FP акцентируется на том, что должно быть вычислено, а не как.
   * Большая часть FP использует функции "высокого порядка" (функции, оперирующие функциями, оперирующими функциями).

Защитники функционального программирования доказывают, что все эти характеристики приводят к более быстрой разработке более короткого и безошибочного кода. Более того, высокие теоретики от компьютерной науки, логики и математики находят, что процесс доказательства формальных свойств для функциональных языков и программ много проще, чем для императивных.
123 Матрейя
 
27.01.06
15:50
122 Наконец-то, хоть один постинг в тему.
124 ДенисЧ
 
27.01.06
15:53
(123) ты не поверишь. Этот постинг в тему нашелся за 40 секунд яндексения. ПРосто я знаю, куда нужно посмотреть.
125 Математик
 
27.01.06
15:54
На Лиспе написана Максима, в отличии от cистем на С, она не имеет утечек памяти.
126 А давайте
 
27.01.06
15:55
докажем правильность УПП! Причем строго!
127 Vozhd
 
27.01.06
15:56
(123) Посмотри что вот здесь пишут: http://rsdn.ru/forum/?group=philosophy
Там часто вопросы, подобные (0) возникают.
128 ДенисЧ
 
27.01.06
15:57
(126) этого нельзя сделать.
129 Матрейя
 
27.01.06
15:57
124 я это знал.
127. Спасибо, посмотрю. Чем больше матерала, тем лучше.