Автор Тема: Про необходимость for(each)  (Прочитано 53850 раз)

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: Про необходимость for(each)
« Ответ #105 : Февраль 13, 2012, 03:02:52 pm »
Peter Almazov, Вы постоянно ...
1. Да мне НАСРАТЬ на это ...
Вы, случайно, лица не перепутали? (Я, вообще-то, не к Вам обращался.)

DIzer

  • Гость
Re: Про необходимость for(each)
« Ответ #106 : Февраль 13, 2012, 09:38:41 pm »
Peter Almazov, Вы постоянно ...
1. Да мне НАСРАТЬ на это ...
Вы, случайно, лица не перепутали? (Я, вообще-то, не к Вам обращался.)
Да, Игорь - перепутал- извините, точнее  неправильно отредактировал, уточняю - мне по барабану (насрать), что думает об этом   Peter Almazov- то что я хотел сказать, я сказал. Насчет инвариантов -  я не вижу того, как они могут помочь человеку непонимающему задачу, правильно ее решить и или он не знает алгоритма ее решения (причем НАСРАТЬ новичок он или "заматеревший")- более того, утверждаю,  что подобные статейки и ритуалы проводимые вокруг них вредны для начинающих.
« Последнее редактирование: Февраль 13, 2012, 09:40:16 pm от DIzer »

igor

  • Sr. Member
  • ****
  • Сообщений: 438
    • Просмотр профиля
Re: Про необходимость for(each)
« Ответ #107 : Февраль 14, 2012, 03:15:19 am »
Да, Игорь - перепутал- извините, ...
:)

Собственно, по методологии обучения я ни с кем спорить не могу, потому что весьма далёк от этого.

DIzer

  • Гость
Re: Про необходимость for(each)
« Ответ #108 : Февраль 14, 2012, 05:44:12 am »

Собственно, по методологии обучения я ни с кем спорить не могу, потому что весьма далёк от этого.
C методологией обучения связана ровно одна последняя  строчка (имеющая форму утверждения) - все остальное  здравый смысл + понимание проблемы не более(на не менее).

Valery Solovey

  • Hero Member
  • *****
  • Сообщений: 509
    • Просмотр профиля
Re: Про необходимость for(each)
« Ответ #109 : Февраль 14, 2012, 01:27:51 pm »
У меня ощущение, что самой частой причиной рождения запутанного/сложного кода является отсутствие критической обратной связи при его написании.
Что-то в этом есть, да. Только здесь не так просто, как на схеме из курса электронных приборов. Там есть правильный вход, правильный выход и отрицательная обратная связь, стабилизирующая преобразование сигнала. В рограммировании (и много где ещё) выход нам не даётся априори. Мы должны понять, куда прийти.
Когда красивую картинку решения в голове пытаются отлить в код, а оно не отливается (становится совсем некрасивым и непонятным). Но вместо того, что сделать шаг назад и подвергнуть критике эту красивую картинку - берут кувалду и таки придают нужную форму изделию. А последующие итерации еще больше цементируют какашку, глядя на которую первоначальную красивую идею через какое-то время не вспомнит даже автор.
Во многом тут виновато поверхностное понимание в начале пути, того, что должно получиться в конце. А чем больше творчества вложено в конкретные детали работы, тем сложнее и (больней : ) проявлять объективость.
При использовании sort - ноль творчества. Поэтому поудалять или перетасовать не жалко. При отсутствии творчества для каждого встречного цикла - то же самое. Минус последнего варианта - больше времени на него уходит. Но он гибче (время от времени это полезно).

alexus

  • Гость
Re: Про необходимость for(each)
« Ответ #110 : Февраль 14, 2012, 05:32:33 pm »
У меня ощущение, что самой частой причиной рождения запутанного/сложного кода является отсутствие критической обратной связи при его написании.
Что-то в этом есть, да. Только здесь не так просто, как на схеме из курса электронных приборов. Там есть правильный вход, правильный выход и отрицательная обратная связь, стабилизирующая преобразование сигнала. В рограммировании (и много где ещё) выход нам не даётся априори. Мы должны понять, куда прийти.
Можно пояснить, что имелось ввиду, под неизвестностью выхода?.. Если мы пишем программу, то мы должны гарантировать при правильных исходных данных правильный результат.

Когда красивую картинку решения в голове пытаются отлить в код, а оно не отливается (становится совсем некрасивым и непонятным). Но вместо того, что сделать шаг назад и подвергнуть критике эту красивую картинку - берут кувалду и таки придают нужную форму изделию. А последующие итерации еще больше цементируют какашку, глядя на которую первоначальную красивую идею через какое-то время не вспомнит даже автор.
Во многом тут виновато поверхностное понимание в начале пути, того, что должно получиться в конце. А чем больше творчества вложено в конкретные детали работы, тем сложнее и (больней : ) проявлять объективость.
При использовании sort - ноль творчества. Поэтому поудалять или перетасовать не жалко. При отсутствии творчества для каждого встречного цикла - то же самое. Минус последнего варианта - больше времени на него уходит. Но он гибче (время от времени это полезно).
Почему "при использовании sort - ноль творчества"? Если конструктор собирает некоторое изделие (прибор, например) из стандартных компонентов/на стандартной элементной базе, то он перестаёт творить?.. Это напоминает разговор с И. Ермаковым, который тоже как-то одномерно понимает творчество. Если есть хороший/пригодный для данных условий элемент, то его не надо выбрасывать и пересоздавать заново, надо его использовать. Но при этом не надо навсегда закрывать тему разработки этих элементов.

