Re[19]: MIT переходи со схемы на...
От: Programmierer AG  
Дата: 23.11.06 17:02
Оценка:
FR wrote:

> угу: ...

Издеваешься? Я ж не зря ссылку привел, я с проблемой ознакомился.
gleb@gleb:~> cat bye-bye.py
def foo():
    x = 1
    def inner():
        x += 1
    inner()
    print x

foo()
gleb@gleb:~> python bye-bye.py
Traceback (most recent call last):
  File "bye-bye.py", line 8, in ?
    foo()
  File "bye-bye.py", line 5, in foo
    inner()
  File "bye-bye.py", line 4, in inner
    x += 1
UnboundLocalError: local variable 'x' referenced before assignment

А так? Что-то мне подсказывает, что global не поможет
Posted via RSDN NNTP Server 2.0
Re[22]: MIT переходи со схемы на...
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.11.06 17:02
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

E>>Если мне достается на сопровождение так написанный код, я что должен делать?


PI>тут ты загнался, признай — потому что на сопровождение приходит сколь угодно запутанный код на любом языке (хоть с++, хоть васик)


Нет, дело в том, что со свободным синтаксисом даже качественный код со временем становится плохо воспринимаемым.

E>>Угу, в распечатке.

PI>никогда не печатал проги... хотя попробую, может это прикольно...

А примеры в документации и книгах?

PI>сдаюсь в общем, что там в результате?


Это функция возвращается, а не список. Со скобками -- список.


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[17]: MIT переходи со схемы на...
От: Андрей Хропов Россия  
Дата: 23.11.06 17:05
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Здравствуйте, PhantomIvan, Вы писали:


PI>> а можешь выписать что есть в Скале, чего нет в Немерле?


VD>Можно. Но туташняя публика во сновном не поймет того о чем идет речь.


VD>В скале есть две вещи которые мощьнее Немерла.

VD>1. Более общая реализация алгеброических типов.
VD>2. Не явные замыкания.
3. traits
4. actors
5. try-блоки — это выражения
(это мне нравится (удобно для обработки неверного ввода):
val i =  try { Integer.parseInt(some_string); } 
         catch { case _ => 1 };

)

А вот насчет п.1 — не уверен, что хорошо.
Т.к. неограниченное количество case class ов не позволяет выявлять когда в pattern matching не были обработаны все случаи.
Компиляторы Haskell и Nemerle в этом случае выдают предупреждения, а Scala только в рантайме выбросит исключение MatchError.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[26]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 23.11.06 17:10
Оценка:
PI>>ну да, Влад не относится к "слепо верующим" — тогда кого ты имел в виду?

E>Как раз Влад типичный "слепо верующий" об нем и речь.


ну, тут спорить не о чем даже — ты ошибаешься, даже не знаю почему так явно ошибаешься
впрочем, мне по этому поводу все равно

E>Угу-угу. Я, к примеру, занимаюсь сопровождением продуктов, которые стартовали еще в 2001-м/2002-м годах. А на местах моей предыдущей работы еще продолжают развивать начатые еще в 99-м и 2000-м году проекты. Практически на тех же технологиях. Так что самые умные берут новую технологию и линяют в другое место. А кто-то их наработки потом сопровождает. А политика "после нас хоть потоп", уж так получилось, не по мне.


такая уж судьба наверно... я из этих:
самые умные берут новую технологию и линяют в другое место

но это не значит, что я плохо програмил на старых технологиях
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[22]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 23.11.06 17:10
Оценка: :)
FR>>>Тогда зачем ты предлагаешь мне его использовать для работы?
FR>>>А для нерабочих условий (есть и у меня такое хобби) уже образовалась очередь из языков которые было бы интересно посмотреть — поковырять, но времени не хватает а для вас похоже свет клином сошелся на одном языке.

PI>>"мы" вообще-то как минимум, 2-3 языка использовали профессионально, и ещё пяток "пробовали"

PI>>а некоторые из "нас" пяток профессионально и еще десяток — "так"

PI>>так что вряд-ли для "нас" свет клином где-то случайно сошелся


FR>Значит вы в это вас не входите


от теперь уже это нас-вас-нас-вас окончательно запуталось
я вообще-то немерлистов поименно могу, а кто захочет тот напишет, на чем он програмил профессионально, и что пробовал "так"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[23]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 23.11.06 17:20
Оценка:
E>>>Если мне достается на сопровождение так написанный код, я что должен делать?

PI>>тут ты загнался, признай — потому что на сопровождение приходит сколь угодно запутанный код на любом языке (хоть с++, хоть васик)


E>Нет, дело в том, что со свободным синтаксисом даже качественный код со временем становится плохо воспринимаемым.


а с "несвободным" синтаксисом он как будто не становится плохо воспринимаемым
это типичное применение закона "повышения энтропии" в любом проекте на любом языке, описанное ещё у Брукса (опять же), неизбежное при сопровождении

E>>>Угу, в распечатке.

PI>>никогда не печатал проги... хотя попробую, может это прикольно...

E>А примеры в документации и книгах?


ну, давно не читал бумажные книги
как из них копипаст примеров делать, чтобы по-быстрячку проверить?

PI>>сдаюсь в общем, что там в результате?


E>Это функция возвращается, а не список. Со скобками -- список.


о, и точно, что-то я перемудрил... век живи — век учись... но зачем ты название функции на экране печатаешь? тем более стандартной функции... это чтобы запутать китайскую разведку?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[18]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 23.11.06 17:35
Оценка:
VD>>В скале есть две вещи которые мощьнее Немерла.
VD>>1. Более общая реализация алгеброических типов.

а кинуть пару примеров можешь?

VD>>2. Не явные замыкания.


и от это прокомментировать?

АХ>3. traits


пришла пора, кажись, их реализовать (поговорили поговорили вроде на гугле об этом, но нифига кода никто так и не сделал)

АХ>4. actors


тут я вообще не в теме, буду изучать как время появится
а пока для ламаков кто-нибудь может сказать что это такое? в 2 словах
и докупы, что такое chords ?

АХ>5. try-блоки — это выражения

АХ>(это мне нравится (удобно для обработки неверного ввода):
АХ>
АХ>val i =  try { Integer.parseInt(some_string); } 
АХ>         catch { case _ => 1 };
АХ>

АХ>)

дык вроде удобно...
проверил — ты ошибаешься (luckily)
для этого быренько перелабал уже запощеный снипет
Автор: PhantomIvan
Дата: 22.11.06

и откомпилировал — ол райт:
    def found = foundMultiple.FoldLeft(foundMultiple.Head, (ring, ring') =>
    {
        def warning = "Find Usages should produce the same results, disregarding on which usage a user places a cursor";
        def coincide = 
            try
            {
                FoldLeft2(ring, ring', true, (a, b, coincideToTheLeft) =>
                    if (coincideToTheLeft) a.Location.CompareLines(b.Location) == 0 else false)
            }
            catch
            {
                | _ => false
            };
        when (stopAfterFirstFailedTest)
            Assert.IsTrue(coincide, warning);
        ring
    });


АХ>А вот насчет п.1 — не уверен, что хорошо.

пока не в курсе че там в п.1 на самом деле,
АХ>Т.к. неограниченное количество case class ов не позволяет выявлять когда в pattern matching не были обработаны все случаи.
но это — сакс по-любому, учитывая саму природу вариантов (как часто расширяемых структур данных)
АХ>Компиляторы Haskell и Nemerle в этом случае выдают предупреждения, а Scala только в рантайме выбросит исключение MatchError.
-1 скале, причем такой, жырный -1... ты уверен в сказанном? (меня сомнения берут, давай подробней)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[19]: от модератора
От: IT Россия linq2db.com
Дата: 23.11.06 17:39
Оценка:
Здравствуйте, eao197, Вы писали:

E>Не тебе мне указывать, чем заниматься.


Предупреждение за хамство.
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[20]: MIT переходи со схемы на...
От: FR  
Дата: 23.11.06 17:40
Оценка:
Здравствуйте, Programmierer AG, Вы писали:

PA>FR wrote:


>> угу: ...

PA>Издеваешься? Я ж не зря ссылку привел, я с проблемой ознакомился.

Так кто на ссылку смотрит, если по приведенному коду сразу видно как исправить ошибку
Спасибо про данную проблему не слышал, притом замыканиями пользуюсь достаточно активно, но почему-то так сложилось что в чисто функциональном стиле, для котором данная проблема не существенна.
В принципе по ссылке описано как решить, но некрасиво. Покрасивше можно сделать как в лиспе функцию set которая пройдется по фреймам функций (через inspect) и присвоит первой встревшейся переменной с данным именем нужное значение.
Re[23]: MIT переходи со схемы на...
От: FR  
Дата: 23.11.06 17:40
Оценка: +1
Здравствуйте, PhantomIvan, Вы писали:


FR>>Значит вы в это вас не входите


PI>от теперь уже это нас-вас-нас-вас окончательно запуталось

PI>я вообще-то немерлистов поименно могу, а кто захочет тот напишет, на чем он програмил профессионально, и что пробовал "так"

Это не важно, важно то что среди вас есть несколько для которых свет именно клином сошелся, из-за них любая тема (например эта или про D) превращается в Nemerle vs ...
Я уже предлагал тут радикальное решение переименовать "философию программирования" в "оду немерле", всех недовольных забанить, и будет вообще классно
Re[24]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 23.11.06 18:05
Оценка: +1 :)
FR>Это не важно, важно то что среди вас есть несколько для которых свет именно клином сошелся, из-за них любая тема (например эта или про D) превращается в Nemerle vs ...

