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

 
 
> Вопрос по С++
_Артём_
сообщение Dec 13 2011, 17:38
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Как бы правильно отработать такую ситуацию на С++:
Есть плата, на которую может устанавливаться два-три близких по системе команд GSM-модема (большинство нужных команд полностью идентичны).
Думаю делать так:
Создать класс содержащий все нужные функции (различающиеся команды объявить как виртуальные), от него создать нужное количество наследников с переопределёнными функциями и .
Тип модема может задаваьтся конфигурацией (байт в еепром) или определятся запросом версии AT-командой (предпочтительней).
А вот как дальше делать?
Как лучше объявить в программе переменную-наследника?
Компилятор IAR AVR.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Danis
сообщение Dec 14 2011, 08:33
Сообщение #2


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Цитата(_Артём_ @ Dec 13 2011, 20:38) *
Создать класс содержащий все нужные функции (различающиеся команды объявить как виртуальные), от него создать нужное количество наследников с переопределёнными функциями и .
......


ИМХО, тут можно конечно сделать, но из за 2-x, 3-x подобных устройств использовать С++ со своими возможностями ООП (виртуальные функции и полиморфизм) Вам больше навредит, чем поможет. Сильно не рационально. С++ надо использовать только там, где это действительно необходимо и приемлемо, а не просто ради того чтоб использовать. Вот если бы подобных устройств было десятки, еще можно говорить….


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Dec 14 2011, 09:35
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Danis @ Dec 14 2011, 10:33) *
ИМХО, тут можно конечно сделать, но из за 2-x, 3-x подобных устройств использовать С++ со своими возможностями ООП (виртуальные функции и полиморфизм) Вам больше навредит, чем поможет. Сильно не рационально. С++ надо использовать только там, где это действительно необходимо и приемлемо, а не просто ради того чтоб использовать. Вот если бы подобных устройств было десятки, еще можно говорить….

В смысле?
Что значит "десятки устройств"?
Десятки типов устройств?
Или экземпляров?

Типов модулей может быть 2-3-..5..10(это точно перебор, да и 5 - перебор: 2-3, а дальше - много(слишком))
А модулей - сотни(чем больше тем лучше) каждого типа...

У как по-Вашему лучше сделать?

Цитата(Danis @ Dec 14 2011, 10:33) *
С++ надо использовать только там, где это действительно необходимо и приемлемо, а не просто ради того чтоб использовать


честный ответ - как глоток свежего воздуха...©
А где ж его использовать?(С++, в смысле)...?
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Dec 14 2011, 10:57
Сообщение #4


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(_Артём_ @ Dec 14 2011, 13:35) *
..А где ж его использовать?(С++, в смысле)...?


ну уж точно не в МК sm.gif покрайней мере пока не стоит в полной мере. а вот ООА необходимо юзать всегда. даже когда вы пишите на азме. при этом сама механизация того или иного функционала - уже вторично.

(круглый)
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 14 2011, 11:59
Сообщение #5


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(kolobok0 @ Dec 14 2011, 17:57) *
ну уж точно не в МК sm.gif покрайней мере пока не стоит в полной мере.

Поясните, пожалуйста, какие именно аспекты С++ делают его нерекомендуемым для использования с МК?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 20 2011, 08:35
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(dxp @ Dec 14 2011, 15:59) *
Поясните, пожалуйста, какие именно аспекты С++ делают его нерекомендуемым для использования с МК?


Самый главный аспект - на порядки более сложный язык по сравнению с С и в то же время не дающий абсолютно никаких реальных "++" по сравнению с С, хотя "рекомендовать" тут нет смысла - каждый использует то что ему ближе, с++ на МК - это наглядный пример "ООП ради самой ООП".
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 20 2011, 09:24
Сообщение #7


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (sasamy @ Dec 20 2011, 15:35) *
Самый главный аспект - на порядки более сложный язык по сравнению с С

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

QUOTE (sasamy @ Dec 20 2011, 15:35) *
и в то же время не дающий абсолютно никаких реальных "++" по сравнению с С, хотя "рекомендовать" тут нет смысла - каждый использует то что ему ближе,

Голословное заявление. Кому не даёт реальных ++? Мне даёт. И знаю немало людей, кому тоже даёт.

QUOTE (sasamy @ Dec 20 2011, 15:35) *
с++ на МК - это наглядный пример "ООП ради самой ООП".

И опять вопрос (его почему-то приходится всегда задавать оппонентам): а причём тут ООП? Я знаю массу программ на С++, где ООП и не пахнет. А где ООП катит, так оно отлично ложится и даже на самые мелкие МК.

В общем, такая дискуссия пуста, т.к. безпредметна. Надо конкретные аргументы приводить. А в таком ключи можно и на С наехать, дескать, нафиг не нужен, асм форева (проходили 10 лет назад).


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 20 2011, 09:50
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(dxp @ Dec 20 2011, 13:24) *
Сложный - да, но как бы эти порядки определить?


Это общеизвестный факт и ничего тут не требуется определять.

Цитата
Кому не даёт реальных ++? Мне даёт.


Вас уже спрашивал колобок о реальных плюсах, вы ему так и не сказали ничего кроме абстрактных "облегчение как проектирования софта, так и написания кода" - только я тоже самое могу сказать со своей стороны про С и это разговор ниочем - спор правши и левши какой рукой удобней ложку держать. Применительно к данной теме - зачем тут виртуальные ф-ции когда можно сделать простой switch/case ?

Цитата
И опять вопрос (его почему-то приходится всегда задавать оппонентам): а причём тут ООП?


Не - это уже феерично - расхваливать преимущества C++ над С и при этом не использовать ни метапрограммирование ни ООП sm.gif
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Dec 20 2011, 10:09
Сообщение #9


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Я скажу может крамольную вещь и даже кому-то будет обидно, но ничего - переживетеsm.gif
1. Невозможно действительно грамотно писать на АСМ не зная в достаточной степени процедурно-ориентированного языка программирования
2. Невозможно действительно грамотно писать на Си не зная в достаточной степени С++.

