Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что лучше осваивать. (Python or Ruby) 
:(
    Опции темы
GrayCardinal
Дата 21.12.2008, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



[ИМХО]
Мы тут с powerfox'ом решили захоливарить..Суть сабжа. Я утверждаю, что зная основы Ruby, не стоит отвлекаться на такой мусор, как Python. powerfox настаивает на том, что надо знать и Python в том числе...

Были взяты два примера.
(ruby)
Код

5.times { puts "hello" }


и (python)
Код

p "hello" * 5


Одинаковый по действию код. НО. По-моему умножать строку на число не совсем логично...
[/ИМХО]

Далее... Вооружившись книгами по python и ruby... В том же духе, под эгидой "где логика ?!"...

Добавлено @ 16:19
(из книжки !)
Код

import string
text = "Text, Text, Text"
text1 = string.replace(text, ",", " zpt ")

Что мы видим ? Нормально. Заменяем в тексте запятую на "zpt", Однако, если глянуть немного "с боку". Что мы видим. Подгружается МОДУЛЬ строка (типа строки не всегда используем). Задается текст (ОК). Далее. Из модуля (!) string вызывается метод replace. Почему не text.replace ?

Добавлено @ 16:22
Про словари.
Код

del dict["zero"]

Думаю всем понятно как ЭТО должно выглядеть в реальной жизни smile


Это сообщение отредактировал(а) GrayCardinal - 21.12.2008, 16:27


--------------------
PM MAIL WWW   Вверх
GrayCardinal
Дата 21.12.2008, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: нет
Всего: 58



Так, "навскидку", пока всё  smile 
Короче Python  smile 


--------------------
PM MAIL WWW   Вверх
powerfox
Дата 21.12.2008, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата(GrayCardinal @  21.12.2008,  17:10 Найти цитируемый пост)
что надо знать и Python в том числе...

Не только Питон, но и другие языки. Правда, пока ни тем, ни тем особо похвастаться не могу.
Цитата(GrayCardinal @  21.12.2008,  17:10 Найти цитируемый пост)
p "hello" * 5

p -> print.
Цитата(GrayCardinal @  21.12.2008,  17:10 Найти цитируемый пост)
del dict["zero"]

В питоне 1 в 1.

Цитата(GrayCardinal @  21.12.2008,  17:10 Найти цитируемый пост)
import string
text = "Text, Text, Text"
text1 = string.replace(text, ",", " zpt ")

Не поверишь, но тоже 1 в 1 smile
В общем, такое можно написать и на С++.


Это сообщение отредактировал(а) powerfox - 21.12.2008, 16:43


--------------------
user posted image
PM WWW   Вверх
source777
Дата 21.12.2008, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Цитата
и (python)
Код

p "hello" * 5

Этот же код прекрасно работает и в Руби, а по поводу логичности, так это от контекста зависит.

Цитата
В питоне 1 в 1.
...
Не поверишь, но тоже 1 в 1 

Оригинальные камменты для кода на Питоне smile

P.S. Языков надо знать как можно больше, хотя бы основы, это очевидно для любого программиста, т.к. ни один из существующих на звание silver bullet не тянет, соответственно если не хочешь ограничивать круг подвластных задач жёсткими рамками одного языка, то надо выбирать язык под каждую конкретную задачу. 
Насколько я знаю, особенность Питона в том, что там практически любая задача решается единственно возможным способом, что зачастую проявляет ограничения его интерпретатора, который в некотором смысле приносит удобство в жертву скорости выполнения, а в Ruby наоборот, практически на любую задачу найдётся с десяток разных способов, выбирай какой больше нравится... 


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Void
Дата 21.12.2008, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Цитата(source777 @  21.12.2008,  19:08 Найти цитируемый пост)
особенность Питона в том, что там практически любая задача решается единственно возможным способом, что зачастую проявляет ограничения его интерпретатора, который в некотором смысле приносит удобство в жертву скорости выполнения

Что-о-о? Нет, насчёт «There should be one—and preferably only one—obvious way to do it.» © Python Zen всё верно. Но отнюдь не в ущерб скорости выполнения, напротив, только YARV недавно позволил Руби как-то тягаться с питоновским интерпретатором байт-кода.
Собственно, с этой позиции и стоит их сравнивать. Руби действительно во многом интереснее как язык, хотя отличия не столь радикальны. Вопрос в бибиотеках, эффективности, поддержке. И персональных вкусах, конечно же.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
powerfox
Дата 21.12.2008, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата(source777 @  21.12.2008,  18:08 Найти цитируемый пост)
Оригинальные камменты для кода на Питоне smile

Ой smile 


--------------------
user posted image
PM WWW   Вверх
Lazin
Дата 21.12.2008, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(GrayCardinal @  21.12.2008,  16:10 Найти цитируемый пост)
p "hello" * 5

можно по другому:
Код

for i in range(5): print ("hello")


Цитата(GrayCardinal @  21.12.2008,  16:10 Найти цитируемый пост)
import string
text = "Text, Text, Text"
text1 = string.replace(text, ",", " zpt ")

Код

d = "Text, text, text"
d.replace(",", "zpt")

то-же на руби:
Код

d = "Text, text, text"
d.gsub(",", "...")


PM MAIL Skype GTalk   Вверх
kemiisto
  Дата 21.12.2008, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Ну, по поводу умножения строки на число, уже опередили. В Ruby тоже так можно. В этом весь Ruby! There is more than one way to do it! (лозунг для такого подхода, походу, дёрнут у Perl smile).

Цитата(Void @  21.12.2008,  16:22 Найти цитируемый пост)
«There should be one—and preferably only one—obvious way to do it.» © Python Zen

Весь это Zen - словоблудство! И не более.

Цитата(Void @  21.12.2008,  16:22 Найти цитируемый пост)
только YARV недавно позволил Руби как-то тягаться с питоновским интерпретатором байт-кода

Python 2.6 vs Ruby 1.8.7. Превосходство (в среднем) - 3-5 раз. Т.е. производительность даже до YARV была одного порядка.

Цитата(Void @  21.12.2008,  16:22 Найти цитируемый пост)
Руби действительно во многом интереснее как язык

 smile 

Цитата(Void @  21.12.2008,  16:22 Найти цитируемый пост)
И персональных вкусах, конечно же.

Вот это да. Мне вот например C-like синтаксис не по душе, так я когда Python увидел, чуть не smile Вот. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 21.12.2008, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



kemiisto, я слышал ты на Delphi программируешь...  smile
единственное, что сильно не нравится в python, так __вот__ __такие__ __методы___ __и __такие __private __аттрибуты smile 
PM MAIL Skype GTalk   Вверх
Void
Дата 21.12.2008, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Цитата(kemiisto @  21.12.2008,  21:36 Найти цитируемый пост)
Python 2.6 vs Ruby 1.8.7. Превосходство (в среднем) - 3-5 раз. Т.е. производительность даже до YARV была одного порядка.

Сишники в своё время грызли дотнетчиков за 20 процентов, а ты тут разами кидаешься! Не для холивара стратегия smile


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Lazin
Дата 21.12.2008, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



примеры какие-то игрушечные, нужен реальный пример smile 
например такой: есть список целых чисел [1, 2, 5, 3, 7... нужно создать список по следующему правилу, если очередной элемент равен N, то мы добавляем N элементов со значением N, практической пользы в этом нет, но по крайней мере можно увидеть больше возможностей ЯП smile

Добавлено через 1 минуту и 40 секунд
Код

[1, 2, 5, 3, 7] => [1, 2, 2, 5, 5, 5, 5, 5, 7, 7, 7, 7, 7, 7, 7]
вот так smile

Добавлено через 4 минуты и 6 секунд
вариант на срр

Код

std::vector<int> input, output;
...
for (int i = 0; i < input.size(); ++i)
    for (int j = 0; j < input[i]; ++j) 
        output.push_back(input[i]);

PM MAIL Skype GTalk   Вверх
kemiisto
Дата 21.12.2008, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Lazin @  21.12.2008,  17:47 Найти цитируемый пост)
kemiisto, я слышал ты на Delphi программируешь... smile 

Точнее - программировал. Delphi - уже в прошлом. smile 

Цитата(Void @  21.12.2008,  17:53 Найти цитируемый пост)
Сишники в своё время грызли дотнетчиков за 20 процентов, а ты тут разами кидаешься!

Сишники вечно всех не по делу грызут! smile 

Цитата(Lazin @  21.12.2008,  18:04 Найти цитируемый пост)
примеры какие-то игрушечные, нужен реальный пример

Меряться будем? smile О! А что будем замерять, скорость? Или холиварить по синтаксису?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 21.12.2008, 20:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



ну по скорости мой пример будет сложно побить smile

Добавлено через 21 секунду
по скорости написания, читаемости итп
PM MAIL Skype GTalk   Вверх
kemiisto
Дата 21.12.2008, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Lazin @  21.12.2008,  18:04 Найти цитируемый пост)
то мы добавляем N элементов со значением N

