LINUX.ORG.RU
Ответ на: комментарий от Teak

А как же "жена да убоится мужа своего" (Ефес. 5:33)? ._. Переписать такую жену на лиспе, и в sandbox под chroot'ом, до образумления!

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

> У каждого языка - своя область применения, и писать на лиспе find . -ls |sort -nr +6.0 |head -30 я не стану, например

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

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

>ибо для этой ниши есть намного более эффективные.

вопрос: а где лисп не эффективен? ну кроме как ind . -ls |sort -nr +6.0 |head -30 . а то у меня закрадываются сомнения... :)

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

>вопрос: а где лисп не эффективен? ну кроме как ind . -ls |sort -nr +6.0 |head -30 . а то у меня закрадываются сомнения... :)

В промыщленном кодинге. По общеизвестным причинам типа отсутствия мозга у индусов и банальной нехватки квалифицированных кадров. А у март.., кхм, не очень хороших спецов, мощные средства лучше отбирать, поскольку наворатят такого...

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

> вопрос: а где лисп не эффективен?

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

> ну кроме как ind . -ls |sort -nr +6.0 |head -30

Почему кроме? ИМХО при помощи этого http://www.cliki.net/CLISP-Shell или подобных, которые бывают, оно не менее эффективно было бы. Хотя я не пользовался и достоверно не знаю, но и априори утверждать что на лиспе это менее эффективно чем на баше, не вижу никаких пока оснований.

> а то у меня закрадываются сомнения... :)

Не поделишся в чём?

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

> В промыщленном кодинге. По общеизвестным причинам типа отсутствия мозга у индусов и банальной нехватки квалифицированных кадров.

Хм, а кто-нибудь пробовал? По поводу квалифицированных, не вижу в лиспе абсолютно ничего значительно превышающего по сложности другие, а точнее, вообще считаю лисп наиболее простым и незамысловатым.

> А у март.., кхм, не очень хороших спецов, мощные средства лучше отбирать, поскольку наворатят такого...

Зато лисп предоставляет более богатые возможности для выстраивания иерархии разработчиков, ибо работа может быть поделена по сложности более чётко, чем жабья, от конструирования макросов и наиболее общих функций, до объединения готового кода, макросов, объектов и функций, в top level логику работы приложения. А пирамида иерархии, это безусловно хшё, намного лучше чем начальник отдела и стадо из 20 быдлокодероф. И по техническим и по социальным причинам это больее гибкая и эффективная организация.

bugmaker ★★★★☆
()

хм..... нашли что сравнивать..... ясен перец что руби лучше..... хотябы потому что кроссплатформенный.....

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

>> какие такие средства у Си?

> Макросы например, получше чем в питоне :P.

ОK. Но макросы в Си настолько убогие, что в Питоне такие просто не нужны из-за динамической типизации.

> Возможность динамического кода при помощи указателей на функции.

В Питоне тоже есть указатели на функции, и (в отличие от Си) можно _стандартно_ генерить код в runtime

> Скудные возможности ООП, благодаря им же.

В Питоне есть ООП :D

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

> ОK. Но макросы в Си настолько убогие,

Тем не менее они есть и весьма востребованы.

> что в Питоне такие просто не нужны из-за динамической типизации.

А причём тут типизация? В лиспе тож динамическая, от этого макросы не становятся ненужными, а как раз даже полезными.

>> Скудные возможности ООП, благодаря им же.

> В Питоне есть ООП :D

Да, потому что оно туда воткнуто бай дезигн :D . А в сях и в лиспе - достигаются средствами языка. В сях более убого, по понятным причинам. Из-за требований низкоуровневости. В питоне - по непонятным. Теперь представь что в питоне нету ООП, как в сях, и попробуй ево добавить имеющимися средствами, как в сях. Чё получится? Желательно показать на примерах :) А в лиспе - запросто, там оно макросами и сделано. В сях - вполне достижимо, хоть и гиморно.

Или отлистай назад, где по cmp и попытайся сделать подобное на питоне. Да, знаю, eval ("..."). Теперь представь, что нету eval и попробуй реализовать аналогичную без него. Чё получится? А в лиспе - запросто. Не потому что тамо крутая либа на все случаи жизни, а потому что сам язык - на все случаи жизни.

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

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

