Re: С/С++ - разные технологии
От: Igor Sukhov  
Дата: 28.05.06 07:29
Оценка:
Здравствуйте, bobos, Вы писали:

B>Давно интересует вопрос, почему в предложении работы пишут "требуется программист С/С++". Только из-за того, что С++ создан на основе С? Это же совершенно разные подходы к программированию! Гораздо более здраво звучит "требуется программист Java/C++" или "программист С/Pascal/Fortran", а еще лучше "требуется программист ООП(объе-ориент.прогр)" или "требуется процедурный программист".


B>Какие будут комментарии?


Когда-то, еще в 20 веке, требование "C/C++" действительно отражало свой смысл — в виду того что много программистов писавших на Сях переходило/перешло на Плюсы и стали требоваться умения жонглировать обеими технологиями чтобы разобрать написанное ранее и успевать поспевать новое.

В данный момент (намеренно исключаю минимальный шанс когда действительно может потребовать знание Сей и это требование без искажений ляжет на текст в объявлении) — "C/C++" это — клише + такое же устойчивое выражение как VC++/MFC, COM/ATL, .NET/C#, C#/.NET, ASP.NET/MSSQL, Чип и Дейл, и.т.д, порожденное технологией Forward-CopyPaste (CopyPaste v.2.0)
* thriving in a production environment *
Re[2]: С/С++ - разные технологии
От: NearBird  
Дата: 28.05.06 14:01
Оценка:
Здравствуйте, LelicDsp, Вы писали:

LD>Кстати,

LD>Многие не задумываются, что ничто не мешает писать на C следуя ООП.

Мешает. То, что ООП это в большинстве случаев — даром не нужно. За что и любят C++ — он это смешное ненужное ООП ну ни разу не навязывает.
Re[2]: С/С++ - разные технологии
От: marat321  
Дата: 29.05.06 05:47
Оценка:
Здравствуйте, Awaken, Вы писали:

A>странно знать C++ и не знать C. это же подмножество.

A>чистый C широко востребован в системном и низкоуровневом программировании

В UI С тоже востребован. Посмотри на Gnome (GTK/GLib).
Не понятна мне подоплека всего этого, зачем на чистом C ваять ООП?
Re[4]: С/С++ - разные технологии
От: Fugazi  
Дата: 30.05.06 19:19
Оценка:
О, на асме писать, следуя ООП, это круто! Видел в одной книжке примеры реализации, попробовал и плюнул — ну его нафиг объекты и vmt вручную создавать Весь труд уходит на реализации ООП, а не на полезный код

А где можно про это почитать в частности про реализацию ООП на си? Можешь кинуть ссылочки?
Re[3]: С/С++ - разные технологии
От: jam2 Болгария  
Дата: 30.05.06 19:41
Оценка: 6 (2)
Здравствуйте, chum, Вы писали:
C>Ага, или на ассемблере!
Есть такая фирма Borland, и у нее был макроассемблер под названием tasm(Turbo Assembler), короче вот:


.code
memory_system_advanced STRUC memory_system METHOD \
         init:mptr=memory_system_advanced_init,\
         virtual show:mptr=memory_system_advanced_show
  diskhandle dw ?
memory_system_advanced ends

memory_system_advanced_show proc
...
         call  +@Table_memory_system|show
...
memory_system_advanced_show endp

MAKE_VMT  ; это макрос понятное дело

.code
...
; Set ES to point to the virtual tables!
LoadVMTSeg  ES ; это тоже макрос

call [si] method memory_system:init
call [si] method memory_system:show


Все присутствует: инкапсуляция, наследование, полиформизм. Там где помечно — там макросы да, а все остальное синтаксис. Модель IDEAL если мне память
не изменяет. Так что не Delphi единым, хороший асм был кстати.
Re[3]: С/С++ - разные технологии
От: NearBird  
Дата: 30.05.06 22:07
Оценка: -1
Здравствуйте, marat321, Вы писали:

M>В UI С тоже востребован. Посмотри на Gnome (GTK/GLib).

M>Не понятна мне подоплека всего этого, зачем на чистом C ваять ООП?

Затем, что чистый Си гораздо проще забиндить в другой, нормальный язык, чем всякие там извращенческие кривенькие C++.
Re[4]: С/С++ - разные технологии
От: Кодёнок  
Дата: 31.05.06 03:57
Оценка:
Здравствуйте, Андрей Хропов, Вы писали:

L>>Я к примеру знаю С++ на довольно крепком уровне, но абсолютно не знаю С.

АХ>Это невозможно.

Знать язык, это только не знать синтаксис, это владение определенными техниками. У C-программистов есть свои наработки и шаблоны по работе с динамическими массивами, списками, управлению памятью и передаче владения над структурами в куче. Чтобы что-то большое написать, надо их знать.

АХ> С — это подмножество C++ (да, да, я знаю, есть мелкие различия, например из-за того что ввели новые ключевые слова, но по сути так). С99 конечно кое-что новое добавил, но сути не изменил.


Они не мелкие.
Re[5]: Object-based approach in С
От: gear nuke  
Дата: 31.05.06 16:01
Оценка: 10 (1) +1
Здравствуйте, Valery A. Boronin, Вы писали:

VAB>ядро НТ написано на С следуя ОО подходу, факт


Да хотя бы посмотреть на DEVICE_OBJECT.MajorFunction[] — чем не таблица виртуальных методов?
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Re[4]: С/С++ - разные технологии
От: gear nuke  
Дата: 31.05.06 16:01
Оценка: +1
Здравствуйте, Demiurg, Вы писали:

D> О, на асме писать, следуя ООП, это круто!


Это может быть даже проще, чем на С, правда придётся написать кучу макросов. И это никому не нужно.

D>Видел в одной книжке примеры реализации, попробовал и плюнул — ну его нафиг объекты и vmt вручную создавать Весь труд уходит на реализации ООП, а не на полезный код


Это проблема (автора) книжки, а не ассемблера.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.