DIzer

  • Гость
Re: Про необходимость for(each)
« Ответ #111 : Февраль 14, 2012, 05:45:30 pm »

Почему "при использовании sort - ноль творчества"? Если конструктор собирает некоторое изделие (прибор, например) из стандартных компонентов/на стандартной элементной базе, то он перестаёт творить?.. Это напоминает разговор с И. Ермаковым, который тоже как-то одномерно понимает творчество. Если есть хороший/пригодный для данных условий элемент, то его не надо выбрасывать и пересоздавать заново, надо его использовать. Но при этом не надо навсегда закрывать тему разработки этих элементов.
  А если (как в ДАННОМ случае) мы имеем всего 1 элемент (Sort, причем даже не выбор из некоторого множества стандартных реализаций) - неужели его использование (вызов процедуры) можно считать творчеством.

alexus

  • Гость
Re: Про необходимость for(each)
« Ответ #112 : Февраль 14, 2012, 05:55:48 pm »

Почему "при использовании sort - ноль творчества"? Если конструктор собирает некоторое изделие (прибор, например) из стандартных компонентов/на стандартной элементной базе, то он перестаёт творить?.. Это напоминает разговор с И. Ермаковым, который тоже как-то одномерно понимает творчество. Если есть хороший/пригодный для данных условий элемент, то его не надо выбрасывать и пересоздавать заново, надо его использовать. Но при этом не надо навсегда закрывать тему разработки этих элементов.
  А если (как в ДАННОМ случае) мы имеем всего 1 элемент (Sort, причем даже не выбор из некоторого множества стандартных реализаций) - неужели его использование (вызов процедуры) можно считать творчеством.
Творчество не в вызове sort, а в создании самой программы, которая где-то там внутри имеет вызов sort. Но вполне возможно, что тому, кто пишет программу, пришла в голову идея, как можно заменить стандартный sort... более эффективной конструкцией. Это тоже творчество.

DIzer

  • Гость
Re: Про необходимость for(each)
« Ответ #113 : Февраль 14, 2012, 06:02:49 pm »

Творчество не в вызове sort, а в создании самой программы, которая где-то там внутри имеет вызов sort. Но вполне возможно, что тому, кто пишет программу, пришла в голову идея, как можно заменить стандартный sort... более эффективной конструкцией. Это тоже творчество.
Я намекал на другое ,  есть определение творчества как определенного рода процесса (которое НЕ ДОЛЖНО завить от понятие СТАНДАРТНЫЙ), а есть использование (довольно общепринятое) этого слова в качестве  СУБЪЕКТИВНОЙ ЛИЧНОЙ ОЦЕНКИ.

alexus

  • Гость
Re: Про необходимость for(each)
« Ответ #114 : Февраль 14, 2012, 06:08:57 pm »

Творчество не в вызове sort, а в создании самой программы, которая где-то там внутри имеет вызов sort. Но вполне возможно, что тому, кто пишет программу, пришла в голову идея, как можно заменить стандартный sort... более эффективной конструкцией. Это тоже творчество.
Я намекал на другое ,  есть определение творчества как определенного рода процесса (которое НЕ ДОЛЖНО завить от понятие СТАНДАРТНЫЙ), а есть использование (довольно общепринятое) этого слова в качестве  СУБЪЕКТИВНОЙ ЛИЧНОЙ ОЦЕНКИ.
Чтобы не запутаться в определениях... лучше исходить из семантики... :) Творчество - творение - созидание, сотворённый - созданный... и т.д.

DIzer

  • Гость
Re: Про необходимость for(each)
« Ответ #115 : Февраль 14, 2012, 06:13:06 pm »

Чтобы не запутаться в определениях... лучше исходить из семантики... :) Творчество - творение - созидание, сотворённый - созданный... и т.д.
  :) Я предпочитаю исходить из НАМЕРЕНИЯ -дать определение, либо оценить что -либо, впрочем, каждому свое (С)  :D

adva

  • Sr. Member
  • ****
  • Сообщений: 385
    • Просмотр профиля
Re: Про необходимость for(each)
« Ответ #116 : Февраль 14, 2012, 06:27:47 pm »
Не в тему но хочется высказаться:

Это напоминает разговор с И. Ермаковым, который тоже как-то одномерно понимает творчество. Если есть хороший/пригодный для данных условий элемент, то его не надо выбрасывать и пересоздавать заново, надо его использовать. Но при этом не надо навсегда закрывать тему разработки этих элементов.
А у меня сложилось впечатление, что Ермаков понимает творчество почти также как Вы. Просто он пытается повысить уровень элементов для творчества. Попробую объяснить, что имею ввиду:

1й уровень: написание какой либо базовой конструкции (к примеру тот же sort). Когда делаешь это в первый раз, то в этом есть элемент творчества. Но после того как это уже отскакивает от зубов и наступает рутина / автоматизм / действия более в режиме подсознания (каждый раз делаешь, одинаково, т.к. уже все продумано до мелочей, и думать над данной конструкцией уже не требуется)

2й уровень: это когда из базовых конструкций производится по сути компоновка и между ними налаживаются связи (т.е. что-то уже похожее на определение "система" или около того). Здесь опять же на каком-то уровне возможен переход к автоматизму (те же паттерны программирования, как пример, если сразу видишь какой из них использовать)

3й уровень: что то еще ...

Так вот, Илья предлагает, максимально уйти от творчества на 1ом уровне. По крайней мере я так его идею понимаю.

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

alexus

  • Гость
Re: Про необходимость for(each)
« Ответ #117 : Февраль 14, 2012, 06:50:51 pm »
А у меня сложилось впечатление, что Ермаков понимает творчество почти также как Вы. Просто он пытается повысить уровень элементов для творчества. Попробую объяснить, что имею ввиду:

1й уровень: написание какой либо базовой конструкции (к примеру тот же sort). Когда делаешь это в первый раз, то в этом есть элемент творчества. Но после того как это уже отскакивает от зубов и наступает рутина / автоматизм / действия более в режиме подсознания (каждый раз делаешь, одинаково, т.к. уже все продумано до мелочей, и думать над данной конструкцией уже не требуется)
Вот здесь и не соглашаюсь ни с ним, ни с Вами. Рутина начинается тогда, кода в работу не вкладывают душу (перестают вкладывать, становится не интересно). Но это совсем не означает, что "тема исчерпана", исчерпано определённое видение темы, определённый взгляд на тему. Вполне возможно, что пройдёт какое-то время и... тема раскроется совсем иначе, и то, что казалось незыблемо правильным... вызовет усмешку... над собственной наивностью. Это не означает, что надо всю жизнь посвятить какой-то одной мелкой проблеме, это означает, что рутина - это проблема не темы, а человека. Большое раскрывается в малом... малое в большом... но это надо увидеть.

Так вот, Илья предлагает, максимально уйти от творчества на 1ом уровне. По крайней мере я так его идею понимаю.
И я его также понимаю и... не соглашаюсь с этим. Да, надо переключаться, надо строить разные уровни, но если душа просит... надо найти время и позаниматься старой замшелой задачкой...

И еще хочу сказать защиту Ильи, что его общение на форуме всегда максимально корректное. Ни одного негативного момента за долгое время пребывания на форуме я не видел, Вы первый кто воспринял его крайне негативно.
У нас с ним очень разное мировоззрение... И, если говорить о негативе, то негативно я воспринял действия администрации оберонкоре, его модераторов, куда, как я понимаю, относится и И. Ермаков. Ссылки на незнание и прочее меня не удовлетворяют... я хорошо знаю пословицу: "Ворон ворону глаз не выклюет". Никаких извинений на форуме от лица администрации высказано не было, значит это не является недоразумением, значит это политика, то есть, согласованные действия администрации. Никакого особого мнения И. Ермакова на форуме оберонкоре я тоже не видел... А Вы видели?.. Или Вы считаете действия той администрации правильными?..

Про и21 того же самого сказать не могу, но вполне могу и его понять, поэтому не отношусь негативно.
Это Ваше право понимать или не понимать... относится позитивно или негативно... но, и мне, уж, оставьте право иметь свою точку зрения. На этом, я надеюсь, данный вопрос вопрос закрыт!..

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Про необходимость for(each)
« Ответ #118 : Февраль 14, 2012, 06:51:30 pm »
Так вот, Илья предлагает, максимально уйти от творчества на 1ом уровне. По крайней мере я так его идею понимаю.
Но почему то он предлагает все это раз за разом писать руками. То есть один раз написать библиотеку алгоритмов (обобщенных) и постепенно ее пополнять, избавив человека таким образом от рутины, он не хочет. Считает что цена такого решения слишком велика.

Ну, то есть экскаватор слишком сложный и не надежный. Ну и вообще в гараже его не каждый повторить сможет, потому котлован будем копать по старинке - кирками и лопатами.

То же, кстати, и паттернов программирования касается. Паттерны начинаются там, где кончается выразительность языка.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Про необходимость for(each)
« Ответ #119 : Февраль 15, 2012, 05:21:35 am »
Языковые эксперименты очень дороги (требуют, фактически, оторваться от других задач и заняться реализацией языка...)
Эксперименты на уровне паттернов, создания каркасов и т.п. - доступны каждому.

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

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


« Последнее редактирование: Февраль 15, 2012, 05:23:31 am от Илья Ермаков »