КГ/АМ Выучи Ruby сначала.

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

>> что в Питоне такие просто не нужны из-за динамической типизации.

>А причём тут типизация? В лиспе тож динамическая, от этого макросы не становятся ненужными

Ключевое слово - "такие, как в Си". В Лиспе макросы сильно другие.

>> В Питоне есть ООП :D

>Да, потому что оно туда воткнуто бай дезигн :D

И что в этом плохого? В Smalltalk нон тоже by design.

> Теперь представь что в питоне нету ООП, как в сях, и попробуй ево добавить имеющимися средствами, как в сях. Чё получится? Желательно показать на примерах :) А в лиспе - запросто, там оно макросами и сделано.

Показывать не стану, но сделать это можно, и будет не корявее, чем в SICP. А насчет "в лиспе - средствами языка" - это, как бы помягче... передергивание. LOOPS и Flavors в свое время были нестандартными расширениями языка, а в CommonLisp включены выросшие из них средства.

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

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

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

>>> что в Питоне такие просто не нужны из-за динамической типизации.

>> А причём тут типизация? В лиспе тож динамическая, от этого макросы не становятся ненужными

> Ключевое слово - "такие, как в Си". В Лиспе макросы сильно другие.

Да точно такие же. Генерят код из параметров. Язык макросов другой, да, более убогий.

>> Да, потому что оно туда воткнуто бай дезигн :D

> И что в этом плохого? В Smalltalk нон тоже by design.

А чё хорошего? Если он для многих задач далеко неидеален, а в питоне ещё и недоделаный, без всякой возможности для улучшения. Просто воткнули, "чтоб было" и всё. Речь не об этом совсем, а о невозможности использовать парадигмы, отличные от "встроенных" в скриптовых наречиях.

>> Теперь представь что в питоне нету ООП, как в сях, и попробуй ево добавить имеющимися средствами, как в сях. Чё получится? Желательно показать на примерах :) А в лиспе - запросто, там оно макросами и сделано.

> Показывать не стану, но сделать это можно,

Хм, как интересно? Давай-ка добавим например ключевое слово ssalc, которое работало бы аналогично встроенному class, но нигде его не использовало?

> и будет не корявее, чем в SICP.

А почему сейчас, встроенное, так коряво и никто не переделывает, если так просто?

> А насчет "в лиспе - средствами языка" - это, как бы помягче... передергивание.

C каких делов? Всё макросами делается, без всяких левых движений.

> LOOPS и Flavors в свое время были нестандартными расширениями языка, а в CommonLisp включены выросшие из них средства.

Ну и что??? Оно такое же "расширение языка" как stdlib в сях. Сделано для удобства и прописано в спецификации, тем не менее никак не влияет на компилятор и сделано целиком базовыми средствами.

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

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

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

>> Показывать не стану, но сделать это можно,

> Хм, как интересно? Давай-ка добавим например ключевое слово ssalc, которое работало бы аналогично встроенному class, но нигде его не использовало?

Не-а. Добавим функцию define_class.

>> и будет не корявее, чем в SICP.

>А почему сейчас, встроенное, так коряво и никто не переделывает, если так просто?

Когда надо - переделывают (new-style classes в Python 2.2). А вообще-то только лисперы и считают, что ООП в Python коряво, но они ничего переделвать не хотят, а хотят флеймить в python-dev :D

>> LOOPS и Flavors в свое время были нестандартными расширениями языка, а в CommonLisp включены выросшие из них средства.

> Ну и что??? Оно такое же "расширение языка" как stdlib в сях.

_В настоящее время_. Так было не всегда.

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

>>> Показывать не стану, но сделать это можно,

>> Хм, как интересно? Давай-ка добавим например ключевое слово
>> ssalc, которое работало бы аналогично встроенному class,
>> но нигде его не использовало?

> Не-а. Добавим функцию define_class. 

зачем функция? Ты ведаеш как работает это?

class Ugly:
  fsck_it = 0
  def refsck (self, nw):
    fsck_it = nw

