LINUX.ORG.RU

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

+1

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

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

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

glue и все языки с развитым FFI? :)

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


На основании чего сделан вывод о повальном написании быдлокода?

У Си тоже большое коммьюнити.


Я сказал что это плохо? Вы, похоже, мастер читать между строк. Большое «комьюнити» это хорошо, но это не «определяющий» фактор

Плюсов много.


У других языков не меньше. И что?

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

>Теперь в пайтоне лямбды - не лямбды, код - не код, семантика - не семантика, ООП - не ООП. Что дальше? Это вовсе не язык, мб?

Опять ерничаете? Ну ведь кастрированные лямбды! =)

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

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

Угу. И ещё под управлением кучи других языков...

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

Да ну, раз уж там сравнивали Ruby с объектно-ориентированным бейсиком, думаю фанатизм тут ни при чём))

yoghurt ★★★★★
()

плюсую за питон вот например интерпретация грепа на питоне:

import os, sys, fnmatch
mask = '*.py'
pattern = 'import'
def walk(arg,dir,files):
   for file in files:
     if fnmatch.fnmatch(file,mask):
        name = os.path.join(dir,file)
        try:
          data = open(name,'rb').read()
          if data.find(pattern) != -1:
            print name
        except:
            pass    
os.path.walk('.',walk,[])
kto_tama ★★★★★
()
Ответ на: комментарий от Deleted

мне лениво:))

вот эта data = open(name,'rb').read() штука считывает весь файл целиком как я понял?

data.find(pattern) - а вот эта ищет сразу во всём файле?

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

Я питон не знаю… Я больше как-то руби, но здесь возгласы о нём не шибко гладко проходят, а воевать настроя нет :)

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

> для массива:

a(0)


Массивы - недофича, которая, надеюсь, в скором времени будет убрана. Во-первых, словари - не строки, т.е. их нельзя просто распечатать, их нельзя передать в функцию и т.д. Во-вторых, http://wiki.tcl.tk/13826

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

>Я питон не знаю…

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

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

>А перл уже подзабыл капитально, наверно на перле это будет както так:

Лаконичненько

Camel_Toe
()

<troll type=«fat»>

TCL/TK

Зачем нужен tcl есть есть питон+tkinter?:) А вообще забавный язык, жаль малораспространённый и незаслуженно забытый.

Ruby

Тормоз.

Python

Это круто.

Perl

Меня запах мертвечины пугает.

</troll>

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

>Угадай насколько короче и понятней это будет на перле?
в то, что будет «короче» - верю. Насчёт «понятнее» - насмешил, спасибо.

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

>1.9.x смотрит на тебя как на анбиозника.

Да куда ему там, он только-только к питону подбирается. Уж на что питон то небыстр.

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

можно обойтись и средствами языка: http://wiki.tcl.tk/8405

 proc grep { {a} {fs {*}} } {
   set o {}
   foreach n [lsort -incr -dict [glob $fs]] { set f [open $n r]; set c 0; set new 1;
      while {[eof $f] == 0} { set l [gets $f]; incr c;
         if {[string first $a $l] > -1} { if {$new == 1} {set new 0; append o "*** $n:" \n};append o "$c:$l" \n;}}
      close $f
   }
   return $o
 }

# Test with:

  catch {console show}
  puts "Result:\n[grep "require" "*.tcl"]"

tclsh test.tcl string puts Result: *** test.tcl:

14: puts «Result:\n[grep „require“ »*.tcl"]"

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

> Зачем нужен tcl есть есть питон+tkinter?:)

А что, он уже без tcl/tk работает? на одном питоне, что ли? :D

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

> [glob $fs]

Тока эта, лучше соломку подстелить: [glob -nocomplain $fs]

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

> Массивы - недофича, которая, надеюсь, в скором времени будет убрана.

а в четвертых: слава Богу, что tcl стабилен, защищён от зуда реформаторов, и позволяет выполнять код написанный 20 лет назад - в отличии от ...

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

>А что, он уже без tcl/tk работает? на одном питоне, что ли? :D

Tkinter распространяется вместе с дистрибутивом питона. А уж что там и как устроено - оно пользователя (в данном случае программиста) не волнует.

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

>>А что, он уже без tcl/tk работает? на одном питоне, что ли? :D

Tkinter распространяется вместе с дистрибутивом питона. А уж что там и как устроено - оно пользователя (в данном случае программиста) не волнует.

Тогда программе приходится использовать 2 интерпретатора вместо одного :) Да и tkinter использует лишь часть возможностей полного Tk.

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

>Tkinter распространяется вместе с дистрибутивом питона.

Здравствуй, виндузятник:)

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

Кстати, с Питоном или Руби можно упаковать весь программный комплекс вместе с данными в один автономный исполняемый файл? Так, чтобы это было незаметно для самого программного комплекса (читай - без изменения исходников)?

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

Может это был whitespace? :)

Убегал в гараж бензобак ремонтировать и забыл код вставить, извиняюсь))

будет чтото вроде:

while{<*>}
{
   if(/.+\.py/)
   {
       $filename = $_;
       open(CFILE, "<$filename");
       while(<CFILE>)
       {
           print $filename if (/import/);
       }
   }
}

как то так. перл я уже крепко забыл.

Притом всё реализованно средствами языка, а отличии от примера на питоне.

golodranez ★★★★
()

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

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

>Притом всё реализованно средствами языка, а отличии от примера на питоне.

Сейчас от этих «кишок» меня стошнит. Запихнули все что у людей в стандартных библиотеках в язык.

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

а то ведь слив засчитаю! чего попрятались-то?

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

>Tcl/Tk выглядит как говно. За столько лет не смогли нормальный гуй сделать.

http://wiki.tcl.tk/13636

сюрприз, да? хотя жаль что нельзя просто так забесплатно получить tile во всех tk-шных приложениях..

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

>Притом всё реализованно средствами языка, а отличии от примера на питоне.

Ты забываешь, что перл, если его вот так использовать - это write-only language.

volh ★★
()

хватит

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