Добавляем, вроде, N - 1 элементов? Один то уже есть. Так?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 21.12.2008, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



да, в общем результат - новый список smile 
PM MAIL Skype GTalk   Вверх
kemiisto
  Дата 21.12.2008, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Lazin @  21.12.2008,  18:26 Найти цитируемый пост)
да, в общем результат - новый список

Ну, если новый список, то можно, например, так:
Код

list = Array[1, 2, 5, 3, 7]
new_list = Array.new
list.each { |l| l.times { new_list.insert(-1, l) } }
p new_list


Добавлено через 9 минут и 3 секунды
Или так:
Код

list = Array[1, 2, 5, 3, 7]
new_list = Array.new
list.each { |l| new_list = new_list + Array.new(l) { l } }
p new_list



--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 21.12.2008, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Код

>>> lst = [1, 3, 4, 2, 5]
>>> def gen(lst):
...     for value in lst:
...             for j in range(value):
...                     yield value
>>> [x for x in gen(lst)]
[1, 3, 3, 3, 4, 4, 4, 4, 2, 2, 5, 5, 5, 5, 5]

 smile

Добавлено через 2 минуты и 8 секунд
хотя наверное можно и короче... сейчас что нибудь соображу.
PM MAIL Skype GTalk   Вверх
MAKCim
Дата 21.12.2008, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Код

i, a, b = 0, (1, 2, 3, 5, 7), []
for j in xrange(len(a)):
    p = a[j] == (i + 1) and (i + 1) or 1
    b += [a[j]] * p
    i += p



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Lazin
Дата 21.12.2008, 21:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Код

>>> [value for value in lst for _ in xrange(value)]
[1, 3, 3, 3, 4, 4, 4, 4, 2, 2, 5, 5, 5, 5, 5]


Это сообщение отредактировал(а) Lazin - 21.12.2008, 21:09
PM MAIL Skype GTalk   Вверх
Void
Дата 21.12.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Нате вам
Код

>>> from itertools import *
>>> s = [2, 3, 4]
>>> list(chain(*(repeat(x, x) for x in s)))
[2, 2, 3, 3, 3, 4, 4, 4, 4]



--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
kemiisto
Дата 21.12.2008, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Мне вариант Void'а понравился. smile А Ruby как? Разве не выразительно?


--------------------
PM MAIL WWW GTalk Jabber   Вверх
powerfox
Дата 21.12.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата(Lazin @  21.12.2008,  22:07 Найти цитируемый пост)
>>> [value for value in lst for _ in xrange(value)]
[1, 3, 3, 3, 4, 4, 4, 4, 2, 2, 5, 5, 5, 5, 5]

Пока я думал, ты написал похожий пример.
Код

[[i for x in range(i)] for i in list]

-----
Ой, немного не то делает ))



Это сообщение отредактировал(а) powerfox - 21.12.2008, 21:21


--------------------
user posted image
PM WWW   Вверх
kemiisto
Дата 21.12.2008, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



