powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не дадим C++ в обиду
25 сообщений из 105, страница 4 из 5
Не дадим C++ в обиду
    #32259262
2 c127

ГВ>Проблема в том, что разработчики часто поставлены в условия, когда им необходимо писать так, чтобы это было понятно даже... ммм... скажем так, не очень опытному коллеге.

c127>Я такого не встречал, хотя наверное где-то есть и такое.

Ну, мне доводилось видеть. И даже самому попадать под подобную критику.

ГВ>Так что, вынуждают переходить на "стиль C" нередко конкретные люди, а не "скрытые проблемы" языка.

c127>Очень хорошо, но причины-то в чем? Почему конкретные люди, для облегчения жизни которых придуман и C++, не используют его преимущества в полной мере. Ситуация ведь интересная: люди придумали вроде бы удобный и правильный язык, защищают его от нападок несознательных элементов, а сами же в большинстве (выделение моё - ГВ.) не используют его удобство.

Именно что в большинстве . Но C++ придумало отнюдь не большинство программистов и тем более, людей себя ими называющих. Большинство не придумало даже паскаль. Отходя немного в сторону от дискуссии замечу, что большинство - суть стадо, а апелляция к большинству - суть некорректная аргументация. ;) Большинство вообще неспособно ничего придумать. Придумывают единицы. Большинство - поддерживает их или не поддерживает. И кстати, далеко не факт, что большинство всегда оказывается правым. Впрочем, ладно...

Я вижу причины неприятия стиля C++ и неиспользования его возможностей всего лишь в его относительной необычности по сравнению с императивными языками. Ну, трудно переключиться сразу на стиль объектов с шаблонами. Тем более это трудно сделать, если сначала учиться C. Наверное, всё-таки, это правильно, что учиться нужно начинать с Pascal.

c127>Всякая C++ программа, по крайней мере на этапе разработки, это постоянные проблемы с памятью, путанье типов и прочие прелести, свойственные C, от них же и пытались избавиться.

Такие ошибки появляются, если выводить учёт ресурсов "за грань сознания", а это неверно. И, кстати, полный учёт совсем не мешает концентрации на прикладной функциональности. Заставляет делать её стройнее и предсказуемее - да, это есть...

c127>Да и если посмотреть функции (методы), то там скорее всего будет последовательность new в начале и delete в конце. По большому счету оно ничем не лучше, чем malloc-free?

Совершенно верно и это, кстати, и есть плохой стиль программирования на C++. "Хороший стиль", ИМХО, можно кратко сформулировать примерно так: всё есть объекты. Элементы жизненного цикла сущностей - в том числе.

c127>Взял книжку "C++ programming with CORBA" ISBN 0-471-28306-1. Книга по практическому применению C++. Открыл наугад на 239 странице. Вижу:

Ну дык! Книжка-то наверное больше о CORBA, чем о C++, т.е., в ней иллюстрируется в первую очередь использование CORBA и т.п. Её почти наверняка можно использовтаь для того, чтобы обучаться CORBA, но не стилю C++!

c127>Чистый C, от C++ одно название. Книгу я специально не выбирал, это первая попавшаяся под руку.

Ну, попробуй почитать что-нибудь именно по C++ без "разбавлений", вроде CORBA, Windows, Unix. Александреску, например. Просто хороший стиль C++ он не привязан к платформе, а проиллюстрировать одновременно стиль и аспекты конкретной библиотеки - сложная и, на мой взгляд, достаточно бессмысленная задача, чтобы её не решали.

c127>Нет, при создании C++ говорились те же самые слова насчет командной работы. Причем упор делался именно на большие проекты и большие команды разработчиков. Это одна из причин введения инкапсуляции - закрыть доступ внутрь класса, чтоб пользователи библиотек не лазили куда не надо.

Не только на большие команды. Делался упор ещё и на то, что один человек может контролировать больший объём исходного текста. Хотя в принципе, ты прав, я несколько загнул с оценками.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Не дадим C++ в обиду
    #32769207
Siebentearbeit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pop-up.

