Easyelectronics.ru

Электроника для всех
Текущее время: 11 июл 2020, 06:30

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 318 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12, 13  След.
Автор Сообщение
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 13:52 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2735
Откуда: Санкт-Петербург
iev91, что там C++ - порой и на JavaScript писать приходится...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 14:32 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1346
evsi писал(а):
Программист на С++ может писать/читать/сопровождать/расширять С-шный код. Обратное не верно.

Прочитайте/сопроводите/расширьте и попробуйте написать код для проекта, например, ReactOS , а то уж более 20-ти лет не могут зарелизиться в бетту.

P.S. Шутка, но в каждой шутке есть доля шутки. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 14:51 
Старожил

Зарегистрирован: 17 дек 2014, 04:38
Сообщения: 692
evsi писал(а):
Программист на С++ может писать/читать/сопровождать/расширять С-шный код. Обратное не верно.


Оччень спорное утверждение ! ООП фактически водит программиста за ручку - тут не присваивай, там private, здесь protected. Куда строже контроль. А на Сях - ты и железо ! Все что хочешь - МОЖНО ! :)
Но и ответственность куда выше - использование кучи, контроль указателей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 14:55 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2471
KPG писал(а):
Прочитайте/сопроводите/расширьте и попробуйте написать код для проекта, например, ReactOS , а то уж более 20-ти лет не могут зарелизиться в бетту.

Нафиг-нафиг, писать еще одну винду это не ко мне :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 14:57 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2471
void1509 писал(а):
Оччень спорное утверждение !

Только в том случае, если вы полагаете, что С++ == ООП/классы/инкапсуляция/наследование и так далее по списку. Если этого таракана спугнуть, то окажется, что на нижнем уровне эти языки практически одинаковы и следить нужно ровно за теми же вещами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 15:06 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2735
Откуда: Санкт-Петербург
void1509, вы путаете язык и подход. ООП доступно и на голом Си, и на ассемблере. Просто в некоторых языках есть чуть больше поддержки для него.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 15:38 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1346
evsi писал(а):
Нафиг-нафиг, писать еще одну винду это не ко мне :)

Это лишь иллюстрация проблем создаваемых разными подходами в его создании.
Например, KolibriOS, не имеет тех проблем, что не могут преодолеть в ReactOS, хотя и сделана на Asm (Fasm) языке.

P.S. Есть и ООП в разных подсистемах Форт реализаций (например Win32Forth), но костыли, чтобы сделать работоспособный код под ним,
гораздо больше (расширял функционал использования библиотеки Scintilla в рамках ForthIDE для Win32Forth) :)
хотя, кода экспериментировал со Smalltalk моделью ООП заморочки были несколько другие.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 16:30 
Старожил

Зарегистрирован: 17 дек 2014, 04:38
Сообщения: 692
Я ничего не путаю, я имел ввиду именно языковую реализацию ООП. И прекрасно понимаю что ООП это идеология программирования. Объекты можно создавать на процедурно ориентированных языках, а также на объектно-ориентированных писать процедурный код. Но тогда зачем для написания процедурной программы использовать С++ ? Равно как и для объектно-ориентированной использовать Си. В общем - каждой задаче свой инструмент. Но IMHO, процедурное программирование требует значительно более высокой квалификации программиста, именно потому что у него значительно многообразней выбор методов решения задачи, где ООП это всего лишь один из них.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 16:38 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1346
void1509 писал(а):
. Но IMHO, процедурное программирование требует значительно более высокой квалификации программиста, именно потому что у него значительно многообразней выбор методов решения задачи, где ООП это всего лишь один из них.

В чём более высокая квалификация для грамотного определения "зоны" видимости и повторного использования кода и на процедурном языке?
(и повторного использования тех же имён)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 16:42 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2471
void1509 писал(а):
Я ничего не путаю, я имел ввиду именно языковую реализацию ООП. И прекрасно понимаю что ООП это идеология программирования. Объекты можно создавать на процедурно ориентированных языках, а также на объектно-ориентированных писать процедурный код. Но тогда зачем для написания процедурной программы использовать С++ ?

