История изменений
Исправление kaldeon, (текущая версия) :
На основании того, что VB.NET полноценно поддерживает ООП, в т.ч. наследование классов и полноценный Access Control для членов классов?
ОО – это возможность не просто кидаться данными, а данными вместе с функциями. Это довольно широкое определение, которое навязывает только стиль программирования, а не конкретную реализацию. На Си возможно писать ОО-код, но неудобно, а на Го возможно и удобно.
Отсутствие наследования не выглядит как огромная проблема, потому что можно использовать композицию. Отсутствие Access Control на уровне типов не мешает писать в ОО стиле.
VB.NET поддерживает Exceptions, Default Arguments, Operator Overloading в отличие от Golang
Я бы задался вопросом, зачем он всё это поддерживает. Слияние с другими языками – понятная причина, но технически непримечательная.
Exceptions ломают последовательное исполнение, запутывая восприятие кода. Но данный механизм, на самом деле, есть в Go для действительно исключительных ситуаций: panic.
Default Arguments легко выражаются в более простых понятиях (структура с опциями). Когда нужно более гибкое поведение, можно использовать более продвинутые паттерны, например self-referential functions.
Operator Overloading очевидное нет для языка, который ценит ясность выше краткости.
Ничто из трёх, на мой взгляд, не делает работу с объектами значительно проще.
Исправление kaldeon, :
На основании того, что VB.NET полноценно поддерживает ООП, в т.ч. наследование классов и полноценный Access Control для членов классов?
ОО – это возможность не просто кидаться данными, а данными вместе с функциями. Это довольно широкое определение, которое навязывает только стиль программирования, а не конкретную реализацию. На Си возможно писать ОО-код, но неудобно, а на Го возможно и удобно.
Отсутствие наследования не выглядит как огромная проблема, потому что можно использовать композицию. Отсутствие Access Control на уровне типов не мешает писать в ОО стиле.
VB.NET поддерживает Exceptions, Default Arguments, Operator Overloading в отличие от Golang
Я бы задался вопросом, зачем он всё это поддерживает. Слияние с другими языками – понятная причина, но технически непримечательная.
Exceptions ломают последовательное исполнение, запутывая восприятие кода. Но данный механизм, на самом деле, есть в Go для действительно исключительных ситуаций: panic.
Default Arguments легко выражаются в более простых понятиях (структура с опциями). Когда нужно более гибкое поведение, можно использовать соответствующие паттерны, например self-referential functions.
Operator Overloading очевидное нет для языка, который ценит ясность выше краткости.
Ничто из трёх, на мой взгляд, не делает работу с объектами значительно проще.
Исходная версия kaldeon, :
На основании того, что VB.NET полноценно поддерживает ООП, в т.ч. наследование классов и полноценный Access Control для членов классов?
ОО – это возможность не просто кидаться данными, а данными вместе с функциями. Это довольно широкое определение, которое навязывает только стиль программирования, а не конкретную реализацию. На Си возможно писать ОО-код, но неудобно, а на Го возможно и удобно.
Отсутствие наследования не выглядит как огромная проблема, потому что можно использовать композицию. Отсутствие Access Control на уровне типов не мешает писать в ОО стиле.
VB.NET поддерживает Exceptions, Default Arguments, Operator Overloading в отличие от Golang
Я бы задался вопросом, зачем он всё это поддерживает. Слияние с другими языками – понятная причина, но технически непримечательная.
Exceptions ломают последовательное исполнение, запутывая восприятие кода. Но данный механизм, на самом деле, есть в Go для исключительных ситуаций: panic.
Default Arguments легко выражаются в более простых понятиях (структура с опциями). Когда нужно более гибкое поведение, можно использовать соответствующие паттерны, например self-referential functions.
Operator Overloading очевидное нет для языка, который ценит ясность выше краткости.
Ничто из трёх, на мой взгляд, не делает работу с объектами значительно проще.