модераторам - не бить! :)
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32769223
Sie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sie
Гость
vdimas На большинство приходящих в обычной работе собощений Windows, в этих библиотеках происходит следующее:
1. reflection всех Notifications
2. PretranslateMessage вдоль по всей иерархии окон.
3. Поиск объекта в MAP-ах по хендлеру.
4. линейное "прочесывание" message maps классов в ответ на КАЖДОЕ ПРИХОДЯЩЕЕ СООБЩЕНИЕ
Ура!
Есть человек в мире осознающий наскоко MFC тяжёлая штука!

alexey_1979 Ты же не будешь создавать массив обработчиков на несколько тысяч элементов для того, чтобы обработать пару сообщений.
Ну MFC вообще-то так и делает....

vdimasБольшинство сообщений (99.99% из общего приходящего потока) в своей оконной процедуре просто достают адрес объекта из самомого экземляра МОЕГО класса окна (а не из многотысячного ATL/MFC MAP-а)
ещё респект!
тоже копался в механизме получения экзепляра в MFC - офигел от наворотов.
идея таскания указателя на объект в самом классе - гораздо приятнее.
Сам так делаю.
Как мне рассказали люди, MFC сделало сбор всех хэндлов окон в массив из соображений безопасности. Кто объяснит, что они обезопасили?
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32769913
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siebentearbeitpop-up.

модераторам - не бить! :)

да не будут бить .

блин башка раскалывается :(
(не пил вчера)
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32770031
Sie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sie
Гость
Ну бывает.
Я сёдня спать лёг в 3.45, а утром бежал за электричкой зимой 5км. в гору.
Никакой сижу, спать охота.
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32770349
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sieзимой 5км. в гору.

:-)
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32770664
Sie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sie
Гость
да, это из рассказа про смену поколений :)
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32770823
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sieда, это из рассказа про смену поколений :)

угу помню :))

эхх прощай С++

ухожу работать на Delphi + MSSQL 2k
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32770855
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понял, что за наезды такие на MFC ваще а ?
Причем абсолютно необоснованные.
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32771555
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Геннадий Васильев

Идея мне очень нравится, но вот похоже Степанов недоволен ее реализацией в C++. Я не очень понимаю почему, но ему виднее. Насколько я понимаю, к OOP-у шаблоны не имют отношения. Хотя я не большой знаток основ ООП и готов выслушать другие мнения.

Как минимум, он недоволен отсутсвием consraints в шаблонах, насколько я помню. Ещё у него в интервью (где-то в сети есть) были замечательные слова (не дословно): "мне говорят, что надо идти туда, где большие деньги, но по-моему это дурно пахнет".



вот это?
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32772165
vadik_malyshev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На C++ можно написать любую программу, которую можно вообще написать.
Но не за те же деньги ))
В пользу этого утверждения есть следующие доводы
1 крутые сишники (срршники) за даром работать не будут
2 у некрутых сишников прога работать не будет

В такой ситуации выбор не велик.

А большую прикладу писать можно за дешево на более высоком уровне абстракции на урезанных языках. Тем более что этот уровень в них уже подготовлен (реализован и оттестирован). Имеются в виду либы, поддержка технологий и т.д. Поэтому многие менеджера скатываются в пользу java и т.д. И по деньгам они правы. Киньте в меня камень, если я неправ. Кроме того, если нужно во всех подобных языках можно подключать практически любые модули. Для узкого круга задач низкого уровня можно написать модуль на с++ и пользовать его.

