LINUX.ORG.RU

Гвидо ван Россум покидает Zope Corporation


0

0

Гвидо ван Россум, создатель скриптового языка программирования Python, покидает Zope Corporation (http://www.zope.com/), где проработал долгое время после ухода из BeOpen. Об этом он заявил на OSCON (http://conferences.oreillynet.com/os2...). Гвидо будет работать в новом стартапе "Elemental Security", основанным Дэном Фармером, создателем нескольких известных утилит для сетевой безопасности, например, такой, как Satan. Уход означает, что Гвидо больше не будет работать над Zope3, и надеется, отдавать больше времени разработке Python.

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

★★

Проверено: green

что, правда????

на питоне:

>>> len("sort<x|uniq")>len('perl -e "print `sort<x|uniq`"')
0

а на перле неужто 1?
или слово "короче" можно при чтении пропускать как малозначимое?

anonymous
()

Обгоним Касперского!!!! 152!!!

anonymous
()

это что еще за анонимус который только посты считает?

anonymous
()

Diomidis Spinellis. Code Reading: The Open Source Perspective.

что, правда????

на питоне:

>>> len("sort<x|uniq")>len('perl -e "print `sort<x|uniq`"') 0

а на перле неужто 1? или слово "короче" можно при чтении пропускать как малозначимое?

Ну слово perl я должен был где-то написать ?

Sun-ch
()

Diomidis Spinellis. Code Reading: The Open Source Perspective.

Если уж делать стандарт, то на основе пристойного скриптового языка - tcl,guile, того же python (кто там еще претендовал на встраиваемость?)

Ну конечно perl !

perldoc perlembed

Все очень просто и примеры есть

Готовый проект vi + perl можно посмотреть :)

Sun-ch
()

Antichrist'a нет, а больше никого, кто бы хоть-что понимал в элементарных основах дисциплины "Языки программирования" больше нет. Чукчи сплошь только анонимные, дикие и косноязыные. 0xFFFFFFFF не знают что такое и почему с ним фокусы бывают при касте. Тундра...

Питон родился в 1990 как скриптовый язык для умных людей (типа ученых), чтобы быть понятным и компактным инструментом для быстренькой повседневной разработки утилиток с использованием известных и понятных им алгоритмических абстракций. В отличи от многих он был сначала продуман и РАЗРАБОТАН, а потом уж реализован в коде...

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

Важные свойства Python BY DESIGN:

0. Целесообразная концептуальность 1. Нестрогая типизации, контейнеры и операции с ними 2. Oграниченный набор встроенных функций + модульность 3. Иерархичное пространство имён 4. "Невидимый" байт-код 5. VM with GC 6. OOП как прототип-объект а не как класс-объект

Пункт 6 вытекает из 1 и 3, поэтому и self оставили - чтобы логику не кособочить и чтобы можно было мнения дураков и умных разделять (первые кроме неудобства писать self ничего сказать и не могут, как и аббревиатуру в редакторе для него сделать ;)

speer
()

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

>Готовый проект vi + perl можно посмотреть :)
фига себе!! прямо в vi встроили perl???? нет я знаю что в Vim встраивается и python, и ruby, и perl, но чтоб в vi!!

anonymous
()

2Sun-ch:
>>Нет, есть, конечно, всемогущий eval, но это достаточно кривое решение.
>Интересно, почему создатели lisp так не считают ?

>Там eval очень популярен.

eval в Lisp/Scheme и eval в Perl/Python/Tcl - это две совершенно
разные вещи, хотя делают, на первый взгляд, одно и тоже.
В lisp и его производных, из-за того что программы и данные
представляются одинаковым образом (как S-выражения), eval это
практически вызов функции - так как код уже сформирован. То есть
и накладной расход маленький, и отладчиком можно внутрь зайти.
А в Perl/Python/Tcl аргумент eval - это строка. Так что вся махина
интерпретатора натравливается на эту строчку, она переводится в
байт-код, который потом исполняется. Так что можно представить себе
накладной расход. А вот представить, что там сделалось с твоей
строкой как раз тяжело.
То есть eval не в lisp языках - это даже не парашут, это катапульта,
можно выпрыгнуть из горящего самолета, а дальше - твои проблемы.
Да даже и для lisp'а при использовании оптимизирующих компиляторов,
eval должен представлять некоторую проблему.

