CRT>Но в России не делают СУБД, браузеры, операционные системы, компиляторы и т.п.
Операционные системы вполне себе делают: про Alt\и прочия Линукс только глухой ничего не слышал. Опять же KasperskyOS.
Здравствуйте, CreatorCray, Вы писали:
CC>Вердикт: ты походу пишешь на С с классами
Я 30 лет назад в тогдашнем C++ без шаблонов, исключений и даже неймспейсов RAII уже использовал во все поля. Хотя тогдашний C++ разве что Си с классами и можно было назвать.
Так что тут что-то свое, неведомое. Или ведомое, но психиатрам.
CRT>>Но в России не делают СУБД, браузеры, операционные системы, компиляторы и т.п. C> Операционные системы вполне себе делают: про Alt\и прочия Линукс только глухой ничего не слышал.
Не операционные системы делают а компонуют дистрибутивы линукса.
C>Опять же KasperskyOS.
Это да. Но это один пример.
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, Carc, Вы писали:
A>>>Ну он у меня спрашивал, я делаю не так. Я просто по старинке кидаю и ловлю исключение. C>>ПлятЪ (C). C>>А как тогда в обработчике исключения, особенно если исключение кидается в вызываемой функции, а ловится в вызывающей функции освободить указатели на new-объекты, которые висели на стеке вызываемой функции?
A>Это сделает вызываемая функция в своём обработчие исключений и бросит исключение дальше. A>Освобождает тот, кто захватил.
Ну тогда я согласный. Но всё ж ручками все придется делать...
Я вот про что....
Оно хорошо пока с нуля пишешь. А вот потом, когда настаёт рефакторинг, можно влететь.
Сам натыкался на такое:
1) убираем (закомментим) в начале функции какой-то наш new.
2) Соответственно компилятор ловит наш нижележащий delete (закомментенного new). Закомментим и его.
«Но проходит некоторое время...» (C)
3) Понимаем что всё аккуратно, но фигню написали.
4) Рефакторим в обратно. Раскомментим обратно наш закомментенный new из п.1.
И опп-а! В пылу угара и багфикса забываем нафиг про закомментенный, и где-то ниженаписанный delete...
Упс! Нафиг.
А вот с auto_ptr такой проблемы не будет.
Случай вполне реальный, из собственный практики. У меня GDI-ресурсы выделялись на стеке. Потом рефактнул, закомметил\раскомментил. И напоролся именно на такую лажу (сам конечно виноват, но говорю ж: пыл и угар багфикса под радостные "Эврика").
C>>Соответственно, шаблоны доступны. Ну вроть как тогда все просто: выделяем память под объекты через new, и сразу их хватаем в auto_ptr. C>>На успешном выходе из функции, все эти auto_ptr релизим. И всё работает как оно нам надо.
A>Так тоже наверное можно, но... A>Вот я познакомился с библиотекой OpenShot. Там всё на auto_ptr. И память течёт. Странно. A>А у меня не течёт.
Ну это ж не недостаток именно auto_ptr!?! Возможно код библиотеки был "(C) жопорукий лоботряс"!?!
A>PS. A>А шаблоны мне эстетически не нравятся. Из-за них строчки программы не умещаются в строчки текста. A>И визуальная структура текста ломается.
typedef?
А вообще понимаю Вас. "Особа клева" (C) такое писать в for(iterator it...; it != end(); it++)...
Проще перед циклом определить typedef бла-бла-бла my_iterator. Благо typedef всё равно подпадает под пространство видимости. А читабельность кода лучшее как-то.
CRT>>>Но в России не делают СУБД, браузеры, операционные системы, компиляторы и т.п. C>> Операционные системы вполне себе делают: про Alt\и прочия Линукс только глухой ничего не слышал.
CRT>Не операционные системы делают а компонуют дистрибутивы линукса.
Ну тут я не Копенгаген... Так просто к слову.
C>>Опять же KasperskyOS. CRT>Это да. Но это один пример.
Но всё же оно есть.
C>> Kомпиляторы очень даже делают — компания Интерстрон. И кстати Евгений Зуев нам лекции по разработке компиляторов читал, и семинар вел.
CRT>Сайт компании Интерстон с 2007 года не обновлялся. Ссылка на главную страницу ведет на веб архив
CRT>Всё таки хотелось бы понять, подо что сейчас в России берут программистов на С++ в компании.
Ну судя какому-нить ХХ.ру (не показатель, конечно) те же телекоммуникационные компании... А вообще, что Гугл сломался что-ли?
Здравствуйте, so5team, Вы писали:
CC>>Вердикт: ты походу пишешь на С с классами
S> Я 30 лет назад в тогдашнем C++ без шаблонов, исключений и даже неймспейсов RAII уже использовал во все поля.
Разумеется. Но С с классами это когда пишут на плюсах как на си. Только вместо malloc зовут new, вместо struct пишут class, ну и ещё чутка по мелочи.
Но не более того.
Это не то чтоб было сильно плохо — код обычно таки получше чем просто на голых сях получается, и есть таки шанс к эволюции, если совсем межушный ганглий не окостенел.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>>>Вердикт: ты походу пишешь на С с классами
S>> Я 30 лет назад в тогдашнем C++ без шаблонов, исключений и даже неймспейсов RAII уже использовал во все поля. CC>Разумеется. Но С с классами это когда пишут на плюсах как на си. Только вместо malloc зовут new, вместо struct пишут class, ну и ещё чутка по мелочи. CC>Но не более того.
Мне казалось, что все-таки "с классами", а где классы, там и деструкторы. Ну а там, где деструкторы, там и RAII.
Ну а как люди программируют на C++ с исключениями, но без RAII -- это вообще большой вопрос. И еще больший: зачем?
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Carc, Вы писали:
C>>А вообще понимаю Вас. "Особа клева" (C) такое писать в for(iterator it...; it != end(); it++)... CC>Ээээ... а CC>
Здравствуйте, so5team, Вы писали:
S>Мне казалось, что все-таки "с классами", а где классы, там и деструкторы. Ну а там, где деструкторы, там и RAII.
Ну это ж скорее собирательное название, означающее что и дальше пишут как на С только используют пару-тройку новых возможностей
S>Ну а как люди программируют на C++ с исключениями, но без RAII -- это вообще большой вопрос. И еще больший: зачем?
Потому что могут. С++ позволяет использовать только то, что тебе нужно. В данном случае — что они понимают.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
CRT>Какого рода программы сейчас делают в России на С/С++ те кого берут на вакансии "программист С/С++"?
Да залезь просто на хахару и вбей в поиске программист С++ CRT>Я сам начинал как программист С/С++, но это были простые программки не достойные упоминания. Более менее серьезный проект на С/С++ я делал, но это своё shareware. А вот на вакансиях чего хотят, в компаниях?
1. Ось Касперски
2. Статические анализаторы кода — PVS и другие
3. Встроенные системы (много)
4. Базы данных PostgreSQL
5. Офисы (несколько)
6. Безопасность
7. Телекоммуникационные системы (анализ трафика) — много
8. Много других разных, вплоть до обычных бизнес-систем
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
встречают новичков в своем клубе. S>>У кого угодно желание отобьет.
S>А Вы с шарпом все, теперь на цпп перешли? Или это временный проект?
Зачем все? Многие библиотеки написаны только на ++ и иногда приходится их по мелочи править, чтобы вызвать из ЯВУ. А это включает умение правильно собрать, найти где именно исправить и сделать это. Естественно никто этим заниматься не хочет, вернее мало кто хочет марать руки в C++.
Т.е. как основной и единственный язык я его не рассматриваю.
Хотя если взять C++ QT, то там все настолько продумано, что по удобству не на много уступает написанию на C# .Net. Да и в новой STD появились умные указатели, которые меняют дело. Так что С++ тоже разный.
Здравствуйте, CRT, Вы писали:
CRT>Не операционные системы делают а компонуют дистрибутивы линукса.
В РФ делают несколько линуксов, за каждым стоит компания, и в каждой компании пишут кучу софта, который поставляется с дистром, причем часто только на комерческой основе. Пишут и в юзерспайсе (серверы, графические симуляторы), и в ядре (специализированные ФС, оптимизиации под задачи). То есть, каждый специлизированный линукс в РФ-это прежде всего проект по разработке софта под линукс, а свой дистр тут чисто для удобства и сертификаций всяких. В РФ тупо сборка пакетов не приживается и ни кому не нужна.
CRT>Всё таки хотелось бы понять, подо что сейчас в России берут программистов на С++ в компании.
В РФ почти все it компании или it отделы (банков) имеют свою разработку (за исключением чисто админских и всяких мелких интеграторов). И во всех этих компаниях пишут на всех языках. Это golang, php, javascript, C, C++, java, python. Когда-то еще был perl, но его почти выкинули. Почти всегда разрабы пишут сразу на нескольких языках. Или зависит от отдела.
и прочих вещах, в которые ты никогда не вникал, но любишь порассуждать. Вероятно, в твоем понимании, термин "язык высокого уровня" является синонимом термина "приятный язык"