MAKCim,  smile Нет, это слишком структурно. smile 

Lazin, smile если это
Цитата(Lazin @  21.12.2008,  19:07 Найти цитируемый пост)
[value for value in lst for _ in xrange(value)]

наглядно, то я даже и не знаю, что сказать! Хотя, оно и понятно, синтаксиса то я не знаю питоновского.


--------------------
PM MAIL WWW GTalk Jabber   Вверх
powerfox
Дата 21.12.2008, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата(kemiisto @  21.12.2008,  22:12 Найти цитируемый пост)
Мне вариант Void'а понравился. smile

Он крут, как всегда smile


--------------------
user posted image
PM WWW   Вверх
kemiisto
  Дата 21.12.2008, 21:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(powerfox @  21.12.2008,  19:29 Найти цитируемый пост)
Он крут, как всегда

В споре, что круче, Python или Ruby, правильным ответом будет Void. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
powerfox
Дата 21.12.2008, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата(kemiisto @  21.12.2008,  22:33 Найти цитируемый пост)
В споре, что круче, Python или Ruby, правильным ответом будет Void. smile  

smile 

Это сообщение отредактировал(а) powerfox - 21.12.2008, 21:54


--------------------
user posted image
PM WWW   Вверх
Lazin
Дата 21.12.2008, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(kemiisto @  21.12.2008,  21:15 Найти цитируемый пост)
наглядно, то я даже и не знаю, что сказать!

ну это называется list comprehensions, в принципе ничего сложного тут нет, в общем Python пока впереди smile 
вообще, что такое есть в руби, чего нет в питоне?
PM MAIL Skype GTalk   Вверх
powerfox
Дата 21.12.2008, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 97



Цитата(Lazin @  21.12.2008,  23:15 Найти цитируемый пост)
вообще, что такое есть в руби, чего нет в питоне? 

Смотрю на твою аватарку и думаю об этом  smile 


--------------------
user posted image
PM WWW   Вверх
Lazin
Дата 22.12.2008, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



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

def make_comp_fn(param):
    local = param
    def inner(a):
        if (a < local):
            print ("less")
        else:
            print ("more")
    return inner

vals = [1,2,3,4,11,12,13,14]
cf = make_comp_fn(11)
for i in vals:
    cf(i)

в обшем тут создается замыкание(closure),и все работает нормально, но, если попытаться изменить переменную local внутри функции inner то произойдет ошибка: UnboundLocalError: local variable 'local' referenced before assignment. что-бы это обойти нужно извращаться, например так:
Код

def make_comp_fn(param):
    local = [param]
    def inner(a):
        if (a < local[0]):
            print ("less")
            local[0] = 0
        else:
            print ("more")
    return inner

vals = [1,2,3,4,11,12,13,14]
cf = make_comp_fn(11)
for i in vals:
    cf(i)

а в python3k этой проблемы уже нет, благодаря новой конструкции языка - nonlocal:
Код

def make_comp_fn(param):
    local = param
    def inner(a):
        nonlocal local
        if (a < local):
            print ("less")
            local = 0
        else:
            print ("more")
    return inner

vals = [1,2,3,4,11,12,13,14]
cf = make_comp_fn(11)
for i in vals:
    cf(i)


Это сообщение отредактировал(а) Lazin - 22.12.2008, 09:33
PM MAIL Skype GTalk   Вверх
source777
Дата 22.12.2008, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Цитата(Void @  21.12.2008,  18:22 Найти цитируемый пост)
Что-о-о? Нет, насчёт «There should be one—and preferably only one—obvious way to do it.» © Python Zen всё верно. Но отнюдь не в ущерб скорости выполнения, напротив, только YARV недавно позволил Руби как-то тягаться с питоновским интерпретатором байт-кода.

Так я это и написал, что иногда в Питоне удобство программирования приносится в жертву скорости выполнения, т.е. скорость выполнения выигрывает за счёт частичной потери удобства(хотя удобство - вещь субъективная). А ты почему то понял эту мысль с точностью до наоборот...  smile 

P.S. Вот кстати пример на Ruby, тоже в одну строчку
Код

new_arr = arr.inject([]){ |sum, x| sum + Array.new(x, x) }


Это сообщение отредактировал(а) source777 - 22.12.2008, 14:54


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Void
Дата 22.12.2008, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



source777, перечитал: действительно, заклинило smile Как всегда только автор обратил внимание.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
kemiisto
  Дата 22.12.2008, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Lazin @  21.12.2008,  20:15 Найти цитируемый пост)
вообще, что такое есть в руби, чего нет в питоне?

От перемены мест слагаемых... Ну, думаю, ты понял. smile Языки во многом схожие, так что холивара не будет, холивара нет! smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 23.12.2008, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



так совсем неинтересно, неужели никто не знает, что хорошего в этом вашем руби? smile 
PM MAIL Skype GTalk   Вверх
Рыжий
Дата 23.12.2008, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: нет
Всего: 20



Цитата(Lazin @  23.12.2008,  09:08 Найти цитируемый пост)
что хорошего в этом вашем руби?

Он модный, имхо.
PM MAIL ICQ   Вверх
doomik
Дата 23.12.2008, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Одинокий волк
**


Профиль
Группа: Участник
Сообщений: 360
Регистрация: 25.10.2005
Где: #vingrad

Репутация: нет
Всего: 15



В Ruby нет нужды в табах.  smile 
Gem'ы которые можно устанавливать с помощи cmd\terminal.


--------------------
"Единственный способ изучать новый язык программирования - писать на нем 
программы." 
- Brian Kernighan

Remember, st1ng3r 
/server irc.ircline.ru /j #vingrad
PM   Вверх
Lazin
Дата 23.12.2008, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



а для питона есть setuptools, а так-же pip smile 
PM MAIL Skype GTalk   Вверх
nerezus
Дата 26.12.2008, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



user posted image
На всякий случай, ибо в соседнюю тему ее уже прилепил.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
kemiisto
Дата 26.12.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



