Модераторы: Partizan, gambit

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> С# | Различия (метод-функция) 
V
    Опции темы
Skynin
Дата 11.12.2009, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

Репутация: 0
Всего: 10



Цитата

Skynin, как вы ловко превратили мое "почти не читаю" в "не читаю" и косвенно обозвали идиотом.

Это была попытка подстроиться под Ваш стиль выдергивания.

Вот мои слова:
В C# нет функций. Хотя их можно эмулировать с помощью статических методов. 
Тема -  C# | Delegates 
Там же привел 4ре важных, ИМХО, отличия между методом и функцией.

В этой теме: Методы в ООП - названы отдельным словом чтобы подчеркнуть концепцию что - "передача сообщения объекту" и т.д.

Если Вы, не смогши понять что я противник употребления термина функция вместо метод - начали мне приписывать обратное мнение, то что ж, поговорим в Вашем стиле.
Что ж Ваш возмущает?

Цитата

Для этого явно надо 20-летний стаж и знание форта.

Форта не знаю. Стаж меньше. ЯП в профессиональной деятельности использовал штук 5. Заочно пробовал еще с пяток.
А форт я приплел в адрес некоего абстрактного преподавателя, опытного программиста.
Не прочли, мне скопипастить?

Цитата

В последнее время ни разу не встречал книги про "функции и процедуры в C#
...
Какой смысл читать "историю философии", если уже давно прочитал и понял Канта

Вы не читали моих постов. Что мне ответить на Ваши выпады?
Или я задел гордость форумного божка и всезнайки?
Хорошо, не буду тогда писать, на RSDN прекратил по этой причине, там есть пяток, которые мнят о себе черте-что и не утруждаются читать что им пишут.

Добавлено @ 19:29
Цитата

Ну не знаю, взял я банду четырёх, силился-силился и ничё толком так и не понял

Из свежего - Крэг Ларман. Применение UML и шаблонов проектирования. 2-е издание.
Примеры там на Java, но подход к преподаванию шаблонов для новичков, ИМХО, удачен.

Это сообщение отредактировал(а) Skynin - 11.12.2009, 19:31
PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
diadiavova
Дата 11.12.2009, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



Цитата(ДобренькийПапаша @  11.12.2009,  15:37 Найти цитируемый пост)
Понятно. У нас в универе преподаёт программер с 20-ти летним стажем. Он сказал, что штудировать шаблоны - идиотизм. (Я с ним согласен, хотя и не очень доверяю ему).

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

Цитата(PashaPash @  11.12.2009,  17:14 Найти цитируемый пост)
Общепринятое понятие "функция" может означать вообще все что угодно.

Не всё, но многое smile 
Цитата(PashaPash @  11.12.2009,  17:14 Найти цитируемый пост)
Если в книге написано "метод должен быть функцией", то вообще неизвестно что автор под "функцией" подразумевал.

Тебе это не известно, потому что ты всё сверяешь со спецификацией smile , а я как раз-таки и говорю, что надо смотреть немного шире на вещи, для того, чтобы было известно. Если автор автор пользуется ненравящейся теб терминологией, то это не значит, что его книга бесполезна. А стало быть будет совсем неплохо если всё-таки будет известно, что он имел в виду. Я изначально только об этом и говорил.

Цитата(PashaPash @  11.12.2009,  17:14 Найти цитируемый пост)
Разделение на фунции и процедуры слишком нечетко (если не вспоминать про VB), чтобы про него вообще вспоминать.
Нечётко, но не слишком. Если разделение есть, то он ведётся по принципу "возвращает значение или нет", правда справедливости ради надо сказать, что функция - тоже процедура, так что иногда этого разделения может и не быть  smile 

Цитата(PashaPash @  11.12.2009,  17:14 Найти цитируемый пост)
Лямбды не обязательно должны быть преобразованы в делегат "чтобы исполниться". Посмотри, например, fluentnhibernate.org. Там лямбды использутся как равнозначная замена xml-файла. 

