Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Обсуждение статей
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2012, 08:27   #21
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Utkin
Цитата:
Это стандартная классификация функций и их параметров.
В с++ методы ещё назывались функциями-членами - и так их называл Страуструп, создатель языка. И никакой стандартной классификации не существует.

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

Цитата:
Кроме того, касательно C# классификация ref и out именно как атрибутов параметров от самого создателя языка.
И с помощью атрибута out осуществляется возврат результатов работы функции, о чём я и толкую.
the_deer_one вне форума Ответить с цитированием
Старый 04.10.2012, 08:56   #22
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
И с помощью атрибута out осуществляется возврат результатов работы функции, о чём я и толкую.
де факто да, но на практике, это лишь изменение переданной нам переменной, причем в отличие от результата функции, оно не независимо(результат же выполнения функции связан лишь с ней самой, ему условий не нужно).
так и возникли std::tuple, ибо и есть обход этого по сути, но ведь это лишь группировка нескольких значений внутри одного, результатов на практике больше не стало.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 04.10.2012, 11:10   #23
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Цитата:
И с помощью атрибута out осуществляется возврат результатов работы функции, о чём я и толкую.
Это изменение параметра (то есть фактически процедура). Функция способна создавать результат. То есть существуют функции без параметров. Это первое и второе - Вы можете смотреть на проблему как Вам заблагорассудится. Но Вики считает модификацию параметров побочными эффектами и я тоже придерживаюсь данного мнения.
Цитата:
В с++ методы ещё назывались функциями-членами - и так их называл Страуструп, создатель языка. И никакой стандартной классификации не существует.
Ух-х, Вы определитесь уже в конце концов. Методы это не функции. Зачем про них здесь писать? Чтобы запутать?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 04.10.2012 в 13:22.
Utkin вне форума Ответить с цитированием
Старый 05.10.2012, 08:47   #24
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Utkin
Цитата:
Но Вики считает модификацию параметров побочными эффектами и я тоже придерживаюсь данного мнения.
Значит это функция с побочными эффектами, а не чистая функция.

А фп здесь при том, что только в фп, есть такой принцип, что все функции должны быть чистыми. Но мы то говорим про оо язык, не?
the_deer_one вне форума Ответить с цитированием
Старый 05.10.2012, 09:11   #25
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Цитата:
А фп здесь при том, что только в фп, есть такой принцип, что все функции должны быть чистыми.
По-моему таких языков всего один-два. Если Вы заметили, то функциональных намного больше... Так что фп, здесь не при чем. Единственно они на классификации функций, параметров и результатов всегда акцентируют внимание, поскольку понимание этих концепций необходимо для работы с языком.
Цитата:
Значит это функция с побочными эффектами, а не чистая функция.
Речь-то не об этом . А о том, что функция возвращает один результат. И если даже в каком-нибудь языке она возвращает более результатов, то не функция это. Поэтому и именуют их кто во что горазд - метод, функция-член и т.д., так как не вписываются в какое-нибудь из свойств функции, а не от стремления быть оригинальным...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 05.10.2012 в 09:14.
Utkin вне форума Ответить с цитированием
Старый 05.10.2012, 09:20   #26
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

В википедии написано что функция метод, подпрограмма, короче всё это один чёрт, и по сути кусочек кода.
http://en.wikipedia.org/wiki/Function_(computer_science)
the_deer_one вне форума Ответить с цитированием
Старый 05.10.2012, 09:25   #27
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

С точки зрения ассемблера да. С точки зрения построения математических моделей с помощью программ там имеются принципиальные различия. Вишня и клубника это тоже все ягода . Как и арбуз.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 05.10.2012, 10:09   #28
MooNDeaR
В стагнации
Участник клуба
 
Аватар для MooNDeaR
 
Регистрация: 29.07.2011
Сообщений: 1,305
По умолчанию

Цитата:
Ибо чистый ООП я встречал только в Smalltalke. Для примера - там числа есть объекты и имеют свои методы. Ваши числа объекты?
Ну насколько мне известно, C# вроде как позиционирует себя как чисто ООП язык. Ибо да, числа там тоже объекты. Только структурные (т.е. типы значения, а не ссылочные).
Цитата:
пример в студию.
Вряд ли такое возможно. Можно конечно вернуть объект, содержащий много объектов, но по факту вернется один объект.
Цитата:
Это все что угодно, но только не функция. Функция всегда отождествляется только с математическим определением функции, а она всегда возвращает только одно значение.
Однако и тут есть загвоздка Например в MATLAB-е вполне допустимо, чтобы функция возвращала одно или несколько значений. Да там полно, если честно таких функций
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание.
MooNDeaR вне форума Ответить с цитированием
Старый 05.10.2012, 10:24   #29
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 18,136
По умолчанию

Цитата:
Ну насколько мне известно, C# вроде как позиционирует себя как чисто ООП язык. Ибо да, числа там тоже объекты. Только структурные (т.е. типы значения, а не ссылочные).
В Смоллтолке методы тоже объекты . if-then-else объект. Циклы есть объекты. А? Напомню еще что все объекты могут быть возвращены из функции (точнее аналога функции)... Плюс сплошная передача сообщений.
Цитата:
Например в MATLAB-е вполне допустимо, чтобы функция возвращала одно или несколько значений. Да там полно, если честно таких функций
Про матлаб ничего не могу сказать ибо никогда не соприкасался с ним.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 05.10.2012 в 10:43.
Utkin вне форума Ответить с цитированием
Старый 05.10.2012, 10:27   #30
Kostia
Участник клуба
 
Аватар для Kostia
 
Регистрация: 21.11.2007
Сообщений: 1,691
По умолчанию

Цитата:
Речь-то не об этом . А о том, что функция возвращает один результат. И если даже в каком-нибудь языке она возвращает более результатов, то не функция это. Поэтому и именуют их кто во что горазд - метод, функция-член и т.д.
Проще взять термин из математики и не париться.

Код:
auto f = [](double x1, double x2, double x3){return f1(x1, x2, x3), f2(x1, x2, x3), f3(x1, x2, x3);};
auto res = f(0.5, 6.0, 3.3);
writeln("x=", res[0], " y=", res[1], " z=", res[2]);
Цитата:
С точки зрения построения математических моделей с помощью программ там имеются принципиальные различия.
И вдобавок вся терминология зависит от выбранного подхода. Обзывание функции методом в функциональном программировании, тоже самое что обозвать метод функцией в ОО подходе.

unitpoint
Однозначно нужно больше строгости языку!
И Вы не написали как обстоят дела с интеграцией. В этом плане советую глянуть как обстоят дела у AngelScript, там все до безобразия просто и при этом мощно.
Kostia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор языка программирования dudeden Свободное общение 3 19.05.2012 22:17
Выбор языка программирования sechas Помощь студентам 6 28.03.2012 12:04
Что нового в последнем стандарте языка С++ Rusl92 Общие вопросы C/C++ 3 11.11.2009 17:01
Выбор языка программирования true_men_new Помощь студентам 1 12.01.2009 13:06