nerezus, как только Ruby перейдёт на YARV, хвастаться будет уже нечем. Бенчмарк. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 26.12.2008, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



10-50% прирост производительности, в большинстве тестов, а теперь смотрим еще раз на график smile
вообще, дело даже не в производительности а в фичах, python делает руби по фичам smile 
PM MAIL Skype GTalk   Вверх
kemiisto
  Дата 26.12.2008, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



nerezus, а что мне до твоего Psyco, ты вот сюда посмотри:
user posted image
 smile 

Это сообщение отредактировал(а) kemiisto - 26.12.2008, 12:45


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 26.12.2008, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



ну и? все равно быстрее, да и производительность здесь не самое главное smile 
PM MAIL Skype GTalk   Вверх
kemiisto
  Дата 26.12.2008, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Lazin @  26.12.2008,  11:00 Найти цитируемый пост)
все равно быстрее

Да не заметишь ты такого "быстрее". А что да
Цитата(Lazin @  26.12.2008,  10:36 Найти цитируемый пост)
python делает руби по фичам

то без списка фич smile - незачёт! smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 26.12.2008, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



ну как скажешь... вот то чего точно нет в руби
  • - генераторы
  • - генераторные выражения
  • - сопрограммы
  • - декораторы

PM MAIL Skype GTalk   Вверх
kemiisto
  Дата 26.12.2008, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



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

А вообще, у меня складывается впечатление, что:
Цитата
Ruby достаточно последователен и логичен (чего не скажешь о Питоне, который сейчас встал на путь «как угодно, лишь бы не как в Руби» и судорожно нагоняет функциональность новым синтаксисом).

Не помню, где встретил, но, как говорится, ППКС. smile 

Это сообщение отредактировал(а) kemiisto - 26.12.2008, 13:58


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 26.12.2008, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(Lazin @  26.12.2008,  13:24 Найти цитируемый пост)
генераторы

Код

def even_numbers():
    x = 0
    while True:
        yield x
        x += 2

s = 0
for x in even_numbers():
    if x > 100:
        break
    s += x

print s

пример простого генератора, ф-я even_numbers возвращает по очереди, при каждом вызове все четные числа, то есть она помнит свое предыдущее состояние. 

Цитата(Lazin @  26.12.2008,  13:24 Найти цитируемый пост)
генераторные выражения

Код

import random

class LotteryTicket:
    def __init__(self):
        self.numbers = [random.randint(0, 9) for _ in xrange(0, 9)]
        print 'New lottery ticket', self.numbers

    def result(self, lucky_numbers):
        #Фукция возвращает список совпавших номеров лотерейного билета
        print 'check ticket'
        return [x for x in self.numbers if x in lucky_numbers]

    def __str__(self):
        return 'lottery ticket'

class Lottery:
    def __init__(self):
        self.lucky_numbers = set(random.randint(0, 9) for _ in xrange(0, 9))
        print 'New match', self.lucky_numbers

    def give_prize(self, num):
        prizz = {
            7:100000,
            8:1000000,
            9:9999999#jackpot
            }
        print 'give prize'
        return prizz[num]


random.seed()
tickets = (LotteryTicket() for _ in xrange(0, 12))
match = Lottery()
play = (len(ticket.result(match.lucky_numbers)) for ticket in tickets)
prize = (match.give_prize(result) for result in play if result > 6)

for p in prize:
    print str(p)

тут переменные tickets, play, prize - генераторы, созданные с помощью генераторных выражений.
Главный прикол генераторов в том, что они ленивы, то-есть не вычисляют всю последовательность сразу, поэтому они позволяют работать с бесконечными последовательностями smile 
для данного примера это означает, что тогда, когда будет напечатан первый результат, будет создан только один лотерейный билет, а не все 12
про остальное напишу потом

Это сообщение отредактировал(а) Lazin - 26.12.2008, 16:43
PM MAIL Skype GTalk   Вверх
kemiisto
Дата 26.12.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Lazin, так ну с генераторами разобрался - есть!
Код

require 'generator'

g = Generator.new do |g|
  x = 0
  while true
    g.yield x
    x += 2
  end
end

s = 0

for x in g
  break if x > 100 
  s += x
end        

puts s

Сейчпс посмотрим, что там за генераторные выражения...


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 26.12.2008, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



декораторы:

Код

def logger(fn):
    def impl(*argc, **argv):
        print fn.__name__, 'called'
        print 'positional args:', list(arg for arg in argc)
        print 'keyword args:', list((key, value) for (key, value) in argv.iteritems())
        retval = fn(argc, argv)
        print 'return value is', retval
        return retval
    return impl

@logger
def some_func(p, *argc, **argv):
    print 'function called'
    return "i'am return value"

some_func(
    'first param',
    'positional param',
    keyword_param='keyword param value'
    )

в общем это самый простой декоратор, он представляет из себя обычное замыкание, ф-я которую он возвращает обязана получать ф-ю в качестве параметра, вызывать ее и возвращать то что она вернула, так, как будто нет никакого декоратора, но может делать что нибудь полезное до и после вызова smile

Добавлено через 1 минуту и 29 секунд
зы
сдесь logger это декоратор, some_func - декорируемая ф-я
PM MAIL Skype GTalk   Вверх
Lazin
Дата 26.12.2008, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



сопрограммы:
Код

def print_value():
    while True:
        x = (yield)
        print x

def even_numbers():
    x = 0
    while True:
        yield x
        x += 2

s = 0
gen = print_value()
gen.next()
for x in even_numbers():
    if x > 100:
        break
    s += x
    gen.send(x)

в общем это генератор наоборот, ф-я print_value на самом деле не ф-я а сопрограмма, единственно но, нужно сначала вызвать ф-ю next генератора, а потом уже туда что-то отправлять, но это можно обойти использовав декоратор smile 
PM MAIL Skype GTalk   Вверх
kemiisto
Дата 26.12.2008, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Декораторы - так я и не понял, что это, но в Ruby это тоже можно. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 26.12.2008, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