Я уверен, что именно те кто ещё на вы с текущим инструментарием (читай языком), как раз любят теоретизировать о бесполезности языка следующего уровня абстракции.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 20 2011, 10:28
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(demiurg_spb @ Dec 20 2011, 14:09) *
Я уверен, что именно те кто ещё на вы с текущим инструментарием (читай языком), как раз любят теоретизировать о бесполезности языка следующего уровня абстракции.


Специально для вас и прочих теоретиков Не дайте Астронавтам Архитектуры вас запугать
Go to the top of the page
 
+Quote Post
XVR
сообщение Dec 20 2011, 10:44
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(sasamy @ Dec 20 2011, 14:28) *
Специально для вас и прочих теоретиков Не дайте Астронавтам Архитектуры вас запугать
Ну так не надо витать в облаках. Можно писать ООП на С, и можно писать в чисто процедурном стиле на С++. Но есть хорошее народное наблюдение - шуруп, забитый в стену молотком, держится гораздо лучше, чем гвоздь, закрученный отверткой rolleyes.gif . С++ позволяет писать в стиле 'С с классами', и даже в таком стиле это гораздо лучше, чем просто С (и для МК в том числе)

Не использовать С++ имеет смысл в одном случае - если ты его не знаешь, т.к. этот язык обладает гораздо большей гибкостью, в части создания уродцев, чем С 1111493779.gif

Так что используйте инструмент, которым владеете, и не поддавайтесь на провокации взять что то новое, исключительно потому, что оно новое laughing.gif

А то будет, как у MS:

Цитата
История программных революций от Microsoft, вкратце: Сначала были Windows API и DLL Hell. Революцией №1 было DDE – помните, как ссылки позволили нам создавать статусные строки, отражающие текущую цену акций Microsoft? Примерно тогда же Microsoft создала ресурс VERSION INFO, исключающий DLL Hell. Но другая группа в Microsoft нашла в DDE фатальный недостаток – его писали не они!

Для решения этой проблемы они создали OLE (похожее на DDE, но другое), и я наивно вспоминаю докладчика на Microsoft-овской конференции, говорящего, что скоро Windows API перепишут как OLE API, и каждый элемент на экране будет ОСХ-ом. В OLE появились интерфейсы, исключающие DLL Hell. Помните болезнь с названием «по месту», при которой мы мечтали встроить все свои приложения в один (возможно, очень большой) документ Word? Где-то в то же время Microsoft уверовала в религию С++, возникла MFC решившая все наши проблемы еще раз.

Но OLE не собиралась, сложа руки смотреть на это, поэтому оно заново родилось под именем COM, и мы внезапно поняли, что OLE (или это было DDE?) будет всегда – и даже включает тщательно разработанную систему версий компонентов, исключающую DLL Hell. В это время группа отступников внутри Microsoft обнаружила в MFC фатальный недостаток – его писали не они! Они немедленно исправили этот недочет, создав ATL, который как MFC, но другой, и попытались спрятать все замечательные вещи, которым так упорно старалась обучить нас группа COM. Это заставило группу COM (или это было OLE?) переименоваться в ActiveX и выпустить около тонны новых интерфейсов (включая интерфейсы контроля версий, исключающие DLL Hell), а заодно возможность сделать весь код загружаемым через браузеры, прямо вместе с определяемыми пользователем вирусами (назло этим гадам из ATL!).

Группа операционных систем громким криком, как забытый средний ребенок, потребовала внимания, сказав, что нам следует готовиться к Cairo, некой таинственной хреновине, которую никогда не могли даже толком описать, не то, что выпустить. К их чести, следует сказать, что они не представляли концепции «System File Protection», исключающей DLL Hell. Но тут некая группа в Microsoft нашла фатальный недостаток в Java - её писали не они! Это было исправлено созданием то ли J, то ли Jole, а может, и ActiveJ (если честно, я просто не помню), точно такого же как Java, но другого. Это было круто, но Sun засудило Microsoft по какому-то дряхлому закону. Это была явная попытка задушить право Microsoft выпускать такие же продукты, как у других, но другие.

Помните менеджера по J/Jole/ActiveJ, стучащего по столу туфлей и говорящего, что Microsoft никогда не бросит этот продукт? Глупец! Все это означало только одно – недостаток внимания к группе ActiveX (или это был COM?). Эта невероятно жизнерадостная толпа вернулась с COM+ и MTS наперевес (может, это стоило назвать ActiveX+?). Непонятно почему к MTS не приставили «COM» или «Active» или «X» или «+» – они меня просто потрясли этим! Они также грозились добавить + ко всем модным тогда выражениям. Примерно тогда же кое-кто начал вопить про «Windows DNA» (почему не DINA) и «Windows Washboard», и вопил некоторое время, но все это почило раньше, чем все поняли, что это было.

К этому моменту Microsoft уже несколько лет с нарастающей тревогой наблюдала за интернет. Недавно они пришли к пониманию, что у Интернет есть фатальный недостаток: ну, вы поняли. И это приводит нас к текущему моменту и технологии .NET (произносится как «doughnut (пончик по-нашему)», но по-другому), похожей на Интернет, но с большим количеством пресс- релизов. Главное, что нужно очень четко понимать - .NET исключает DLL Hell.

В .NET входит новый язык, C#, (выясняется, что в Active++ Jspresso был фатальный недостаток, от которого он и помер). .NET включает виртуальную машину, которую будут использовать все языки (видимо, из-за фатальных недостатков в процессорах Интел). .NET включает единую систему защиты (есть все-таки фатальный недостаток в хранении паролей не на серверах Microsoft). Реально проще перечислить вещи, которых .NET не включает. .NET наверняка революционно изменит Windows-программирование... примерно на год.

Автор - Ron Burk из WDJ.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 21 2011, 08:01
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(XVR @ Dec 20 2011, 14:44) *
Не использовать С++ имеет смысл в одном случае - если ты его не знаешь


Если ты хорошо знаешь С использовать С++ нет вообще никакого смысла.