Ну вообще-то действия могут быть описаны и структурой данных(принцип эквивалентности алгоритмов и данных). Формат XML вполне подходит для создания на его базе полноценного языка программирования, и не функционального(как xslt например), а вообще любого.
Цитата(PashaPash @  11.12.2009,  17:14 Найти цитируемый пост)
Т.е. в xml-ный маппинг вроде не функция

Это ещё почему? smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
PashaPash
Дата 11.12.2009, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Цитата(Skynin @  11.12.2009,  19:27 Найти цитируемый пост)

Это была попытка подстроиться под Ваш стиль выдергивания.

Я вроде никого идиотом не обзвывал, даже косвенно.

Цитата(Skynin @  11.12.2009,  19:27 Найти цитируемый пост)
В C# нет функций. Хотя их можно эмулировать с помощью статических методов. 
Тема -  C# | Delegates 
Там же привел 4ре важных, ИМХО, отличия между методом и функцией.

В этой теме: Методы в ООП - названы отдельным словом чтобы подчеркнуть концепцию что - "передача сообщения объекту" и т.д.

Если Вы, не смогши понять что я противник употребления термина функция вместо метод - начали мне приписывать обратное мнение, то что ж, поговорим в Вашем стиле.
Что ж Ваш возмущает?

Цитата(Skynin @  11.12.2009,  19:27 Найти цитируемый пост)

Вы не читали моих постов. Что мне ответить на Ваши выпады?
Или я задел гордость форумного божка и всезнайки?
Хорошо, не буду тогда писать, на RSDN прекратил по этой причине, там есть пяток, которые мнят о себе черте-что и не утруждаются читать что им пишут.

Форум - не ваш личный блог с кучей поклонников. В соседнем топике вы писали автору и участникам соседнего топика. По вашему я телепат, или ваш фанат, который читает вообще все ваши посты по всему форуму? Из постов в этом топике вообще незаметно что вы "противник употребления термина функция вместо метод". В этом топике вы даже не прямые вопросы не отвечаете. Заметно только что вы считаете себя гуру с опытом, которого незаслуженно обижают местные божки.

Я вас обидел тем, что не прочитал ваш пост в соседнем топике? На RSDN ваши посты не читали? Жаль вас разочаровывать, но - тут ваши (и мои) посты тоже почти никто не читает. Перестали писать на RSDN? Судя по количеству сообщений, вы даже не начали писать, так, оставили пару следов. 

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

В С# нет функций? Так тут же прибегает diadiavova и начинает утверждать что они в VB есть. И в ненавистных вам доках по C# слово функция употребляется. Но вы ж документацию не читаете, она мешает вам писать "Онегина".


--------------------
PM MAIL WWW   Вверх
PashaPash
Дата 11.12.2009, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Цитата(diadiavova @  11.12.2009,  21:16 Найти цитируемый пост)

Не всё, но многое smile 

Да практически все. Я ж выше уже написал - если xml-ный маппинг - функция, то и аттрибуты маппинга в коде - функция. И вообще любой кусок исходного текста, даже "," - функция. Метаданные - это метафункция. По понятиям, если посмотреть на них шире. Понятия резиновые, их можно на что угодно растянуть smile 

Цитата(diadiavova @  11.12.2009,  21:16 Найти цитируемый пост)
Тебе это не известно, потому что ты всё сверяешь со спецификацией smile , а я как раз-таки и говорю, что надо смотреть немного шире на вещи, для того, чтобы было известно. Если автор автор пользуется ненравящейся теб терминологией, то это не значит, что его книга бесполезна. А стало быть будет совсем неплохо если всё-таки будет известно, что он имел в виду. Я изначально только об этом и говорил.

То, что имел ввиду автор курсов интуита понятно из контекста. Он не использовал "понятие", он употребил шорткат. В стиле "метод, возвращающий значение (далее по тексту - функция). В конкретной статье, с конкретным пояснением - вполне полезно. При условии что слово "функция" встречается дальше по тексту. 

