LINUX.ORG.RU

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

Исправление dimgel, (текущая версия) :

Привычка - вторая натура, касательно «нормального ооп».

С одной стороны да, с другой – был уже один такой, которому нормальный ООП был поперёк жопы. Эйхом звали. И как он только не сдох от засранной тысячами разрабов кармы. В итоге мелкомягкие таки-впилили в TS классы.

Трейты ничем не хуже, очень похоже на интерфейсы джавы, плюс обобщенное программирование.

А, точно, у жавы с некоторых пор в интерфейсах можно задавать методы с default-реализацией, но нельзя задавать поля (состояние). В отличие от скаловских, которые по сути ничем не хуже классов со множественным наследованием. И как по мне, по сравнению со скалой это довольно дурацкое и неудобное ограничение. Вся эта священная борьба с наследованием реализаций – идиотизм: во-первых, оно в том или ином виде в итоге всё равно оказывается в языке, т.к. без него никуда (полиморфизм), только не в человеческом виде, а на костылях через жопу; а во-вторых и в главных, изгадить идиотской реализацией можно любую идею – о чём имеется столь же древняя, сколь и прекрасная цитата из статьи Фаулера «Is Design Dead?»:

«Суть в том, что часто паттерны используются чересчур активно. Известна история о программисте, который, прочитав в первый раз книгу Банды Четырех, ухитрился использовать 16 паттернов в 32 строчках кода. Помню замечательный вечер, подогретый всего-навсего одним стаканчиком солода, когда мы с Кентом набрасывали статью под названием «Не паттерны проектирования: 23 дешевых трюка», где рассказали о таких вещах, как использование оператора «if» вместо паттерна «стратегия». В каждой шутке есть доля правды. Паттерны нередко используются там, где без них вполне можно было бы обойтись, однако это не делает хуже саму идею. Весь вопрос в том, как вы их используете.»

В частности, для ООП (UPD: который тоже по сути является лишь паттерном) очень простой и в тоже время очень строгий критерий говнокода – несоблюдение LSP.

короче в с++ нельзя вкатится не вкатываясь в его 30 летний бекграунд, ну хотя бы в 15 летний, с 03 стандарта начиная

С этим спорить трудно. Как известно, программисты делятся на тех, кто освоил C++ когда тот ещё был простым, и на тех, кто его никогда не освоит. Хотя на cppcon одна известная в тех кругах крутая баба-преподша вполне убедительно (по крайней мере на первый взгляд) объясняла, как надо нынче обучать новичков плюсам: в жопу const char* и прочую адресную арифметику, юзаем string как чёрный ящик. Т.е. она даёт плюсы как высокоуровневый язык. (UPD3: И в этом качестве современный C++ наверняка можно дать как вполне себе безопасный.)

Что до меня, то т.к. я из первой категории (коммерчески писал на плюсах в середине 90-х … начале нулевых) и вообще байтодрочер, то для меня существенно, что на плюсах я могу писать и в раст-стиле, и не в раст. (UPD2: Например, buildtime-часть моего веб-сервера – на высокоуровневом C++, а runtime – байтодрочерская на «C с классами».) Кто-то то ли на реддите, то ли ещё где-то выдал очень понравившийся мне камент: что раст он юзать не будет, но изучал не зря: будет более осмысленно писать на плюсах.

Исправление dimgel, :

Привычка - вторая натура, касательно «нормального ооп».

С одной стороны да, с другой – был уже один такой, которому нормальный ООП был поперёк жопы. Эйхом звали. И как он только не сдох от засранной тысячами разрабов кармы. В итоге мелкомягкие таки-впилили в TS классы.

Трейты ничем не хуже, очень похоже на интерфейсы джавы, плюс обобщенное программирование.

