LINUX.ORG.RU

Exception #05. Бесплатный семинар по Python в Киеве.


0

0

Уважаемые коллеги!

2 июня 2007 года в Киеве состоится пятый семинар по языку программирования Python. Основная тема - построение и использование гибкой компонентной модели в веб-проектах и GUI-приложениях. Докладчики расскажут о взаимодействии интерфейсов вместо взаимодействия объектов, о достоинствах различных реализаций для одного описания интерфейса на примере динамической смены скина, дадут оценку производительности, расскажут о личном опыте применения, а так же приведут исчерпывающие примеры использования гибкой компонентной модели.

Внимание: вход бесплатный!

>>> Подробности

Ответ на: комментарий от eugine_kosenko

>Опаньки! Оказывается, C++, C# и Java -- языки ненормальные?

зато Бу супер язык нах, в нем нет self :))

anonymous
()
Ответ на: комментарий от anonymous

Вы когда нибудь дочитаете до конца или так и будете вторую половину текста додумывать???

Откуда такие вообще берутся... Он заметил только одно слово и уже готов спорить...

тебе что 16 лет и ни одна девченка с тобой не хочет общаться?

lefsha
()
Ответ на: комментарий от lefsha

> тебе что 16 лет и ни одна девченка с тобой не хочет общаться?

хочешь об этом поговорить?

anonymous
()
Ответ на: комментарий от anonymous

Точно школьник...

У тебя мир какой-то двоичный. если не белое то красное, другого по просту не дано...

Попробуй читать книжки может поможет. А то человек прыгает их угла в угол...

>> То что Вы хотите делать делается во всех нормальных языках без self. >Опаньки! Оказывается, C++, C# и Java -- языки ненормальные?

Во первых это бред. И товарищу как и Вам захотелось сделать вывод, но он не справился и теперь Вы по его следам делаете еще большую глупость...

Откуда это???

lefsha
()
Ответ на: комментарий от eugine_kosenko

> > То что Вы хотите делать делается во всех нормальных языках без self. > Опаньки! Оказывается, C++, C# и Java -- языки ненормальные?

У Вас потрясающая логика. Вы делаете выводы, которые без пол литра никак не придумать. Может просветите ход Ваших мыслей?

Уж больно любопытно...

Либо это действие травки?

lefsha
()
Ответ на: комментарий от lefsha

> Отступы не заставляет делать НИКТО!

А, щаз. Очень даже заставляют. НЕ ВСЕ - ты хотел сказать.

> Странная помощь... и все только ради того чтобы не описать переменную??? за то надо писать тесты... замечательно.

А как ты без тестов проверяешь программы на работоспособность? У людей бывают фермы серверов для прогона тестов на программах с языкам типа С++.

> Кроме того представьте. Вы делаете отступы пробелами, а мне табы нравятся. Вы представляете, что мы вместе наразрабатываем...

За табы тебя думаю никто не похвалит, бо по стандарту - пробелы. Ты стандарты на оформления кода вообще хоть какие читал?

> Если любая функция может быть членом любого уже написанного класса, то нет никакого смысла в классах как таковых.

Правда? А вот как меня тут просветили, и в C# 3.0 та же песня. Жаль что они не знают, что смысла то в классах нет. . > Это на самом деле говорит, что ОО в Питоне нет вообще. Оно вырождено. Т.е формально оно есть, а смысла в нем нет.

Э... так, ну тут действительно только проспаться остается, так что я пошел.

sv75 ★★★★★
()

вас послушать то и в перле $ ненужен... какой смысл о таких высказываний? никакого, так есть и так будет, это синтаксис нах

alt0v14 ★★★
()
Ответ на: комментарий от alt0v14

ненравится - пользуй свой Бу, хочешь помочь пиши PEP, добавить нечего

alt0v14 ★★★
()
Ответ на: комментарий от lefsha

> Вы не поняли о чем была речь.

Будьте проще, и к Вам потянутся люди...

> Там где она применяется в Питон в плюсах она не применяется и наоборот.

4.2

> А так увы помочь не могу.

Работайте над стилем и меньше свистите, и все будет хорошо...