http://yosefk.com/c++fqa/picture.html#fqa-6.5
Цитата
One thing is always true: where you can use C++, you can use C. In particular, if someone gave you C++ interfaces, a thin layer of wrappers will hide them. Using C instead of C++ has several practical benefits: faster development cycle, reduced complexity, better support by tools such as debuggers, higher portability and interoperability. When C++ is an option, C is probably a better option.


По сути С++ дублирует функционал С и во многих случаях уступает ему при этом.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 21 2011, 08:12
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (sasamy @ Dec 21 2011, 10:01) *
Если ты хорошо знаешь С использовать С++ нет вообще никакого смысла.
Не используйте, разрешаем. Если ты хорошо знаешь ассемблер, использовать С нет вообще никакого смысла.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 21 2011, 08:40
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Сергей Борщ @ Dec 21 2011, 12:12) *
Если ты хорошо знаешь ассемблер, использовать С нет вообще никакого смысла.


Не нужно утрировать - хотя я понимаю что вы не со зла чушь сказали - видимо аргументов в пользу С++ просто нет. Кстати у C++ нет ни единого ABI ни name mangling, так что ассемблер даже лучше чем С++ sm.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 21 2011, 09:57
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (sasamy @ Dec 21 2011, 10:40) *
хотя я понимаю что вы не со зла чушь сказали - видимо аргументов в пользу С++ просто нет.
lol.gif Мне они не нужны - я его использую. Хотелось бы как раз от вас услышать аргументы, разъсняющие, в чем же я так "заблуждаюсь". Кстати, аргумент в виде сообщений №38 и №41 вы игнорируете намеренно? Толстовато троллите, ох толстовато.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 21 2011, 11:35
Сообщение #16


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Сергей Борщ @ Dec 21 2011, 13:57) *
lol.gif Мне они не нужны - я его использую. Хотелось бы как раз от вас услышать аргументы, разъсняющие, в чем же я так "заблуждаюсь".


Я вас не понимаю - вам не нужны аргументы или все же нужны ? Хотя мне все равно. Идея ткнуть носом в бесполезность чего-либо адептов потративших на изучение этого бесполезного годы изначально провальная sm.gif

Цитата(dxp @ Dec 21 2011, 14:07) *
Пример номер раз. Перегрузка имён функций.

...
send(Slon);
...
send(S);

Предъявите аналог на С?


Абсолютно бесполезная фича. Кстати какая ф-ция будет вызвана при send(0) и что еще интересней если один из вариантов при этом будет принимать в качестве аргумента указатель ?

Сообщение отредактировал sasamy - Dec 21 2011, 11:43
Go to the top of the page
 
+Quote Post
XVR
сообщение Dec 21 2011, 11:42
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(sasamy @ Dec 21 2011, 15:35) *
Идея ткнуть носом в бесполезность чего-либо адептов потративших на изучение этого бесполезного годы изначально провальная sm.gif
А можно вопрос уважаемому sasamy, а вы С++ вообще то знаете? Писали на нем что нибудь объемное?
Судя по вашим аргументам - нет. Пока они все в духе 'Пастернака не читал, но осуждаю' rolleyes.gif

Вот, из классика :
Цитата
В наше время, когда уничтожают вредных насекомых, стерилизуя самцов, мы должны поднять уровень спора до абстрактной высоты. Давайте рассуждать о крахе и подъеме Голливуда, не видя ни одного фильма. Давайте сталкивать философов, не читая их работ. Давайте спорить о вкусе устриц и кокосовых орехов с теми, кто их ел, до хрипоты, до драки, воспринимая вкус еды на слух, цвет на зуб, вонь на глаз, представляя себе фильм по названию, живопись по фамилии, страну по "Клубу кинопутешествий", остроту мнений по хрестоматии.



Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 21 2011, 19:47
Сообщение #18


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(XVR @ Dec 21 2011, 15:42) *
Писали на нем что нибудь объемное?


Объемное - нет и не собираюсь.
http://sasamy.narod.ru/l4fiasco_at91.patch.gz

Цитата(ReAl @ Dec 21 2011, 23:38) *
1) На ассемблере+фортране в своё время было написано столько («практически все ОС написаны на ассемблере», на С только одно вон то), что с Вашими аргументами С нужно было убить сразу.


Тут ключевое слово - было, на С и С++ пишут сейчас.

Цитата
2) Сначала покажите хотя бы один пример, где С++ во многих случаях уступает ему (С) при этом.. «А то языком чесать...». Вы замахнулись на «объективную» оценку, тогда как малая распространённость С++ в МК, на мой взгляд, имеет в основе скорее субъективный фактор. Вот и докажите конкретным примером «уступания», что это таки объективные причины имеет.


Во многих случаях - это я хватанул конечно sm.gif мне достаточно того что С++ не имеет никаких преимуществ при этом очень сложен, чтобы стать хорошим программистом С++ нужен не год и не два.
Go to the top of the page
 
+Quote Post
ReAl
сообщение Dec 21 2011, 20:09
Сообщение #19


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(sasamy @ Dec 21 2011, 21:47) *
Тут ключевое слово - было, на С и С++ пишут сейчас.
Было время, когда в тогдашнее «сейчас» писали на асме и фортране, а С только появился. Тогда было «на асме, фортране и С пишут сейчас». И тогда было «большинство ОС написаны на асме, прикладного софта — на асме и фортране». С уже существовал. Вот тогда его и надо было Вашими аргументами убить.
15 лет назад в эмбеддерских кругах любители ассемблера (в основном — просто незнатели С) наскакивали на С точно так же, как и сейчас Вы на С++. При том, что с точки зрения инструментария ситуация с С в ембеддед была приблизительно такая же, как сейчас с С++ — для большинства архитектур есть.
По поводу одного из аргументов (про несогласие потративших время с тем, что они потратили его зря) я уже говорил, добавив этот
Цитата(sasamy @ Dec 21 2011, 21:47) *
мне достаточно того что С++ не имеет никаких преимуществ при этом очень сложен, чтобы стать хорошим программистом С++ нужен не год и не два.
могу только процитировать «и то, и другое я видел не раз — кого ты хотел удивитть?» (в смысле точно такой же аргумент, только без символов ++ и против С, а не за него, — я уже слышал).