Заморочка в том, что даже в спеке, которую никто не читает, разница между "функцией" и "процедурой" упоминается только в одном месте. Точно в том, в котором про функции вспомнил автор с интуита.

Во всех остальных смыслах "функции и процедуры" в C# ничем не отличаются. Нет смысла вводить шорткат, если он больше вообще нигде не используется. 
"Должен быть функцией" в статье/книге/посте гарантированно упоминается в одном месте. Тогда это хорошая статья/книга. Но в этом случае шорткат не нужен. 
Если в двух - то автор два раза рассказал об одном и том же разными словами, и это неправильная статья/книга. 

Кстати, а ты, diadiavova, прочел все посты Skynin-а? А то вдруг я тут один такой.


--------------------
PM MAIL WWW   Вверх
diadiavova
Дата 11.12.2009, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



Цитата(PashaPash @  11.12.2009,  21:48 Найти цитируемый пост)
Да практически все. Я ж выше уже написал - если xml-ный маппинг - функция, то и аттрибуты маппинга в коде - функция. И вообще любой кусок исходного текста, даже "," - функция. Метаданные - это метафункция. По понятиям, если посмотреть на них шире. Понятия резиновые, их можно на что угодно растянуть

Ну вообще-то xslt - везде называют функциональнымм языком программирования, а шаблоны(templates) стало быть - функции. Так что я ничего нового не придумал.
Цитата(PashaPash @  11.12.2009,  21:48 Найти цитируемый пост)
То, что имел ввиду автор курсов интуита понятно из контекста. Он не использовал "понятие", он употребил шорткат. В стиле "метод, возвращающий значение (далее по тексту - функция). В конкретной статье, с конкретным пояснением - вполне полезно. При условии что слово "функция" встречается дальше по тексту.

Тебе понятно не потому что из контекста, а потому, что знания твои всё-таки немного выходят за пределы спецификации языка. Но вот почему ты другим советуешь ей ограничиться -  непонятно.
Цитата(PashaPash @  11.12.2009,  21:48 Найти цитируемый пост)
Нет смысла вводить шорткат, если он больше вообще нигде не используется. 

Ну эт конечно, только он то используется.
Цитата(PashaPash @  11.12.2009,  21:48 Найти цитируемый пост)
Кстати, а ты, diadiavova, прочел все посты Skynin-а? А то вдруг я тут один такой. 

Я думаю, что вы уже начали переходить на личности и ни к чему хорошему это привести не может.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
ДобренькийПапаша
Дата 11.12.2009, 22:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 3
Всего: 7



Цитата(PashaPash @ 11.12.2009,  21:48)
То, что имел ввиду автор курсов интуита понятно из контекста. 

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

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


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
PashaPash
Дата 11.12.2009, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Цитата(diadiavova @  11.12.2009,  22:01 Найти цитируемый пост)
Ну вообще-то xslt - везде называют функциональнымм языком программирования, а шаблоны(templates) стало быть - функции. Так что я ничего нового не придумал.

C xslt - понятно. Конкретно в nhibernate (или вообще в любом другом подобном маппере) конкретный xml-файл - это фукнция? Т.е. понятие функции можно растянуть до "да", но я сомневаюсь что оно того стоит.

Цитата(diadiavova @  11.12.2009,  22:01 Найти цитируемый пост)
Тебе понятно не потому что из контекста, а потому, что знания твои всё-таки немного выходят за пределы спецификации языка. Но вот почему ты другим советуешь ей ограничиться -  непонятно.

Цитата(diadiavova @  11.12.2009,  22:01 Найти цитируемый пост)

Ну эт конечно, только он то используется.

Не могу придумать пример, где ж еще можно использовать понятие функции как "не-void" метода. 
Цитата(diadiavova @  11.12.2009,  22:01 Найти цитируемый пост)

Я думаю, что вы уже начали переходить на личности и ни к чему хорошему это привести не может. 

