LINUX.ORG.RU

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


0

0

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

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

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

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

похоже в Киеве только на питоне и пишут... Или просто некому запостить новость про семинары по другим языкам ?

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

> похоже в Киеве только на питоне и пишут... Или просто некому запостить новость про семинары по другим языкам ?

Возьми и запость. Че ты ноешь тут?

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

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

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

>И чо вы нашли в этом питоне?

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

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

Молодцы организаторы!!! Я пишу на Питоне и обожаю этот язык. Фирма мигрирует с зоопарка M$ на Линукс и Питон. Очень хотелось бы приехать, но 1500 км... С интересом читаю материалы с сайта.

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

Чем же он стройный?

Кому и зачем нужны self и def ? Нет определения типов. Нет разделения на время компиляции и исполнения.

Часть алгоритма может и даже должна быть написана, для компиляции, а часть на исполнение.

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

lefsha
()

>Exception
Название какое-то ...неоднозначное

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

Интересно как оно (python) по скорости в сравнении например с mono/net или jaba? Не ради флейма, а ради интереса и пути дальнейшего развития - может кто видал benchmark'и?

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

>джаба всех рвет.

для начальства это будет очень убедительно: "vada на лоре сказал что жаба всех рвет" :DDDD

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

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

:-D над self тоже задумывался, но поскольку дальше просто интереса не пошел то етот вопрос для меня тож тайна а вот как же без def ?

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

> Кому и зачем нужны self и def ? Нет определения типов. Нет разделения на время компиляции и исполнения.

Так в том и прикол питона, что нет типизации. Ты много динамических классов в Ц++ или Жабе построишь? ;)

Самая забавная конечно вещь это компот из питона и жавы = jython (python реализованный на java). Имеешь динамизм питона + всю жабу, плюс у тебя появляется интерактивная жаба, что во многих случаях очень помогает.

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

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

>>Молодцы! Жаль на Питоне так и не начал писать

>а ты начни, это очень просто )

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

>я вот с перла переполз :)

А с C/C++/C# как? Вроде смотрю по тексту смысл похожий. Там типа сборщиков мусора для объектов есть, или как в С++, и как оно там всё? Python - только интерпретатор или его можно в "native" код компилировать?

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

Ни разу не видел объявления "требуется Senior Python Developer". Тут С/C++ то днем с огнем не сыщешь, ток пыхпых, а вы...учи...чож мне потом свои книги по питону жрать? ;) Да и нечеткая типизация чет как то отпугивает по началу.

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

Если не видел, это же не значит, что этого нет. Меня лично с полгода назад спрашивали, нет ли у меня питониста. Днепропетровск, Украина, $1200. Это очень даже хорошо для Днепра, "средняя" з/п тут баксов 300.

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

>плюс у тебя появляется интерактивная жаба

И давит, давит...

Это как? Перед тем, как начать тормозить, она спрашивает разрешения у пользователя?

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

Напиши тот же код без def и сравни.

Будет все тоже самое. def - не нужен. Определение функции от ее использования отличается наличием :, прототипирования как и определения типов в Питоне нет, так зачем огород городить?

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

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

>Так в том и прикол питона, что нет типизации. Ты много динамических классов в Ц++ или Жабе построишь? ;)

Это не прикол! Это недостаток. Тем более что автор сам признал это.

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

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

def - для читабельности. Каждая (кажется) строчка, заканчивающаяся на ":", начинается с зарезервированного слова. Функиии - не исключения. Это разумно.

self - полагаю для вот этого:

def SomeMethod(self):
    return 2 * self.a

class SomeClass:
    a = 1

SomeClass.__dict__["AnotherMethod"] = SomeMethod
obj = SomeClass()
print obj.AnotherMethod()  

> Нет определения типов.

Что под этим понимается? Что в class можно принципиально добавить на ходу что угодно? 

> Нет разделения на время компиляции и исполнения. Часть алгоритма может и даже должна быть написана, для компиляции, а часть на исполнение. 

Нельзя ли пример для конкретики? 

sv75 ★★★★★
()

У Python есть великолепные Twisted и SQLAlchemy - в этом его сила. Кроме того у питона есть биндинги почти ко всему :)

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

> Ни разу не видел объявления "требуется Senior Python Developer".

В этом месяце взяли двоих "не сеньёров" на работу (Германия). У кого есть интерес, пишите в личку.

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

> Тут С/C++ то днем с огнем не сыщешь

Судя по моим работодателям - да, найти, и найти хорошего трудно, хотя по зарплате этого не скажешь ;) "Будем искать..." @ Никулин :)

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

>anonymous (*) (25.05.2007 17:53:04)

> У кого есть интерес, пишите в личку.

Шутку понял, смешно :)

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

1. Зарегься что б в личку писать :) 2. Как на ЛОР писать в личку?

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

>А с C/C++/C# как? Вроде смотрю по тексту смысл похожий.

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

>Там типа сборщиков мусора для объектов есть, или как в С++, и как оно там всё?

сборщик мусора есть, им даже можно управлять через модуль gc, например отключить

>Python - только интерпретатор или его можно в "native" код компилировать?

интерпретатор, в native код нельзя компилировать но можно компилировать в что-то типа байт кода, .pyc и оптимизированный байт код .pyo

PS: изложенное выше сформулировано в меру моего понимания :) если что не так поправляйте

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