eugine_kosenko ★★★
()
Ответ на: комментарий от lefsha

> Вы не можете представить, а подобная ошибка уронила portage у Gentoo года полтора назад. Причем приходилось самому исправлять ошибку либо ручками ставить portage заново. При этом самым захватывающим делом был поиск ошибки. Ведь глазами увидеть ее невозможно.

С этого места поподробнее, плиз...

eugine_kosenko ★★★
()
Ответ на: комментарий от lefsha

> Кроме того представьте. Вы делаете отступы пробелами, а мне табы нравятся. Вы представляете, что мы вместе наразрабатываем...

То есть, опять не читал, но осуждаю...

> Так что как видно это частные проблемы Вашего воображения.

Предыдущий абзац подсказывает, что проблемы с воображением, скорее всего, у Вас...

eugine_kosenko ★★★
()
Ответ на: комментарий от eugine_kosenko

> А вообще открою Вам вторую страшную тайну: Python -- это такой недолисп (вы тока труъ питонистам и лисперам не говорите -- обидятся). Так что, с его родословной Вы тоже промахнулись...

Скорее недохаскель. Особенно учитывая сколько в Питоне наперто из Хаскеля, например испорченный синтаксис List Comprehensions, которых, кстати, нет в Лиспе (если не считать loop таковым).

atoku ★★★
()
Ответ на: комментарий от lefsha

> Откуда это???

Может Вам стоит обратиться к психиатру? Уже человек пять Вас не понимают, Вы верите в коллективное сумасшествие?

eugine_kosenko ★★★
()
Ответ на: комментарий от lefsha

> Либо это действие травки?

Ну что Вы! По части травки у нас с Вами просто никто не сравнится...

;-)

eugine_kosenko ★★★
()
Ответ на: комментарий от atoku

Да, и еще, Лисп - это тру вей с настоящими списками. В Питоне списки на самом деле - динамические массивы. Время доступа там O(1), как и время на len(), а время добавления элемента - O(n). Таким образом язык, хоть и допускает рекурсию, всячески ее не поощряет. Я уж не говорю про оптимизацию такого подхода.

Еще про недохаскель. В Питон сперты испорченный lazy evaluation, взятые из Хаскелева желания оперировать бесконечными объектами. Только вместо математики, мы получили такие дурные агенты, котрые выпускают (yeild) значения по мере надобности.

Лисп - это совсем иное. Я уж молчу про макросы, которых в питоне никогда не будет.

atoku ★★★
()
Ответ на: комментарий от atoku

> Особенно учитывая сколько в Питоне наперто из Хаскеля,

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

Впрочем, Бугмакер вообще считает Питон родным братом Уайтспейса...

eugine_kosenko ★★★
()
Ответ на: комментарий от atoku

> В Питоне списки на самом деле - динамические массивы.

"за реализацию массивов и структур сняты баллы, поскольку вместо них необходимо использовать классы и списки"

Это для тех, кто в первый раз не заметил... :-)))

eugine_kosenko ★★★
()
Ответ на: комментарий от eugine_kosenko

Я просто недочитал до туда. :) Питон - это мое наболевшее, я веду "Pyhton Hackers Club" в своем центре. И уже замучился обсуждать почему у него все такое дебильное :). Правильный ответ: "А патамушта"

atoku ★★★
()
Ответ на: комментарий от atoku

вот, блин. А дивч0нки от своих упившихся бывших однокласнегов ни знают куда девацца... А они гадов подколодных обсасывают... Ииииэхх....

anonymous
()
Ответ на: комментарий от anonymous

>Глупо тащить в язык все возможные техники. Каждому языку - своя ниша. Повторяю, нужна кодогенерация - используйте лисп.

Всё верно. Для неасиливших lisp и Tcl - python

Led ★★★☆☆
()
Ответ на: комментарий от eugine_kosenko

>И потом, в Лиспе слишком много скобочек... :-)

Их одинаково: что в лиспе, что в пайтоне. "Маааленькое отличие": в лиспе они видимы, а в пайтоне - невидимы. А распечатки с пайтоном - красота! Зато их читать можно с линейкой и угольником (обязательно с миллиметровой шкалой). И не привед, Господи, распечатать не-моноширинным шрифтом!:)