Я сам обожаю с++. И другие языки для меня они как тесная детская колыбелька. Мне в ней тесно. Только на c++ можно лаконично и без извратов писать на любом уровне абстракции при условии, что это уровень еще нужно реализовать и отладить.
Если бы для с++ была нормально структурированная и отлаженная библиотека с исподниками хотя бы как в java и при надобности можно было бы возлагать контроль за ресурсами на язык. (Да… тогда получиться c# или java). Самое обидное, что c++ это позволяет, а этого до сих пор нет. А если нет то по кусочкам. Если вдруг эти кусочки попытаешься объеденить, то получишь как минимум длинный catch.

Короче нужна крутая отлаженная и простая в использовании библиотека. Если она будет, то мы всем нос утрем как по красоте и лаконичности, так и по скорости и стоимости разработки.
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32772369
Chemburgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Короче нужна крутая отлаженная и простая в использовании библиотека. Если она будет, то мы всем нос утрем как по красоте и лаконичности, так и по скорости и стоимости разработки."

Не знаю как насчет "крутая", но помоему VCL от борланда, это как раз то о чем ты говоришь. Прибавь к этому STL и изобретать велосипед по второму разу не надо будет.
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32772431
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vcl от борланда не столь хороша, в частности портируемость ее оставляет желать лучшего.
причем портируемость не только между операционныим системами, но и компиляторами.

Много ли компиляторов могут использовать vcl?
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32772622
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VCL писана на паскале. Вот если перевести на С++ и сделать портируемой - цены ей не будет.
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32772779
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сказал один мой знакомый нехилый (когда я тока начинал работать, его зазвали работать в MS)

"С++ можно изучать всю жизнь"

Это правда и явное отражение мощи языка.
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32773368
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CEMb

С++ можно изучать всю жизнь

Главное найти тех парней что будут эту учебу финансировать :(

Lepsik

VCL написана на паскале. Вот если перевести на С++ и сделать портируемой - цены ей не будет.

Перенести, перепроектировав, или просто переписав? imho VCL очень тяжелая и "сама в себе" - как будто другого ничего нет... STL - вот что должно было стать фундаментом - в VCL же все свое - и достаточно среднее. Для написания клиентов к БД на Delphi подходит - но и только
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32773990
Sie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sie
Гость
funikovyuriГлавное найти тех парней что будут эту учебу финансировать :(

Можно всё делать параллельно, работать на с++ и учится с++ работая на с++
:)

funikovyuriSTL - вот что должно было стать фундаментом
Ну, кстати, тут пробегал человек, недовольный STL по следующей причине:
во, вроде, всех компиляторах нет заточки на архитектуру процессора.
И я, кстати, на этом месте задумался...
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32774180
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как связана конкретная шаблонная библиотека с заточками компилятора?
компилятор должен вообще затачиваться, не заморачиваясь на конкретные библиотеки.
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32774383
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2funikovyuri

большая часть VCL никаким боком с STL непересекается. да и в области строковый функций stl::string слабоват - мне больше boost нравится - вот где сила.
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32774611
Sie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sie
Гость
funikovyuriа как связана конкретная шаблонная библиотека с заточками компилятора?
Вроде как можно оптимизировать существенно под пень/амд

2 Lepsik

char* - вот где сила :) (и вообще указатели - сила)

Java и C# лишины этого счастья :)
Хотя в Javе есть ссылки. Тока чё-та я стал забывать без практики... можно ли там делать вещи типа (сhar*)++
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32775157
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нильзя. JAva ваапще атстой.
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32775363
И сла те восподи, шо низзя. Указатели ацтой. Жаба рулез.
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32775518
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни Java ни указатели не отстой - всё в природе нужно :)
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32775638
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lepsik

большая часть VCL никаким боком с STL непересекается.
Да тот же AnsiString используемый всюду в VCL. А StringList?

да и в области строковый функций stl::string слабоват - мне больше boost нравится - вот где сила.

в смысле слабоват? В boost'e нет никаких string'ов - boost это расширение стандартной stl - такие базовые классы как string там не переписываются

Sie
Вроде как можно оптимизировать существенно под пень/амд
Я этого не писал L)

можно ли там делать вещи типа (сhar*)++
Вот из-за таких вещей С++ и помер... Из-за того что любой Вася П может такого понаписать что хоть стой хоть падай
...
Рейтинг: 0 / 0
Не дадим C++ в обиду
    #32776259
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2funikovyuri

--большая часть VCL никаким боком с STL непересекается.
Да тот же AnsiString используемый всюду в VCL. А StringList?

я же сказал большая (ударение на O). оконные библиотека например и масса других

--да и в области строковый функций stl::string слабоват - мне больше boost нравится - вот где сила.
--в смысле слабоват? В boost'e нет никаких string'ов - boost это расширение стандартной stl - такие базовые классы как string там не переписываются

ты чем читаешь ? "строковых функций", а не класс типа string Если конечно ты курсе что в бусте они есть.
...
Рейтинг: 0 / 0
25 сообщений из 105, страница 4 из 5
Форумы / C++ [игнор отключен] [закрыт для гостей] / Не дадим C++ в обиду
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]