VB ili VC++ ?

16 отговора 804 прегледа
#1

VB ili VC++ ?

Parvo privet na vsik4i v tozi club.
Niakoi moje li da mi otgovori ednozna4no na vaprosa "Koi e po-universalen ezik VB ili VC++? I ako tova e VC++, kakto sym 4uval v pove4eto slu4ai, tova zna4i li, 4e s VB ne moje da se satvori syshtoto, kakvoto i s VC++?
I konkurenten li e programista rabote6t s VB na tozi - rabote6t s VC++?
Predvaritelno blagodaia za mneniata vi.

Отговор
в отговор на Ozada4en #2

Re: VB ili VC++ ?

"Кой език е по-универсален VB или VC++?"

По този въпрос може да се мисли доста защото и двата езика са добри. Аз както теб съм чувал че VC++ е по-добрият език, но несмятам така. Според мен и двата езика са добри защото всеки от тях си има предимства. Ако единият прави малко повече неща от другият то това незначи че и другият неможе да ги направи - той може но с малко повече труд и съчетаване на техники. На мен лично ми харесва VB защото съм започнал с него а и мисля че той обяснява нещата повече отколкото VC++. Незнам да ли е така, но аз така мисля и такова е моето мнение.

"... това значи ли, че с VB неможе да се сътвори същото, каквото с VC++ ?"

Както казах по-горе всеки от езиците си има предимства. Доколкото съм виждал в VC++ всички неща са вградени в самата програма, докато във VB не е така с всички инструменти. Незнам за VC++ но мисля че той няма API Text Viewer с който да виждаш и да извикваш системни функции. Разбира се VC++ има някои предимства в създаването на програмите. Доколкото съм виждал VC++ може да създава Console Applications, Win32, Win16, MFC и други видове програми. Във VB има единствено Win32 Application и Screensaver като програми. Разбира се в новата версия на VB, VB 2005 можеш да създаваш и други видове програми като Console Application и т.н. Само запомни, че "Всяка програма си има своите предимства.".

"Конкурентен ли е програмиста работещ с VB на този - работещ с VC++?"

Ами това зависи само от това дали двамата програмисти са конкуренти и се съравновават кой с коя програма е по-добър. Двете програми могат да работят заедно.

ТИ избираш с коя да започнеш, но знай че един програмируем език не се учи лесно...

Отговор
в отговор на Kristian #3

Re: VB ili VC++ ?

Охооо, уоуу, чей малко. Не знам за коя версия на VB говориш, но определено VB6 си може да създава самостоятелно ЕХЕ, ActiveX, OCX, DLL, DHTML... Мда, скрийн-сейвъри - също.

Дали всички инструменти ще са в ЕХЕ-то - зависи какви инструменти ползва програмиста. Установил съм, че с малко труд и постоянство - можеш да направиш хубава програма и без да ползваш външни компоненти. Но ето аз например - искам да ползвам допълнителни бутони и външно меню. Това обрича приложението ми вечно да си мъкне няколкото DLL файла с него. Което не е голяма беля, като се има в предвид обема на днешните приложения.

Разбира се с VB не е удачно да се пише драйвър, нито системна програма. С++ е подходящ за целта. Но пък за направата на визитник например - няма никакъв смисъл да се ползва С++ (тежката артилерия), когато за няколко часа един човек може да спретне програмчето с интерфейс, база данни, и всичко да е готово за работа. Просто си зависи доколко човека ще иска да умее програмирането, доколко ще трябва да може да работи в екип програмисти, доколко ще разчита пари да изкарва от таз работа, доколко сложни проекти ще поема...


Щирлиц
Отговор
в отговор на Щиpлиц #4

Re: VB ili VC++ ?

Неудачно е меко казано -- невъзможно е да се напришe драйвер на VB6. Също няма стандартен начин да се направи console application.

За сметка на това ползването на COM е тривиално, стига да не става дума за aggregation. Става дума за VB compatible COM, щото примерно OLEDB си е зверщинка да се чопли.

Особено радващо (за начинаещите) е forms sub-system -- лепиш ActiveX контроли и накрая "look ma, i've got game". Всичко това на цената на съществен лаг при сериозни форми + reference leak-ове до безкрай.