ага, с помощью патча для интерпретатора  smile 
PM MAIL Skype GTalk   Вверх
kemiisto
Дата 26.12.2008, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Lazin @  26.12.2008,  15:47 Найти цитируемый пост)
ага, с помощью патча для интерпретатора

Цитата
Instead of:

def f(...)
  ...
f = synchronize(f)

you can now write:

@synchronize
def f(...)
  ...

Синтаксический сахар рулит? Давно ли?

Добавлено через 6 минут и 2 секунды
Цитата(Lazin @  26.12.2008,  15:34 Найти цитируемый пост)
сопрограммы

И это тоже есть. Признаться мне очень трудно оценить практическую полезность всех этих "фич". В конечном счёте - всё это синтаксический сахар. Да, Python, наверное, будет послаще... Но, разве в этом суть?

В общем, вот правильная статья! smile

Добавлено через 8 минут и 28 секунд
И коменты там тоже ничего. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Daevaorn
Дата 26.12.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Эх народ, как же меня умиляют подобные "беседы". Супер.

Кстати, как опытный холиварщик, могу сказать, что слив типа "а это синтаксичесий сахар" на самом деле означает "блин, а реально нет:(". Тем более из уст приверженца Рубиsmile
PM MAIL WWW   Вверх
kemiisto
  Дата 26.12.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Daevaorn @  26.12.2008,  20:04 Найти цитируемый пост)
Кстати, как опытный холиварщик, могу сказать, что слив типа "а это синтаксичесий сахар" на самом деле означает "блин, а реально нет:(".

Daevaorn, ага, сразу видно, что ты "опытный" холиваршик. Не читая, сразу всё "разрулил". Извиняюсь за грубость, но речь шла о том, что декораторы в Python появились вот так:
Цитата

Motivation
The current method of applying a transformation to a function or method places the actual transformation after the function body. For large functions this separates a key component of the function's behavior from the definition of the rest of the function's external interface. For example:
Код

def foo(self):
    perform method operation
foo = classmethod(foo)

This becomes less readable with longer methods. It also seems less than pythonic to name the function three times for what is conceptually a single declaration. A solution to this problem is to move the transformation of the method closer to the method's own declaration. The intent of the new syntax is to replace
Код

def foo(cls):
    pass
foo = synchronized(lock)(foo)
foo = classmethod(foo)

with an alternative that places the decoration in the function's declaration:
Код

@classmethod
@synchronized(lock)
def foo(cls):
    pass


Тут как раз и говорится, что это синтаксический сахар. И неоднакротно обсуждалось в списке рассылки: 1, 2, ...

Для первого варианта в Ruby есть аналог, чтоб была поддержка Python-like декораторов - нужно патчить интерпретатор. 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Daevaorn
Дата 26.12.2008, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(kemiisto @  26.12.2008,  23:20 Найти цитируемый пост)
Daevaorn, ага, сразу видно, что ты "опытный" холиваршик. Не читая, сразу всё "разрулил". Извиняюсь за грубость, но речь шла о том, что декораторы в Python появились вот так:

Ровным счетом не важно как они появились. При сопоставлении фич языка, ответ вида "синтаксический сахар" не зачетный. Т.к. сахар не сахар, это не важно - важно что эта фича есть.

Кстати, сливы типа "а полезно/нужно ли" тоже в зачет не идут. У всех своя область применения.
PM MAIL WWW   Вверх
Lazin
Дата 26.12.2008, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(kemiisto @  26.12.2008,  22:20 Найти цитируемый пост)
Тут как раз и говорится, что это синтаксический сахар.

если-бы не синтаксический сахар, писать нам всем на асме smile 
PM MAIL Skype GTalk   Вверх
kemiisto
  Дата 26.12.2008, 22:54 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Daevaorn @  26.12.2008,  20:35 Найти цитируемый пост)
Кстати, сливы типа "а полезно/нужно ли" тоже в зачет не идут. У всех своя область применения. 

Дык и не было такого "слива". А про синтаксический сахар. Ещё раз: то, что в Python делают декораторы, доступно и без них. Причину введения в язык декораторов я уже приводил:
Цитата
This becomes less readable with longer methods. It also seems less than pythonic to name the function three times for what is conceptually a single declaration.

Ну, коли уж это не по-питоновски, так уберите первую возможность! А то:
Цитата(Python Zen)
There should be one-- and preferably only one --obvious way to do it.

Shoul be, should be, а как на деле, так 
Цитата("Ruby Zen")
There is more than one way to do it!

 smile

Добавлено через 1 минуту и 42 секунды
Цитата(Lazin @  26.12.2008,  20:36 Найти цитируемый пост)
если-бы не синтаксический сахар, писать нам всем на асме smile 

Как любит говорить Akella, Troll Detected! smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Daevaorn
Дата 27.12.2008, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Опять повторяю, что это не аргумент. Так можно дойти и до того, что операция умножения тоже синтаксический сахар...Нет, есть фича и её не отнять.

Да ладно там декораторы, в питоне ещё куча вкусностей и дескрипторы, и метаклассы и даже list comprehensions. Так что список набирается хороший.
PM MAIL WWW   Вверх
kemiisto
Дата 27.12.2008, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(Daevaorn @  27.12.2008,  16:08 Найти цитируемый пост)
Так можно дойти и до того, что операция умножения тоже синтаксический сахар.

Вы утрируете. Операция умножения - одна из 4-х простоейших арифметических операций. Никак она не может быть синтаксическим сахаром.

Цитата(Daevaorn @  27.12.2008,  16:08 Найти цитируемый пост)
Нет, есть фича и её не отнять.

Я и не отнимаю, просто говорю, что такая же или аналогичная по функциональности "фича" найдётся и в Ruby. А если не найдётся, видимо, не нужна. В свете наличия других "фич".

Цитата(Daevaorn @  27.12.2008,  16:08 Найти цитируемый пост)
Да ладно там декораторы, в питоне ещё куча вкусностей и дескрипторы, и метаклассы и даже list comprehensions.