Как сделать чтобы 

ssalc Ugly:
  fsck_it = 0
  fed refsck (self, nw):
    fsck_it = nw

работало так же точно? В лиспе это делается вестимо.
 Если ты утверждаеш что ООП можно было бы добавить в питон
 имеющимися средствами, добавь.

> Когда надо - переделывают (new-style classes в Python 2.2).

А почему сразу не судьба сделать как надо, или ещё луче,
 сразу взять готовое?

> А вообще-то только лисперы и считают, что ООП в Python коряво,

Может оттого что знают как некоряво?

> но они ничего переделвать не хотят,

А зачем если и так есть уже, всё переделаное и работает?

> а хотят флеймить в python-dev :D

хм, я никогда ещё... Один раз только на ирц-канал зашед
 и грязно выругался, когда с джангой мучился.
 Слишком сильно достала :(

> _В настоящее время_. Так было не всегда.

Тем не менее оно _есть_, _здесь_ и _сейчас_.
 Знаеш кто на ашыпках учится, а кто их повторяет?

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

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

На самом деле, говорят, что многим отличаются. Странный ты какой-то. Обычно лисперам нравится ruby.

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

>> Не-а. Добавим функцию define_class.

>зачем функция? Ты ведаеш как работает это?

>class Ugly:

Ведаю.

> Если ты утверждаеш что ООП можно было бы добавить в питон имеющимися средствами, добавь.

Утверждаю, но добавлять не стану. И вообще, что за дискриминация - почему это нужно именно ключевое слово ssalc, а не функция define_class? Тебе шашечки или ехать?

>> А вообще-то только лисперы и считают, что ООП в Python коряво,

>Может оттого что знают как некоряво?

Не-а, это оттого, что у них всех поголовно плохой характер :D

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

> На самом деле, говорят, что многим отличаются. Странный ты какой-то. Обычно лисперам нравится ruby.

Возможно и так. Как я говорил ранее, я не знаком ни с руби ни с райлзом. Это моё мнение сформировалось по отрывочным сведениям и возможно оно неправильно.

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

> Утверждаю, но добавлять не стану.

Хм, и даже не скажеш каким способом это можно?

> И вообще, что за дискриминация - почему это нужно именно ключевое слово ssalc,

Исключительно чтобы показать, что _на_уровне_языка_ ООП не добавляется. Чтобы в свою очередь показать, что на уровне языка невозможно добавление новых парадигм, не прибитых гвоздями изначально. Чтобы в свою очередь показать, что скриптовый язык не в состоянии преодолеть некоторых жёстких изначально заложенных рамок, невзирая на размер, внутри этих рамок отпущенный.

> а не функция define_class?

Ты не боись, и с define_class кучя косяков найдётся. Не зря же ты не хош ничего из кода показывать.

> Тебе шашечки или ехать?

Ехать? На одном ООПе? Нет, спасибо, я пешком постою.

> Не-а, это оттого, что у них всех поголовно плохой характер :D

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

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

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

>> Утверждаю, но добавлять не стану.

>Хм, и даже не скажеш каким способом это можно?

Если бы мне пришлось, попробовал бы так: класс - это ассоциативный массив (встроен в язык), метод - обычная функция, обернутая для поиска по иерархии наследования.

> и с define_class кучя косяков найдётся. Не зря же ты не хош ничего из кода показывать.

показывать нечего - я ее не написал (по крайней мере, пока :))

>> Тебе шашечки или ехать?

> Ехать? На одном ООПе? Нет, спасибо, я пешком постою.

Ну почему же на "одном"? Обычное процедурное программирование вполне возможно, а для эстетов есть пакет functools, map, reduce. Можно и своё написать :)

> Луговский давно бы объяснил, доступно и во всех подробностях.

Как объяснятель чего-нибудь Луговский был в лучшем случае абсолютно бесполезен. Из флейма "Фраза о Лиспе" я набрался больше информации и ссылок, чем из всего высказанного этим псевдопсихом.

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

Интересно. Ссылка есть?

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

> Если бы мне пришлось, попробовал бы так:
> класс - это ассоциативный массив (встроен в язык),

И станет возможным обращение через . ?