Цитата(sasamy @ Dec 21 2011, 21:47) *
Во многих случаях - это я хватанул конечно sm.gif
Я прошу один, в котором язык С++ уступает. «он слишком сложен» — не катит. Хотя бы потому, что он уже применялся против С, а не за него. И потому, что многие пользующиеся С сейчас — так его толком и не знают (надо-то тоже «не год, и не два»).
А если ограничиться частью С++, то тоже не так и сложно. У меня же кое-что получается :-)


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 22 2011, 08:30
Сообщение #20


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(ReAl @ Dec 22 2011, 00:09) *
могу только процитировать «и то, и другое я видел не раз — кого ты хотел удивитть?» (в смысле точно такой же аргумент, только без символов ++ и против С, а не за него, — я уже слышал).


Чего вы привязались к этому C++ ? Я естественно не авторитет в выборе языка и высказываю свое мнение, но если интересно - например не новичек в C/C++ и действительно авторитетный человек вот что говорит:

http://www.minix3.ru/articles/Tanenbaum_interview_en.html
Цитата
Why is it C chosen as the language of development? Is transition to C++ or other object-oriented languages possible?

We started in C in 1987. C++ was not very widely used then. It is more legacy than ideology. If we transitioned, it would probably be to cyclone.


Язык программирования Cyclone

Сообщение отредактировал sasamy - Dec 22 2011, 08:34
Go to the top of the page
 
+Quote Post
ReAl
сообщение Dec 22 2011, 10:00
Сообщение #21


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Цитата(sasamy @ Dec 22 2011, 10:30) *
Чего вы привязались к этому C++ ?
Это мы привязались? Прозвучало как «пошла ты нафиг со своим утюгом» из анекдота.

Цитата(sasamy @ Dec 22 2011, 10:30) *
и высказываю свое мнение
«мнения» бывают разные. Одно дело «мне язык не нравится, какой-то он перенавороченный» — это оценочное суждение и, вопрос вкусовой.
Но
Цитата(sasamy @ Dec 21 2011, 10:01) *
По сути С++ дублирует функционал С и во многих случаях уступает ему при этом.
это уже конкретное обвинение. Потрудитесь обосновать. Не переводя стрелки на Cyclone или, скажем, D, который мне импонирует.

Цитата(sasamy @ Dec 22 2011, 10:30) *
не новичек в C/C++ и действительно авторитетный человек вот что говорит:
http://www.minix3.ru/articles/Tanenbaum_interview_en.html
Цитата
Why is it C chosen as the language of development? Is transition to C++ or other object-oriented languages possible?

We started in C in 1987. C++ was not very widely used then. It is more legacy than ideology. If we transitioned, it would probably be to cyclone.
Он говорит, что С++ не был выбран потому, что тогда, в 1987, он еще не слишком широко использовался (от меня: да и был он тогда ещё без многих современных возможностей, хотя многое из ручной работы уже автоматизировал). И что это у него была больше дань традиции, чем идеологии. И что если он когда-то будет куда-то переходить, то это будет С-клон. Т.е. конкртеное решение конкретного человека в конкретных условиях. И ни слова не сказал о том, что ему не нравится С++ чем-то конкретным. «It is more legacy than ideology»

Теперь передвинем этот текст на пол-периода в прошлое, другие люди и другой проект. И получим что-то в духе

— Почему как язык разработки был выбран Фортран? Собираетесь ли вы переходить на другой язык, например, С?
— Мы начинали в 1975. С ещё мало был тогда распространён. Если мы когда-то перейдем, то, возможно, на ADA

Было бы это аргументом против С в 1985 году?

А если я теперь против Cyclone применю ваш аргумент?
«Приведите мне примеры ОС, для микроконтроллеров и малых микропроцессоров, написанные на С-клоне. А вот на С++ больше написано»
Вы сможете защитить С-клон?

С++ хоть и давно существует, но в embedded-области еще новичок. Как бы «только-что появился», так как процессоры, применяемые в этой области, только стали подтягиваться к достаточному уровню.

Ситуация очень похожа на положение С в embedded 15-20 лет назад. К тому моменту С уже давно существовал и прочно сидел в области «больших» процессоров. Но для «мелочи» частично не пролазил по объёмам ОЗУ/ПЗУ, частично — по (не)привычке, инерции и «неосвоенности». И когда уже разобравшиеся с ним за него агитировали — против С звучало всё то же, что тут прозвучало против С++. И до крайностей в духе
— Это вы понтуетесь тем, что разобрались, так как кроме как для понтов это не годится. А нам некогда понтоваться, нам работать надо.

И звучало, даже с линками на зачаточные компиляторы, такое:
— вот если бы Модула, или хотя бы Паскаль нормальный, вот это да...

Так и где сейчас в нашей области модула с паскалем? Насколько много осталось ассемблера? А где С?
Вот доживём, посмотрим на С-клона в сравнении с С++.
Если микро-дот-нет не задавит обоих :-)

p.s. Когда почти 15 лет назад в упомянутой RU.EMBEDDED dxp уже начинал говорить о С++ — я тоже слушал недоверчиво :-)


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 22 2011, 11:20
Сообщение #22


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(ReAl @ Dec 22 2011, 14:00) *
Это мы привязались? Прозвучало как «пошла ты нафиг со своим утюгом» из анекдота.


Под "привязались" я имел ввиду что вы уцепились за С++ как за панацею и явно ожидаете что в ближнем будущем все будут писать на С++ как сейчас на С.

Цитата
Потрудитесь обосновать.


Скажем макросы - мощнейший инструмент кодогенерации в С и головная боль в С++

Цитата
Он говорит...И ни слова не сказал о том, что ему не нравится С++ чем-то конкретным. «It is more legacy than ideology»