Например, для того, что бы воспрользоваться не-ОО фичами. Например, шаблонами.
void1509 писал(а):
Равно как и для объектно-ориентированной использовать Си. В общем - каждой задаче свой инструмент. Но IMHO, процедурное программирование требует значительно более высокой квалификации программиста,

Это распространенное заблуждение. На самом деле квалификация требуется одинаковая. Другой вопрос, что с использованием ООП и других возможностей С++ у программиста появляется возможность решать более сложные задачи.
void1509 писал(а):
именно потому что у него значительно многообразней выбор методов решения задачи, где ООП это всего лишь один из них.

С++ - многопарадигменный язык. И как раз он дает куда более многообразный выбор методов решения задачи, чем С, который чисто процедурный. А вообще практически на любом тьюринг-полном языке можно писать в любой парадигме. Вопрос только в трудоемкости и удобстве. И язык в котором нет поддержки нужной парадигмы не дает преимуществ перед языками в которых такая поддержка есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 16:47 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2735
Откуда: Санкт-Петербург
void1509, процедурное программирование заведомо не может требовать более высокой квалификации, чем ООП, т.к. без него в ООП делать нечего :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 17:02 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2471
void1509, я, честно говоря, вообще не понимаю с чего такой кипеш вокруг ООП и постоянное противопоставление процедурного и ОО подходов. На самом деле процедурное и ОО программирование это применение ровно одной и той же идеи: инкапсуляции. В процедурном инкапсуляция используется только для кода (функция представляет собой цельную сущность, нельзя прыгнуть внутрь процедуры или выйти из нее раньше, чем предусмотрено самой функцией, локальные переменные не доступны снаружи). В ОО эта идея применена еще и к данным. Цель применения инкапсуляции и там и там одинакова - минимизировать количество связей внутри программы.

P.S. существенно отличной парадигмой является функциональное программирование, но С тут вообще мимо кассы, писать на нем в функциональном стиле весьма геморно и неудобно. в С++ с этим значительно лучше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 23:12 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1346
evsi писал(а):
P.S. существенно отличной парадигмой является функциональное программирование, но С тут вообще мимо кассы, писать на нем в функциональном стиле весьма геморно и неудобно. в С++ с этим значительно лучше.

"Процедурное" программирование тоже может быть нетривиально использовано.
Броуди 2 (книга, рекомендована всем к прочтению)
и закрывать какие то вопросы приведшие к появлению С++

P.S. Хотя, казалось бы, зачем читать такие древние книги. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 23:15 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5879
KPG, ктож тебя разбудил? Вроде форт ни кто не произнес...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 11 сен 2018, 23:19 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1346
dosikus_2 писал(а):
KPG, ктож тебя разбудил? Вроде форт ни кто не произнес...

dosikus_2 тебе тоже полезна к прочтению данная книга, но есть ещё и Броуди 1 книга.
а то, похоже, дискуссия немного выдохлась. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 12 сен 2018, 09:52 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 3313
evsi писал(а):
существенно отличной парадигмой является функциональное программирование, но С тут вообще мимо кассы, писать на нем в функциональном стиле весьма геморно и неудобно. в С++ с этим значительно лучше.


Да ладно, минимум писать чистые функции никто не запрещает. И писать в функциональном стиле на С проще, чем в ООП на том же С


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 12 сен 2018, 11:31 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2735
Откуда: Санкт-Петербург
fr0ster, да нет, в функциональном стиле на Си писать довольно сложно. Как говорят апологеты функционального подхода - "functions are not first class citizens". Попробуйте написать функцию, которая возвращает функцию.