Я не знаю, что это такое. Но либо это есть и в Ruby, либо в нём есть иные "фичи" для достижения аналогичных целей. 

Цитата(Daevaorn @  27.12.2008,  16:08 Найти цитируемый пост)
Так что список набирается хороший. 

А вот это как раз не аргумент, т.к. если "покопать" Ruby можно набрать аналогичный список.

Просто сначала говорили скорость - оказалось, что уже не аргумент. Python 3 существенно медленнее предшественика, а вот Ruby 1.9 (2.0), напротив, должен существенно прибавить в скорости. Потом был аргумент:
Цитата(Lazin @  26.12.2008,  11:24 Найти цитируемый пост)
ну как скажешь... вот то чего точно нет в руби
    * - генераторы
    * - генераторные выражения
    * - сопрограммы
    * - декораторы

Как оказалось всё это (или как минимум аналоги) в Ruby есть. 

А теперь, посмотрим с чего всё начиналось:
Цитата(GrayCardinal @  21.12.2008,  14:10 Найти цитируемый пост)
Я утверждаю, что зная основы Ruby, не стоит отвлекаться на такой мусор, как Python

Так вот, если убрать слово мусор, то я, как говорится, ППКС. Т.е. я хочу сказать, что зная Ruby, знать Python не за чем. Обратное то же верно! Языки во многом схожи (перечислять не буду, лень, но думаю понятно). Нет смысла изучать 2 таких похожих языка. Одни и теже задачи на этих языках решаются примерно одинаково (с использованием аналогичных синтаксических конструкций). Если знаешь основы Ruby, значит ты не разочаровался в этом языке по мере его изучения, тебе он по душе, его и надо продолжать изучать. 

Это сообщение отредактировал(а) kemiisto - 27.12.2008, 18:54


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Daevaorn
Дата 28.12.2008, 01:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 5
Всего: 70



Цитата(kemiisto @  27.12.2008,  19:54 Найти цитируемый пост)
А если не найдётся, видимо, не нужна.

Вам? А нам нужна. Странная позиция.
Цитата(kemiisto @  27.12.2008,  19:54 Найти цитируемый пост)
Я не знаю, что это такое. Но либо это есть и в Ruby, либо в нём есть иные "фичи" для достижения аналогичных целей. 

Так узнайте. И потом, что значит "либо в нём есть иные "фичи" для достижения аналогичных целей." - это же ведь все можно до такого абсурда свести. Поизучайте лучше питон - он явно у вас страдает.
Цитата(kemiisto @  27.12.2008,  19:54 Найти цитируемый пост)
А вот это как раз не аргумент, т.к. если "покопать" Ruby можно набрать аналогичный список.

Да еще какой! Только вы нам его еще не показали;-)
Цитата(kemiisto @  27.12.2008,  19:54 Найти цитируемый пост)
Как оказалось всё это (или как минимум аналоги) в Ruby есть. 

Не все.
Цитата(kemiisto @  27.12.2008,  19:54 Найти цитируемый пост)
Если знаешь основы Ruby, значит ты не разочаровался в этом языке по мере его изучения, тебе он по душе, его и надо продолжать изучать. 

Так основы знают многие и те кто все-таки разочаровался и выбрал питон. Так что каждому свое. Не надо крайностей.
PM MAIL WWW   Вверх
nerezus
Дата 28.12.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

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

Сравнивай одинаковые версии(в данном случае - продакшн).
А это python 2.5 + psyco и ruby(не 1.9 unstable которая).


Цитата

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

Цитата

 как только Ruby перейдёт на YARV
 Вот когда на него перейдут - тогда и поговорим. Причем когда на него и либы сделают. А пока руби - тормоз(с этим, думаю, не споришь?).

Цитата

 Ещё раз: то, что в Python делают декораторы, доступно и без них. 
 А все, что доступно в C++, можно сделать и в C.
Т.е. C++ - как бы синтаксический сахар над C.
Но заметь, как этот сахар помогает %)

Да и вообще компилятор - это синтаксический сахар над бинарным кодом (с) кто-то отсюда

Это сообщение отредактировал(а) nerezus - 28.12.2008, 12:51


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
kemiisto
Дата 28.12.2008, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 3
Всего: 160



Цитата(nerezus @  28.12.2008,  10:47 Найти цитируемый пост)
Т.е. ты сравниваешь нормальную версию руби и новый питон, под которые еще модулей нет, не говоря уже о фреймворках?)

Я не знал, извиняюсь. Я думал это уже официально текущая версия. smile 

Цитата(nerezus @  28.12.2008,  10:47 Найти цитируемый пост)
А если сайт не хомпага, а что-то серьезное? Про DDoS слышал?
Из моих сайтов, написанных для заказчиков, ддосили большую часть.

Во-первых, топикстартер не делал акцент на веб.
Во-вторых, есть не малое число не "хомпагов" powered by RoR. И ничего, работают.

Цитата(nerezus @  28.12.2008,  10:47 Найти цитируемый пост)
А пока руби - тормоз(с этим, думаю, не споришь?).

Тормоз! smile  Но и Python то не особо впереди.

Цитата(nerezus @  28.12.2008,  10:47 Найти цитируемый пост)
Но заметь, как этот сахар помогает %)

Я и не говорю, что не помогает...

Это сообщение отредактировал(а) kemiisto - 28.12.2008, 19:28


--------------------
PM MAIL WWW GTalk Jabber   Вверх
nerezus
Дата 28.12.2008, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

Во-первых, топикстартер не делал акцент на веб.


Цитата

 Но и Python то не особо впереди.
 В десяток раз - это не особо впереди?)

Цитата

Во-вторых, есть не малое число не "хомпаго" powered by RoR. И ничего, работают.
 На скольки серверах?))


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Lazin
Дата 28.12.2008, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



интересно, куда пропал топикстартер?

Добавлено через 18 секунд
и какие выводы он сделал? smile 
PM MAIL Skype GTalk   Вверх
source777
Дата 28.12.2008, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: нет
Всего: 56