На вполне конкретный вопрос про С++ он ответил что сегодня если бы и стал переходить то на cyclon - я специально ссылку дал - это все тот же старый добый С но который реально решает проблемы безопасности кода и С++ там даже близко не пахнет так как он ни одной этой проблемы не решает.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 22 2011, 11:39
Сообщение #23


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (sasamy @ Dec 22 2011, 13:20) *
Скажем макросы - мощнейший инструмент кодогенерации в С и головная боль в С++
Потрудитесь развернуть свою мысль. В чем именно головная боль?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 22 2011, 11:42
Сообщение #24


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Сергей Борщ @ Dec 22 2011, 15:39) *
Потрудитесь развернуть свою мысль. В чем именно головная боль?


Потрудитесь книжки почитать
http://www.programmer-lib.ru/cstandart_page.php?id=9
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 22 2011, 16:19
Сообщение #25


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE
Потрудитесь книжки почитать
http://www.programmer-lib.ru/cstandart_page.php?id=9

По ходу, автор ссылки сам текст по ней не читал, ибо там чётко и конкретно сказано:
QUOTE
Макрос — самый неприятный инструмент С и C++, оборотень, скрывающийся под личиной функции, кот, гуляющий сам по себе и не обращающий никакого внимания на границы ваших областей видимости. Берегитесь его!
<...>
Мне не нравится большинство видов препроцессоров и макросов. Одна из целей C++ — сделать препроцессор C излишним (§4.4, §18), поскольку я считаю его большой ошибкой.

Макросы почти никогда не являются необходимыми в C++. Используйте const (§5.4) или enum (§4.8) для определения явных констант [см. рекомендацию 15], inline (§7.1.1) для того, чтобы избежать накладных расходов на вызов функции [но см. рекомендацию 8], template (глава 13) для определения семейств функций и типов [см. рекомендации с 64 по 67], и namespace (§8.2) для того, чтобы избежать конфликтов имен

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

Т.е. опять всё наоборот: заявлено, что в С макросы - могущество, а в С++ - геморрой (хотя и там, и там макросы - суть одно и то же, потому и могущество с геморроем несут одинаковое), а по ссылке чётко и конкретно сказано, что как раз-таки в С++ проблема с макросами решена на 99% именно средствами языка.

Лично я использую макросы почти исключительно для организации условной трансляции и больше ни для чего. Для остального, как предлагается по ссылке, рулят константы, перечисления, встраиваемые функции и шаблоны.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Dec 22 2011, 17:53
Сообщение #26


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



Цитата(dxp @ Dec 22 2011, 20:19) *
....

ПМСМ, разногласия С-филов и С++-филов не отражают ничего, кроме разницы в характерах самих оппонентов.
Дело в том, что кому-то достаточно сложно далеко абстрагироваться от первоначальных объектов, а кому-то нет.
С++ характерен тем, что гораздо более полно отражает кактусы, пустившие корни в голове программиста.
И если кто-то классифицирует (в смысле С++) объект так-то и так-то, то другой может и не разобрать то, что наворотил первый.
Поскольку имеет свои представления об этом же объекте.
В корне отличающиеся от представлений первого.
Чтобы не быть голословным, попрошу уважаемое сообщество создать класс "машины электрические".
А там посмотрим - у кого что выйдет...
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 23 2011, 05:55
Сообщение #27


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (Прохожий @ Dec 23 2011, 00:53) *
ПМСМ, разногласия С-филов и С++-филов не отражают ничего, кроме разницы в характерах самих оппонентов.
Дело в том, что кому-то достаточно сложно далеко абстрагироваться от первоначальных объектов, а кому-то нет.

Это вряд ли. Скорее это зависит соотношения "сложность задач/доступные ресурсы (время/трудоёмкость). Попробуйте, например, GUI написать на С и С++, разницу поймёте сразу.

QUOTE (Прохожий @ Dec 23 2011, 00:53) *
С++ характерен тем, что гораздо более полно отражает кактусы, пустившие корни в голове программиста.
И если кто-то классифицирует (в смысле С++) объект так-то и так-то, то другой может и не разобрать то, что наворотил первый.
Поскольку имеет свои представления об этом же объекте.
В корне отличающиеся от представлений первого.