Led ★★★☆☆
()

Мой станок печатания банкнот состоит из: Python, Cheetah, simplejson, lxml/elementtree, pycrypto, PostgreSQL, HTML/CSS/JavaScript. Станок модернизирован при помощи Subversion и Trac. Всё остальное по-мелочам. Беды не знаю.

anonymous
()
Ответ на: комментарий от Led

> Для неасиливших lisp и Tcl - python

Охотно писал два года на Lisp-е под один проект. Сейчас на Python, т.к. он более практичный. Или вы про академические массовки говорите?

anonymous
()
Ответ на: комментарий от eugine_kosenko

> > Кроме того представьте. Вы делаете отступы пробелами, а мне табы нравятся. Вы представляете, что мы вместе наразрабатываем...

> То есть, опять не читал, но осуждаю...

Что именно не читал? Я читал, использовал и осуждаю. Хотя мне нравится и я уже привык. Но формально это плохо.

Чем-то напоминает сладости. Из тоже приятно есть, но это не значит, что полезно.

lefsha
()
Ответ на: комментарий от eugine_kosenko

А чего подробнее?? Пройденная история. Разработчики сами признали.

Почитайте их форум - может найдете...

lefsha
()
Ответ на: комментарий от eugine_kosenko

> > Вы не поняли о чем была речь. > Будьте проще, и к Вам потянутся люди... > > Там где она применяется в Питон в плюсах она не применяется и наоборот. > 4.2

Вы как с собой разговариваете... Сами совет даете и сами ему не следуете...

Следующий раз не пишите такие глупые комментарии. Или говорите доступно, что имелось ввиду.

4.2 это не по адресу.

lefsha
()

Пожалуйста, не кормите троллей. Пусть lefsha помрет с голоду.

anonymous
()
Ответ на: комментарий от sv75

>> Если любая функция может быть членом любого уже написанного класса, то нет никакого смысла в классах как таковых.

> Правда? А вот как меня тут просветили, и в C# 3.0 та же песня. Жаль что они не знают, что смысла то в классах нет. .

Вас очевидно плохо просветили.... Одни невежды просвещают других невежд... Куда все катится..?

Цитата: This feature should not be confused with dynamic typing. While anonymous types allow programmers to define fields seemingly "on the fly", they are still static entities. Type checking is done at compile time, and attempting to access a nonexistent field will cause a compiler error.

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

Кроме того как видно разработчики видят смысл в разделении времени компиляции и исполнения...

Так что это Вы правильно решили проспаться... Может на утро Ваша голова лучше соображать будет... Пока у Вас как то не очень, Вы не находите?

lefsha
()

Python -- это Visual Basic нашего времени. Он даже гораздо более кривой на практике, чем любой академический язык. Но, как обычно, миллионы мух не ошибаются. На Python можно поиграться с новым API, так как есть биндинги для всего, но не более того. Я уж не буду касаться производительности.

grob ★★★★★
()
Ответ на: комментарий от grob

> Python -- это Visual Basic нашего времени.

Питон, во-первых, кажется суть старше VB classic.

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

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

> На Python можно поиграться с новым API, так как есть биндинги для всего, но не более того

Про embended python никогда не слышали или тоже считаете неподходящим в пользу lua?

sv75 ★★★★★
()
Ответ на: комментарий от lefsha

> очевидно плохо просветили.... Одни невежды просвещают других невежд... Куда все катится..?

Дядя, ну не нельзя настолько тормозить - я про расширения класов новыми методами через функции.

http://blah.winsmarts.com/2006/05/18/demystifying-c-30--part-3-extension-meth... Завязываю кормить троля.

sv75 ★★★★★
()

А на питоне можно написать гуй? Ну не так, как на javascript addonы к Mozilla, а что-то наподобии Netbeans, IDEA, Oracle Forms. Или оно только для веба используется?

anonymous
()

Изучив питон, убил толпу зайцев сразу :) Использую его для написания системных скриптов, для создания сайтов на Django, для создания нужного мне софта общего назначения :)

