реклама на сайте
подробности

 
 
12 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Как ПРАВИЛЬНО программировать на С++, Вопросы по программированию на С++ для микроконтроллеров.
Mahagam
сообщение Aug 2 2010, 09:51
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



программисты на Си обсуждают и решают проблемы конкретных контроллеров, конкретного железа. це-крест-крест добавляет к этим проблемам ещё и проблемы собственно языка. начинаются обсуждения проблем что и как откуда наследуется инкапсулируется и полиморфируется. за деревьями не видно леса.
ну почему я не удивлён.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Aug 2 2010, 09:57
Сообщение #17


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Mahagam @ Aug 2 2010, 13:51) *
программисты на Си обсуждают и решают проблемы конкретных контроллеров, конкретного железа. це-крест-крест добавляет к этим проблемам ещё и проблемы собственно языка.

Всё зависит от сложности и размера проекта.
С определённого момента дополнительные возможности, которые даёт язык, перекрывают его "проблемы".


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Ink
сообщение Aug 3 2010, 07:08
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 14-08-07
Пользователь №: 29 776



Цитата
Если вы посмотрите на sizeof(A) и наследуемые классы, то увидите, что int Х в них нет. А если уберете static, то размер классов увеличится.

Вот об этом и разговор.

Естественно X там нет, он лежит отдельно от всего в единственном экземпляре. Но я не понимаю вот этого:
Цитата
В случае создания объектов от разных классов, объект SPI будет продублирован.

Это как так может быть? С чего создастся два разных Х?

Цитата(Mahagam @ Aug 2 2010, 13:51) *
це-крест-крест добавляет к этим проблемам ещё и проблемы собственно языка.

Конечно. И ровно то же самое говорят упертые ассемблерщики в сторону цешников (и справедливо, если на все смотреть плоско!). Смотрите на мир шире, не зря эти языки были придуманы, не зря существуют методы проектирования ПО. Естественно, что для простого SPI не нужно городить классы, но когда у вас будет огромный проект, вы встряните и будете долго понимать, как же так получилось непонятно.

Думается мне, что это не "проблемы языка", а банально проблемы от незнания языка. Это не характеризует язык.
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Aug 3 2010, 07:53
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



я и смотрю широко. война с конструкциями языка (и только с конструкциями языка) - удел програмеров це++
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Aug 3 2010, 08:26
Сообщение #20


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(Mahagam @ Aug 3 2010, 10:53) *
я и смотрю широко. война с конструкциями языка (и только с конструкциями языка) - удел програмеров це++


В 1981 году мы делали статистический анализатор кардиоинтервалов на К580ИК80. У меня (единственного программиста) не было абсолютно ничего кроме блокнотика с клетчатой бумагой, таблицы мнемоники команд и программатора УФ ПЗУ. Все это было сделано, работало и получило награду на выставке в Женеве. Но ...!!! После этого я зарекся заниматься таким программированием. Мне ночами снились квадратики с кодами. Думается это одна из причин появления языков высокого уровня. Вторая причина - переносимость. Третъя - документированность (имею в виду, что если с вами что-то случается, то вашу работу легче кому-то подхватить).

А причин бесконечных ратований за ассемблер, на мой взгляд, две:
1. Понятность ассемблера для "железячника".
2. Лень изучения языков высокого уровня применительно к конкретному процессору.
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Aug 3 2010, 09:59
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



где вы ратование за ассемблер увидели????
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Aug 3 2010, 10:03
Сообщение #22


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(Mahagam @ Aug 2 2010, 12:51) *
программисты на Си обсуждают и решают проблемы конкретных контроллеров, конкретного железа. це-крест-крест добавляет к этим проблемам ещё и проблемы собственно языка. начинаются обсуждения проблем что и как откуда наследуется инкапсулируется и полиморфируется. за деревьями не видно леса.
ну почему я не удивлён.


Или я чего-то не так понял?
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Aug 3 2010, 11:15
Сообщение #23


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