Тут уместно другое сравнение. Вот в С структуры уместно использовать? Ну, чтобы вместо использования пачки связанных по контексту задачи переменных упаковать их в структуру. Упрощает работу с данными - согласитесь, что работать с таким агрегатным объектом много удобнее - вместо нескольких мелких сущностей получаем одну более крупную. Когда подобных объектов в программе набирается с полдюжины, то структуры вообще начинают рулить (на любом языке, кстати - вон в SystemVerilog есть поддержка структур, так они очень сильно облегчают работу по сравнению с классическим Verilog'ом).

Для работы со структурами используются функции. Сами по себе эти функции к структурам не относятся, поэтому программисту приходится эти связи поддерживать вручную. В частности, держать в голове, какая функция с какой структурой связана, и передавать руками указатель на структуру при вызове функции. Кроме того, часть данных в структуре носит локальный характер и за пределами оных функций вообще не используется, вдобавок и сама функция тоже используется только с данными типом структур.

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

Как видно, ничего сложного тут нет, всё получается логично и по здравому смыслу, к кактусам в голове программиста отношения не имеет. Концепция класса даже в таком приближении даёт качественное преимущество перед обычной структурой - она позволяет описывать законченные объекты со своим поведением - т.е. позволяет думать уже не на уровне переменных и агрегатов, а на уровне объектов (аналогов объектов реального мира) и их интерфейсов - актуальность этого растёт по мере усложнения программы, а также предоставляет возможность отделения интерфейса от реализации (когда реализацию можно безопасно менять без риска порушить взаимодействие объекта с внешним окружением).

QUOTE (Прохожий @ Dec 23 2011, 00:53) *
Чтобы не быть голословным, попрошу уважаемое сообщество создать класс "машины электрические".
А там посмотрим - у кого что выйдет...

Вы слишком общо задали условия. Уточните, что должны делать оные "электрические машины", какие общие и частные свойства иметь, как применяться?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Прохожий
сообщение Dec 23 2011, 18:42
Сообщение #28


Cундук
*****

Группа: Участник
Сообщений: 1 478
Регистрация: 13-11-06
Из: Ростов-на-Дону
Пользователь №: 22 269



Цитата(dxp @ Dec 23 2011, 09:55) *
Это вряд ли. Скорее это зависит соотношения "сложность задач/доступные ресурсы (время/трудоёмкость). Попробуйте, например, GUI написать на С и С++, разницу поймёте сразу.

Ну я, конечно, не большой поклонник С++, но не настолько.
И вообще, есть целый класс задач и условий труда программиста, когда без ООП - никуда.
Мы это уже обсуждали, и тогда Вы меня убедили.
Цитата(dxp @ Dec 23 2011, 09:55) *
Тут уместно другое сравнение. Вот в С структуры уместно использовать?
...
Для работы со структурами используются функции...
...
Это самое первое приближение, которое часто называют "С с классами" (эту идеологию реализовывал первый компилятор Страуструпа).

Это понятно. И при правильной эксплуатации вполне логично.
Цитата(dxp @ Dec 23 2011, 09:55) *
Как видно, ничего сложного тут нет, всё получается логично и по здравому смыслу, к кактусам в голове программиста отношения не имеет.

Имеет и еще какое. Но об этом ниже.
Цитата(dxp @ Dec 23 2011, 09:55) *
Концепция класса даже в таком приближении даёт качественное преимущество перед обычной структурой - она позволяет описывать законченные объекты со своим поведением - т.е. позволяет думать уже не на уровне переменных и агрегатов, а на уровне объектов (аналогов объектов реального мира) и их интерфейсов - актуальность этого растёт по мере усложнения программы, а также предоставляет возможность отделения интерфейса от реализации (когда реализацию можно безопасно менять без риска порушить взаимодействие объекта с внешним окружением).

Вот здесь мы и расходимся.
У меня в этом мире нет ни одного объекта, совпадающего с другим, кроме искусственных, созданных программно.
А это всего лишь часть задач, предлагаемых к решению.
И здесь, ПМСМ, кроется некое противоречие.
Любители ООП ломают задачу под себя.
При этом они абстрагируются от архитектуры вычислителя и от от реального объекта, упрощая его своей моделью в виде класса.
При этом создается некая искусственная среда, зачастую включающая в себя ОС там, где это не является необходимостью.
А вот на этой благодатной почве и расцветают все кактусы.
Поскольку Ваша искусственная среда естественным образом не совпадает с моей.
И я, желая использовать Ваш код, вынужден разбираться в Вашем восприятии реальных объектов.
А это для меня практически не осуществимо.
Есть иная концепция.
Когда программист приспосабливает вычислитель к реальным объектам без искусственной среды.
При этом считается, что каждый объект уникален.
Цитата(dxp @ Dec 23 2011, 09:55) *
Вы слишком общо задали условия. Уточните, что должны делать оные "электрические машины", какие общие и частные свойства иметь, как применяться?

Встречный вопрос.
Сколько потребуется Ваших вопросов, чтобы Вы смогли приступить к созданию класса?
Лично я считаю, что для управления реальными объектом, искусственный промежуточный программный объект не нужен.
Иначе это дело разрастется в систему классов, подобную той, что нужна для GUI.
Go to the top of the page
 
+Quote Post
dxp
сообщение Dec 24 2011, 06:44
Сообщение #29


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



QUOTE (Прохожий @ Dec 24 2011, 01:42) *
Вот здесь мы и расходимся.
У меня в этом мире нет ни одного объекта, совпадающего с другим, кроме искусственных, созданных программно.

Речь идёт не о прямом соответствии - понятно, что объекты реального мира всегда сложнее, разнообразнее, шире и подробнее. Программно создаются только модели этих объектов с разной степенью подробности тех или иных аспектов реального объекта. Вот о моделях и речь. При проектировании гораздо проще и удобнее оперировать более-менее законченной моделью, нежели сонмом переменных и функций, составляющих эту модель.


QUOTE (Прохожий @ Dec 24 2011, 01:42) *
Встречный вопрос.
Сколько потребуется Ваших вопросов, чтобы Вы смогли приступить к созданию класса?

Дык задал уже все вопросы в прошлый раз. Для проектирования надо чётко представлять себе предметную область. А из одного термина "электрические машины" лично мне не понятно, что имеется в виду. Электродвигатели? Генераторы? Или что ещё? Какие свойства представляют интерес для моделирования? Какие операции применимы к этим машинам (запустить, остановить и т.д.)? Какие типы машин (коллекторные, синхронные, асинхронные...), какие операции применимы к каждому из типов. Например, если речь идёт об электрической машине вообще, то там вижу только пару действий: включить и выключить. Если рассмотреть конкретно двигатели, то у тут появляется ещё, например, функция управления скоростью вращения, моментом.

Вот тут можно на бумажке взять и набросать модели, определив основные свойства и действия.

CODE
class TElectricalMachine  // абстрактный базовый класс, не может иметь объектов
{
public:
    virtual void turn_on() = 0;  // чистая виртуальная функция, задаёт интерфейс
    virtual void turn_off() = 0;
};

class TMotor : public TElectricalMachine
{
public:
    TMotor() { ...  }
    ...   // другие конструкторы, если нужны

    virtual void trun_on();
    virtual void trun_off();
    virtual void set_rotary_speed(int x);

protected:
    int RotarySpeed;
  
};

class TCommutatorMotor : public TMotor
{
    TCommutatorMotor() { ...  }
    ...   // другие конструкторы, если нужны

    virtual void trun_on() { ... } // конкретная реализация включения
    virtual void trun_off() { ... } // конкретная реализация выключения
    virtual void set_rotary_speed(int x) { ... } // конкретная реализация управления скоростью

private:
     ... // частные свойства коллекторного двигателя
};

class TBrushlessMotor : public TMotor { .... };  // всё по аналогии
class TAsychronuosMotor : public TMotor { .... };  // всё по аналогии
...

// использование
TCommutatorMotor Motor1;
TCommutatorMotor Motor2;
...
TBrushlessMotor Motor5;
...
TAsychronuosMotor Motor11;
...
// и т.д.

TElectricalMachine *Machines[] =
{
    &Motor1,
    &Motor2,
    ...
    &Motor5,
    ...
    &Motor11,
};
...

for(int i = 0; i < sizeof(Machines)/sizeof(Machines[0]); ++i)
{
    Machines[i]->turn_on();  // включить все машины, каждая включается по-своему
}

Можно легко добавить сюда генераторы с их свойствами, можно сделать несколько групп (массивов указателей) по типам, причём, если у какого-то типа есть индивидуальное действие/операция, то это отражается в наличии у базового класса этого типа соответствующей виртуальной функции, и автоматически классифицирует объекты этого типа - например, если шаговый двигатель имеет функцию удержания вала в неподвижном положении, то этот класс двигателей имеет и соответствующую функцию, и невозможно будет по ошибке включить и использовать в этой группе двигатель другого типа - контроль осуществляется на основе правил языка.

Если программа предназначена не для мелкого МК, а для РС, то группы удобно организовывать на основе STL.

Если же всё это писать на уровне переменных и функций, то это будет гора неструктурированного кода, где все связи между объектами (переменными и функциями) будут жить только в голове у программиста (вот где раздолье для кактусов sm.gif ). А код, который организует управление этими объектами будет очень похож на то, что в зарубежной литературе называют "spaghetti code". Развивать такой проект - требует изрядно сил и внимания на удержание в фокусе всех этих мелких и не очень объектов и нюансов их взаимодействия, а сопровождение такого кода ужасно.

QUOTE (Прохожий @ Dec 24 2011, 01:42) *
Лично я считаю, что для управления реальными объектом, искусственный промежуточный программный объект не нужен.

Вы почему-то подразумеваете тут какой-то дополнительный объект, а на самом деле это (модель) то, что просто заменяет пачку переменных и функций, с помощью которого вы в программе контролируете поведение реального объекта.


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 24 2011, 08:06
Сообщение #30


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(dxp @ Dec 24 2011, 10:44) *
Если же всё это писать на уровне переменных и функций, то это будет гора неструктурированного кода, где все связи между объектами (переменными и функциями) будут жить только в голове у программиста (вот где раздолье для кактусов sm.gif ). А код, который организует управление этими объектами будет очень похож на то, что в зарубежной литературе называют "spaghetti code". Развивать такой проект - требует изрядно сил и внимания на удержание в фокусе всех этих мелких и не очень объектов и нюансов их взаимодействия, а сопровождение такого кода ужасно.


Какое заблуждение. Взгляните на исходники какой-нибуть ОС
http://prex.sourceforge.net/src/S/252.html

Все четко и структурировано. На чистом С. Каркас ОС пишется вообще безотносительно - какие устройства есть на целевой платформе.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- _Артём_   Вопрос по С++   Dec 13 2011, 17:38
- - neiver   Направление мысли правильное. Фабрика вам в помощь...   Dec 13 2011, 18:38
|- - _Артём_   Цитата(neiver @ Dec 13 2011, 20:38) Если ...   Dec 13 2011, 18:49
|- - neiver   Цитата(_Артём_ @ Dec 13 2011, 22:49) Полу...   Dec 13 2011, 19:12
|- - _Артём_   Цитата(neiver @ Dec 13 2011, 21:12) Нет. ...   Dec 13 2011, 20:07
|- - Сергей Борщ   QUOTE (_Артём_ @ Dec 13 2011, 22:07) Что-...   Dec 13 2011, 21:06
|- - _Артём_   Цитата(Сергей Борщ @ Dec 13 2011, 23:06) ...   Dec 13 2011, 21:37
|- - neiver   Цитата(Danis @ Dec 14 2011, 12:33) ИМХО, ...   Dec 14 2011, 08:51
||- - kolobok0   Цитата(dxp @ Dec 14 2011, 15:59) ...какие...   Dec 16 2011, 08:23
|||- - ReAl   Цитата(kolobok0 @ Dec 16 2011, 10:23) Лич...   Dec 16 2011, 09:57
||||- - kolobok0   Цитата(ReAl @ Dec 16 2011, 13:57) ...текс...   Dec 17 2011, 21:46
||||- - dxp   QUOTE (kolobok0 @ Dec 18 2011, 04:46) про...   Dec 18 2011, 05:33
|||- - dxp   Цитата(kolobok0 @ Dec 16 2011, 15:23) для...   Dec 16 2011, 19:48
|||- - Danis   Цитата(dxp @ Dec 16 2011, 22:48) А ваши р...   Dec 16 2011, 20:55
|||- - _Артём_   Цитата(Danis @ Dec 16 2011, 22:55) Но дум...   Dec 18 2011, 02:05
|||- - kolobok0   Цитата(_Артём_ @ Dec 18 2011, 06:05) ...Э...   Dec 19 2011, 03:00
|||- - haker_fox   QUOTE (kolobok0 @ Dec 19 2011, 11:00) вес...   Dec 19 2011, 05:34
|||- - dxp   QUOTE (kolobok0 @ Dec 19 2011, 10:00) я л...   Dec 19 2011, 06:05
|||- - kolobok0   Цитата(dxp @ Dec 19 2011, 10:05) ..спасиб...   Dec 19 2011, 09:04
|||- - sonycman   Цитата(kolobok0 @ Dec 19 2011, 13:04) Есл...   Dec 19 2011, 10:12
|||- - demiurg_spb   При чём здесь это? Как часто принимаются новые ста...   Dec 20 2011, 10:33
||||||- - Прохожий   Цитата(dxp @ Dec 24 2011, 10:44) Речь идё...   Dec 24 2011, 17:55
||||||- - dxp   QUOTE (Прохожий @ Dec 25 2011, 00:55) Опя...   Dec 25 2011, 04:58
|||||- - haker_fox   QUOTE (sasamy @ Dec 21 2011, 19:35) Абсол...   Dec 21 2011, 11:52
||||- - XVR   Цитата(sasamy @ Dec 21 2011, 12:40) Кстат...   Dec 21 2011, 11:10
||||- - kolobok0   Предлагаю свернуть тему. А то НГ на носу. И страни...   Dec 21 2011, 11:42
|||- - haker_fox   QUOTE (sasamy @ Dec 21 2011, 16:01) http:...   Dec 21 2011, 09:12
|||- - dxp   QUOTE (sasamy @ Dec 21 2011, 15:01) Если ...   Dec 21 2011, 10:07
|||- - ReAl   Цитата(sasamy @ Dec 21 2011, 10:01) По су...   Dec 21 2011, 12:12
|||- - dxp   QUOTE (ReAl @ Dec 21 2011, 19:12) И тогда...   Dec 21 2011, 13:23
||||- - Genadi Zawidowski   Цитата(dxp @ Dec 21 2011, 17:23) Это был ...   Dec 22 2011, 12:50
|||- - sasamy   Цитата(ReAl @ Dec 21 2011, 16:12) А дальш...   Dec 21 2011, 17:10
||- - Сергей Борщ   QUOTE (sasamy @ Dec 20 2011, 11:50) Приме...   Dec 20 2011, 10:59
|||- - ViKo   Цитата(Сергей Борщ @ Dec 20 2011, 13:59) ...   Dec 20 2011, 11:13
||- - dxp   QUOTE (sasamy @ Dec 20 2011, 16:50) Это о...   Dec 20 2011, 11:14
|- - Danis   Цитата(_Артём_ @ Dec 14 2011, 12:35) В см...   Dec 16 2011, 09:28
- - Iptash   С++ я бы сказал совершенно другой, отличный от С я...   Dec 18 2011, 13:24
|- - dxp   QUOTE (Iptash @ Dec 18 2011, 20:24) С++ я...   Dec 18 2011, 16:58
|- - Iptash   Цитата(dxp @ Dec 18 2011, 20:58) ... Наве...   Dec 18 2011, 17:12
- - haker_fox   Господа, может быть не будем заниматься поддержани...   Dec 20 2011, 09:58
- - ViKo   Я не знаю языка C++, хотя и прочитал Г. Шилдта до ...   Dec 20 2011, 10:42
- - Сергей Борщ   QUOTE (ViKo @ Dec 20 2011, 13:13) А я вот...   Dec 20 2011, 12:43
|- - ViKo   Цитата(Сергей Борщ @ Dec 20 2011, 15:43) ...   Dec 20 2011, 12:50
|- - haker_fox   QUOTE (Сергей Борщ @ Dec 20 2011, 20:43) ...   Dec 20 2011, 13:54
- - Flexz   Цитата(sasamy @ Dec 21 2011, 12:01) По су...   Dec 21 2011, 08:34
- - Flexz   Видимо, он имел ввиду единый, общий для разных ком...   Dec 21 2011, 09:36
- - ReAl   1) На ассемблере+фортране в своё время было написа...   Dec 21 2011, 19:38
- - toweroff   sasamy, вот у меня в соседней ветке конкретный во...   Dec 21 2011, 20:11
- - neiver   Макросы в голом Си настолько-же опасны как и в С++...   Dec 22 2011, 11:57
|- - sasamy   Цитата(neiver @ Dec 22 2011, 15:57) Эти в...   Dec 22 2011, 17:29
|- - XVR   Цитата(sasamy @ Dec 22 2011, 21:29) Эти в...   Dec 23 2011, 07:28
|- - sasamy   Цитата(XVR @ Dec 23 2011, 11:28) Весь это...   Dec 23 2011, 09:53
|- - neiver   Цитата(sasamy @ Dec 23 2011, 13:53) да вы...   Dec 23 2011, 10:45
|- - sasamy   Цитата(neiver @ Dec 23 2011, 14:45) Есть ...   Dec 23 2011, 11:10
|- - neiver   Цитата(sasamy @ Dec 23 2011, 15:10) А теп...   Dec 23 2011, 11:26
|- - XVR   Цитата(sasamy @ Dec 23 2011, 15:10) А теп...   Dec 23 2011, 14:12
|- - sasamy   Цитата(XVR @ Dec 23 2011, 18:12) Это точн...   Dec 23 2011, 16:26
|- - XVR   Цитата(sasamy @ Dec 23 2011, 20:26) http:...   Dec 23 2011, 18:26
|- - sasamy   Цитата(XVR @ Dec 23 2011, 22:26) Это вы к...   Dec 23 2011, 18:34
|- - XVR   Цитата(sasamy @ Dec 23 2011, 22:34) Там о...   Dec 24 2011, 16:52
|- - sasamy   Цитата(XVR @ Dec 24 2011, 20:52) проявляя...   Dec 24 2011, 17:06
||- - XVR   Цитата(sasamy @ Dec 24 2011, 21:06) Это в...   Dec 24 2011, 17:12
|- - sasamy   Цитата(XVR @ Dec 24 2011, 20:52) Не надо,...   Dec 24 2011, 18:17
|- - neiver   Цитата(sasamy @ Dec 24 2011, 22:17) А о ч...   Dec 24 2011, 20:31
|- - sasamy   Цитата(neiver @ Dec 25 2011, 00:31) Очень...   Dec 24 2011, 21:20
|- - neiver   Цитата(sasamy @ Dec 25 2011, 01:20) Для в...   Dec 25 2011, 07:43
- - ViKo   А за сайтик http://www.programmer-lib.ru - спасибо...   Dec 22 2011, 17:11
- - Сергей Борщ   QUOTE (sasamy @ Dec 22 2011, 13:42) Потру...   Dec 23 2011, 08:55
- - Flexz   Цитата(sasamy @ Dec 23 2011, 22:34) ...мо...   Dec 24 2011, 11:32
|- - sasamy   Цитата(Flexz @ Dec 24 2011, 15:32) Осталь...   Dec 24 2011, 12:09
- - Flexz   Цитата(sasamy @ Dec 24 2011, 16:09) Ищите...   Dec 24 2011, 15:12
2 страниц V   1 2 >


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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