|
|
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Предположим, в сотнях программ на предприятии уже используется первая процедура hire_emp (с параметрами "имя сотрудника" и "номер сотрудника"). Пусть необходимо создать новые программы, требующие нового алгоритма (позволяющего задавать дополнительно значения параметров "дата приема на работу" и "зарплата"). Без перегрузки пришлось бы найти все вхождения существующей процедуры hire_emp и, соответственно, изменить код. За счет перегрузки новую версию с четырьмя параметрами можно добавить без проблем — новые приложения будут использовать ее, а существующие программы смогут по-прежнему использовать версию с двумя параметрами. Не проще ли создать процедуру с новым именем и использовать ее в новых программах? Приведите пожалуйста пример, в котором использование перегрузки, ну просто необходимо на 110%. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 14:09 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
alconНе проще ли создать процедуру с новым именем и использовать ее в новых программах? Нет, не проще. После того, как такая ситуация случится три-четыре раза, у проектной команды мозги расплавятся помнить, процедура с каким именем соответствует какой ситуации и каким параметрам. alconПриведите пожалуйста пример, в котором использование перегрузки, ну просто необходимо на 110%. Примера "необходимо" нет и быть не может. А вот примеров "удобно" - сколько угодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 15:11 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Представь, что у тебя есть 10 типов, все эти 10 типов необходимо приводить в строку String toString(один из 10 типов) {} Без перегрузки тебе бы пришлось писать 10 методов с разными именами и вызывать для каждого типа, а с перегрузкой у тебя будет 1 метод и 10 реализаций под каждый тип И тебе не нужно будет париться - вспоминать какой из 10 типов нужен для конкретного типа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 16:29 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Cpt. GrayПредставь, что у тебя есть 10 типов, все эти 10 типов необходимо приводить в строку String toString(один из 10 типов) {} Без перегрузки тебе бы пришлось писать 10 методов с разными именами и вызывать для каждого типа, а с перегрузкой у тебя будет 1 метод и 10 реализаций под каждый тип И тебе не нужно будет париться - вспоминать какой из 10 типов нужен для конкретного типаГлупости какие. От начала и до конца. Во первых, будь точен в словах: Без перегрузки ты будешь писать десять функций с разными именами и параметрами. С перегрузкой ты будешь писать десять функций с разными параметрами и общим именем. Во вторых, париться тоже не нужно. Ты всегда с легкостью вспомнишь что IntToString() это конвертация из int, а DoubleToString() это конвертация из double. И так для всех десяти типов. Так что жить без перегрузки можно с легкостью и без единой проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 17:40 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
White OwlТак что жить без перегрузки можно с легкостью и без единой проблемы. На этом месте я всегда рассказываю классическую историю. Когда-то, в самом начале своей работы стажёром в некоей конторе, я написал функцию, которая выполняла SQL-запрос и возвращала его результат. И назвал её Select. Потом я добавил к ней параметр, который указывал, какой connection использовать для выполнения запроса. В полном соответствии с ходом мысли топикстартера, я назвал её ESelect - мол, "развитая". И пожив так немного, я вдруг понял, что когда мне потребуется в следующий раз доработать функцию, я не смогу придумать для неё имени лучше, чем FSelect. Вот в этот момент я понял, зачем нужна перегрузка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 17:49 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
White Owlпариться тоже не нужно. Ты всегда с легкостью вспомнишь что IntToString() это конвертация из int, а DoubleToString() это конвертация из double. И так для всех десяти типов.а потом ты поменяешь тип у переменной с int на double и пойдёшь ходить по всей кодовой базе проекта, переименовывая все места, где ты эту переменную конвертишь в строку. "с легкостью и без единой проблемы." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 18:21 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Во многих языках жили и живут без перегрузки и никто не страдает. Хотя, конечно, вещь удобная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 18:42 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
В некоторых яызках где нет перегрузки, есть "необязательные" параметры. Тоже удобно, но правда менее производительнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 21:39 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
egorychWhite Owlпариться тоже не нужно. Ты всегда с легкостью вспомнишь что IntToString() это конвертация из int, а DoubleToString() это конвертация из double. И так для всех десяти типов.а потом ты поменяешь тип у переменной с int на double и пойдёшь ходить по всей кодовой базе проекта, переименовывая все места, где ты эту переменную конвертишь в строку. "с легкостью и без единой проблемы."Во первых, я так понимаю что ни про sed, ни про функции рефакторинга в виндообразных редакторах ты не слышал? Во вторых, а зачем менять тип переменной? Предположим уже есть большой проект (достаточно большой чтоб рефакторинг был посложнее). И в этом проекте есть переменная одного типа и тебе ВДРУГ захотелось сделать ее другого типа??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 22:28 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
softwarerWhite OwlТак что жить без перегрузки можно с легкостью и без единой проблемы. На этом месте я всегда рассказываю классическую историю. Когда-то, в самом начале своей работы стажёром в некоей конторе, я написал функцию, которая выполняла SQL-запрос и возвращала его результат. И назвал её Select. Потом я добавил к ней параметр, который указывал, какой connection использовать для выполнения запроса. В полном соответствии с ходом мысли топикстартера, я назвал её ESelect - мол, "развитая". И пожив так немного, я вдруг понял, что когда мне потребуется в следующий раз доработать функцию, я не смогу придумать для неё имени лучше, чем FSelect. Вот в этот момент я понял, зачем нужна перегрузка И? В чем смысл твоей истории? Написал одну функцию, написал ее улучшенную версию, испугался что в будущем напишешь еще и третью версию и решил сменить свой стиль. Да, забавная байка. Но как это сочетается с темой о перегрузке функций я не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2015, 22:35 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
alcon, Небходимости нет. Есть возможность. Это как сложносочиненное предложение, т.е. можно и без него, но иногда мысль донести с его помощью проще. Если функции семантически близки и имеют похожие сигнатуры, то почему бы и не обозвать их одинаково. Короче, главное, чтобы было понятно и просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 01:20 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
alconНе проще ли создать процедуру с новым именем и использовать ее в новых программах?А конструктор класса? У него имя поменять нельзя. Разрушил всю ООП парадигму :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 01:48 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
alconПриведите пожалуйста пример, в котором использование перегрузки, ну просто необходимо на 110%.Привел ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 02:01 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Relic HunterА конструктор класса? У него имя поменять нельзя. Ну, в нормальных языках можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 07:49 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Я много работаю с интерфейсами (front-end), в частности в WPF. Так как делать контрол с 0 просто глупо, а WPF для того и создан, чтоб мне не пришлось описывать поведение контролов с 0ля, я часто применяю перегрузку методов. Когда мне надо изменить поведение существующего контрола, внести изменения в компоновку на форме, добавить новой визуализации через рендеринг, а не через шаблоны, в моделях представлениях где тоже есть масса абстрактных и базовых классов это крайне полезно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 09:20 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Roman Mejtes Когда мне надо изменить поведение существующего контрола, внести изменения в компоновку на форме, добавить новой визуализации через рендеринг, а не через шаблоны, в моделях представлениях где тоже есть масса абстрактных и базовых классов это крайне полезно.Только это не перегрузка, а переопределение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 10:57 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
alconПриведите пожалуйста пример, в котором использование перегрузки, ну просто необходимо на 110%. 1. поддержка старых АПИ, когда основной код пишется внешними пользователями 2. при реализации устоявшихся формул (н-р, математических) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 11:45 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
White OwlВо первых, я так понимаю что ни про sed, ни про функции рефакторинга в виндообразных редакторах ты не слышал?спор ради спора. Ты же не можешь не понимать, что при наличии перегруженной функции тебе не потребуется ни sed, ни функция рефакторинга, просто поменял тип, и вуаля - всё работает, как должно. White OwlВо вторых, а зачем менять тип переменной? Предположим уже есть большой проект (достаточно большой чтоб рефакторинг был посложнее). И в этом проекте есть переменная одного типа и тебе ВДРУГ захотелось сделать ее другого типа???вдруг-не вдруг, причин может быть миллион, начиная от банальной ошибки кодирования и заканчивая уточнением знаний о предметной области. Не верю, что у тебя ни разу такого кейса не было. P.S. Я, конечно, понимаю, что раз в Си нет перегрузки, то она никому не нужна ))) Просто поверь, что её наличие бывает удобным. Не будь ретроградом ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 12:52 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
alconПерегрузка процедур и функций. Зачем? что бы программист не гадал "как же они назвали это?", а программировал интуитивно, близко к языку (английскому, например). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 12:59 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
softwarerSelect ... ESelect ...FSelec вот вот. А если программист не один, то скоро дойдём до XSelect_12_5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 13:00 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
alconНе проще ли создать процедуру с новым именем и использовать ее в новых программах? Приведите пожалуйста пример, в котором использование перегрузки, ну просто необходимо на 110%. Все лингвистические извращения возможности программирования, начиная вообще от создания компиляторов, хотят одного: решить задачу, набирая поменьше символов, но получая бОльшую ясность и надежность. Новые процедуры вида hire_emp_ex, hire_emp_new, hire_emp_from_date_income_and_salary_с_блекджеком_и_шлюхами могут затуманивать суть простейших алгоритмов и плодят сущности без необходимости. За такими маньяк Оккам с бритвой гонялся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 13:03 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Кстати, далеко не всегда перегрузка нужна и полезна, я считаю. Перегрузка даёт гибкость, но повышает неопределённость. Там где это нужно, в языках типа С++, это полезно. Там существуют сотни или тысячи функций и процедур, так что сочинять имена функций типа CreateAccountOnExistingUserWithoutAuthenticationAndSettingDefautProfile, да ещё так, чтобы не пересекалось с уже существующими функциями неинтересно. Другое дело, например, Oracle PL/SQL. Там функции и процедуры крупные, их мало, и выдумать имя новой функции достаточно просто. А недавно был случай, когда мне пришлось отказаться от перегрузки имени процедуры и сознательно изменить имя: перегруженная процедура вызывалась из клиента, который не мог передавать параметры типизированными, и передавал их в виде строк. А перегрузка была именно по типу параметров -- в одной процедуре параметры были строковые, в другой -- числовые. Я был бы непротив, если бы перегрузки в PL/SQL не было бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 16:14 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
MasterZivДругое дело, например, Oracle PL/SQL. Там функции и процедуры крупные, их мало, и выдумать имя новой функции достаточно просто. Его выдумать всегда просто, но точно так же не всегда удобно. "Крупные, их мало" - говорит лишь о чьём-то стиле программирования. Я, например, в своё время возился с приложением на Cи, в котором типовая функция состояла из нескольких тысяч строк и размещалась каждая в одноимённом файле (то есть, соответственно, имя функции могло быть не больше восьми символов). Но мне было бы глупо на этом основании говорить, что в Си мало функций, они крупные и выступать за восьмисимвольное ограничение идентификаторов. MasterZivА недавно был случай, когда мне пришлось отказаться от перегрузки имени процедуры и сознательно изменить имя: перегруженная процедура вызывалась из клиента, который не мог передавать параметры типизированными, и передавал их в виде строк. А перегрузка была именно по типу параметров -- в одной процедуре параметры были строковые, в другой -- числовые. Я был бы непротив, если бы перегрузки в PL/SQL не было бы. Классический случай того, что я называю однозвенным мышлением. "Проблема в кривом клиенте - поэтому давайте изменим сервер". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 16:22 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
softwarerКлассический случай того, что я называю однозвенным мышлением. "Проблема в кривом клиенте - поэтому давайте изменим сервер". и придумали тип variant :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 17:11 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
egorychWhite OwlВо вторых, а зачем менять тип переменной? Предположим уже есть большой проект (достаточно большой чтоб рефакторинг был посложнее). И в этом проекте есть переменная одного типа и тебе ВДРУГ захотелось сделать ее другого типа???вдруг-не вдруг, причин может быть миллион, начиная от банальной ошибки кодирования и заканчивая уточнением знаний о предметной области. Не верю, что у тебя ни разу такого кейса не было.Не было, ни разу. Ошибки кодирования обнаруживаются еще на этапе первой компиляции (кстати перегрузка функций спрячет эту ошибку и ты получишь уже неправильную логику работы). Уточнение знаний о предметной области может заставить поменять очень много вещей внутри программы. Перегрузка функций на этом фоне сможет спасти только доли процента от общей работы. egorychP.S. Я, конечно, понимаю, что раз в Си нет перегрузки, то она никому не нужна ))) Просто поверь, что её наличие бывает удобным. Не будь ретроградом ;)Я не спорю с тем что это бывает удобным. Но удобность и нужность это очень разные вещи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 17:29 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
White OwlУточнение знаний о предметной области может заставить поменять очень много вещей внутри программы. Перегрузка функций на этом фоне сможет спасти только доли процента от общей работы.и что из этого? Если пуля не серебряная, то мы ей стрелять не будем? Ты это хочешь сказать? White Owlудобность и нужность это очень разные вещи.Разверни мысль, пожалуйста, в контексте перегрузки. Если перегрузка есть, она удобная, но без неё можно обойтись, то не надо её использовать, потому что .... Что? Почему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 17:42 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
eNoseи придумали тип variant :)не торопи события, это - тема следующего топика из серии "зачем?" ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 17:42 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
MasterZivЯ был бы непротив, если бы перегрузки в PL/SQL не было бы.а я бы был не против, чтобы перегрузка появилась в T-SQL. И плевать, что там тоже "процедуры большие, и их немного" ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 17:46 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
egorychWhite OwlУточнение знаний о предметной области может заставить поменять очень много вещей внутри программы. Перегрузка функций на этом фоне сможет спасти только доли процента от общей работы.и что из этого? Если пуля не серебряная, то мы ей стрелять не будем? Ты это хочешь сказать?Я хочу сказать, что перегрузка функций не является волшебной палочкой для рефакторинга. egorychWhite Owlудобность и нужность это очень разные вещи.Разверни мысль, пожалуйста, в контексте перегрузки. Если перегрузка есть, она удобная, но без неё можно обойтись, то не надо её использовать, потому что .... Что? Почему?Кто и где говорил что ее не надо использовать??? Еще раз повторяю для читающих по диагонали: Перегрузка это частенько удобная вещь, но вовсе не обязательная. Вполне можно счастливо жить без нее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 20:08 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
White OwlЕще раз повторяю для читающих по диагоналипо какой, блин, диагонали? я понять не мог, против чего ты протестовал здесь. А оказалось, что ты исполнил капитана-очевидность. Ну ок, недопонимание устранено. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 22:01 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
White OwlЯ хочу сказать, что перегрузка функций не является волшебной палочкой для рефакторинга.как ты там говоришь: "кто и где говорил что перегрузка является волшебной палочкой для рефакторинга???". ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 22:05 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
egorychWhite OwlЯ хочу сказать, что перегрузка функций не является волшебной палочкой для рефакторинга.как ты там говоришь: "кто и где говорил что перегрузка является волшебной палочкой для рефакторинга???". ))) 17863935 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 22:29 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
alconПредположим, в сотнях программ на предприятии уже используется первая процедура hire_emp (с параметрами "имя сотрудника" и "номер сотрудника"). Пусть необходимо создать новые программы, требующие нового алгоритма (позволяющего задавать дополнительно значения параметров "дата приема на работу" и "зарплата"). Без перегрузки пришлось бы найти все вхождения существующей процедуры hire_emp и, соответственно, изменить код. За счет перегрузки новую версию с четырьмя параметрами можно добавить без проблем — новые приложения будут использовать ее, а существующие программы смогут по-прежнему использовать версию с двумя параметрами. Не проще ли создать процедуру с новым именем и использовать ее в новых программах? Приведите пожалуйста пример, в котором использование перегрузки, ну просто необходимо на 110%. 1. Не проще(в данном конкретном случае). Вы сами подробно описали нужный вам пример. 2. Полиморфизм присутствует в языке Си и во многих других языка программирования. В первую очередь, мы можем видеть его в перегрузке операторов, и приведении типов. То что вы называете "перегрузкой функций" есть часть полиморфизма, один из его видов(специальный). Является ли специальный полиморфизм необходимым? Читал несколько месяцев назад о том, что название "специальный" дано по причине того, что данный вид полиморфизма не являлся необходимым с точки зрения фундаментальности системы типов, однако данное название было дано около 50 лет назад, и позднее были какие-то изменения, вследствие которых данный вид полиморфизма оказался необходимым для фундаментальности. Слишком глубоко не вникал, но ответ на ваш вопрос именно в этом, а не в контексте конкретных примеров(маловероятно что вы найдёте контрпример, который покажет что без специального полиморфизма нельзя, проблема безусловно глубже). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 02:47 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Перегрузка нужна для повышения читабельности кода. Если читабельность не нужна, то перегрузка тоже не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 03:13 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Анатолий, практические плюсы понятны. Но разве в данном случае на первое место не должны выходить фундаментальные вопросы(о которых я сказал выше) нежели практическое применение ? В противном случае, обсуждать тут просто нечего. Практические плюсы и минусы очевидны, и описаны в широко доступной литературе ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 03:32 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Программирование - это не наука, а инженерная специальность. Там про практику )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 03:39 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Anatoly MoskovskySashaMercury, Программирование - это не наука, а инженерная специальность. Там про практику )) Анатолий, я в 99,9 процентах с вами согласен и слушаю ваше мнение, но в данном случае я придерживаюсь точки зрения Дональда Кнута и не могу согласиться с такой категоричной трактовкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 03:52 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
SashaMercury, Кнут считает программирование математикой. А оно гораздо шире. Отличаются примерно как физика и автомобилестроение. В основе действительно лежат фундаментальные научные знания, но целом это инженерия - проектирование и технологии. Поэтому по книгам Кнута невозможно научиться программировать. Там не описаны технологии. Т.е. конкретные приемы. Такие как например перегрузка функций )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 05:09 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
Анатолий, вы занимаете безпроигрышную позицию, безусловно в чём-то вы правы, а в чём-то не договариваете. Но если я продолжу эту дискуссию(используя качественные аргументы) мы начнём заниматься философией, а мне уже скоро спать. Техника программирования должна быть у любого программиста(что вы и говорите), как и знания алгоритмов и математики(что говорю я) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 16:03 |
|
||
|
Перегрузка процедур и функций. Зачем?
|
|||
|---|---|---|---|
|
#18+
softwarer, я знаю, ты умный, да... softwarerMasterZivДругое дело, например, Oracle PL/SQL. Там функции и процедуры крупные, их мало, и выдумать имя новой функции достаточно просто. Его выдумать всегда просто, но точно так же не всегда удобно. "Крупные, их мало" - говорит лишь о чьём-то стиле программирования. Стиль программирования немножко диктуется языком программирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 18:16 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1340979]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
178ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
93ms |
get tp. blocked users: |
2ms |
| others: | 201ms |
| total: | 518ms |

| 0 / 0 |