На самом деле это всё можно сделать, но вначале вам придётся организовать себе поддержку ООП, а уже поверх неё - функциональные объекты, типа std::function в C++. Но и тогда останется проблема типизации - попробуйте написать аналог функции map (которая применяет функцию-аргумент ко всем объектам из входной коллекции) - хотя бы на уровне std::transform, я уж не говорю про хаскелевский map, который работает не только на списках, но и на чём угодно, что "содержит" внутри объекты.

Но перетягивать полезные практики (типа тех же чистых функций или использования immutable объектов, где возможно) это не мешает. Как и из ООП - которым, кстати, при желании пользоваться довольно просто (подструктуры в структуры вкладывать можно, VMT делается чуть ли не в несколько строк - и вот вам наследование и полиморфизм; инкапсуляция позаморочнее, тут проще всего соблюдать дисциплину, но эстеты могут и "type erasure" применить, чтобы скрыть потроха своего объекта).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 12 сен 2018, 12:42 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2471
fr0ster писал(а):
Да ладно, минимум писать чистые функции никто не запрещает. И писать в функциональном стиле на С проще, чем в ООП на том же С

Я и не говорил, что это невозможно. Но написание кода в функциональном стиле на С крайне неудобно из-за отсутствия лямбд и громоздкого объявления указателей на функции. А без шаблонов и выведения типов код будет весьма громоздкий. То есть щапрета, как бы, нет, но функциональный подход явно не приветствуется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 12 сен 2018, 14:52 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4684
Откуда: КЧР, поселок Нижний Архыз
А чем вам императивный стиль не нравится? То им оопщину подавай, то функциональщину. Нафиг, если императивщина все проблемы с легкостью решает?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 12 сен 2018, 15:09 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2471
Eddy_Em писал(а):
А чем вам императивный стиль не нравится? То им оопщину подавай, то функциональщину. Нафиг, если императивщина все проблемы с легкостью решает?

Буду признателен, если вы почаще будете участвовать в дискуссии. Каждое ваше высказывание доставляет изрядную порцию лулзов и поднимает настроение.

P.S. ООП ровно такая же императивщина как и процедурное программирование. и насчет "с легкостью" вы сильно погорячились.
P.P.S. думаю, очень многим (хотя врядли вам) будет интересно почитать об одном весьма любопытном архитектурном решении: https://www.destroyallsoftware.com/scre ... tive-shell


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 12 сен 2018, 15:14 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4684
Откуда: КЧР, поселок Нижний Архыз
evsi писал(а):
Каждое ваше высказывание доставляет изрядную порцию лулзов

А ваш бред лулзов не доставляет, только желание долбануть чем-нибудь...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 12 сен 2018, 15:19 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2471
Eddy_Em писал(а):
А ваш бред лулзов не доставляет, только желание долбануть чем-нибудь...

Да, у вас вполне обычная реакция (от называния бредом и до желания долбануть) на информацию, которую человек не в состоянии понять в силу природных ограничений :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 12 сен 2018, 15:23 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 4684
Откуда: КЧР, поселок Нижний Архыз
и это говорит абдуринщик...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 12 сен 2018, 15:34 
Старожил
Аватара пользователя

Зарегистрирован: 23 сен 2012, 20:35
Сообщения: 2471
Eddy_Em писал(а):
и это говорит абдуринщик...

Полагаю, вы слишком строги к себе. Вам достаточно немного поучиться писать софт и пользоваться отладчиком и у вас есть шанс выйти из этой категории :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Си++: быть или не быть
СообщениеДобавлено: 12 сен 2018, 16:57 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2735
Откуда: Санкт-Петербург
Eddy_Em писал(а):
А чем вам императивный стиль не нравится? То им оопщину подавай, то функциональщину. Нафиг, если императивщина все проблемы с легкостью решает?
Мне нравится. ООП-щина, кстати, тоже императивный стиль обычно.
Просто иногда другой стиль удобнее - в зависимости от задач.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 318 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12, 13  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB