Visual Basic ili C++
66 отговора
2206 прегледа
Re: Izolzval sum VB
Аз не знам дали съм го обмислил , но май ти не си го прочел
Пояснявам:
Забележката на Щирлиц беше "След като е прописал на VB, някак си му се струва бачкаторско да прави нещата с много писане, или с по три дена мислене. Аз не познавам езика С, но горе-долу знам каква е разликата при обработка на стрингове например между VB и C."
И аз(без да претендирам че съм С++ програмист) реших да напиша един пример който реализира част от функциите на VB за работа със стрингове
при това без да ползвам "Класове от рода на CString.... или други ...библиотеки и функции които вършат същата работа" за да му демонстрирам че нещата не са толкова "бачкаторски" дори и на по-ниско ниво от стандартния ООП подход на С++.
Пояснявам:
Забележката на Щирлиц беше "След като е прописал на VB, някак си му се струва бачкаторско да прави нещата с много писане, или с по три дена мислене. Аз не познавам езика С, но горе-долу знам каква е разликата при обработка на стрингове например между VB и C."
И аз(без да претендирам че съм С++ програмист) реших да напиша един пример който реализира част от функциите на VB за работа със стрингове
при това без да ползвам "Класове от рода на CString.... или други ...библиотеки и функции които вършат същата работа" за да му демонстрирам че нещата не са толкова "бачкаторски" дори и на по-ниско ниво от стандартния ООП подход на С++.
Re: Izolzval sum VB
Само да помоля за малко по-точно изразяване относно "Изобщо идеята да се разглеждат стриговете като масиви от символи(а те са точно това)предоставя възможността да се ползват всички благинки познати от масивите , и е малко позната на VB програмистите свикнали с удобния тип String и няколкото функции за обработката му.".
Надявам се, и съм почти сигурен че искаш да кажеш "непрекъсната област от паметта", когато се говори за неща свързани с вб и. тн. това уточниение е много важно, в терминологията често хората казвайки "масив" имат предвид непрекъсната област от паметта, с константна дължина, която се заделя преди започване на изпълнение на т.нар "Application defined code".
Ако и сега допуснем че съответния, компилатор/инерпретатор... и т.н. интерпратира "масивите" (както паскал) като рамера е част от типа им, ще отбележим че въпросните "благинки", за които говориш, ни излизат милиони пъти през носа (освен ако по презюмпция не пичем код който евентуално би използван от други хора, и самите ние го използваме спорадично, и сме мазохисти да преписваме едно нещо по х, х=100...оо)
Иначе "обработката" на текстови низове от с++ (а и всички ооп езици), е просто един много добър пример за отговор на въпроса "Че що са ми класове, наследяване... бла бла, амчи аз тия нещя мога и без тях да си ги напраа"
Надявам се, и съм почти сигурен че искаш да кажеш "непрекъсната област от паметта", когато се говори за неща свързани с вб и. тн. това уточниение е много важно, в терминологията често хората казвайки "масив" имат предвид непрекъсната област от паметта, с константна дължина, която се заделя преди започване на изпълнение на т.нар "Application defined code".
Ако и сега допуснем че съответния, компилатор/инерпретатор... и т.н. интерпратира "масивите" (както паскал) като рамера е част от типа им, ще отбележим че въпросните "благинки", за които говориш, ни излизат милиони пъти през носа (освен ако по презюмпция не пичем код който евентуално би използван от други хора, и самите ние го използваме спорадично, и сме мазохисти да преписваме едно нещо по х, х=100...оо)
Иначе "обработката" на текстови низове от с++ (а и всички ооп езици), е просто един много добър пример за отговор на въпроса "Че що са ми класове, наследяване... бла бла, амчи аз тия нещя мога и без тях да си ги напраа"
Re: Izolzval sum VB
Абе, то не беше само това, но мен не ме бива много в обясненията.
Всъщност от мизерния ми опит да науча поне част от С++ разбрах, че трябва да "си отварям очите на 400", за да не допусна баламска грешка при адресиране дори на някаква тривиална променлива в паметта. Друго нещо, което един писач на VB някак си трябва допълнително да изгражда навик (а до момента на писане само на VB не му е трябвал въобще) е чистенето на паметта. Ако работим с няколко булеви променливи, и три-четири числа, които например да помнят къде за последно се е намирала потребителската форма върху екрана - това може и да остане незабелязано, но при работа с големи масиви (пардон, области от паметта) всеки пропуск може да направи живота ни черен. Ето затова се опитвах да обясня (макар и много неумело) съществените предимства на единия и на другия език.
С++ е професионален инструмент. С него може да се напише всичко. Но за ежеднежни нужди, потребителски програми, и т.н. неща просто няма смисъл програмиста да прави всичко това по трудния начин.
VB пък е интегриран във всичко Майкрософт-ско. Знаейки VB, човек може да свърши работа на VBA, и дори да си добавя VBS към програмите които пише, за по-голяма гъвкавост... Неща, за които ще получи много по-бързо и лесно парите, които заслужава.
Не може да се каже, че има лесен език за програмиране, и едва ли не програмите на С++ трябва да се оценяват на милиони, а пък на VB да се таксуват за стотинки, и даже безплатно. Всяка програма трябва да се разглежда от всички аспекти. Бързодействието е важно, но съвременните процесори често правят разликата незначителна. Стабилността на програмите много по-често е определящ критерии за тяхното използване и предпочитане от страна на потребителите.
Така че всеки програмист може да прецени за кой език ще му стигнат силите, и какво очаква да получи от знанията си. Имам френд, който посмъртно няма да пропише на VB, макар че го знае, и си държи на С++. Разбираемо е, след като наум може да си пресметне процесорните тактове, които ще са нужни за изпълнението на една или друга инструкция след компилиране. Аз пък няма да пропиша на С++, защото съм предпочел да използвам знанията си дотук, и да не уча нови неща засега (т.е. продължавам и на VB.NET). За реализирането на една и съща задача френда ми би ползвал С, а аз VB. Може реално погледнато да го направим и за едно и също време, но какво ли ще се получи, ако се опитаме - аз на С++, а той на VB. ;о) Тук е разликата.
Всъщност от мизерния ми опит да науча поне част от С++ разбрах, че трябва да "си отварям очите на 400", за да не допусна баламска грешка при адресиране дори на някаква тривиална променлива в паметта. Друго нещо, което един писач на VB някак си трябва допълнително да изгражда навик (а до момента на писане само на VB не му е трябвал въобще) е чистенето на паметта. Ако работим с няколко булеви променливи, и три-четири числа, които например да помнят къде за последно се е намирала потребителската форма върху екрана - това може и да остане незабелязано, но при работа с големи масиви (пардон, области от паметта) всеки пропуск може да направи живота ни черен. Ето затова се опитвах да обясня (макар и много неумело) съществените предимства на единия и на другия език.
С++ е професионален инструмент. С него може да се напише всичко. Но за ежеднежни нужди, потребителски програми, и т.н. неща просто няма смисъл програмиста да прави всичко това по трудния начин.
VB пък е интегриран във всичко Майкрософт-ско. Знаейки VB, човек може да свърши работа на VBA, и дори да си добавя VBS към програмите които пише, за по-голяма гъвкавост... Неща, за които ще получи много по-бързо и лесно парите, които заслужава.
Не може да се каже, че има лесен език за програмиране, и едва ли не програмите на С++ трябва да се оценяват на милиони, а пък на VB да се таксуват за стотинки, и даже безплатно. Всяка програма трябва да се разглежда от всички аспекти. Бързодействието е важно, но съвременните процесори често правят разликата незначителна. Стабилността на програмите много по-често е определящ критерии за тяхното използване и предпочитане от страна на потребителите.
Така че всеки програмист може да прецени за кой език ще му стигнат силите, и какво очаква да получи от знанията си. Имам френд, който посмъртно няма да пропише на VB, макар че го знае, и си държи на С++. Разбираемо е, след като наум може да си пресметне процесорните тактове, които ще са нужни за изпълнението на една или друга инструкция след компилиране. Аз пък няма да пропиша на С++, защото съм предпочел да използвам знанията си дотук, и да не уча нови неща засега (т.е. продължавам и на VB.NET). За реализирането на една и съща задача френда ми би ползвал С, а аз VB. Може реално погледнато да го направим и за едно и също време, но какво ли ще се получи, ако се опитаме - аз на С++, а той на VB. ;о) Тук е разликата.
Re: Izolzval sum VB
Чудно - много добре казано. Само дето не си достатъчно смел да кажеш, че С/С++ е аболютен боклук, защото не си писал достатъчно на него и не искаш да се изказваш за нещо, с което нямаш опит. Е - аз писал повече от достатъчно и най-отговорно ти казвам, че нищо не си загубил.
С/С++ е абсолютен боклук и сериозна крачка назад в развитието на програмните езици поради прекаленото му разпространение заради мита, че великите програмисти видиш ли пишели само на С.
За мен едно нещо е толкова по-неефективно, колкото повече време се занимава със самото себе си, вместо със задачите, за които е направено. Целта на всяка една програма е не кодиране само по себе си, а решаване на конкретен реален проблем. Език за програмиране като С/С++, в който 80% от времето се занимаваш със самият език, а не със задачата, която имаш, е, меко казано, неефективен (тъп?).
Хората обаче поумняха и измислиха ВБ и Делфи за Уиндоуско програмиране, а напоследък дори и за ел джиджавки като вибриращи анални топчета се пише вече повече на Джава, отколкото на С/С++. Под Уиндоус СЕ спокойно вече можеш да пишеш със .НЕТ Cоmpact framework на ВБ.НЕТ.
Така че си се ориентирал супер добре, освен ако лонгтърм целта ти не е да поддържаш ГИС-ове под Соларис писани от индийци.
С/С++ е абсолютен боклук и сериозна крачка назад в развитието на програмните езици поради прекаленото му разпространение заради мита, че великите програмисти видиш ли пишели само на С.
За мен едно нещо е толкова по-неефективно, колкото повече време се занимава със самото себе си, вместо със задачите, за които е направено. Целта на всяка една програма е не кодиране само по себе си, а решаване на конкретен реален проблем. Език за програмиране като С/С++, в който 80% от времето се занимаваш със самият език, а не със задачата, която имаш, е, меко казано, неефективен (тъп?).
Хората обаче поумняха и измислиха ВБ и Делфи за Уиндоуско програмиране, а напоследък дори и за ел джиджавки като вибриращи анални топчета се пише вече повече на Джава, отколкото на С/С++. Под Уиндоус СЕ спокойно вече можеш да пишеш със .НЕТ Cоmpact framework на ВБ.НЕТ.
Така че си се ориентирал супер добре, освен ако лонгтърм целта ти не е да поддържаш ГИС-ове под Соларис писани от индийци.
Re: Хаиде сега...
"Slabi" e spored men to4nat duma. A kolkoto do MFC ne samo sam 4uval i Imam dosta goliam opit s nego (ili neia
)
"Tanka" - ozna4ava 4e klasovete predostaviat po4ti 1 kam 1 saotvetstvie m/u tova koeto windows komponentite predlagat. Tova moga da kaja za MFC.
"Slaba" e tova koeto VCL predlaga. VCL clasovete predostaviat mnogo malka 4ast ot funkcionalnosta na windows componentite. T.e. clasovete obvivat windwos componenti, no windows componetite sa mnogo po-mo6tni ot saotvetnia VCL komponetent. Ako iska6 da mu polzva6 palnite vazmojnosti triabva da pribegne6 do saotvetnite API f-ii i windows msg.
O4eviden primer e TRichEdit ili kakto se kazva6e. Emi nervite 6te ti skasat ako se opita6 da go izpozva za ne6to po-seriozno.
VCL predlaga absoliutno bezpolezna podrajka na COM containeri. Spored men clasa TComContainer e napraven edinstveno za da mogat da napraviat edin primer i da kajat "da nie podarjame COM containeri". Samo deto v edno normalno prilojenie tozi kontainer e bezpolezen.
Nikakva podrajka na Drag&Drop (nadiavam se 4e si naiasno 4e drag&drop deto go predlagat e niakakva tiahna vatre6na realizacia)
Niamat gotov class podarja6t IDataObject. Emi tova e edin ot nai-vajnite clasove v UDT i COM.
Moga i o6te da prodaljavam.
"Tanka" - ozna4ava 4e klasovete predostaviat po4ti 1 kam 1 saotvetstvie m/u tova koeto windows komponentite predlagat. Tova moga da kaja za MFC.
"Slaba" e tova koeto VCL predlaga. VCL clasovete predostaviat mnogo malka 4ast ot funkcionalnosta na windows componentite. T.e. clasovete obvivat windwos componenti, no windows componetite sa mnogo po-mo6tni ot saotvetnia VCL komponetent. Ako iska6 da mu polzva6 palnite vazmojnosti triabva da pribegne6 do saotvetnite API f-ii i windows msg.
O4eviden primer e TRichEdit ili kakto se kazva6e. Emi nervite 6te ti skasat ako se opita6 da go izpozva za ne6to po-seriozno.
VCL predlaga absoliutno bezpolezna podrajka na COM containeri. Spored men clasa TComContainer e napraven edinstveno za da mogat da napraviat edin primer i da kajat "da nie podarjame COM containeri". Samo deto v edno normalno prilojenie tozi kontainer e bezpolezen.
Nikakva podrajka na Drag&Drop (nadiavam se 4e si naiasno 4e drag&drop deto go predlagat e niakakva tiahna vatre6na realizacia)
Niamat gotov class podarja6t IDataObject. Emi tova e edin ot nai-vajnite clasove v UDT i COM.
Moga i o6te da prodaljavam.
Re: Izolzval sum VB
Не може да се каже такова нещо за С++. Факта, че компилатора на Бейсик е бавен - няма нужда да се доказва. Факта, че технологията на компилатора на С вече се използва в компилатора на VB6 е доста изразителен. Факта, че почти всички модули които изискват висока скорост на изчисления - са писани на С или Assembler също няма да коментирам.
Изобщо за С, С#, С++ - НЕ може да се каже, че са "гола вода". Но за мен е прекалено трудоемко да пиша на тях. Избрал съм широкия и равен път, по който се върви лесно, стига се бързо, и получавам пари за тая работа.
Никой от потребителите не може сам да си напише като хората програмата която му трябва, независимо на какъв език. И именно затова не съм и опитвал да се правя на професионален програмист на С, С++ и т.н.
Това, че всички езици започват да придобиват един и същи облик, това че в .NET платформата няма значение на какъв език пишеш, това че в нея може различни части на една и съща програма да са написани на различни езици (от .NET), това че дори в С.NET вече си има Garbage collection, и че е орязан достъпа и управлението на паметта директно - говори съвсем друго нещо... че езиците започват да се видоизменят. Всичките. Скоро ще навлезем в нова ера на програмирането. И с това естествено ще се завърне и злорадстването на Майкрософт, както и безсмисленото оплакване от страна на конкурентите им, поради "монополизма на гиганта". Всъщност това винаги ми е изглеждало тъпо. Никой от Майкрософт не принуждава никого да си купува и ползва PC и Windows. Знае се само че Windows не е нито задължителен, нито безплатен. Всеки има алтернатива да ползва Linux, OS2, MAC OS, и т.н., съответно и техните среди за програмиране, вече написани програми и т.н. било то безплатни, платени, или оупън сорс...
...
Аз съм избрал компютър Compaq, получих го с лицензиран ХР про, пиша на VB6 (малко пиратско), и програмите ми са съвместими на ВСИЧКИ клиенти които обслужвам. Друго просто не е нужно за да се изкарат малко пари. ;о) Е, почитателите на безсмислените занимавки с компютри могат да кажат: "ама изпускаш купона". Да, така е, но ми трябват пари. Ако нямах нужда от тях - нямаше да работя нито една секунда през живота си.
Изобщо за С, С#, С++ - НЕ може да се каже, че са "гола вода". Но за мен е прекалено трудоемко да пиша на тях. Избрал съм широкия и равен път, по който се върви лесно, стига се бързо, и получавам пари за тая работа.
Никой от потребителите не може сам да си напише като хората програмата която му трябва, независимо на какъв език. И именно затова не съм и опитвал да се правя на професионален програмист на С, С++ и т.н.
Това, че всички езици започват да придобиват един и същи облик, това че в .NET платформата няма значение на какъв език пишеш, това че в нея може различни части на една и съща програма да са написани на различни езици (от .NET), това че дори в С.NET вече си има Garbage collection, и че е орязан достъпа и управлението на паметта директно - говори съвсем друго нещо... че езиците започват да се видоизменят. Всичките. Скоро ще навлезем в нова ера на програмирането. И с това естествено ще се завърне и злорадстването на Майкрософт, както и безсмисленото оплакване от страна на конкурентите им, поради "монополизма на гиганта". Всъщност това винаги ми е изглеждало тъпо. Никой от Майкрософт не принуждава никого да си купува и ползва PC и Windows. Знае се само че Windows не е нито задължителен, нито безплатен. Всеки има алтернатива да ползва Linux, OS2, MAC OS, и т.н., съответно и техните среди за програмиране, вече написани програми и т.н. било то безплатни, платени, или оупън сорс...
...
Аз съм избрал компютър Compaq, получих го с лицензиран ХР про, пиша на VB6 (малко пиратско), и програмите ми са съвместими на ВСИЧКИ клиенти които обслужвам. Друго просто не е нужно за да се изкарат малко пари. ;о) Е, почитателите на безсмислените занимавки с компютри могат да кажат: "ама изпускаш купона". Да, така е, но ми трябват пари. Ако нямах нужда от тях - нямаше да работя нито една секунда през живота си.
Re: Хайде бе!
VCL класовете били доста слаби обвивки. СЛАБИ???
Или си искал да кажеш тънки (и двете не са вярни)
Iskah (kazah) SLABI. Vi6 mi otgovora na prednia post.
И специално пък в Делфи като се накликаш, те чака най малко писане (в сравнение с другите среди де)
Ami ti sam si si otgovoril na tova:
Друг е въпроса че визуалното програмиране в Делфи покрива само стандартни обекти и техники
A za vsi4ko 6to ne e svarzano s BD dupe da ti e iako.
Или си искал да кажеш тънки (и двете не са вярни)
Iskah (kazah) SLABI. Vi6 mi otgovora na prednia post.
И специално пък в Делфи като се накликаш, те чака най малко писане (в сравнение с другите среди де)
Ami ti sam si si otgovoril na tova:
Друг е въпроса че визуалното програмиране в Делфи покрива само стандартни обекти и техники
A za vsi4ko 6to ne e svarzano s BD dupe da ti e iako.
Re: Izolzval sum VB
>>>Не може да се каже такова нещо за С++.
Може. Нали видя, че го казах. С++ е недоразумение.
>>Изобщо за С, С#, С++ - НЕ може да се каже, че са "гола вода".
С# е много по-близо до ВБ.НЕТ и Делфи, отколкото до С++.
Общо взето, съм съгласен с теб - в смисъл тенденцията е да се пише "managed code", както е дефиницията за тези езици от по-ново поколение, за които говориш.
Може. Нали видя, че го казах. С++ е недоразумение.
>>Изобщо за С, С#, С++ - НЕ може да се каже, че са "гола вода".
С# е много по-близо до ВБ.НЕТ и Делфи, отколкото до С++.
Общо взето, съм съгласен с теб - в смисъл тенденцията е да се пише "managed code", както е дефиницията за тези езици от по-ново поколение, за които говориш.
Re: Хаиде сега...
Е то пък аз мога да ти изредя 20 неща, които ще ти се отели вола да ги направиш без VCL - на първо време се сещам за TreeView-tata...
А това, че API-то е по-мощно - просто не си прав - хващаш HANDLE-to на нещото и праскаш а Апи ако не ти стига останалото....
А това, че API-то е по-мощно - просто не си прав - хващаш HANDLE-to на нещото и праскаш а Апи ако не ти стига останалото....
Re: Хаиде сега...
На мен лично като ми се види някой компонент на стандартното Delphi тънък
просто го хващам , унаследявам го и си го удебелявам където ми е необходимо
или пък идвам на място като това [линк] и си дръпвам пакет от стотици нестандартни отворени компоненти които по-късно при нужда да удебелявам на воля.
Между другото често ми се налага да "изтънявам" компоненти и не бих се съгласил с мнението че са "тънки"
просто го хващам , унаследявам го и си го удебелявам където ми е необходимо
или пък идвам на място като това [линк] и си дръпвам пакет от стотици нестандартни отворени компоненти които по-късно при нужда да удебелявам на воля.
Между другото често ми се налага да "изтънявам" компоненти и не бих се съгласил с мнението че са "тънки"
Re: Izolzval sum VB
Imash dosta prawilen podhod kum ezicite za programirane... Podkrepjam.
Uspeh w biznesa
Uspeh w biznesa
Re: Izolzval sum VB
Choweka e kazal che ima ideja kak se bachka sus ACSIIZ stringowe... Ti oswen che dawash primer kak se raboti s tjah, obshto wzeto gi welichaesh...
Az puk ti napisah da ne zabrawjash che e prekrasno da si polzwash po-udobnite funkci i klasowe za rabota sus stringove. Osobeno pri skorosta na suwremennite procesori i neobhodimosta ot po-slozhni operacii i predstawjanija na tekst...
Az puk ti napisah da ne zabrawjash che e prekrasno da si polzwash po-udobnite funkci i klasowe za rabota sus stringove. Osobeno pri skorosta na suwremennite procesori i neobhodimosta ot po-slozhni operacii i predstawjanija na tekst...
А ние пасем трева?
"Изобщо за С, С#, С++ - НЕ може да се каже, че са "гола вода". Но за мен е прекалено трудоемко да пиша на тях. Избрал съм широкия и равен път, по който се върви лесно, стига се бързо, и получавам пари за тая работа.
.....
Аз съм избрал компютър Compaq, получих го с лицензиран ХР про, пиша на VB6 (малко пиратско), и програмите ми са съвместими на ВСИЧКИ клиенти които обслужвам. Друго просто не е нужно за да се изкарат малко пари. ;о) Е, почитателите на безсмислените занимавки с компютри могат да кажат: "ама изпускаш купона". Да, така е, но ми трябват пари. Ако нямах нужда от тях - нямаше да работя нито една секунда през живота "
Аз като почитател на безсмислените занимавки пиша на С++ и тук там асемблер, и представи си също използвам пари. Купил съм си уиндоус и вижуал студио и програмите ми се ползват от няколко хиляди клиенти. Работя по 4 до 6 часа дневно и месечният ми доход е четирицифрен сметнат в английски лири.
.....
Аз съм избрал компютър Compaq, получих го с лицензиран ХР про, пиша на VB6 (малко пиратско), и програмите ми са съвместими на ВСИЧКИ клиенти които обслужвам. Друго просто не е нужно за да се изкарат малко пари. ;о) Е, почитателите на безсмислените занимавки с компютри могат да кажат: "ама изпускаш купона". Да, така е, но ми трябват пари. Ако нямах нужда от тях - нямаше да работя нито една секунда през живота "
Аз като почитател на безсмислените занимавки пиша на С++ и тук там асемблер, и представи си също използвам пари. Купил съм си уиндоус и вижуал студио и програмите ми се ползват от няколко хиляди клиенти. Работя по 4 до 6 часа дневно и месечният ми доход е четирицифрен сметнат в английски лири.
не ми хвали производителността при С стрингове
те имат един МНОГО голям недостатък, използват терминиращ символ, а не допълнително поле за определяне на дължината
това води до ДВА много големи недостатъка:
1. когато искаш да получиш дължината на стринга (много често използвана операция), трябва да го обходиш целия -> кофти производителност.
2. съществува ПОНЕ ЕДИН символ, който не може да бъде част от стринга.
между другото VB стринговете са BSTR, т.е. масив от UNICODE символи, с поле за броя на символите, точно преди началото на масива.
и нещо, което е малко известно, BSTR (включително и във VB) e 0 терминиран, тази 0 не е включена в дължината му, но е възможно да има 0 и по-средата, доколкото има поле за дължината му.
интересното в случая е, че VB програмите, почти сугурно няма да имат проблем с 0 по средата, докато ПОЧТИ всички С++ програми, които съм виждал, не взимат под внимание, че по средата на BSTR може да има 0, а разчитат на нулата в ктая му, вместо да проверяват дължината.
това води до ДВА много големи недостатъка:
1. когато искаш да получиш дължината на стринга (много често използвана операция), трябва да го обходиш целия -> кофти производителност.
2. съществува ПОНЕ ЕДИН символ, който не може да бъде част от стринга.
между другото VB стринговете са BSTR, т.е. масив от UNICODE символи, с поле за броя на символите, точно преди началото на масива.
и нещо, което е малко известно, BSTR (включително и във VB) e 0 терминиран, тази 0 не е включена в дължината му, но е възможно да има 0 и по-средата, доколкото има поле за дължината му.
интересното в случая е, че VB програмите, почти сугурно няма да имат проблем с 0 по средата, докато ПОЧТИ всички С++ програми, които съм виждал, не взимат под внимание, че по средата на BSTR може да има 0, а разчитат на нулата в ктая му, вместо да проверяват дължината.
Re: не ми хвали производителността при С стрингове
Майчице , май се оказах в забавната ситуация участвам в спор в клуб наречен "Програмисти" в който болшинството участници са VB6/VB.NET програмисти крачещи под лозунг "Ние вървим по широкия и равен път, по който се върви лесно, стига се бързо, и получаваме пари за тая работа. а пък С/С++ е абсолютен боклук" които определят работата на VB със стрингове като далеч по-мощна и безпроблемна отколкото тази на с++ без да подозират че "почитателите на безсмислени занимавки с компютри" са им подхвърлили една ергономична обвивка на С++ наречена за краткост VB.
А според мен да разбираш как работят любимите ти функции InStr,StrComp,Mid и т.н. освен че е интересно съвсем не е "безсмислена занимавка" и само може да те отдалечи от деня в който разликата между потребителите на готови програми и потребителите на готови програмни среди като VB ще изчезне и потребителите на твоите програми ще предпочетат да станат потребители на някоя бъдеща версия на VB.NET и да си "нарисуват" програмата сами , а почитателите на безсмислени занимавки с компютри ще бълват нови версии на програми за "рисуване на задачи и тяхното решаване" коя от коя по-елеметарна и забавна ,защото и те душа хранят и се стремят да завоюват възможно най-голям брой потребители.
PS : Иначе се получи не лош флейм
Хайде със здраве..;)
А според мен да разбираш как работят любимите ти функции InStr,StrComp,Mid и т.н. освен че е интересно съвсем не е "безсмислена занимавка" и само може да те отдалечи от деня в който разликата между потребителите на готови програми и потребителите на готови програмни среди като VB ще изчезне и потребителите на твоите програми ще предпочетат да станат потребители на някоя бъдеща версия на VB.NET и да си "нарисуват" програмата сами , а почитателите на безсмислени занимавки с компютри ще бълват нови версии на програми за "рисуване на задачи и тяхното решаване" коя от коя по-елеметарна и забавна ,защото и те душа хранят и се стремят да завоюват възможно най-голям брой потребители.
PS : Иначе се получи не лош флейм
Хайде със здраве..;)
Re: не ми хвали производителността при С стрингове
Are sega puk ti otide w drugata krajnost...
Kakwo znachenie ima dali poddurzha 0 po sredata na stringa ili ne?
I dwata nachina na opredeljane na dulzhina na string si imat predimstwa i nedostatuci.
Ot znachenie sa:
- udobstwo na polzwane
- golemina na zaemanata pamet
- pddruzhka na Unicode, UTF i drugi
- skorost na operaciite (pri specifichni prilozhenija)
Kakwo znachenie ima dali poddurzha 0 po sredata na stringa ili ne?
I dwata nachina na opredeljane na dulzhina na string si imat predimstwa i nedostatuci.
Ot znachenie sa:
- udobstwo na polzwane
- golemina na zaemanata pamet
- pddruzhka na Unicode, UTF i drugi
- skorost na operaciite (pri specifichni prilozhenija)
Re: Хаиде сега...
А това, че API-то е по-мощно - просто не си прав - хващаш HANDLE-to на нещото и праскаш а Апи ако не ти стига останалото....
Amni nali tova ti kazvam. Mnogo 4esto se nalaga da polzva6 API. To4no za tova e "slaba" obvivka.
Sas MFC koiato e "tanka" obvivka mnogo po-riadko ti se nalaga da polzva6 direktno API.
Amni nali tova ti kazvam. Mnogo 4esto se nalaga da polzva6 API. To4no za tova e "slaba" obvivka.
Sas MFC koiato e "tanka" obvivka mnogo po-riadko ti se nalaga da polzva6 direktno API.