А если серьезно? Ты прочитал хотя бы соседний топик про делегаты?

Добавлено через 2 минуты и 46 секунд
ДобренькийПапаша, о, кстати, хорошая идея. Будем называть статические методы без сайд-эффектов "культурными". Наверняка можно найти нужное определение. ;)


--------------------
PM MAIL WWW   Вверх
diadiavova
Дата 11.12.2009, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 18
Всего: 142



Цитата(PashaPash @  11.12.2009,  22:17 Найти цитируемый пост)
.е. понятие функции можно растянуть до "да", но я сомневаюсь что оно того стоит.

В конкретных ситуациях иногда стоит, но тут ведь вопрос не о том, чтобы растянуть, а скорее о том, что он и так уже растянут. По крайней мере зафиксировать это обстоятельство надо.
Цитата(PashaPash @  11.12.2009,  22:17 Найти цитируемый пост)
А если серьезно? Ты прочитал хотя бы соседний топик про делегаты?

Я читаю только те топики, названия которых меня заинтересовали. Торчу не только в профразделах, а в последнее время и не столько в них, поэтому всего не прочитаешь. Топик про делегаты не читал.

Добавлено через 28 секунд
Вроде бы не читал smile 


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
PashaPash
Дата 11.12.2009, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Цитата(diadiavova @  11.12.2009,  22:23 Найти цитируемый пост)
В конкретных ситуациях иногда стоит, но тут ведь вопрос не о том, чтобы растянуть, а скорее о том, что он и так уже растянут. По крайней мере зафиксировать это обстоятельство надо.

Проще уж зафиксировать путем удаления и автозамены "функция" на "метод".
Цитата(diadiavova @  11.12.2009,  22:23 Найти цитируемый пост)

Вроде бы не читал smile  

Мнишь о себе черте-что и не утруждаешься читать что тебе пишут! Сорри, не удержался.



--------------------
PM MAIL WWW   Вверх
Veon
Дата 12.12.2009, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.2.2007

Репутация: нет
Всего: нет



Цитата(Skynin @  10.12.2009,  19:02 Найти цитируемый пост)
Цитата

Вот поэтому я книг почти не читаю

Это все объясняет  smile
Винигрет из лямбд, компиляции и Expression

В рассуждения о видах рифмы в стихах приплести качество типографской краски и бумаги.


Цитата(Skynin @  11.12.2009,  09:38 Найти цитируемый пост)
"Кто книжек не читает, тот тратит время зря" на зубрежку спецификаций. Максимум - сможет работать вместо компилятора, отмечая ошибки в коде smile

Спецификация ЯП - это справочник по грамматике. О падежах, временах и порядке слов в предложении. "Онегина" такие справочники писать не научат.


Цитата(Skynin @  11.12.2009,  13:44 Найти цитируемый пост)
Дело хозяйское, хошь учись, хошь не учись и коси под программиста с 20летним стажем.
У меня - 17 лет. ИМХО, идиотизм - это "книг не читать", опыта не иметь, но вести себя как многоопытный


Хм, пойду-ка я прочту штук 10 книг "XXX для чайников" ...
PM   Вверх
ДобренькийПапаша
Дата 12.12.2009, 09:21 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 14.1.2006
Где: г.Москва

Репутация: 3
Всего: 7



Основной спор идёт из-за определений трёх понятий: метод, функция, процедура. В споре участвуют трое, Skynin, PashaPash, DiadiaVova.
Для того, чтобы спор закончился необходим компромисс. Соответственно предлагаю заключить Беловежское соглашение. Одно определение достаётся Skynin, другое PashaPash и третье DiadiaVova. smile 


--------------------
Меня зовут Себастьян Парейра, торговец чёрным деревом.
PM MAIL   Вверх
PashaPash
Дата 12.12.2009, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 9
Всего: 49



Определения поделены, тема закрыта.


--------------------
PM MAIL WWW   Вверх
Закрытая темаСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0896 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.