А, точно, у жавы с некоторых пор в интерфейсах можно задавать методы с default-реализацией, но нельзя задавать поля (состояние). В отличие от скаловских, которые по сути ничем не хуже классов со множественным наследованием. И как по мне, по сравнению со скалой это довольно дурацкое и неудобное ограничение. Вся эта священная борьба с наследованием реализаций – идиотизм: во-первых, оно в том или ином виде в итоге всё равно оказывается в языке, т.к. без него никуда (полиморфизм), только не в человеческом виде, а на костылях через жопу; а во-вторых и в главных, изгадить идиотской реализацией можно любую идею – о чём имеется столь же древняя, сколь и прекрасная цитата из статьи Фаулера «Is Design Dead?»:

«Суть в том, что часто паттерны используются чересчур активно. Известна история о программисте, который, прочитав в первый раз книгу Банды Четырех, ухитрился использовать 16 паттернов в 32 строчках кода. Помню замечательный вечер, подогретый всего-навсего одним стаканчиком солода, когда мы с Кентом набрасывали статью под названием «Не паттерны проектирования: 23 дешевых трюка», где рассказали о таких вещах, как использование оператора «if» вместо паттерна «стратегия». В каждой шутке есть доля правды. Паттерны нередко используются там, где без них вполне можно было бы обойтись, однако это не делает хуже саму идею. Весь вопрос в том, как вы их используете.»

В частности, для ООП (UPD: который тоже по сути является лишь паттерном) очень простой и в тоже время очень строгий критерий говнокода – несоблюдение LSP.

короче в с++ нельзя вкатится не вкатываясь в его 30 летний бекграунд, ну хотя бы в 15 летний, с 03 стандарта начиная

С этим спорить трудно. Как известно, программисты делятся на тех, кто освоил C++ когда тот ещё был простым, и на тех, кто его никогда не освоит. Хотя на cppcon одна известная в тех кругах крутая баба-преподша вполне убедительно (по крайней мере на первый взгляд) объясняла, как надо нынче обучать новичков плюсам: в жопу const char* и прочую адресную арифметику, юзаем string как чёрный ящик. Т.е. она даёт плюсы как высокоуровневый язык.

Что до меня, то т.к. я из первой категории (коммерчески писал на плюсах в середине 90-х … начале нулевых) и вообще байтодрочер, то для меня существенно, что на плюсах я могу писать и в раст-стиле, и не в раст. (UPD2: Например, buildtime-часть моего веб-сервера – на высокоуровневом C++, а runtime – байтодрочерская на «C с классами».) Кто-то то ли на реддите, то ли ещё где-то выдал очень понравившийся мне камент: что раст он юзать не будет, но изучал не зря: будет более осмысленно писать на плюсах.

Исправление dimgel, :

Привычка - вторая натура, касательно «нормального ооп».

С одной стороны да, с другой – был уже один такой, которому нормальный ООП был поперёк жопы. Эйхом звали. И как он только не сдох от засранной тысячами разрабов кармы. В итоге мелкомягкие таки-впилили в TS классы.

Трейты ничем не хуже, очень похоже на интерфейсы джавы, плюс обобщенное программирование.

А, точно, у жавы с некоторых пор в интерфейсах можно задавать методы с default-реализацией, но нельзя задавать поля (состояние). В отличие от скаловских, которые по сути ничем не хуже классов со множественным наследованием. И как по мне, по сравнению со скалой это довольно дурацкое и неудобное ограничение. Вся эта священная борьба с наследованием реализаций – идиотизм: во-первых, оно в том или ином виде в итоге всё равно оказывается в языке, т.к. без него никуда (полиморфизм), только не в человеческом виде, а на костылях через жопу; а во-вторых и в главных, изгадить идиотской реализацией можно любую идею – о чём имеется столь же древняя, сколь и прекрасная цитата из статьи Фаулера «Is Design Dead?»:

«Суть в том, что часто паттерны используются чересчур активно. Известна история о программисте, который, прочитав в первый раз книгу Банды Четырех, ухитрился использовать 16 паттернов в 32 строчках кода. Помню замечательный вечер, подогретый всего-навсего одним стаканчиком солода, когда мы с Кентом набрасывали статью под названием «Не паттерны проектирования: 23 дешевых трюка», где рассказали о таких вещах, как использование оператора «if» вместо паттерна «стратегия». В каждой шутке есть доля правды. Паттерны нередко используются там, где без них вполне можно было бы обойтись, однако это не делает хуже саму идею. Весь вопрос в том, как вы их используете.»

В частности, для ООП (UPD: который тоже по сути является лишь паттерном) очень простой и в тоже время очень строгий критерий говнокода – несоблюдение LSP.

короче в с++ нельзя вкатится не вкатываясь в его 30 летний бекграунд, ну хотя бы в 15 летний, с 03 стандарта начиная

С этим спорить трудно. Как известно, программисты делятся на тех, кто освоил C++ когда тот ещё был простым, и на тех, кто его никогда не освоит. Хотя на cppcon одна известная в тех кругах крутая баба-преподша вполне убедительно (по крайней мере на первый взгляд) объясняла, как надо нынче обучать новичков плюсам: в жопу const char* и прочую адресную арифметику, юзаем string как чёрный ящик. Т.е. она даёт плюсы как высокоуровневый язык.

Что до меня, то т.к. я из первой категории (коммерчески писал на плюсах в середине 90-х … начале нулевых) и вообще байтодрочер, то для меня существенно, что на плюсах я могу писать и в раст-стиле, и не в раст. (Например, buildtime-часть моего веб-сервера – на высокоуровневом C++, а runtime – байтодрочерская на «C с классами».) Кто-то то ли на реддите, то ли ещё где-то выдал очень понравившийся мне камент: что раст он юзать не будет, но изучал не зря: будет более осмысленно писать на плюсах.

Исправление dimgel, :

Привычка - вторая натура, касательно «нормального ооп».

С одной стороны да, с другой – был уже один такой, которому нормальный ООП был поперёк жопы. Эйхом звали. И как он только не сдох от засранной тысячами разрабов кармы. В итоге мелкомягкие таки-впилили в TS классы.

Трейты ничем не хуже, очень похоже на интерфейсы джавы, плюс обобщенное программирование.

А, точно, у жавы с некоторых пор в интерфейсах можно задавать методы с default-реализацией, но нельзя задавать поля (состояние). В отличие от скаловских, которые по сути ничем не хуже классов со множественным наследованием. И как по мне, по сравнению со скалой это довольно дурацкое и неудобное ограничение. Вся эта священная борьба с наследованием реализаций – идиотизм: во-первых, оно в том или ином виде в итоге всё равно оказывается в языке, т.к. без него никуда (полиморфизм), только не в человеческом виде, а на костылях через жопу; а во-вторых и в главных, изгадить идиотской реализацией можно любую идею – о чём имеется столь же древняя, сколь и прекрасная цитата из статьи Фаулера «Is Design Dead?»:

«Суть в том, что часто паттерны используются чересчур активно. Известна история о программисте, который, прочитав в первый раз книгу Банды Четырех, ухитрился использовать 16 паттернов в 32 строчках кода. Помню замечательный вечер, подогретый всего-навсего одним стаканчиком солода, когда мы с Кентом набрасывали статью под названием «Не паттерны проектирования: 23 дешевых трюка», где рассказали о таких вещах, как использование оператора «if» вместо паттерна «стратегия». В каждой шутке есть доля правды. Паттерны нередко используются там, где без них вполне можно было бы обойтись, однако это не делает хуже саму идею. Весь вопрос в том, как вы их используете.»

В частности, для ООП (UPD: который тоже по сути является лишь паттерном) очень простой и в тоже время очень строгий критерий говнокода – несоблюдение LSP.

короче в с++ нельзя вкатится не вкатываясь в его 30 летний бекграунд, ну хотя бы в 15 летний, с 03 стандарта начиная