Цитата(nerezus @  28.12.2008,  19:32 Найти цитируемый пост)
 В десяток раз - это не особо впереди?)

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


--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Lazin
Дата 1.1.2009, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



PM MAIL Skype GTalk   Вверх
MAKCim
Дата 1.1.2009, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата(Daevaorn @  27.12.2008,  18:08 Найти цитируемый пост)
Так можно дойти и до того, что операция умножения тоже синтаксический сахар

да, т. к умножение - это многократное сложение

Цитата(Lazin @  26.12.2008,  22:36 Найти цитируемый пост)
если-бы не синтаксический сахар, писать нам всем на асме 

ассемблер тоже синтаксический сахар

любой более высокий уровень является синтаксическим сахаром для более низкого


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
nerezus
Дата 1.1.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



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


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
MAKCim
Дата 1.1.2009, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата(nerezus @  28.12.2008,  12:47 Найти цитируемый пост)
Но заметь, как этот сахар помогает %)

и мешает  smile

Добавлено через 7 минут и 59 секунд
Цитата(nerezus @  1.1.2009,  17:27 Найти цитируемый пост)
не любой. тот же питон - это далеко не сахар к паскалю, а нечто, совсем с ним не связанное. 

PVM на чем написана?  smile 
можно ли ее на Pascal'е написать? можно


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
nerezus
Дата 2.1.2009, 14:15 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

можно ли ее на Pascal'е написать? можно
 А компилятор паскаля на питоне? Да тоже можно.
Следовательно паскаль - сахар к питону.

А компилятоор асма на пхп? Можно
Выходит, что асм - сахар для пхп?)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
MAKCim
Дата 2.1.2009, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



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


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Void
Дата 2.1.2009, 15:55 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Позиция «всё — синтаксический сахар к ассемблеру» заведомо неконструктивна, хотя и практически неопровержима за неимением сколько-нибудь строгого определения синтаксического сахара.
Абстрактные языки — сахар к машине Тьюринга или лямбда-исчислению, реальные системы — к машинному коду. А операция сложения, MAKCim, тоже «сахар» в аксиоматике Пеано.
Засим предлагаю считать упоминания синтаксического сахара демагогией, пока автор не показал, как та же операция в общем виде реализуется в синтаксисе другого языка в сопоставимом объёме кода. «Читаемость» кода за аргумент не считается, как весьма субъективный критерий. Либо необходимо показать, как та же задача решается в другом языке какими-то существенно отличными средствами, но опять-таки в сопоставимом объёме кода.

Это сообщение отредактировал(а) Void - 2.1.2009, 15:55


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
nerezus
Дата 2.1.2009, 16:15 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

неправильная логика
для того, чтобы написать компилятор паскаля на питоне, нужно сначала написать интерпретатор питона на паскале
 С чего ты взял?
Чтобы написать интерпретатор питона на паскале, нужно сначала написать компилятор паскаля на питоне.
Тоже "верное" утверждение, как и твое.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
MAKCim
Дата 2.1.2009, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата(Void @  2.1.2009,  15:55 Найти цитируемый пост)
Абстрактные языки — сахар к машине Тьюринга или лямбда-исчислению, реальные системы — к машинному коду. А операция сложения, MAKCim, тоже «сахар» в аксиоматике Пеано.

а я про что?

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

Цитата(Void @  2.1.2009,  15:55 Найти цитируемый пост)
пока автор не показал, как та же операция в общем виде реализуется в синтаксисе другого языка в сопоставимом объёме кода. «Читаемость» кода за аргумент не считается, как весьма субъективный критерий. Либо необходимо показать, как та же задача решается в другом языке какими-то существенно отличными средствами, но опять-таки в сопоставимом объёме кода.

если уж перешли на формализм, давайте уточнять, что есть "сопоставимый объем кода" и почему это есть объективный критерий, в отличие от субъективного "читаемсть"

nerezus, 
твоя предпосылка - _наличие_ и компилятора паскаля, и интерпретатора питона
на практике же из пустого места ничего не вознивает
есть причина - есть следствие


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Void
Дата 2.1.2009, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Цитата(MAKCim @  2.1.2009,  18:45 Найти цитируемый пост)
а я про что?

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

Может и про то же самое, но зачем вообще было начинать?
Цитата(MAKCim @  2.1.2009,  18:45 Найти цитируемый пост)
если уж перешли на формализм, давайте уточнять, что есть "сопоставимый объем кода" и почему это есть объективный критерий, в отличие от субъективного "читаемсть"

Мне тоже не нравится канцелярщина, но что ещё можно противопоставить, маханию флагом «всё сводится к маш. кодам» (или технологии N - 2 уровня по вкусу).
Определение сопоставимого объёма кода: число лексем отличается не более чем в N раз. Я предлагаю N = 2,71828... Голосование по уточнению константы или введению второго члена устраивать будем? smile
Цитата(MAKCim @  2.1.2009,  18:45 Найти цитируемый пост)
твоя предпосылка - _наличие_ и компилятора паскаля, и интерпретатора питона
на практике же из пустого места ничего не вознивает
есть причина - есть следствие 

Только не говори, что ты про раскрутку трансляторов не слышал.

Это сообщение отредактировал(а) Void - 2.1.2009, 17:25


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
MAKCim
Дата 2.1.2009, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата(Void @  2.1.2009,  17:24 Найти цитируемый пост)
но что ещё можно противопоставить, маханию флагом «всё сводится к маш. кодам» (или технологии N - 2 уровня по вкусу).

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


Цитата(Void @  2.1.2009,  17:24 Найти цитируемый пост)
Только не говори, что ты про раскрутку трансляторов не слышал.

к сожалению, нет  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Void
Дата 2.1.2009, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Цитата(MAKCim @  2.1.2009,  19:42 Найти цитируемый пост)
к сожалению, нет 