и где я упоминал ассемблер???
поясняю - программеры на Си воюют только с железом и со своими алгоритмами. си плюс плюс - кагбэ намекает, что проблем будет в два раза больше. а именно: секас с инкапсуляцией, наследованием, полиморфизмом (ну три кита проблем smile.gif )
Go to the top of the page
 
+Quote Post
neiver
сообщение Aug 3 2010, 11:29
Сообщение #24


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 22-03-10
Из: Саратов
Пользователь №: 56 123



Вы, видимо мало на С++ программировали...

На С++ можно писать более эффективные программы (по размеру/памяти/скорости) чем на чистом Си (применительно к 8-ми битникам в частности). И Наследование, инкапсуляция и полиморфизм (как динамический так и (особенно) статический) в этом только помошники а не проблемы. Это всего лишь средства языка, которые быдучи примененными к месту дают положительный результат. Ну а при неумелом использовании... Всё зависит от программиста.

Сообщение отредактировал neiver - Aug 3 2010, 11:29
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Aug 3 2010, 11:48
Сообщение #25


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(Mahagam @ Aug 3 2010, 14:15) *
и где я упоминал ассемблер???
поясняю - программеры на Си воюют только с железом и со своими алгоритмами. си плюс плюс - кагбэ намекает, что проблем будет в два раза больше. а именно: секас с инкапсуляцией, наследованием, полиморфизмом (ну три кита проблем smile.gif )


Да, витиевато пишите. Сейчас только ваша мысль прояснилась.

По поводу С++. Очень хорошо на форуме сказал автор scmRTOS: С++ ничего не добавляет, если вы сами этого не просите.
Go to the top of the page
 
+Quote Post
Ink
сообщение Aug 3 2010, 12:24
Сообщение #26


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 14-08-07
Пользователь №: 29 776



Цитата(Mahagam @ Aug 3 2010, 15:15) *
программеры на Си воюют только с железом и со своими алгоритмами.

Это тоже ошибочное мнениеsmile.gif Программеры на си, которые воюют, они воюют и с си! Потому что не знают языка! А те, кто знает, те не воюют, точно так же как и с си++.
Go to the top of the page
 
+Quote Post
Mahagam
сообщение Aug 3 2010, 12:50
Сообщение #27


Местный
***

Группа: Свой
Сообщений: 322
Регистрация: 2-07-04
Из: Minsk
Пользователь №: 240



во налетели. smile.gif
ещё раз. чисто наблюдения показывают, что вопросы касаемые конструкций и возможностей языка у программистов Си практически не обсуждаются. зато активно муссируются у плюсистов. выводы какие?
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Aug 3 2010, 12:59
Сообщение #28


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(Mahagam @ Aug 3 2010, 15:50) *
во налетели. smile.gif
ещё раз. чисто наблюдения показывают, что вопросы касаемые конструкций и возможностей языка у программистов Си практически не обсуждаются. зато активно муссируются у плюсистов. выводы какие?


Учите матчасть!
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Aug 3 2010, 13:05
Сообщение #29


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Mahagam @ Aug 3 2010, 16:50) *
во налетели. smile.gif
ещё раз. чисто наблюдения показывают, что вопросы касаемые конструкций и возможностей языка у программистов Си практически не обсуждаются.

А что там особо обсуждать, разве что правила глянуть в спорных ситуациях.
Фактически, макронадстройка над ассемблером, с нелинейным преобразованием.
Нет возможностей - нет вопросов.
Хотя нет, был недавно вопрос - ARV со своими менюшками колдовал.
Никак эта дикая смесь структур и юнионов не хотела в флешь ложиться...


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Aug 3 2010, 13:16
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Цитата(Ink @ Aug 3 2010, 14:08) *
Это как так может быть? С чего создастся два разных Х?

Прошу прощения smile.gif
Почему-то показалось, что вы хотите не наследоваться от базового класса, а создавать статические члены в "потребителях" SPI smile.gif
Go to the top of the page
 
+Quote Post

12 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 00:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01472 секунд с 7
ELECTRONIX ©2004-2016