С этим спорить трудно. Как известно, программисты делятся на тех, кто освоил C++ когда тот ещё был простым, и на тех, кто его никогда не освоит. Хотя на cppcon одна известная в тех кругах крутая баба-преподша вполне убедительно (по крайней мере на первый взгляд) объясняла, как надо нынче обучать новичков плюсам: в жопу const char* и прочую адресную арифметику, юзаем string как чёрный ящик. Т.е. она даёт плюсы как высокоуровневый язык.

Что до меня, то т.к. я из первой категории (коммерчески писал на плюсах в середине 90-х … начале нулевых) и вообще байтодрочер, то для меня существенно, что на плюсах я могу писать и в раст-стиле, и не в раст. Кто-то то ли на реддите, то ли ещё где-то выдал очень понравившийся мне камент: что раст он юзать не будет, но изучал не зря: будет более осмысленно писать на плюсах.

Исходная версия dimgel, :

Привычка - вторая натура, касательно «нормального ооп».

С одной стороны да, с другой – был уже один такой, которому нормальный ООП был поперёк жопы. Эйхом звали. И как он только не сдох от засранной тысячами разрабов кармы. В итоге мелкомягкие таки-впилили в TS классы.

Трейты ничем не хуже, очень похоже на интерфейсы джавы, плюс обобщенное программирование.

А, точно, у жавы с некоторых пор в интерфейсах можно задавать методы с default-реализацией, но нельзя задавать поля (состояние). В отличие от скаловских, которые по сути ничем не хуже классов со множественным наследованием. И как по мне, по сравнению со скалой это довольно дурацкое и неудобное ограничение. Вся эта священная борьба с наследованием реализаций – идиотизм: во-первых, оно в том или ином виде в итоге всё равно оказывается в языке, т.к. без него никуда (полиморфизм), только не в человеческом виде, а на костылях через жопу; а во-вторых и в главных, изгадить идиотской реализацией можно любую идею – о чём имеется столь же древняя, сколь и прекрасная цитата из статьи Фаулера «Is Design Dead?»:

«Суть в том, что часто паттерны используются чересчур активно. Известна история о программисте, который, прочитав в первый раз книгу Банды Четырех, ухитрился использовать 16 паттернов в 32 строчках кода. Помню замечательный вечер, подогретый всего-навсего одним стаканчиком солода, когда мы с Кентом набрасывали статью под названием «Не паттерны проектирования: 23 дешевых трюка», где рассказали о таких вещах, как использование оператора «if» вместо паттерна «стратегия». В каждой шутке есть доля правды. Паттерны нередко используются там, где без них вполне можно было бы обойтись, однако это не делает хуже саму идею. Весь вопрос в том, как вы их используете.»

В частности, для ООП очень простой и в тоже время очень строгий критерий говнокода – несоблюдение LSP.

короче в с++ нельзя вкатится не вкатываясь в его 30 летний бекграунд, ну хотя бы в 15 летний, с 03 стандарта начиная

С этим спорить трудно. Как известно, программисты делятся на тех, кто освоил C++ когда тот ещё был простым, и на тех, кто его никогда не освоит. Хотя на cppcon одна известная в тех кругах крутая баба-преподша вполне убедительно (по крайней мере на первый взгляд) объясняла, как надо нынче обучать новичков плюсам: в жопу const char* и прочую адресную арифметику, юзаем string как чёрный ящик. Т.е. она даёт плюсы как высокоуровневый язык.

Что до меня, то т.к. я из первой категории (коммерчески писал на плюсах в середине 90-х … начале нулевых) и вообще байтодрочер, то для меня существенно, что на плюсах я могу писать и в раст-стиле, и не в раст. Кто-то то ли на реддите, то ли ещё где-то выдал очень понравившийся мне камент: что раст он юзать не будет, но изучал не зря: будет более осмысленно писать на плюсах.