LINUX.ORG.RU

История изменений

Исправление 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 очевидное нет для языка, который ценит ясность выше краткости.

Ничто из трёх, на мой взгляд, не делает работу с объектами значительно проще.