Без съществени познания по COM, Win32 API и C/C++ е почти невъзможно да се направи commercial quality приложение на VB6. От примерно среден калибър до 100k реда.

cheers,
</wqw>

Отговор
в отговор на Ozada4en #5

Re: VB ili VC++ ?

Ще по разсъждавам малко над произхода на думата "универсален". Идва от латински "universum" значи вселена. Като прилагателно смисъла е "всевалиден" демек по цялата вселена. Например универсален закон (гравитацията), или универсално твърдение - "всичко е направено от атоми" и тн.
Сега да се върнем обратно към твоя въпрос. Всички съвременни операционни състеми са написани на C/C++. Също и браузъра скойто гледаш този постинг, самия VB ! Дори компилаторите на C/C++ са написани на C/C++ (може да ти се струва абсурдно, но е вярно) както и повечето от средите за разработка. Visual C++ (VC++) е Микрософтската имплементация на C++ написана на познай какво . Доста езици и диалекти са построени на базата на C++ напр Java, C# и тн. Значи на мене поне ми изглежда доста "универсален".

Доколко е "конкурентен" един програмист зависи от него самия. Например ако искаш да пишеш бизнес приложения - трябва да знаеш .NET (VB.NET, C#) или сътветно J2EE(Java), ако искаш да пишеш дравери, операционни системи и т.н значи C++.

Ако въпроса ти е от какво ще изкарам повече пари ? Отговора е : от това в което си най-добър. За да разбереш трябва да пробваш ... може да се окаже, че не е програмиране.



Отговор
в отговор на Ozada4en #6

Re: VB ili VC++ ?

Кой е по-универсален? - формално погледнато, С/++ - просто защото на него може да се напише всичко, което не е вярно за ВБ. Има неща които могат да се направят на С но не и на ВБ, а няма такива за които да е вярно обратното.

Но това са общи приказки, правилния въпрос е кой е подходящият за целта.
Имаше един лаф че на С се пишели бързи приложения, а на ВБ приложения се пишели бързо - което си е така, но не значи че ВБ приложенията не са бързи. В огромното болшинство случаи те са напълно достатъчно бързи, просто защото бързината не е проблем - а това е единственото предимство на С за което се сещам.

В отговор на:


Без съществени познания по COM, Win32 API и C/C++ е почти невъзможно да се направи commercial quality приложение на VB6




Нищо подобно.
Т.е това е донякъде вярно, но изобщо не е нужно тия съществени познания да са твои собствени. За всичко което може да ти е нужно вече има готови примери и проекти, които с минимални усилия и познания може да пригодиш за собствени нужди. Доста често използвам код взет наготово, който си работи чудесно без изобщо да правя усилия да вникна в него.

Дали ВБ програмист е конкурентен в сравнение с С такъв? - Зависи за какво.

Ако работи сам за себе си или за клиенти - да, напълно. В общия случай да се напише нещо на ВБ изисква по-малко време и знания, което значи по-ниска цена и по-бързо изпълнение, обновяване и т.н

Дали е конкурентен при кандидатстване за работа в някоя фирма - тука май отговора е по-скоро не. Поне с такова впечатление оставам като гледам клуб програмисти, никога не съм работил във фирма.

Понякога пречка са и предразсъдъците, доста хора гледат с пренебрежение на ВБ без да знаят какво всъщност представлява, просто защото са чули нещо от 'специалист' - в общия случай, че ВБ не е 'сериозен' език.
С подобни предразсъдъци е учудващо трудно да се пребориш, защото фактите и логиката остава на заден план. По същия начин много хора считат Линукс за някаква изумителна и 'стабилна' ОС без да си задават въпроса защо на практика никой не я използва, включително и самите те.
Та от гледна точка на предразсъдъците, ВБ програмист губи.

Отговор
в отговор на microsoft #7

Re: VB ili VC++ ?

Удивително писание. ;о) С достатъчно думи - разказано почти всичко, както си е. ;о)

Спора за С++ и какво може да се пише с него... ;о))) Ами, аз преди време писах на VB6 една малка задачка. Май ставаше въпрос за ситото на Ератостен (по спомени). Програмчето е 9-10 реда, нищо "голямо" като проект, но с доста смятане в него. Цикъла сработваше сравнително добре, и с един професионален програмист на C - сравнихме програмите. Компилираното ЕХЕ от VB-то печелеше по време срещу C# с 4-5 секунди. След което той реши просто за показ да го направи на Native C. ;о))) Оттука вече за ракети и космически скорости няма да говоря.