• Если интерпретатор вызывается с опцией -O или переменная окружения PYTHONOPTIMIZE имеет непустое значение, интерпретатор генерирует оптими- зированный байт-код и сохраняет его в ‘.pyo’-файлах. В настоящий момент опти- мизация дает не слишком много: при этом удаляются инструкции assert, иг- норируются инструкции ‘if __debug__: . . . ’, не сохраняется информация о нумерации строк в исходных ‘.py’-файлах. В этом случае оптимизируются все ис- пользуемые модули, ‘.pyc’-файлы игнорируются. • Опция -OO приводит к тому, что интерпретатор выполняет оптимизацию которая, в некоторых (редких) случаях, может привести к сбоям в работе программ. В настоящий момент, помимо действий, выполняемых с опцией -O, удаляются строки документации, давая более компактные ‘.pyo’-файлы. Так как некоторые программы могут рассчитывать на наличие строк документации, используйте эту опцию с осторожностью.

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

>Ничего. Они просто лишние.

>Это похоже как в начале каждого письма писать в заголовке - Письмо.

зачем нужен self? А как вы батенька без self сделаете нижеследующее?

и к слову - ":" разделяет блоки, а не указывает на определение функции.

Как http://dpaste.com/11006/ сделать без def и self тогда?

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

Self не нужен! Тот же Boo прекрасно обходится без него.

Пример будет прекрасно работать и без него. Достаточно поставить на ноги область видимости переменных.

Мало того SomeMethod(self): вообще глупость.

Зачем писать то, что надо писать в любом случае?

> Что под этим понимается? Что в class можно принципиально добавить на ходу что угодно?

То что нельзя проверить программу на этапе компиляции. Проблема с run-time в том, что код не обязательно может дойти до данной точки выполнения. И потом это будет работать, только для маленьких проектов. Когда код легко объять глазами.

> Нельзя ли пример для конкретики?

Сэр никогда не видел С?

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

А что собтственно изменится???

Еще раз в Boo self нет и все прекрасно работает.

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

> и к слову - ":" разделяет блоки, а не указывает на определение функции.

И что? Уберите из определения def и посмотрите на код. Не изменится ничего! Тогда какой смысл?

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

да какието детские придирки на самом деле.. ещеб к расширению файлов придрался чес слово

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

>И что? Уберите из определения def и посмотрите на код. Не изменится ничего! Тогда какой смысл?

не нравиться синтаксис? напиши PEP тебя увидят, выслушают и примут к сведению, а может и не примут и объяснят почему..

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

lefsha есть маленькое отличие python от Си. Если мы не используем объекты - то тогда

Дальше - если мы используем python должны понимать механику языка. Если непосредственно вы ее не понимаете - стоит ли об этом говорить? Дело в том что в python любой аттрибут может быть как функцией, так и переменной - поэтому и нужно указание на объект - self. self.method = method() - переменная, а self.method = method - callable объект. Именно поэтому и нужен self при определении методов.

Си тут вообще ни причем. В си нет Объектов классового типа.

Говорите в Boo нет def?))) http://boo.codehaus.org/Part+07+-+Functions#Part07-Functions-DefiningYourOwnF...

Вижу что есть. "def declares that you are starting to declare a function. def is short for "define"."

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

Кстати, по той же причине нужен def - определить - это функция - это метод.

Тем более что в python вполне рабочий вот такой код: http://dpaste.com/11008/

Вместо проверки параметра на 1 можно, например вставить код с проверкой времени и установки соответствующего значения.

def нужен чтобы указать на создание callable-атрибута. Вообще не стоит говорить о синтаксисе языка который вы не знаете. Тем более не стоит сравнивать Объектно-ориентированный язык высокого уровня с Си - это пустословие. Си++ ведь совсем другой язык да?

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

Причем тут С???

Я уже 10 раз повторяю, что self НЕ НУЖЕН. И что в Boo его нет!

Я бы предложил Вам отказаться от менторского тона и перехода на личности.

> любой аттрибут может быть как функцией, так и переменной - поэтому и нужно указание на объект - self. self.method = method() - переменная, а self.method = method - callable объект.

Это неверно. Указания никакого не надо. В нем нет смысла. Если Вы опустите self не изменится ничего! Это чисто искусственная вещь.

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

> def нужен чтобы указать на создание callable-атрибута. Вообще не стоит говорить о синтаксисе языка который вы не знаете. Тем более не стоит сравнивать Объектно-ориентированный язык высокого уровня с Си - это пустословие. Си++ ведь совсем другой язык да?

Когда научитесь разговаривать без перехода на личности, тогда пишите. Пока же это бессмыслица.

Причем тут С я так и не понял.

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

> не нравиться синтаксис? напиши PEP тебя увидят, выслушают и примут к сведению, а может и не примут и объяснят почему..

Зачем? Уже написали новый язык. В котором большая часть того что надо есть. Ваше предложение на уровне - предложи изменить C, Java или еще какой язык. Изначально понятно, что никто его менять не будет. И если будет меняться то так как хочется разработчикам.

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

Просто у каждого языка есть свои недостатки, которые так с ним и остаются.

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

ну как ты не понимаешь! Если ты в описании класса напишешь method = method то ты хуйню получишь, а не результат который имеешь ввиду. Благодаря self ты можешь включать какую-то логику при инициализации объекта, в зависимости от которой у объекта какие-то аттрибуты будут,а какие то нет. Без self у тебя нигде не определно будет что вот сейчас это просто переменная внутри нашей логики, а вот сейчас это аттрибут объекта.

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