неинтересно, ranting
Apr. 28th, 2009 02:51 amкак известно, vp не любит эрика липперта. прочитав пост vp, я вспомнил, что как-то читал липперта регулярно, а потом забросил. почему забросил, вспомнить не смог, и пошёл опять читать. и каждый пост оставлял какое-то двойственное ощущение. типа вроде нельзя спорить, что чувак знает дофига всего. а с другой стороны, пишет вроде чушь какую-то. а с третьей стороны, восторженные зрители там рассыпаются в благодарностях: "спасибо, дорогой эрик, за ещё один гениальный пост". короче, оставался я в двойственных чувствах пока не наткнулся на совсем уж дурацкий пост.
не, ну как же так? attributes - это же свойства класса, а properties - это свойства инстанса. всё, конец поста. вопрос прояснён.
заметьте, что эрик пишет не про static properties, которые, действительно, тоже являются свойствами класса, а про настоящие properties: We have invented properties specifically to model the "an x has the property y" relationship.
чтобы этот пост имел хоть какой-то смысл, он должен был бы обсуждать разницу между attributes (immutable metadata, set at compile time) и static properties (mutable data, not bound to an instance).
that said, у эрика таки есть некоторое количество правильных постов. но немного. не больше половины.
не, ну как же так? attributes - это же свойства класса, а properties - это свойства инстанса. всё, конец поста. вопрос прояснён.
заметьте, что эрик пишет не про static properties, которые, действительно, тоже являются свойствами класса, а про настоящие properties: We have invented properties specifically to model the "an x has the property y" relationship.
чтобы этот пост имел хоть какой-то смысл, он должен был бы обсуждать разницу между attributes (immutable metadata, set at compile time) и static properties (mutable data, not bound to an instance).
that said, у эрика таки есть некоторое количество правильных постов. но немного. не больше половины.
(no subject)
Date: 2009-04-29 12:47 am (UTC)(no subject)
Date: 2009-04-30 09:03 pm (UTC)Если хочешь увидеть реально тупой его пост, вот: http://blogs.msdn.com/ericlippert/archive/2009/04/27/the-stack-is-an-implementation-detail.aspx
Я там даже отметился под своим любимым ником в тупых блогодвижках, Name Required.
Если вкратце, то меня совершенно убила фраза "Leaving performance considerations aside" применительно к сишарповым структурам. Потому что это пиздец, и на основе этого пиздеца выстроен весь его пост! В Питоне нет value types, инты лежат в хипе (и именно поэтому он slow as fuck, а не из-за интерпретируемости и динамичности).
То, о чём он говорит, это half-assed implementation of the immutable types. const гарантирует иммутабельность на ровно 0 уровней дереференсинга (или как это правильно назвать), struct гарантирует то же самое ровно на 1 уровень (отдавая наружу struct с референс тайп полями ты позволяешь менять их содержимое). Это совершенно бесполезно! Продвигать это как концептуальное описание свойст валюетайпов - тупо, потому что херня с такими концептуальными свойствами НЕ НУЖНА.
Вот, у тебя есть Point, типа структ. Ок, ты делаешь его иммьютабл классом, что изменилось? Ну, ты уже не можешь писать point.x += 10, тебе нужно писать point += new Point(10, 0), но и это не более чем синтаксис, у хаскелеёбов есть свой милый синтаксический сахар для такого. А по сути -- не меняется ничего.
Вот, в результате у меня есть дикая уверенность в том, что единственный смысл value types (включая builtins) состоит в performance considerations. Которых, понятно, никак нельзя leave aside тогда. А он вот не понимает и несёт какую-то фигню.
(no subject)
Date: 2009-05-01 12:12 am (UTC)ну, давай я повторю: attributes - это свойства класса, а properties (excluding static) - это свойства инстанса. чтобы этот пост имел хоть какой-то смысл, он должен был бы обсуждать разницу между attributes и static properties.
уточни, пожалуйста, что тут непонятно.
(no subject)
Date: 2009-05-01 09:18 am (UTC)(no subject)
Date: 2009-05-02 12:23 pm (UTC)вообщем, он не на 100% гик, именно поэтому он достаточно интересно пишет, чтобы ему рассылались в благодарностях, и недостаточно точно, чтобы это можно было цитировать без оглядки :)