> метод - обычная функция, обернутая для поиска
 по иерархии наследования.

В массив можно запихать функцию? Как наследование сотвориш?

>> и с define_class кучя косяков найдётся.
>> Не зря же ты не хош ничего из кода показывать.

> показывать нечего - я ее не написал (по крайней мере, пока :))

Ну мог бы и написать, косяков от этого не убавилось бы.

> Ну почему же на "одном"? Обычное процедурное программирование
> вполне возможно, а для эстетов есть пакет functools, map, reduce.
> Можно и своё написать :)

Разве? Сооруди-ка чёнть подобное:

(defcomponent login-form (simple-form)
    (   (login-input :accessor login-input :initform (make-instance 'string-field :input-size 18))
        (password-input :accessor password-input :initform (make-instance 'password-field :input-size 18))
        (container :accessor container :initarg :container)
        (messages :accessor messages :initform '()))
    (:default-initargs      
        :accept-charset "UTF-8"
        :default-refresh-action-p nil))


(defmethod render ((form login-form))
    (when (messages form)
        (<:ul (dolist (message (messages form)) (<:li (<:b (<:as-html message))))))
    (let ((login (get-session-value 'login)))
        (if login
            (progn
                (<:b (<:as-html (format nil "Вы вошли как ~A" login)))
                (<:b login)
                (<:br)
                (<ucw:button 
                    :action-body (logout-action form)
                    :default t
                    :progress-label #.(with-yaclml-output-to-string (<:as-html (<:i "Завершение сессии")))
                    "Выйти"))
            (progn
                (<:as-html "Введите имя пользоваетля и пароль для входа")
                (<:table
                    (<:tr (<:td "Имя: ") (<:td (render (login-input form))))
                    (<:tr (<:td "Пароль: ") (<:td (render (password-input form))))
                    (<:tr (<:td :colspan 3
                        (<ucw:button 
                            :action (register-action ()
                                (with-call/cc (login-action form))
                                (mark-dirty form))
                            :default t
                            :progress-label #.(with-yaclml-output-to-string (<:as-html "Проверка " (<:i "имени пользователя") " и " (<:i "пароля")))
                            "Войти"))))))))

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

> Из флейма "Фраза о Лиспе" я набрался больше информации и ссылок,
> чем из всего высказанного этим псевдопсихом.

Ты ещё в гугле небыл, вот где ссылок навалом.

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

> Интересно. Ссылка есть?

Наверняка есть. Где ты говорил лисперы флеймить ходят?

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

>> класс - это ассоциативный массив (встроен в язык),

>И станет возможным обращение через . ?

Думаю, да. А что, без . ООП - не ООП?

> В массив можно запихать функцию?

8-O да, конечно. и вернуть из функции, и всё остальное.

> Как наследование сотвориш?

специальное поле указывает на базовый класс, в чем проблема?

> Сооруди-ка чёнть подобное:

Истину говорю тебе - ниасилил, многабукаф. Это что-то вроде встроенного в язык шаблонного движка? Насчет форм и Django - я не имею никакого отношения к web-программированию.

> Ты ещё в гугле небыл, вот где ссылок навалом.

если бы знать, что искать, да как фильтровать результаты поиска :(

>> Интересно. Ссылка есть?

> Наверняка есть. Где ты говорил лисперы флеймить ходят?

Там было нытье неудовлетворенного фоннатега на тему "Лисп такой крутой, а Питон лажа, немедленно все 2 раза 'ку' и перешли на Лисп, ыыыы..., почему на Лиспе никто не программит, ыыыыы". Читать противно :(

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

>ыыыы..., почему на Лиспе никто не программит, ыыыыы". Читать противно :(

Что читать противно? Код или нытьё? Наверное, и то и другое :)

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

> Думаю, да. А что, без . ООП - не ООП?

Думаю что без этого ооп не будет щитаться добавлено на уровне йазыга

> Истину говорю тебе - ниасилил, многабукаф. Это что-то вроде встроенного в язык шаблонного движка?

Это запись хтмл прямо на лиспе, наподобие JSP только с рядом отличий в лучшую сторону. А как будет выглядеть хтмл на питоне?

> Насчет форм и Django - я не имею никакого отношения к web-программированию.

А к чему имееш? ._.

> если бы знать, что искать, да как фильтровать результаты поиска :(

Дык чё хош то и ищи, кто не даёт?

> Там было нытье неудовлетворенного фоннатега на тему "Лисп такой крутой, а Питон лажа, немедленно все 2 раза 'ку' и перешли на Лисп, ыыыы..., почему на Лиспе никто не программит, ыыыыы". Читать противно :(

Хм, если действительно так, ничего удивительного. На ЛОРе от ананимусов, да и не только ещё не такого наслушаешся. Тем не менее в его словах есть доля правды, только в том, что на лиспе никто не программит, он конечно явно наврал. Для меня это в какой-то степени удивительно, что находится пипл, связывающийся с лажей по доброй воле. Я в этом топеге уже рассказывал про чела, который даже дотнетиненадом весьма доволен и не хотит другое, и я таких много повидал. Просто подход "меня это устраивает и я не буду искать/придумывать лучшее" я считаю недостойным.

А про недоООП в питоне, посмотри хотябы в сторону тех же мультиметодов, вот здесь кратенько: http://ru.wikipedia.org/wiki/CLOS .

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

>> Думаю, да. А что, без . ООП - не ООП?

> Думаю что без этого ооп не будет щитаться добавлено на уровне йазыга

В Лиспе нет доступа через . :D

>> Насчет форм и Django - я не имею никакого отношения к web-программированию.

> А к чему имееш? ._.

К embedded и системному программированию - драйверы, управление оборудованием, сети, реальное время. Python в роли glue и для GUI.

> А про недоООП в питоне, посмотри хотябы в сторону тех же мультиметодов

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

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

> В Лиспе нет доступа через . :D

Нету, факт. Там есть доступ через ( ибо там так принято. Если я сделаю другое, к нему будет доступ через (. А в питоне принято через . но сам ты не сможеш сделать через . и в этом отличие. Как я и говорил ранее, к скриптовым наречиям невозможно добавить того, что не было прибито гвоздями ранее. Ичё?

> К embedded и системному программированию - драйверы, управление оборудованием, сети, реальное время. Python в роли glue и для GUI.

glue как ты сам понимаеш типичный, классический скриптинг. GUI в примитивной его реализации вобщем тоже. Неудивительно, что питон для этого не так уж и плох. Попробуй что-нибудь позаковыристее.

> Про мультиметоды я знаю. Красивая фишка, не спорю, но мне Питон и так кажется слишком динамичным (я ващеблин не люблю динамические языки).

Ну да, можно назвать и так.

> Хотя при помощи какого-нибудь хитрого декоратора это можно сделать и в Питоне.

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

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

> в питоне принято через . но сам ты не сможеш сделать через .

провоцируешь... :/

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

> По-твоему понятия "скрипт" и "программа" эквивалентны?

имхо скрипт это разновидность программы. но тут уже всё зависит от определения "программа" и "скрипт"

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

Я понимаю термин "скрипт" как жаргонизм обозначающий программу написанную на высокоуровневом (чаще всего интерпретируемом) языке и выполняющую роль "клея" для компонентов некоторой программной системы. Причем я затрудняюсь дать четкие правила деления "скрипт"/"не скрипт".

Но в любом случае скрипт это всегда программа.

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

> выполняющую роль "клея" для компонентов некоторой
> программной системы.

Вот именно про это я и толкую. В скрипте нету и не нужно
 сложной логики. Его дело вызвать компонент и передать
 результат его работы следующему вызываемому компоненту.
 Оттого и характерные черты "скриптовых" наречий: 

> Но в любом случае скрипт это всегда программа.

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

#!/bin/bash
#
# if firefox is allready running, send it a command
# if started without arguments, open a new window, else a new tab
ff=/usr/local/firefox/firefox

if $ff -a firefox -remote "ping()" 2> /dev/null ; then
        if [ -z "$1" ]; then
                $ff -a firefox -remote "xfeDoCommand (openBrowser)"
        else
                $ff -a firefox -remote "openURL($1,new-window)"
        fi
else
        $ff $1 &
fi

не говоря уж о произведениях на питоне.

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

> жаргонизм

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

> Причем я затрудняюсь дать четкие правила деления "скрипт"/"не скрипт".

Тем не менее ты интуитивно понимаеш что это неэквивалентные понятия. BTW, ведомо ли тебе количество слов в языке эскимосов, обозначающих разные виды снега?

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

> Вот именно про это я и толкую. В скрипте нету и не нужно сложной логики. Его дело вызвать компонент и передать результат его работы следующему вызываемому компоненту.

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

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

> Примеров множество.

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

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

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

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

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

Гы. Конечно. В питоне гораздо меньше возможностей получить сегфолт и запутаться в череде malloc, free и в адресной арифметике.

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

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

> практика в конечном счете является критерием истины

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

> Гы. Конечно. В питоне гораздо меньше возможностей получить сегфолт и запутаться в череде malloc, free и в адресной арифметике.

А причём тут сегфолт и прочее? Что, будь в питоне хотя бы макросы например или не настолько ужасающе карявый синтаксис, сразу посыпались бы сегфолты? "А зато у вас негров линчуют", да?

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

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

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

Исходя из чего? Из того что си для этого подходит ещё хуже? :D

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

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

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

> А причем тут сегфолт и прочее? Что, будь в питоне хотя бы макросы например или не настолько ужасающе карявый синтаксис, сразу посыпались бы сегфолты? "А зато у вас негров линчуют", да?

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

А макросы - та еще кака. В большинстве случаев просто засоряет язык непонятными конструкциями.

> В первую очередь они оба "общего назначения", почему бы не посравнивать?

Ты ж сам выше доказывал что назначение и питона и си разное. Си - портабельный ассемблер, а питон язык для склеивания компонентов. Где они пересекаются ?

> Исходя из чего? Из того что си для этого подходит ещё хуже? :D

Да. Исходя из твоих доводов.

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

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

Да, то же самое считают юзвери перла, пыпыха, дотнетиненады и даже висуалвасика. Где правда, брат?

> Про автоматическое управление памятью слышал ? Так вот в питоне есть, а в си нету.

Про макросы слышал? В сях есь а в питоне нету :P

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

Ну и чем возможности питона больше чем у полчища других наречий со сборщиком мусора?

> А макросы - та еще кака. В большинстве случаев просто засоряет язык непонятными конструкциями.

Да ни говори, программирование ваще кака. Засоряет винт непонятными прогами.

> Ты ж сам выше доказывал что назначение и питона и си разное. Си - портабельный ассемблер, а питон язык для склеивания компонентов. Где они пересекаются ?

Дык я и доказывал, да. Но кой-какой народ утверждает что питон годится ещё кой-для чего, кроме скриптования aka склейки готовых компонентов. Вот я и указал что он как язык програмиирования, а не скриптования, даже до уровня сей недотягивает. Что вобщем-то и так довольно очевидно, учитывая процент сишного кода в питоньих либах. Чё нетак? ._.

>> Исходя из чего? Из того что си для этого подходит ещё хуже? :D

> Да. Исходя из твоих доводов.

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

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

> Да, то же самое считают юзвери перла, пыпыха, дотнетиненады и даже висуалвасика. Где правда, брат?

А в чем проблема ? Это действительно удобные средства для решения определенных задач. Чем тебе не правда ?

> Про макросы слышал? В сях есь а в питоне нету :P

Ну и. Я же говорю - разные языки.

> Да ни говори, программирование ваще кака. Засоряет винт непонятными прогами.

С этим спорить невозможно. Но что поделаешь, программирование - необходимое зло.

> Дык я и доказывал, да. Но кой-какой народ утверждает что питон годится ещё кой-для чего, кроме скриптования aka склейки готовых компонентов. Вот я и указал что он как язык програмиирования, а не скриптования, даже до уровня сей недотягивает. Что вобщем-то и так довольно очевидно, учитывая процент сишного кода в питоньих либах. Чё нетак? ._.

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

Так к слову, сишный препроцессор почти независимая программа, ее можно и в питоне использовать. Никто не запрещает.

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