и снова я. люблю километрами.
В каждой из двух пока что прочитанных мною лекций из курса введения в программирование на C#, автор вскользь пишет про свою горячую любовь к другому языку программирования: "Eiffel, лучший, по моему мнению, объектно-ориентированный язык". Интересно, он так и будет писать в каждой лекции?
Это мало популярный язык, уже достаточно старый, чтобы возлагать на него надежды в будущем. Его время прошло, он мог бы набрать популярность и занять какое-то место, но в нужный момент его не смогли грамотно продвинуть. Среда разработки для него обходится дорого, тогда как для других - очень много бесплатных сред, в определенных масштабах и рамках бесплатных, конечно. И никто не будет внедрять новый язык, если это стоит денег, но не привносит что-то принципиально новое.
Со структурами дело сложнее. Структуры C# представляют частный случай класса. Определив свой класс как структуру, программист получает возможность отнести класс к значимым типам, что иногда бывает крайне полезно. Замечу, что в хорошем объектном языке Eiffel программист может любой класс объявить развернутым ( expanded ), что эквивалентно отнесению к значимому типу. У программиста C# только благодаря структурам появляется возможность управлять отнесением класса к значимым или ссылочным типам. Правда, это неполноценное средство, поскольку на структуры накладываются дополнительные ограничения по сравнению с обычными классами.
Блин, ты от лекции читаешь, просвещаешься и развиваешься. А я только фильмы смотрю да сериалы
Я себя все только уговариваю заняться чем-нибудь из интересующего всерьез...
Если бы синтаксис описания метода допускал отсутствие скобок у функции (метода), в случае, когда список аргументов отсутствует, то клиент класса мог бы и не знать, обращается ли он к полю или к методу. Такой синтаксис принят, например, в языке Eiffel. Преимущество этого подхода в том, что изменение реализации никак не сказывается на клиентах класса.