Друг случай, който вече е може би съвсем нормален за университетите. Един познат започна висшето си образование, и там съответно ги "прекараха" по много езици. През две-три седмици тоз човек си сменяше мнението, и почваше с въодушевление да говори колко добър и колко готин бил тоз език, какво можело да се прави с него, и т.н. ... После преминаваше на същите думи, но на друг език... Докато накрая се изцепи, и каза че Асемблер е върха, и той ще пише отсега нататък само на Асемблер. ;о)

На практика познавах един много добър програмист на Паскал. Пише пише 20-30 реда код, по някое време изцепи в програмата си едно "Asm", и нататък - нищо не разчитах. ;о( ... Е, случва се.

Аз лично твърдо си държа на VB по много причини. Личните причини - защото него си го знам, и ако трябва да премина на друг език - ще ми трябва много време и усилия докато достигна поне това ниво, на което съм при VB. Писал съм на Basic от времето, когато беше ROM Basic. Минал съм през годините на развитие, и съм пробвал BasicA, QBasic, Turbo Basic, VB4DOS, VB1...VB6, VBA, и сега ми предстои преминаване към .NET... Просто Майкрософт нито за миг не изоставиха този език, и дори нещо повече - той е интегриран в MS Office, и се приема за стандарт навсякъде. Нивото на езика не е никак ниско, и мога да отговоря на остарелите разбирания, че на Basic се пишат само приложни програми ето така: "При съвременните ОС едва ли на някой НЕпроизводител на видео-карти ще му се наложи да пише драйвър. Хората купуват приложен софтуер. Ние трябва да го напишем.".


Щирлиц
Отговор
в отговор на microsoft #8

Re: VB ili VC++ ?

В отговор на:

Нищо подобно.
Т.е това е донякъде вярно, но изобщо не е нужно тия съществени познания да са твои собствени. За всичко което може да ти е нужно вече има готови примери и проекти, които с минимални усилия и познания може да пригодиш за собствени нужди. Доста често използвам код взет наготово, който си работи чудесно без изобщо да правя усилия да вникна в него.



И така copy/paste докато стигнеш 100k LOC? Пази боже някой да ползва това приложение :-)) Също, най-интересното е че snippet-и от vbnet имат leak-ове, да не говорим на какво ниво са PSC и подобни public source site-ове -- прави си сметка какъв big ball of mud се получава накрая.

Без COM и Win32 API нищо няма да стане commercial quality :-))

cheers,
</wqw>

Отговор
в отговор на wqw #9

Re: VB ili VC++ ?

Кakво е това 100к LOC?

Единствения критерий за commercial quality би трябвало да е commercial success.
Ако второто го няма, първото е без значение. Ако второто го има, първото е какво? - познахте, пак без никакво значение :)

commercial quality е просто словосъчетание без реален смисъл :), нещо или се продава (т.е е добро от гледна точка на потребителя), или не се продава.

Аз продавам (доста добре и при сериозна конкуренция) приложение което започнах като absolute beginner. Кода е ужасяваща боза, но си работи чудесно и никой не се оплаква. Сигурно има leak-ове и камара други недостатъци - но какво от това, ако потребителите не ги виждат?

Преследването на някакво съвършенство (код без leak-ове и т.н) е несъмнено огромна глупост от търговска гледна точка.

Отговор
в отговор на microsoft #10

Re: VB ili VC++ ?

Виж сега. "Едно нещо струва толкова, за колкото може да бъде продадено" - си е чисто търговски трик. Тук говорим като програмисти, а не като търговци само.

Да се оставя боза в кода - е равно на "не мога да актуализирам бързо програмата". Т.е. представи си сега, че си писал счетоводни модули, и тази година трябваше да обновяваш на всеки две седмици с нови и нови неща, които стават задължителни в нашето законодателство. Какво правим тогава? Хващаме се за палците, и казваме на счетоводителите да изчакат всички промени, щото така или иначе след две седмици пак ще се актуализират. Кода освен да работи - трябва да бъде четлив, добре структуриран, и да може да се пипат функции и процедури поотделно. В случая - работата с външни OCX контроли също е предимство - може да се прекомпилират поотделно.