-- бывший anonymous


VP
()

> eval в Lisp/Scheme

В scheme - "eval is evil".

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

>> А еще есть whitespace :))) Еще смешнее brainfuck'a :)))) >А еще некоторые композиторы додумались музыку писать одними паузами -- >причем сложную, с многими голосами и полиритмией. >Однако исполнители пока не дотягивают.;))

Перечитай на досуге "Альтиста Данилова". Был там один апологет "тишизма"... :)))

gns ★★★★★
()

А ваще правильно - корпорацию с таким непристойным именем грех не покинуть. Ноля на них нет.

anonymous
()

anonymous (*) (2003-07-12 22:36:44.77013)

это в смысле чтоб было Z0PE?

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


>Важные свойства Python BY DESIGN:
>0. Целесообразная концептуальность 1. Нестрогая типизации, >контейнеры и операции с ними 2. Oграниченный набор встроенных >функций + модульность 3. Иерархичное пространство имён >4. "Невидимый" байт-код 5. VM with GC 6. OOП как прототип-объект а >не как класс-объект
В общем это достаточно близко к действительности, с некоторыми
оговорками
1. Типизацию в Python правильнее называть не слабой,
а динамической.
Т.е. нельзя обращаться к переменной как var.asstring
или var.asinteger одновременно и не бывает безтиповых указателей
как в с(указателей вообще нет).
2. На мой взгляд питон уже сейчас предлагает средства для разработки
корпоративных приложений. Я имею в виду возможность самодокументирования кода(на уровне синтаксиса есть возможность комментирвания объектов, методов..), быстрая разработка прототипов,
profiler.

obp
()

Diomidis Spinellis. Code Reading: The Open Source Perspective.

2Korwin

На самом деле есть очень простое решение твоей задачки, без

использования модуля

perl -e 'my %a=();while(<>){$a{$_}++;}print sort keys %a;'

Sun-ch
()
Ответ на: комментарий от Anode

Про java

>>Оригинальный спек. жавы я очень люблю потому что там есть и базовые >>структуры (динамич. массивы, хэш, стэк - необходимый мин.) и была >>тогда жава всего несколько мег (6М - даже для 1.1) а спек - чуть >>потолще K&R.
Мне он тоже показадся неплохим, я вчера решил еще раз перечитать,
впечатления уже не такие радостные:
1)система типов: примитивные типы,ссылочные типы и типы-классы-
что-то многовато
2)фактически библиотека работы с базовыми структурами использует
динамическую типизацию.
Общее впечатление от синтаксиса Java:все многословно и как-то неуклюже.
>>Я это к тому что язык сам по себе - должен быть компактен и быть >>инвариантом а интерфейс с системой (ввиду того что систем много и >>они развиваются) быть плагином то-есть уходить в библиотеки.
>>...
А если язык допускает динамическую типизацию везде(даже при передаче параметров методов ) и контейнеры и итераторы уже присутсвуют в базовых типах и наследуются потомками, язык от этого не становится большим, и интерфейсы к различным системам получаются элегантными.
Кстати, очень неуклюже выглядит интеграция жестко типизированных языков, например, с SQL.

Это конечно моё IMHO.







obp
()

> Кстати, очень неуклюже выглядит интеграция жестко типизированных языков, например, с SQL.

В чем проявляется эта "неуклюжесть"? ИМХО при интеграции Дельфи с SQL никаких проблем не возникает, вообще считаю это лучший язык для работы с БД.

anonymous
()

perl -e 'my %a=();while(<>){$a{$_}++;}print sort keys %a;'

и это простое решение? на поиски которого понадобилось трое суток?
и сколько оно скушает памяти если обработать надо 150М?
а если 150КМ?

вывод: перл против sort|uniq -- пузырь, и хватит уже позориться

anonymous
()

Netcraft: Top providers running FreeBSD

>и это простое решение? на поиски которого понадобилось трое суток?

Да нет, просто про модуль я знал, а думать не хотелось :)

Sun-ch
()

> Да нет, просто про модуль я знал, а думать не хотелось :)