так, вношу три замечания:
0. я так понимаю, имеется в виду Влад, ну то понятно
1. что для "нас" на немерле свет клином сошелся, это наверно потому, что мы его сейчас используем активно, и видим, что он лучше всего пользованного ранее
2. что темы превращаются в немерле-против-"икс", это хорошо (для немерле): есть реальная возможность для немерле потягаться с "икс", и есть реальная возможность для "икс" потягаться в немерле (только что-то "тяганий" не видно, видно только флейм статика-против-динамики — причем здесь нет ни одного(!) человека, который постиг истинную сущность одного и другого одновременно)
3. но я разочарован тем, что дальше разговоров дело пока не пошло (на рсдне людей много, но никто не пользует немерле, никто не включается в дискуссию с его авторами, никто не репортит новые баги, никто не выкладывает свой крутой макро-код — практически никто) появляется ощущение водителя, едущего по встречной полосе, и считающего, что это они — все остальные — неправы

FR>Я уже предлагал тут радикальное решение переименовать "философию программирования" в "оду немерле", всех недовольных забанить, и будет вообще классно


я предлагал создать отдельный форум для Немерле... 2 раза... но этот нехороший Влад...
ну, думаю, он вас использует для грязного пиара этого языка (когда на 2 срок избирали ельцина, все его ругали-ругали, ругали-ругали... а его рейтинг рос и рос, рос и рос... было мнение, что это пиаровцы специально придумали, и подогревали)
точно! чтобы Немерле наконец сдох — попробуйте говорить "какой хороший язык однако"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: MIT переходи со схемы на...
От: WolfHound  
Дата: 23.11.06 18:14
Оценка: +4
Здравствуйте, eao197, Вы писали:

E>Если оттакиваться от пропагандируемого здесь мнения, что C++ отстой и глюкодром, то уже удивительно, что кто-то на C++ смог составить конкуренцию C# и Java. А уж результат на C вообще выглядит выдающимся.

Позволь задать вопрос: В скольки подобных соревнованиях ты приниимал участие?

Например я в свое время очень не мало покатался по всяким олимпиадам.
Так вот скажу тебе как краевед: Программирование на олимпиадах не имеет ничего общего с написание реальных программ. Те вобще ничего.

По сему абсолютно не корректно делать какие либо выводы о возможностях языков в реальных проектах на основе подобных соревнований.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[22]: MIT переходи со схемы на...
От: EvilChild Ниоткуда  
Дата: 23.11.06 18:34
Оценка: +1
Здравствуйте, PhantomIvan, Вы писали:

E>>Если мне достается на сопровождение так написанный код, я что должен делать?