Раскрутка компилятора — это написание его на том же языке, что он компилирует.
wiki: Bootstrapping (compilers)
Цитата(MAKCim @  2.1.2009,  19:42 Найти цитируемый пост)
поэтому нужно уточнить, что мы хотим получить в итоге: меньший объем кода, большую производительность, реализация определенной функциональности и т. д

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

Это сообщение отредактировал(а) Void - 2.1.2009, 18:27


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Lazin
Дата 2.1.2009, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(MAKCim @  2.1.2009,  17:42 Найти цитируемый пост)
увеличение размера не всегда есть хуже
поэтому нужно уточнить, что мы хотим получить в итоге: меньший объем кода, большую производительность, реализация определенной функциональности и т. д

скорость разработки, производительность труда программиста smile 
PM MAIL Skype GTalk   Вверх
MAKCim
Дата 2.1.2009, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата(Void @  2.1.2009,  17:55 Найти цитируемый пост)
Раскрутка компилятора — это написание его на том же языке, что он компилирует.

а компилировать в уме?  smile 

Цитата(Lazin @  2.1.2009,  17:57 Найти цитируемый пост)
скорость разработки, производительность труда программиста

наличие огромного числа библиотек учитываем?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
Void
Дата 2.1.2009, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



Цитата(MAKCim @  2.1.2009,  20:22 Найти цитируемый пост)
а компилировать в уме?  smile 

А в статью по ссылке заглянуть?

Добавлено через 1 минуту и 29 секунд
P.S. Исправил опечатку в ссылке, но по-моему и так понятно было, что должно быть.


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Lazin
Дата 2.1.2009, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



Цитата(MAKCim @  2.1.2009,  18:22 Найти цитируемый пост)
наличие огромного числа библиотек учитываем? 

наличие огромного числа каких библиотек?
с помощью ctypes я могу использовать любую динамическую библиотеку в Python программе.
PM MAIL Skype GTalk   Вверх
MAKCim
Дата 2.1.2009, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата(Void @  2.1.2009,  18:26 Найти цитируемый пост)
А в статью по ссылке заглянуть?

заглядывал я
так или иначе все методы за исключением одного использует нечто уже созданное


Lazin, 
я в том смысле, что фичи, которые являются частью одного языка, могут быть реализованы в виде библиотеки другими средствами в другом языке
в обоих случаях мы получим равную производительность программиста и скорость разработки
как пример, тонны кода в boost, реализующие многие концепции, которые являются фичами в других языках


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
nerezus
Дата 3.1.2009, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

а компилировать в уме?
 В старой версии. Пример: gcc более новой версии компилится через gcc старой версии.

Цитата

я в том смысле, что фичи, которые являются частью одного языка, могут быть реализованы в виде библиотеки другими средствами в другом языке
 Ну не скажи. С введением тех же классов количество кода от C к C++ на это уменьшилось в 2 раза. Смотри на свои примеры, которые приводил пару месяцев назад.
А вследствии этого увеличилась производительность программиста.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
MAKCim
Дата 3.1.2009, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 8
Всего: 207



Цитата(nerezus @  3.1.2009,  11:06 Найти цитируемый пост)
В старой версии. Пример: gcc более новой версии компилится через gcc старой версии.


Цитата(MAKCim @  2.1.2009,  18:49 Найти цитируемый пост)
так или иначе все методы за исключением одного использует нечто уже созданное


Цитата(nerezus @  3.1.2009,  11:06 Найти цитируемый пост)
Ну не скажи. С введением тех же классов количество кода от C к C++ на это уменьшилось в 2 раза.

засчет чего?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
nerezus
Дата 3.1.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Цитата

засчет чего?
 За счет уменьшения количества кода.
Легче написать прару строк, чем пару сотен(гротеск).


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Lazin
Дата 3.1.2009, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



 smile 
PM MAIL Skype GTalk   Вверх
Dobermann
Дата 3.1.2009, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



Выходит, что питон получше будет?!
PM   Вверх
nerezus
Дата 3.1.2009, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 13
Всего: 43



Dobermann, ну субъективно — гораздо лучше.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Dobermann
Дата 3.1.2009, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



А у python tcnm что-нибудь общего с прологом?
PM   Вверх
Void
Дата 3.1.2009, 17:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

Репутация: 11
Всего: 173



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


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Dobermann
Дата 3.1.2009, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: нет
Всего: 0



Pythologic - Prolog syntax in Python  smile 
PM   Вверх
plat1num
Дата 26.1.2009, 05:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 14.12.2008

Репутация: нет
Всего: нет



а как насчёт РоР и Джанго?
Не читал всей темы, но может и не было такого... в общем мне кто-то говорил или я где-то читал(будет очень смешно, если здесь и читал), что РоР больше заточен под веб, хотя и Джанго тоже далеко не лузер.
Разъясните новичку, пожалуйста! ну или у кого какие мнения! спасибо!

п.с. если повторяю вопрос, то пните, я не обижусь  smile 
PM MAIL   Вверх
Lazin
Дата 26.1.2009, 06:31 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 4
Всего: 154



и RoR и Django заточены под веб и только под него
К.О.

Добавлено через 3 минуты
основное отличие Django от RoR в том, что он написан на няшном python-e поэтому рулит smile 
еще в RoR тебе придется создать самому схему БД, потом RoR создаст для тебя классы моделей(АФАИК!), а в django все наоборот, ты описываешь модели и связи между ними и django создает для тебя схему бд, что ИМХО прваильнее
PM MAIL Skype GTalk   Вверх
plat1num
Дата 26.1.2009, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 0
Регистрация: 14.12.2008

Репутация: нет
Всего: нет



Цитата(Lazin @  26.1.2009,  06:31 Найти цитируемый пост)
и RoR и Django заточены под веб и только под него
К.О.

да уж..что-то с этим вопросом я жестоко налажал....наверно надо спать хотя бы раз в сутки))
PM MAIL   Вверх
unumi
Дата 24.1.2012, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 17.10.2007

Репутация: нет
Всего: нет



PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1743 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.