для тех кому не хочется думать : открылся тред про БСД, все туда.

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

>6.2. Регулярные выражения (как и файлы кстати) >это не first-class объекты. Их нельзя сформировать на лету, >передать в функцию и т.д. Нет, есть, конечно, всемогущий eval, >но это достаточно кривое решение.

Смешно, конечно! Может попробовать qr?

цитата из perlop _______________ qr/STRING/imosx

This operator quotes (and possibly compiles) its STRING as a regular expression. STRING is interpolated the same way as PATTERN in m/PATTERN/. If ``''' is used as the delimiter, no interpolation is done. Returns a Perl value which may be used instead of the corresponding /STRING/imosx expression.

____________________

А насчет файлов рекомендую почитать pelfunc в разделе про функцию open и perlopentut для общего развития.

anonymous
()

> Да нет, просто про модуль я знал, а думать не хотелось :)

Все ты правильно сказал про DB_File - и памяти кушает меньше, чем любой sort|uniq и о сортировке не надо заботиться.

anonymous
()

>>>1. Типизацию в Python правильнее называть не слабой, а динамической.

А я слабой её и не называл... насчет динамической - согласен.

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

НЕ НАДО целиком на ПИТОНЕ делать корпоративные приложения - это КЛЕЙ, подсобный инструмент, средство для встроенного скриптинга и т.д. Большее не выходит (и не надо - так и задумывалось!) из-за отсутствия типизации, изменчивости объектов-классов, системной зависимости, невозможности определять уровни видимости объектов, практическое отсутстивия системы безопасности... Если это всё добавить-поправить - то питон превратится в Java - а она и так уже есть и она-то и стала сейчас (раньше был Кобол) средством для корпоративной писанины.

Из-за идейной близости питона и явы они легко совмещаются - см. Jython. А если ещё и Kawa (Shema - родственник Lisp под JVM ) освоить в связке с ними - то просто праздник какой-то выходит (профессиональный :)))

А вот где Python явно и сильно недооценен, так это в html-кодинге мелко-среднего уровня вместо концептуально-нищего и уродского php! Популярности последнего нет никакого разумного объяснения - это одна сплошная историческая ошибка и недоразуменее: модуль для апача сделали раньше, для переползших в поисках заработка сишников и аспешников его кривизна понятнее и роднее, переменные с $, как в перле и т.п. Надеюсь, что php-шный угар в этой области потихоньку пойдет на спад, как это уже случилось с perl'om (хотя ни тот ни другой никуда разумеется не исчезнут) и соотношение востребованности изменится. Давно пора.

PS. Чем ровнее язык - тем реже его мажорные релизы... Любопытно посравнивть историю изменеий Python/Java c Perl/PHP ;)

speer
()

python

> PS. Чем ровнее язык - тем реже его мажорные релизы... Любопытно
> посравнивть историю изменеий Python/Java c Perl/PHP ;)

ведь питон раньше пхп появился?

anonymous
()

2Sun-ch (*) (2003-07-14 11:19:05.098184)
>На самом деле есть очень простое решение твоей задачки, без
>использования модуля
>perl -e 'my %a=();while(<>){$a{$_}++;}print sort keys %a;'

>>и это простое решение? на поиски которого понадобилось трое суток?
>Да нет, просто про модуль я знал, а думать не хотелось :)

>>Да нет, просто про модуль я знал, а думать не хотелось :)
>Все ты правильно сказал про DB_File - и памяти кушает меньше, чем любой
>sort|uniq и о сортировке не надо заботиться.

Блин, ну ребята, вы хоть думайте когда пишите! Стыдно за вас, честное слово. _Изначально_ мною было сказанно, что именно такой:
>perl -e 'my %a=();while(<>){$a{$_}++;}print sort keys %a;'

и был алгоритм в Perl программе, только не так компактно, но делает то же самое: объявление хеша, while STDIN загоняем в хеш (отбрасывает дубляжи), вывод в STDOUT с исп. стандартной сортировке.

И этот алгоритм при обработке 150Mb файла выжрал все 800Mb озу, весь своп на 300Mb и CPU загрузил так, что пришлось 5 мин. терпения пока переключился в консоль чтобы кильнуть этот процесс.

А sort | uniq сделал свою работу примерно за 20 сек. без нагрузки на память и CPU. и никакой DB_File не спасет Perl, курите доку на DB_File.

Korwin ★★★
()

цитирую

Korwin:
> Блин, ну ребята, вы хоть думайте когда пишите!

Sun-ch
> Да нет, просто про модуль я знал, а думать не хотелось :)

LOL

;)))))))))))))))))

anonymous
()

Netcraft: Top providers running FreeBSD

2Korwin Задача элементарная и соответственно программа тоже. Сейчас уже ее нет - удалил, но смысл был в следующем: 1. Загнать в хеш весь файл. Таким образом избавляемся от дублируемых записей. 2. Выводим хеш в файл построчно попутно указав, что данные из хеша должны поступать в отсортированном виде.

>В итоге программа размером около 10 строк.

Ну покажи свой код, что ты там в 10 строках намутил ?

А также версию perl, какая ОС и ядро.

Sun-ch
()

А не расскаже ли кто, как Python с базами работает? С Oracle, Interbase? А то АПИ как-бы есть, я как работать, так нет. Даже, говорят, ODBC для него нет

anonymous
()

Sun-ch Ты вроде взрослый мужик, а всё воду мутишь. Как будто сам не знаешь каждой задаче - своё решение. Ты же с горы не на гоночном лисапеде поедешь, а на горном. Хотя тот и другой - лисапеды. и вполне катаются.

Korwin хорошь Грейсвандиром размахивать народ не оценит. У питона свой путь у с++ свой.

Pavel_and
()

>В итоге программа размером около 10 строк.
Ну покажи свой код, что ты там в 10 строках намутил ?

2Sun-ch. Читать умеем?
Korwin: "и был алгоритм в Perl программе, только не так компактно, но делает то же самое"

Также писал, что код не сохранился из-за ненадобности и легкости написания, по памяти:
use strict;

my %a;

while (<STDIN>) {
$a{$_} = 1;
} # while

print STDOUT sort (keys %a);

В общем сказал ведь, что не так компактно.

Читать надо внимательнее, и думать конечно :)

Korwin ★★★
()

2Pavel_and. Вау! Приятно видеть человека знающего что такое Грейсвандир! Уважаю.

Ты прав. Пора завязывать.

По поводу сабжа. Кто пользовал Pythoon в написании GUI к DB. Отзовитель насколько просто и бысто. И сколько будет весить дистрибутив предполагая, что у пользователя не установлен Pythoon.

Korwin ★★★
()

Netcraft: Top providers running FreeBSD

2Korwin >И этот алгоритм при обработке 150Mb файла выжрал все 800Mb озу, весь своп на 300Mb и CPU загрузил так, что пришлось 5 мин. терпения пока переключился в консоль чтобы кильнуть этот процесс.

Руки заточи, perl hacker хренов.

ls -l

... 161128232 1_1.txt

time ./test.pl < 1_1.txt > 2.txt

26.295u 1.390s 0:27.71 99.8% 15+4617k 0+14io 0pf+0w

Машинка 2 x pii 400 Mhz RAM 512 Mb pc100

FreeBSD 4.7 release-p2 SMP

При этом работали X, мозилла, squid и никаких тормозов не наблюдалось

perl 5.6

Sun-ch
()

2Sun-ch, сравнил двух процевую машинку с одно процевой. К тому же дело было не под фрей.

И как мне руки заточить? Код показал, результат работы тоже. Как точить? Или только на личности можем переходить?

Korwin ★★★
()

Netcraft: Top providers running FreeBSD

2Korwin

Да ладно, процессоры детские, да и процесс один был и лимиты урезаны.

А ты на чем работал ? Под лялих поди ? А проц какой был ?

Sun-ch
()

Линукс был, машинка пень 233. В общем, что ночью нашлось в интитуте :)

Korwin ★★★
()

Netcraft: Top providers running FreeBSD

Линукс был, машинка пень 233. В общем, что ночью нашлось в интитуте :)

Да, не густо у вас в интитуте. А как ты умудрился туда 800 метров

озу запихать ? Чипсет какой, а мама ?

Sun-ch
()

> Даже, говорят, ODBC для него нет

врут. по крайней мере под win32 odbc есть, смотреть win32all

tws
()

Ой, саныч, не гони да? Покажи ка результат команды:
wc test1.txt

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

Про машину совсем ничего не знаю знаю только, что Pentium MMX из последних и памяти 800Mb. Больше я ту машину не видел.

Korwin ★★★
()

2 Sun-ch:

слышь ты, чмо перловое, сворачивай давай свой гнилой фонтан ;)

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

интересно, вот у меня в мобиле BSD не пашет -- спортируешь за 2 дня, или кишка тонка, только треп разводить?

anonymous
()

Ой, саныч, не гони да? Покажи ка результат команды: wc test1.txt

wc 1_1.txt

3409973 24136566 161128232

Sun-ch
()

2мудозвон КРИВОГОЛОВЫЙ

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

Если я по ssh на твоем сервере, то я узнаю все :)

less /var/log/message

/kernel Intel 82443 BX (440 BX) host to PCI ....

Sun-ch
()

less /var/log/message

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

anonymous
()

НАРОД! Korwin, Sunch, anonymousы -- ВЫ ЧТО ВАЩЕ?

ИМХО, знал бы ГВР, что вы такое здесь устроите, сидел бы в ZOPE до пенсии :)

ЗАВЯЗЫВАЙТЕ!!!!













































































































































































***

anonymous
()

>ну вот те хер, снч, варлог он будет у меня читать, щаз.

А дай мне shell ? И я все про тебя расскажу :)

Sun-ch
()
Ответ на: комментарий от speer


>>НЕ НАДО целиком на ПИТОНЕ делать корпоративные приложения - это >>КЛЕЙ, подсобный инструмент, средство для встроенного скриптинга и >>т.д.
А что такое корпоративный кодинг-сегодня это уже практически скриптинг:
снизу SQL,
сбоку GUI далее формы/отчеты
далее- пакетные задания типа :
/подбить баланс/обработать опердень/биллинг посчитать/
далее-веб сервисы всякие.
и чего тут питон не может, а java может?
В конце концов, никто не мешает профилировать прототип и переписать 10-20%
процентов критического кода на с.

>>Большее не выходит (и не надо - так и задумывалось!) из-за отсутствия типизации,
>>изменчивости объектов-классов,
Типизация и статичность классов не являются гарантией правильности прикладного кода.
все равно тестировать надо, и проблемы неверной передачи парметров это мелочь по сравнению с поиском неверного оператора в иерархии
из 2 000 классов.
И тут чем нагляднее язык-тем меньше шансов на ошибку.
>> системной зависимости,
здесь совсем неверно. системная независимость присутствует
>> невозможности определять уровни видимости объектов,
здесь все тоже не так суицидально
все-таки есть возможность сокрытия имен в модуле или классе,но это не замок,а скорее щеколда от случайной порчи.
>>практическое отсутстивия системы безопасности...
Кто мне может объяснить о чем вообще идет речь?
Какая система безопасности может быть в языках программирования С,Delphi,Cobol...?
Я так понимаю, что это можно обсуждать на уровне инфраструктуры как-то:
сервер, сеть, СУБД, прикладная программа, запущенная в конкретных условиях.

obp
()

Ну дык народ, я типа непонял, что круче то perl или python?
:)

anonymous
()

не понял -- читай тред сначала ж%:)

anonymous
()

Какая система безопасности может быть в языках программирования С,Delphi,Cobol...?

В perl есть механизм, который делит данные на чистые и грязные,

в зависимости от источника поступления.

Sun-ch
()

>В perl есть механизм, который делит данные на чистые и грязные, Это как?

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

>>А не расскаже ли кто, как Python с базами работает? С Oracle, >>Interbase? А то АПИ как-бы есть, я как работать, так нет. Даже, >>говорят, ODBC для него нет 1) ODBC под win32 есть 2) ODBC под lin-есть, но это коммерческий продукт.Дравера также за деньги 2)Про Oracle Python DB API2.0 a)DCOracle2 b)cx_Oracle оба дравера работоспособны под кучей OS(я их пользую много) Остальное смотри:(там есть и DB2 и Interbase и всякая остальная сиквелятена) http://www.python.org/topics/database/modules.html

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