Вариантите за едновременно хубава, добре работеща, и добре написана програма - са много. Много често съм връщал проект няколко нива назад, за да махна ненужни контроли, и с Фотошоп да сложа тук-там по някое GIF-че, и програмата става приятна за окото и без разни скинове, мърдащи менюта, подскачащи бутони и т.н. ... Въпрос на дизайнерска работа. Кода няма да обсъждам тук, прекалено ще се разводни темата.


Щирлиц
Отговор
в отговор на microsoft #11

Re: VB ili VC++ ?

LOC = lines of code -- една примитивна техника за определяне размер на проект. 100k = 100'000 и нека за целите на този разговор kilo е 10^3.

Ако LOC и commercial quality не ти говорят нищо значи имаме комуникационен проблем.

"Теорията" зад commercial quality е, че ако в твоята пазарна ниша се появи конкуренция, тя ще има "killer" приложение с commercial quality заострени зъби, докато твоето приложение което иначе "си работи чудесно" ще стане дивеч, в най-дория случай бяло пухкаво зайче :-))

Също, имай предвид, че "работи чудесно" е едно относително понятие. Ако си се сблъсквал със savvy потребители си имал "удоволствието" да наблюдаваш как драгоценното ти приложение става на пух и прах под техните double click-ове, убийствено бързо изпълнение на shortcut-и, feature request-и за макроси и прочее advanced техники.

Проста техника за избягване на big ball of mud "методологията" е да се спазват следните две директиви:
- оправяне на бъговете преди да се добавят feature-и
- constant refactoring
За целта трабва да си "в час" с определени design patterns -- поне да знаеш кое и в каква посока да рефакторираш :-))

Най-простият начин да "замериш" LOC на VB проект е да се свалиш find-all add-in-а от CCRP и да направиш "dummy" търсене (за dddd например). Накрая ще ти изпише "Searched xxx lines, ..."

cheers,
</wqw>

Отговор
в отговор на wqw #12

Re: VB ili VC++ ?

И смяташ ли, че след като изрече няколко чуждестранни думички случайно прочетени в някой PDF, си много оригинален в цялата тази история? Всичко е въпрос на собствен стил, който се гради с много практика и упорит труд. Това, че някой си IT философ в момент на видиотяване е написал тези умотворения вобще не означава, че трябва да се ръководиш от неговия завет. Всичко е въпрос на вкус, опит и желание!


Отговор
в отговор на wdr #13

Re: VB ili VC++ ?

А ти смяташ ли, че това може да стане флейм (на кирилица да не кажеш нещо за думичките)?!

Просто споделям както ти казваш "вкус, опит и желание". Според мен да пишеш commercial quality s/w на VB6 е много трудно. Затова хората ползват VC, щото е по-лесно -- звучи малко парадоксално :-))

cheers,
</wqw>

Отговор
в отговор на wqw #14

Re: VB ili VC++ ?

е, вече съм наясно с LOC - при мене е ~31000 (без коментари и бланк)
Премерих го с CodeSmart - бтв страхотна камара от туулз спестяващи маса време, навремето бях постнал линк в тоя форум.

commercial quality все още не ми говори нищо. Конкуренция с най-разнородни зъби се е появявала и изчезвала много пъти през последните 7 години, и в момента я има в доволни количества, но все още съм цял :) Сигурно при тях споменатото quality липсва в по-голяма степен :)

Успеха на едно приложение зависи от много фактори, и това което наричаш commercial quality е просто един от тях - далеч не най-важния.
Например позицията на сайта чрез който се продава едно приложение в search engines е нещо много по важно от quality-то на кода. Разбира се то все пак трябва да е на добро ниво - да няма крашове и логически грешки.
Стигнал съм до извода че за се продава едно приложение при силна конкуренция, е много важно да е интуитивно и лесно за използване и с добър хелп - ako юзера се запъне някъде, скача на следващото - ако се оправи, купува него. Да работиш в тази посока има много по-голям ефект, отколкото някакво имагинерно quality.