Доволен :)

anonymous
()
Ответ на: комментарий от anonymous

Еще прусь от одной из лучших Вики на питоне МоинМоин! До этого долго мучался на пыхпых поделках :(

anonymous
()
Ответ на: комментарий от lefsha

> Кому и зачем нужны self и def

В качестве классификатора - удобно, не надо префиксы m_ лепить :-). В качестве обязательного параметра self, пожалуй, не обязателен. Но, с другой стороны, явное присутствие self уменьшает количество магии в языке и парсере. Я так понимаю, это одна из целей Гвидо.

> В этом смысле Boo выглядит лучше.

Лучше. Но где ж этот буу?

Ждём рабочего PyPy-C :-).

AlexM ★★★★★
()
Ответ на: комментарий от anonymous

Вообще, есть (был) http://shootout.alioth.debian.org/ , но чего-то он сейчас недоступен. В любом случае, у них был вполне внятный подход к тестированию, опубликованные тесты, так что, думаю, в сети эти тесты можно найти...

AlexM ★★★★★
()
Ответ на: комментарий от anonymous

> А на питоне можно написать гуй?

Можно. От убого на вид Tkinter до kde. С остановками везде.

sv75 ★★★★★
()
Ответ на: комментарий от alt0v14

> какое такое дибильное? можно пример, я вот пользую питон и не вижу ничего дибильного в нем

Да не дебильный он, это просто гики замучили абстрактными дискуссиями. Я сам пишу много на Питоне, не говоря о том, что читаю классы и все такое. Все рабочие проекты - на нем или на C. К сожалению с группой невозможно договориться, чтобы писать на чем-то еще, а надо учитывать возможности и желание остальных.

А для своих собственных проектов я использовал последнее время Common Lisp или C. И потом когда садишься на Питон, то начинаются вопросы: а где то, а где сё. С другой стороны все время радостные открытия: ух, как это в Питоне просто, а вот это ваще супер. Так что есть и приятные вещи. Скажем, в Лиспе нет регекспов из коробки, а они все время нужны под рукой. Конечно, есть чудесная библиотека регекспов. Но прямо из коробоки - увы нет. Впрочем, регекспы в Питоне оказались раза в два медленнее перловых, но это другая история. В общем, хоть питон и не имеет многих фундаментальнейших вещей, вроде оптимизации рекурсии (там она невозможна из-за "неправильных" списков) или макросов, но в нем есть маленькие добавки, которые подслащивают нашу суровую жизнь. Кстати, мне кажется именно потому такой монстр Лиспа, как Питер Норвиг, любит Питон.

Что мне в Питоне не нравится - это красота синтаксиса. Нет, он не уродлив, но и не красив. Я имею в виду вульгарно листинги программ. Вот Лисп смотрится действительно эстетично. Хотя, конечно, это не аргумент для технаря :) :) Хаскель тоже , хоть и квадратный, но куда симпатичнее и лаконичнее Питона. Впрочем, из-за pure functional, некоторые вещи на Хаскеле можно сделать только через сидалище.

Да, забыл еще один фактор: естественно возникает туча вопросов к создателям по поводу проекта 3.0. Но если подумать, я готов даже отказаться от reduce, лишь бы не на Perl.

atoku ★★★
()

Подкормлю троля. Кто--то там что--то вякал на self. И что Сам ван Россум уберет self из python 3000. Открываем <a href=http://www.python.org/dev/peps/pep-3099/>PEP 3099</a> и что видим?

self will not become implicit.

Having self be explicit is a good thing. It makes the code clear by removing ambiguity about how a variable resolves. It also makes the difference between functions and methods small.

Там же есть <a href="http://mail.python.org/pipermail/python-dev/2006-January/059468.html">;ссылка на письмо ван Россума

On 1/6/06, Armin Rigo <arigo at tunes.org> wrote:

> On Fri, Jan 06, 2006 at 12:56:01AM +0300, Alexander Kozlovsky wrote:

> > There are three different peculiarity in Python 2.x in respect of 'self' method argument:

> Yuk! This has been discussed again and again already. *Please* move this discussion to comp.lang.python.

Yes please. This won't change.

--Guido van Rossum (home page: http://www.python.org/~guido/)

anonymous
()
Ответ на: комментарий от sv75

>> Проблема с run-time в том, что код не обязательно может дойти до данной точки выполнения.

> Дядя, пойми же наконец, что прогу все равно надо тестировать полноценным unittest, который должен именно что пройти *все* точки выполнения

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

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

tailgunner ★★★★★
()
Ответ на: комментарий от eugine_kosenko

>Реальные проблемы с Python были? Или только в вакууме со сферическими конями?

То есть чтобы ты поверил, что членом стену не пробьешь только сломав о нее член, развивая тему Саныча? А все кто членом стену пробивать не пробовал видя очевидную ее непробиваемость, "пушкиниа не читали" и "реальных проблем" не имели так?

r ★★★★★
()
Ответ на: комментарий от eugine_kosenko

>Я не вижу популярных и широко распространенных решений на js за пределами браузерных свистелок.

Это просто ты их не видишь:) Туча народу юзает его по прямому назначению - для скриптования. XUL опять же.

r ★★★★★
()
Ответ на: комментарий от lefsha

Тролль-троллем этот лефша. Понятно, иногда охота показаться умным, и поучить других, но в данном случае это выглядит откровенно смешно. Наезжая на динамичность питона (т.е. на самую суть его и на то, на что он нацелен) и сравнивая его с компилируемыми языками вы тем самым признаете ненужность и неприменимиость (точнее, вы не знаете, как это применять или на вашем опыте в этом не возникало еще надобности) всех остальных динамических языков, как-то перл, руби, жаваскрипт, етц. А так-же это косвенный наезд на юникс-вей. Придирки к таким поверхностным мелочам как отступы, селф и деф - это ребячество какое-то, и не знание глубин и идеологии питона (Readability counts, Emplicit is better then implicit, етц.) Сравнение питона с пхп, показывает ПОЛНОЕ не знание предметной области. Питон на голову выше ПХП во всем (модули, треды, исключения, ооп, динамизм, функции высшего порядка, функциональный подход). Впрочем, тут сравнение не очень корректное, т.к. пхп - это узкоспециализированный, и в общем, оправдывающий свои цели инструмент. Сетование за наследование как аргумент расширению классов показывает узость вашего кругозора и закостенелость мышления. Поботайте Смоллтолк, Руби, Джаваскрипт и да снизойдет на вас озарение.

xonix
()
Ответ на: комментарий от sv75

> Питон, во-первых, кажется суть старше VB classic.

Дешевая популярность к нему пришла позже

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

Любимый - Common Lisp, часто используемые - Common Lisp, Java и значительно меньше C.

> Про embended python никогда не слышали или тоже считаете неподходящим в пользу lua?

Оба в печь, когда есть guile

grob ★★★★★
()
Ответ на: комментарий от grob

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

> Любимый - Common Lisp

Дальше можно не читать :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> ...пройти _все_ точки выполнения со _всеми_ комбинациями данных тоже невозможно. unittest'ы - это хорошо, но даже при их использовании статическая проверка типов лишней не будет.

Не в типах счастье. Ошибки часто бывают из-за некорретных данных. Причём эти самые данные вполне могут оказаться "правильного" типа.

const86 ★★★★★
()
Ответ на: комментарий от const86

>> ...пройти _все_ точки выполнения со _всеми_ комбинациями данных тоже невозможно. unittest'ы - это хорошо, но даже при их использовании статическая проверка типов лишней не будет.

> Не в типах счастье.

Счастья вообще нет.

> Ошибки часто бывают из-за некорретных данных. Причём эти самые данные вполне могут оказаться "правильного" типа.

Я с этим спорил? Или, если технология не может дать 100% гарантии - то фтопку ее? Для протокола: ни одна существующая технология не гарантирует получения программ без ошибок - ни unit-testing, ни статическая типизация. Поэтому очень хочется пользоваться одновременно и тем, и другим.

И еще надо учесть, что статическая типизация полезна, например, при рефакторинге.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.