Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Да Вы что, господа, совсем уже до ручки дошли, что ли ?
А чё "Вы" то с большой буквы?
PD> Или трудно понять, что форматная строка не обязательно константная!
PD> char* pszFormat = "%d\n"; PD> CString str; PD> str.Format(pszFormat, 123);
PD>А теперь представьте себе. что эта pszFormat в рантайме вычисляется.
Веорятность этого 0.00000001 процента. Если бы такой контроль был, было бы конечно приятнее. Вот только делать его нужно было на базе расширения языка, чтобы в нем самом моно было бы описать правила котроля. А так это всего лишь соломка на конкретный случай.
PD> Какую, к богу, Вы тут диагностику компилятора хотите ? Если он иногда проверяет — спасибо ему. А в общем случае нельзя здесь ничего проверить в compile-time. Ни на С++, ни на C#.
Хочется, чтобы "иногд" было больше/чаще. Например, printf меня мало колышит. Не часто его вызвашь. А вот CString было бы приятно если бы контролировался.
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>А что за программирование не на С++ уже не платят? Или платят меньше?
Нее. Мне платят и за С++, и за С#, и за HTML, и за javascript, и за Object Pascal, и за UML. Могут заплатить просто за добрые слова. А самый прибыльные из них языки — русский + UML.
Здравствуйте, VladD2, Вы писали:
>>"Пописал на С++... долго думал "
Я вот прикола плюснутых не понимаю, зачем перед каждым словом писать знак а то и два знака подчёркивания? ("_")
И зачем облачать строки в эту сугубо ублюдскую конструкцию _T("")?
Почему до сих пор хитропопые изобретатели языка не переопределили кавычки для восприятия строк в нужно кодировке?
Может ещё и для чисел с плавающей точкой сделать оператор сложения какой-нить _+("")?
Ну не изврат ли?
int i = 2;
float f = 2.0;
float z = ("i") _+("f");
Зачем вообще плодить кучу сущностей типа CString, std::string, lpzstr и прочей швали?
DJ KARIES wrote:
>>>"Пописал на С++... долго думал " > Я вот прикола плюснутых не понимаю
Естественно, ведь Дельфи до сих пор нормально Юникод не держит.
> зачем перед каждым словом писать знак а то и два знака подчёркивания? > ("_") > И зачем облачать строки в эту сугубо ублюдскую конструкцию _T("")?
В версии для ANSI (то есть для Win9x/ME) макрос _T(x) разворачивается
просто в x. То есть не происходит никаких изменений.
Но в версиях для UNICODEных систем (NT/XP/2K/CE) этот макрос
разворачивается в Lx. То есть _T("aaa") будет L"aaa" (так в С++
обозначается широкая строка).
Соответственно, почти все API в Винде имеют две версии A и W
(CreateWindowA и CreateWindowW) — они отличаются форматом применяемых строк.
> Почему до сих пор хитропопые изобретатели языка не переопределили > кавычки для восприятия строк в нужно кодировке?
Не в кодировке дело.
> Зачем вообще плодить кучу сущностей типа CString, std::string, lpzstr > и прочей швали?
Ну да, ведь нет Бога кроме Аллаха и его пророка в Дельфи....
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Дарней, Вы писали:
Д>>хорошо — это когда думают о том, как правильно решить задачу. А не о том, где поставить скобку, чтобы прога не рухнула
VD>Вот именно. И очень смешно смотреть как кто-то гордится тем, что хорошо умеет подстилать соломку и совершенно не замечает того, что на этот процесс его сили и уходят.
А как ВФЫ дышите уважаемый ?
Подумайте — какие у Вас мышцы работают ?
Если разберетесь — подумайте, а как дышать эффективней ?
Так и с указателями и с макросами в С++, кроме того, рискну предположить, что через 10 лет также будет и с шаблонами, они просто будут восприниматься/не восприниматься мозжечком
Везде есть свои + и -, например у С — аж целых 2 плюса.
А если серьезно, от опять же каждому своё — например написать драйвер на СШарп — не получиться
Точно также как и на Джаве, некоторые горячие головы ытались реалтизовать аппаратную поддержку Джава — спец- Джава процессоры и все такое, — ан не сильно получилось.
ИМХО: если язык появляется и активно используется в течении 4х лет — значит он нашел свою нишу среди других языков.
ЗЫ как уже писали умные люди все зависит от задачи.
PD>Я не буду смеяться, но вроде бы в Unix был когда-то tool , который отлавливал несоответсвия всякие в С программах еще когда С++ не было. В частности, несоответствия между описанием функции и ее вызовом (если помнишь, в версии С Кернигана-Ритчи прототипов не было, а вызывать неописанную функцию в С даже сейчас компилятор позволит, предупреждение, правда, будет. Не исключаю, что и для C++ такие тулзы либо есть, либо их можно написать. Но мне они не нужны.
Lint -- A C program verifier
You will soon discover (if you have not already) that the C compiler is pretty vague in many aspects of checking program correctness, particularly in type checking. Careful use of prototyping of functions can assist modern C compilers in this task. However, There is still no guarantee that once you have successfully compiled your program that it will run correctly.
The UNIX utility lint can assist in checking for a multitude of programming errors. Check out the online manual pages (man lint) for complete details of lint. It is well worth the effort as it can help save many hours debugging your C code.
To run lint simply enter the command:
lint myprog.c.
Lint is particularly good at checking type checking of variable and function assignments, efficiency, unused variables and function identifiers, unreachable code and possibly memory leaks. There are many useful options to help control lint (see man lint).
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Ко всем участникам боевых действий в этом треде (и к себе тоже, конечно !
PD>Предлагаю военные действия прекратить и заключить мирный договор
+1
Видим тендецию С++ программисты не любят СШарп — программистов, обратно, тоже верно. Есть программисты которые любят/умеют и то и другое, они осторожны в своих суждениях, есть Вы Павел, судя по Вашему нейтралитету — Вы почти кореец — очень много собак съели
Резюме:
Мира не будет
ЗЫ
время покажет, но С++ комюнити есть на что расчитывать — С++ вышел в финал ( не ы первый раз ), уже и Джава готова была похоронить С++, но не получилось
ЗЫЗЫ
По-поводу, особо горячих споров такой довод — СШарп таки работает на ОС, писанных на старом добром С
Здравствуйте, minorlogic, Вы писали:
M>Мне например бывает неловко , когда какаянить девушка слышит что я программист радосно спрашивает " о , так ты сможешь поправить мою веб страничку"
M>P.S. с HTML сталкиваюсь очень редко ... хоть и бывает
ИМХО: Программист — ВкбДизайнер — Верстальщик ШТМЛ — ??
Слишком долго классифицировать
ИМХО: программист у нас — это синоним IT-специалист, и все, даже люди настраивающие 1с- называются программисты
Огромное сорри за оффтоп, но сколько уже периодически читаю ответы в эту ветку, каждый раз механически читаю ее название как "попИсал на С++... долго думал ".
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, CreatorCray, Вы писали:
CC>Огромное сорри за оффтоп, но сколько уже периодически читаю ответы в эту ветку, каждый раз механически читаю ее название как "попИсал на С++... долго думал ".
А казалось бы причем тут фрэйд?
... << RSDN@Home 1.2.0 alpha rev. 618>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Похоже, кто-то там на верху упорно даказывает разработчикам компилятора, что большенство людей используют его как С .
Cделали бы cwindows в дополнение к windows.h, как поступили другие люди с остальными include.
В таком случае, подобной темы никогда бы не возникло.
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
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
Здравствуйте, GlebZ, Вы писали:
GZ>Вот мне хотелось бы узнать, в чем может состоять хитрость программиста. Если бы я знал хотя бы об одном потенциальном способе использования такого кода, то я не против. Но этого способа я не знаю.
MSVC (и стандарт С++) не поддерживает макросы с переменным числом аргументов. warning вместо error в таком случае может помочь реализовать какую-нибудь заморочку. Осмысленный пример придумывать не берусь, плохо макросы С знаю.
Совсем другой пример:
LINK : fatal error LNK1561: entry point must be defined
Иногда мне нужно посмотреть асм код именно в бинарнике, а не листинге. Догадаться, что это давится ключиком /LD у меня ушло некоторое время (точнее, я это понял только сейчас !)
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
Здравствуйте, srggal, Вы писали:
S>Здравствуйте, minorlogic, Вы писали:
M>>Мне например бывает неловко , когда какаянить девушка слышит что я программист радосно спрашивает " о , так ты сможешь поправить мою веб страничку"
M>>P.S. с HTML сталкиваюсь очень редко ... хоть и бывает
S>ИМХО: Программист — ВкбДизайнер — Верстальщик ШТМЛ — ?? S>Слишком долго классифицировать S>)
S>ИМХО: программист у нас — это синоним IT-специалист, и все, даже люди настраивающие 1с- называются программисты
Ну дык и я об этом , слово "программист" потеряло какое либо значение и стало сшишком расплывчато.