metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-12-31 11:55 pm

RoR

Нашел себе успокаивающее занятие на новый год: изучаю руби-на-рельсах. Бо незнание веб-технологий начинает подъедать мозг.
Выглядит приемлемо для мелких веб-оперденей и не вызывает отвращения.

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

[identity profile] golosptic.livejournal.com 2011-12-31 09:51 pm (UTC)(link)
Давайте!
Давайте устроим холивар в Новогоднюю Ночь!
Доказывайте!

[identity profile] theiced.livejournal.com 2011-12-31 10:01 pm (UTC)(link)
очень просто. этот кретин придумал сделать и пробелы и табы в одном файле элементом синтаксиса. всё. дальше на это поделие смотреть смысла не имеет.

[identity profile] golosptic.livejournal.com 2011-12-31 10:02 pm (UTC)(link)
Что-то как-то незажигательно.
Я то думал... :(

[identity profile] golosptic.livejournal.com 2011-12-31 10:16 pm (UTC)(link)
Вообщем после JCL на перфокартах - как-то меня эти табуляции не напрягают.

[identity profile] theiced.livejournal.com 2011-12-31 10:52 pm (UTC)(link)
ещё раз

if хуй:
<тут таб>сделать хуйню
<тут пара пробелов>сделать другую хуйню

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

[identity profile] sorhed.livejournal.com 2011-12-31 11:24 pm (UTC)(link)
В петоне нельзя (as in категорически не рекомендуется) табы использовать вообще. Только пробелы. Как раз по этой причине. И вообще табы — говно, но это отдельный тред.

Петон тоже говно, конечно, но не поэтому.

[identity profile] theiced.livejournal.com 2011-12-31 11:27 pm (UTC)(link)
я не знаю как сейчас - но изначально было МОЖНО. дальше мне стало неинтересно.

[identity profile] teewoon.livejournal.com 2012-01-01 07:42 am (UTC)(link)
Причем поначалу это было прикольно и бодрило. А потом полезло многообразие редакторов, вилы с кодогенерацией, обработкой и поиском по сырцам и наступил ключевой момент - табы объявили злом, и всё что вокруг питона, стало тыквой.

(no subject)

[identity profile] theiced.livejournal.com - 2012-01-01 08:22 (UTC) - Expand

[identity profile] andrew-l-l-l.livejournal.com 2012-01-01 12:27 am (UTC)(link)
А альтернатива питону - руби? Меня лично пробелы как элемент синтаксиса в питоне меньше всего смущают. По ходу общения с веб-фреимворком редко высокая степень вложенности присутствует. Вот доберусь в этом году до рельсов (пока джангу ковырял) и посмотрим, что к чему....

[identity profile] theiced.livejournal.com 2012-01-01 01:17 am (UTC)(link)
блядь. все питонисты тупые поголовно или всё же есть умеющие хотя бы читать. мне похуй на пробелы - это ок. но И пробелы И табы в одном файле - это пиздец и долбоебизм.

[identity profile] andrew-l-l-l.livejournal.com 2012-01-01 09:57 am (UTC)(link)
Если пробелы похуй так хуле ты ими вместо табов не пользуешься? )))

(no subject)

[identity profile] theiced.livejournal.com - 2012-01-01 10:05 (UTC) - Expand

[identity profile] kkirsanov.livejournal.com 2011-12-31 10:23 pm (UTC)(link)
Use 4 spaces per indentation level. (C) PEP8

[identity profile] theiced.livejournal.com 2011-12-31 10:52 pm (UTC)(link)
та похуй. сам этот факап повергает в шок и трепет. смотреть дальше не позволяет червь.

[identity profile] avnik.livejournal.com 2011-12-31 11:20 pm (UTC)(link)
Ребе, вы повторяетесь, придумайте какой нибудь новый аргумент

[identity profile] theiced.livejournal.com 2011-12-31 11:27 pm (UTC)(link)
а этого достаточно

[identity profile] thedeemon.livejournal.com 2012-01-01 07:23 am (UTC)(link)
Давайте лучше в похмельное утро. :)

Да там автор даже ООП не осилил.
length(str) в питоне, str.length в руби.
sorted(arr) в питоне, arr.sort в руби.

В руби очень многое строится на передаваемых блоках кода - удобная (хоть и не идеальная) реализация ФВП. Плюс гибкий синтаксис, дающий делать относительно красивые DSLи. А если нужно генерить код, то отсутствие значимой индентации очень помогает.

[identity profile] darkdrip.livejournal.com 2012-01-01 01:09 pm (UTC)(link)
в руби висят в воздухе p, puts, print. Наверняка, что-нибудь еще висит. по идее, length - это сокращенный вариант anal.length. если это не так, то я убью себя тапком

[identity profile] theiced.livejournal.com 2012-01-01 02:46 pm (UTC)(link)
ты тупой пхпшник и не осилил объектную модель руби. для начала размышлений - что такое "глобальный" нс в руби.

[identity profile] darkdrip.livejournal.com 2012-01-02 02:36 pm (UTC)(link)
я блять Адепт Тьмы, и руби ковыряю где-то около месяца

если я все правильно понимаю, p, puts и print - это функции модуля Kernel, который инклюдится по дефолту. в кернеле много функций написано так:
module Kernel
  def Pathname(path)
    Pathname.new(path)
  end
end
Edited 2012-01-02 14:40 (UTC)

[identity profile] theiced.livejournal.com 2012-01-02 04:02 pm (UTC)(link)
ну - в модуле кернел. который НИКУДА не инклудится ;] читай дальше.

[identity profile] thedeemon.livejournal.com 2012-01-01 03:53 pm (UTC)(link)
Руби говорит, что "abc".length это 3. Питон говорит, что "abc".length (и "abc".length()) это "AttributeError: 'str' object has no attribute 'length'". Доставайте тапок.

[identity profile] darkdrip.livejournal.com 2012-01-02 02:42 pm (UTC)(link)
не это. мне кажется, что есть сущность GlobalAsshole, функции которой инклюдятся по дефолту, и length - это алиас для GlobalAsshole.length. так сделано в руби: metaclass.livejournal.com/648261.html?thread=10474565#t10474565

[identity profile] theiced.livejournal.com 2012-01-02 04:02 pm (UTC)(link)
в руби сделано не так.

[identity profile] thedeemon.livejournal.com 2012-01-02 04:58 pm (UTC)(link)
Я питон толком не знаю, и не могу ответить как там на самом деле. Но даже если бы было так, это все равно подтверждает, что Гвидо не осилил ООП. Все-таки длина строки - это ее inherent свойство, чужой класс определением ее длины заниматься явно не должен, т.к. не должен знать, что она из себя внутри представляет.