Иначе по принцип директивите звучат правилно на теория, ама..
- constant refactoring - ако наистина е constant нещо куца, значи първоначалния вариант е накаква ужасия, а и последващия refactoring не е много стока :). В едно приложение основния код е 15-20% и той трябва да е оптимизиран - останалото просто трябва да работи.
Нови feature-и могат да се добавят и без да се губи време в оправяне на съществуващи бъгове които възникват сравнително рядко и нямат съществено влияние в/у продажбите - друг вид бъгове просто не трябва да има.
Често пускам нови версии с new features тествани много сериозно само на ХР sp2 US/English default installation и донякъде на 2000 sp4, защото ~90% от хората купуващи програмата ползват това. Може да има много бъгове при non-English OS's, при 9.x/Me/2003 Server/х64 и т.н, обаче тях ги оправям в последствие, понякога след месеци. А някои просто ги зае$#@*№ защото фиксването им не е икономически оправдано.

Отговор
в отговор на microsoft #15

Re: VB ili VC++ ?

Ок, щом това работи за теб. Може и при мене да работи, но не знам -- никога не съм го пробвал.

В момента работим в/у 300k+ проект на VB6 и следим за GDI leak-ове на win9x -- стар навик, но много дисциплиниращо.

cheers,
</wqw>

Отговор
в отговор на wqw #16

Re: VB ili VC++ ?

добре де, каква ти е аудиторията? БГ или интернешънъл?
Каква ти е конкуренцията? Как те намират основно - с търсачки или по друг начин?
И защо се занимаваш толкова с 9.х (освен дисциплината :) ? При мене, през последните 6 месеца, регистрираните юзери с 9.х/Ме са ~= 5-6% . От моя гледна точка, изобщо не си струва специално да се занимавам с проблеми специфични за 9.х - за който не работи - не работи - просто ме отебава, аз нищо не му продавам, и толкова.

Не питам за да споря или да се заяждам, наистина ми е интересно да видя друга гледна точка. С какво смяташ че твоето приложение е по-добро от подобните му, от гледна точка на юзерите които го купуват? Те едва ли могат да оценят качеството на кода ...

Отговор
в отговор на Ozada4en #17

Re: VB ili VC++ ?

Po universalen ezik e VC++ 6.0.
S VC++ moje da se napravi vsichko koeto moje sus VB6.
S VB6 ne moje da se napravi vsichko koeto moje sus VC++ 6.0.
Tova obache koeto moje da se napravi sus VB6 obiknovenno (ne vinagi) stava po burzo otkolkoto sus VC++ 6.0.
Obiknovenno programisitite ne si izbiriat v kakva sreda da rabotiat, spored postanovkata na zadachata razlichni sredstva za razrabotka mogat da budat optimalni.
Po princip e dobre ako chovek zapochva da se uchi da programira i izbira dali da zapocne sus VC++ ili VB, moeto lichno mnenie e da zapochne sus VC++ i posle da se zapoznae sus VB.
Az lichno zapochnah purvo sus VB i posle minah na VC++ i goliam zor vidiah, obshto vzeto vse edno da se nauchish da karash kola avtomatik i posle da minesh na kola sus obiknovenna skorostna kutia.
VB e mnogo specifichen ezik, koito ima OOP poddrujka, no ako se zapochne sus VB ne stavat iasni osnovni neshta kak vsushtnost stvat, za tova e po dobre da se zapochne sus niakakva implementaca na C++ (naprimer VC++).
VB e naistina mnogo dobra sreda za razrabotka, no ako se zapochne sus VB, obiknovenno lesnotata na polzvane na VB predrazpolaga kun neusuznavane na tova kak stvat neshtata v deistvitelnost, i kogato se poiavi problem, tova ne poznavane na neshtata predrazpolaga kum zaobikaliane na problemite vmesto na ostranivaneto im, primeri za takiva workaroundi vuv VB moga da dam mnogo.
Vuv VC++ neshtata stavat po trudno i za da stane raboteshta programa obiknovenno programista triabvada osuznava v detaili kakvo se sluchva, koeto predrazpolaga kum po stabilen code sus techenieto na vremeto.
I nakraia smiatam che edin programist zanimaval se sus VC++ po lesno moje da se zapoznae sus VB v dulbochnia i da razbere preimushtestvata i nedostatucite na VB v sravnenie c VC++ po lesno.
Ako iskash detaili pishi, moga sushto da ti preporucham koi knigi sa dobri za VC++ i VB.

Отговор