Информация об изменениях

Сообщение Re[10]: Кто интересовался, как в 21 веке учить детей програм от 28.06.2023 14:32

Изменено 28.06.2023 14:35 vsb

Re[10]: Кто интересовался, как в 21 веке учить детей программ
Здравствуйте, Serginio1, Вы писали:

vsb>>В разных языках по-разному. Из новых языков ни в Go, ни в Rust нет ООП в том виде, в котором он есть в старинных языках. В JS он формально есть (хотя со своей спецификой), но в современном коде его обычно не используют. Обычно просто используют функциональное программирование.


S>Ну вот в C# есть и ООП и функциональщина. И все это прекрасно уживается. Я уже не говорю про UI где иерархия огромная.


Ну если человек будет писать на C# или на Java — безусловно ООП выучить придётся. А если на Go — зачем?

S>Я не представляю как туда функциональщину прикрутить. Потомок может переопределить только один метод родителя. При этом методов родителя может достигать сотен!


Не очень понимаю тебя. Возможно лучше на конкретном примере.

S>А в JS как и в 1С и прочих динамических языках используют утиную типизацию.


Ну в Rust не используют утиную типизацию и живут как-то.

S> Функциональщина это про иммутабельность и кучей проблем из-за этого


Когда я говорю про функциональное программирование, я имею в виду стиль, когда функция является объектом первого класса и её можно передавать параметром в другую функцию. Иммутабельность это отдельная концепция, которая не особо популярна на мой взгляд, хотя её часто с функциональным программированием вместе используют, но я не считаю это корректным обобщением.
Re[10]: Кто интересовался, как в 21 веке учить детей програм
Здравствуйте, Serginio1, Вы писали:

vsb>>В разных языках по-разному. Из новых языков ни в Go, ни в Rust нет ООП в том виде, в котором он есть в старинных языках. В JS он формально есть (хотя со своей спецификой), но в современном коде его обычно не используют. Обычно просто используют функциональное программирование.


S>Ну вот в C# есть и ООП и функциональщина. И все это прекрасно уживается. Я уже не говорю про UI где иерархия огромная.


Ну если человек будет писать на C# или на Java — безусловно ООП выучить придётся. А если на Go — зачем?

S>Я не представляю как туда функциональщину прикрутить. Потомок может переопределить только один метод родителя. При этом методов родителя может достигать сотен!


Не очень понимаю тебя. Возможно лучше на конкретном примере.

S>А в JS как и в 1С и прочих динамических языках используют утиную типизацию.


Ну в Rust не используют утиную типизацию и живут как-то.

S> Функциональщина это про иммутабельность и кучей проблем из-за этого


Когда я говорю про функциональное программирование, я имею в виду стиль, когда функция является объектом первого класса и её можно передавать параметром в другую функцию. Иммутабельность это отдельная концепция, хотя её часто с функциональным программированием вместе используют, но я не считаю это корректным обобщением. Можно писать иммутабельные программы без ФП, можно использовать ФП без иммутабельности.