PI>тут ты загнался, признай — потому что на сопровождение приходит сколь угодно запутанный код на любом языке (хоть с++, хоть васик)


Т.е. тебе нет разницы какой код сопровождать: просто плохой или изощрённо плохой?

PI>>>в немерле ответ на "шо це таке" обычно получаешь при наведении на икс и получении хинта


E>>Угу, в распечатке.

PI>никогда не печатал проги... хотя попробую, может это прикольно...

Ты совершенно напрасно ёрничаешь, есть масса ситуаций когда нет под рукой IDE с подсветкой синтаксиса, но код понять надо.
Ты как блаб программист — ты не можешь себе их представить и думаешь, что их нет.
now playing: Eraldo Bernocchi & Harold Budd — Fragment Four
Re[25]: MIT переходи со схемы на...
От: FR  
Дата: 23.11.06 18:36
Оценка: +1
Здравствуйте, PhantomIvan, Вы писали:

FR>>Это не важно, важно то что среди вас есть несколько для которых свет именно клином сошелся, из-за них любая тема (например эта или про D) превращается в Nemerle vs ...


PI>так, вношу три замечания:

PI>0. я так понимаю, имеется в виду Влад, ну то понятно

не только

PI>1. что для "нас" на немерле свет клином сошелся, это наверно потому, что мы его сейчас используем активно, и видим, что он лучше всего пользованного ранее

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

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

PI>(только что-то "тяганий" не видно, видно только флейм статика-против-динамики — причем здесь нет ни одного(!) человека, который постиг истинную сущность одного и другого одновременно)


А ты постиг?

PI>3. но я разочарован тем, что дальше разговоров дело пока не пошло (на рсдне людей много, но никто не пользует немерле, никто не включается в дискуссию с его авторами, никто не репортит новые баги, никто не выкладывает свой крутой макро-код — практически никто) появляется ощущение водителя, едущего по встречной полосе, и считающего, что это они — все остальные — неправы


Так может стратегия "все в дерьме, одни мы в белом" ущербна и стоит ее пересмотреть?

FR>>Я уже предлагал тут радикальное решение переименовать "философию программирования" в "оду немерле", всех недовольных забанить, и будет вообще классно


PI>я предлагал создать отдельный форум для Немерле... 2 раза... но этот нехороший Влад...




PI>ну, думаю, он вас использует для грязного пиара этого языка


Толку то.

PI>(когда на 2 срок избирали ельцина, все его ругали-ругали, ругали-ругали... а его рейтинг рос и рос, рос и рос... было мнение, что это пиаровцы специально придумали, и подогревали)

PI>точно! чтобы Немерле наконец сдох — попробуйте говорить "какой хороший язык однако"

Ты меня неправильно понял, у меня нет такого желания, наоборот пусть живет и процветает.
Re[13]: MIT переходи со схемы на...
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.11.06 18:37
Оценка: +3
Здравствуйте, WolfHound, Вы писали:

WH>Позволь задать вопрос: В скольки подобных соревнованиях ты приниимал участие?

Пару раз в школе (89-90). Раз пять в ВУЗе, в том числе в двух республиканских (92-93). Пару раз участвовал в олимпиадах как организатор и судья.

WH>Так вот скажу тебе как краевед: Программирование на олимпиадах не имеет ничего общего с написание реальных программ. Те вобще ничего.


Однако, для оценки способностей отдельных индивидов они вполне хороши.

WH>По сему абсолютно не корректно делать какие либо выводы о возможностях языков в реальных проектах на основе подобных соревнований.


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


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[24]: MIT переходи со схемы на...
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 23.11.06 18:45
Оценка:
Здравствуйте, PhantomIvan, Вы писали:

E>>Нет, дело в том, что со свободным синтаксисом даже качественный код со временем становится плохо воспринимаемым.


PI>а с "несвободным" синтаксисом он как будто не становится плохо воспринимаемым


Он становится лучше воспринимаемым. Стоит только самому начать скобки при вызове местодов использовать и подчиненных заставить это делать.

E>>А примеры в документации и книгах?


PI>ну, давно не читал бумажные книги


Многое теряешь.

PI>но зачем ты название функции на экране печатаешь? тем более стандартной функции... это чтобы запутать китайскую разведку?


А нет у меня VS
Увидел решение задачки -- запустил, обнаружил ошибку. Начал править, наткнулся на сюрприз автоматического вывода типов


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Re[23]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 23.11.06 18:46
Оценка:
E>>>Если мне достается на сопровождение так написанный код, я что должен делать?

PI>>тут ты загнался, признай — потому что на сопровождение приходит сколь угодно запутанный код на любом языке (хоть с++, хоть васик)


EC>Т.е. тебе нет разницы какой код сопровождать: просто плохой или изощрённо плохой?


лучше заново переписать, а еще лучше — новую систему (интеграцию "эн" например )
реальность конечно, сложнее, и код, как правило просто изощрённо плохой

PI>>никогда не печатал проги... хотя попробую, может это прикольно...


EC>Ты совершенно напрасно ёрничаешь, есть масса ситуаций когда нет под рукой IDE с подсветкой синтаксиса, но код понять надо.


серьезно, у меня давно уже нет бумажных книг по программированию
и IDE я не закрываю... для хаскеля помню, скачал плагин к студии... а совсем экзотических языков (brainfuck?) я не юзал никогда

EC>Ты как блаб программист — ты не можешь себе их представить и думаешь, что их нет.


может, я блаб-программист, но не блоб-программист

но по секрету скажу, что когда я был маленький, и переходил с васика (спектрум) на паскаль (бибиэм), и хотел поступить т.н. "компьютерный колледж" (единственная школа, наверно, где програмить учили), то все лето я "программировал" в толстой тетрадке в клеточку
с тех пор дебаггер у меня в голове... но не пользоваться IDE, когда она есть... гм, это изврат все-таки...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[25]: MIT переходи со схемы на...
От: PhantomIvan  
Дата: 23.11.06 18:52
Оценка:
E>Он становится лучше воспринимаемым. Стоит только самому начать скобки при вызове местодов использовать и подчиненных заставить это делать.

это в руби можно скобки опускать?
(сомневаюсь, что любые насильственные методы помешают "индусу" работать в режиме кодогенерации, обфускации и псевдослучайности)

PI>>ну, давно не читал бумажные книги


E>Многое теряешь.


я как бы их тырю с сети и читаю с моника (давно, правда, не читал по програмщине чего-либо)

PI>>но зачем ты название функции на экране печатаешь? тем более стандартной функции... это чтобы запутать китайскую разведку?


E>А нет у меня VS

E>Увидел решение задачки -- запустил, обнаружил ошибку. Начал править, наткнулся на сюрприз автоматического вывода типов

я тоже пробовал немерле без студии сначала — меня хватило только на упражнения с их сайта
зато теперь получаю все больше и больше удовольствия от процесса написания кода (по мере добавления фич и удаления багов из интеграции)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: MIT переходи со схемы на...
От: WolfHound  
Дата: 23.11.06 18:59
Оценка:
Здравствуйте, eao197, Вы писали:

E>Однако, для оценки способностей отдельных индивидов они вполне хороши.

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

E>Точно так же, как утвержать, что какой-то язык абстрактно мощнее другого (без учета предметной области, к примеру, или наличия готовых унаследованных разработок).

Если ты про немерле то для него готовых библиотек как родных .НЕТных так и пришедших с кучи других языков которые можно интеропнуть с .НЕТом...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[24]: MIT переходи со схемы на...
От: EvilChild Ниоткуда  
Дата: 23.11.06 19:04
Оценка: +1
Здравствуйте, PhantomIvan, Вы писали:

EC>>Т.е. тебе нет разницы какой код сопровождать: просто плохой или изощрённо плохой?


PI>лучше заново переписать, а еще лучше — новую систему (интеграцию "эн" например )

PI>реальность конечно, сложнее, и код, как правило просто изощрённо плохой

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

PI>с тех пор дебаггер у меня в голове... но не пользоваться IDE, когда она есть... гм, это изврат все-таки...


Процитируй часть сообщения, где тебе это предлагали.
По секрету: я пишу в Visual Studio 2005.
now playing: Eraldo Bernocchi & Harold Budd — Fragment Six
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.