Visaul Basic vs Delphi.

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

Visaul Basic vs Delphi.

Здрвейте

Трябва да науча един Visual език и се колебая м/у
Deplhi и VB6 (или може би .NET). Според мнението на много
хора разбирам, че Delphi е най-добро (включително и пред VC++).
Съотношението му производителност / трудност е отлично.
Работи се лесно като с VB и е мощен като VC++.
Прав ли съм и бихте ли изброили плюсовете на Deplhi спрямо
VB. Единствения голям + за VB e, че се работи много приятно
и има куп хубави книги за него. За Делфи не можах да открия
хубава книга с примерни програми и кратки и ясни обяснения.
Потърсих в free сървърите и намерих само Delphi developers guide.
Има и Mastering Delphi, но е към 10 MB и не знам дали си струва
да я дръпна.
Аз програмирам PICmicro и имам нужда да събирам и изпращам дании
от PC-то към микроконтролера и обратно по RS232. Трябва ми
книга, която да засяга и този проблем. Можете ли да препоръчате
хубава книга за Делфи, както и примерни програми в интернет за
RS232.

______
Adios
Mozfet

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

Ще ти отговоря кратко...

но подозирам, че и друг път ще си пишем.
1. Разсъжденията от първата част на поста (сравнението м/ду компилаторите) ти са по-верни от тези във втората (наличната литература). За начало на Делфи има много хубави книги на хартиен носител, а е добре да имаш поне една.
2. За връзка по RS - това е много приложен проблем и едва ли ще го намериш по книгите. Във форумите често има примери (портовете приличат на файл и обикновено така се ползват), а и има доста компоненти за работа с портове, някои от тях фрии и с примери.

3. МОЖЕ БИ НАЙ-ВАЖНОТО. Като решеваш какво да изучиш е добре да си представиш за каквои ти трябва. Като те слушам (и имам нужда да събирам и изпращам дании от PC-то към микроконтролера и обратно по RS232) не ти е много ясно. Имам предвид, че може би ти ще искаш да събираш хронологични данни от твои устройства, да ги натрупваш, да ги обработваш и да ги извеждаш (таблици, графики, принтер). Ако работиш сам (за себе си, без голям колектив) ТОВА НЕ Е ЕФЕКТИВНО, ще трябва да изучиш много книги:).
Ако си добър на PIC-овете и правиш по 2-3 проекта на година, не си мисли, че езика от високо ниво ще ти помогне да станеш по-ефективен. Намери си програмист, а ти изучи още 2-3 процесора, за да сте по-ефективни двамата.

4. Всеки компилатор си има и цена. Струва пари. Помисли и по тоя въпрос :)

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

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

А и да не забравяме...

VB SUX

Whenever you find yourslef on the side of the majority, it is time to reform.
~Mark Twain
Отговор
в отговор на Mozfet #4

Re: Visaul Basic vs Delphi.

NikB е АБСОЛЮТНО прав. Embedded софтуеристите са кът и ако ти си такъв, не се пропилявай по GUI. Аз също като теб пиша embedded и мога да ти дам следния съвет:
1. Ако можеш, не го пиши ти.
2. Ако досега си писал на C, ползвай VC или още по-добре JBuilder.
3. Ако искаш да напишеш само някакъв монитор / конфигуратор за пошибалка с PIC, ползвай VB - има вграден компонент за RS232.
4. Ако искаш да ползваш Delphi, работата с файлове е трудна за начинаещи. Ще трябва да ползваш допълнителен компонент ( аз ползвам Async32 ) и да се научиш как да го инсталираш. Всъщност това е начинът, по който работя и аз.
5. Ако някой те обърка повече от мен, ще ти пиша пак ( майтап ).

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

Re: Visaul Basic vs Delphi.

Пич, вградения компонент е MSCOMM32.OCX, има го в system32 директорията и няма никакъв проблем да се ползва от Delphi чрез Component/Import ActiveX Control. Така че ако това е причината да ползваш VB, можеш да си щастлив
Истинското преимущество на VB е че е с пъти по-разпространен, съответно като примери и информация в нета. Често пъти аз търся примери за VB (обикновенно за Win32, ActiveX и т.н.) и ги преписвам за Delphi - спестява ужасно много време.

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

Re: Visaul Basic vs Delphi.

Hi.

Образованието е инж. по автоматика и като такъв съм длъжен да разбирам от:
- автоматизация
- програмиране
- електроника
- комуникационна техника

Всеки мой проект се състои от тези 4 компонента и ако се следва тази остаряла схема, която се пропагандира в нашите така наречени елитни университети, трябва да си наема един инж. по електроника, един по комуникации и един програмист, а аз като координатор отстрани само да нареждам кой какво да прави. Е да, но се съмнявам че в някоя фирма ще се нуждаят от такъв палячо. Преди време попаднах на една обява за работа на американска фирма за embedded internet solutions, в която се казваше, ако сте млад дипломиран инженер и можете да завършите един проект от начало до край ще се радваме да работите за нас. Но ако имате диплома и не можете самостоятелно да реализирате проекта до последната спойка и последния ред сорс, то се върнете във ВУЗ-а и учете още 5 години. Нямам намерение да работя за чужди икономики, защото мисля че България има нужда от хора като мен, но това показва как се работи там.
Инженерите по автоматика са много добри програмисти, защото те най-много зависят от програмирането. Имам няколко (горе - долу 4) години опит с какви ли не компилатори: Pascal, Basic, C, ASM за PIC & Motorola, Ladder diagram и Statement list за PLC-тата на Siemens & Omron.
Както се вижда, в колекцията липсва само Visual език. Имам един свободен месец, в който трябва да получа добра основа. Говоря само за солидна основа, без да навлизам на дълбоко. При нужда винаги може да се задълбае.
При съвременното ниво на улеснения и автоматизация в програмирането би било чиста проява на мързел от моя страна, ако не науча VB6 или Делфи.
Вече пуснах една програма, написана на VB6, за обмен на данни м/у PIC & PC. Без да имам никакъв опит с Visual, само с помощта на една много добре написана статия от 12 стр., основните идеи ми се изясниха. Организирането на една такава програма отнема не-повече от 30 мин. (говоря за съвсем простичка). На Делфи би трябвало да отнеме същото време, тъй като разбрах, че и при него има аналогичен на Майкрософтския модул MSComm.
Работя сам за себе си. Е заслужава ли си да търся програмист, на който ще ми отнеме повече време да му обясня какво ми трябва, отколкото сам да си го направя и така, както на мен ми харесва. Не знам дали в Сф сме узрели за работа в екип, според мен така се работи в концерните. Тук е най-добре да не зависиш от никой по никакъв начин, защото всеки почва да раздува балона: "ама това е много сложен проблем, ще ми отнеме много време за да го проуча, пък и няма да е хич евтино" и т.н.
Знам, че всеки са пази хляба, но нещата не са никак сложни. И ти би могъл да пишеш за PICs, aко си на ти с електрониката, защото нещата са доста сходни. Ако имаш предишен опит и поглед над нещата можеш да се движиш дори по интуиция.
Всъщност точно това искам:
"Имам предвид, че може би ти ще искаш да събираш хронологични данни от твои устройства, да ги натрупваш, да ги обработваш и да ги извеждаш (таблици, графики, принтер)."
Но най-важното е да мога да изобразявам как протича даден процес във времето, т.е. по Х имам времето, а по У величината, която измервам. Екрана се придвижва заедно с времето. Нещо като осцилоскоп, но екрана се движи заедно с времето.
По въпроса за научаването на нови микроконтролери, това си е чиста загуба на време. Microchip са най-добите, имат повече от 100 модела , с размери от 5х5 мм с 6 извода до гиганти с по 120 извода и почти неизчерпаем запас на памет и RAM. Те са като Нокиа, занимават се само с това и затова са най-добри. С dsPIC-овте им пък можеш да обработваш говор и изображение в реално време.
Аз дебугвам сорсовете най-често на високо ниво, въпреки че ми е интересно да гледам как се развиват нещата и на ниво ASM.
Посетих пл. Славейков и единствената книга за Делфи е Mastering Delphi 6 . Струва 30 лв. и не знам дали си заслужава крупната сума, защото един приятел си я беше купил и каза, че не му върши работа, защото там нещата са описани с уговорката, че си наясно с Object Pascal. Така ли е? Ще ми свърши ли работа тази книга? Препоръчайте конкретни заглавия на хубави книги.
Как е форума за Delphi на сайта на Borland? От личен опит знам, че най-много се учи от форумите.

_____
Adios
Mozfet

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

Re: Visaul Basic vs Delphi.

Гледам, че имаш познания по паскал. Ако имаш и някаква идея за принципите на обектно ориентираното програмиране - mastering delphi ще ти свърши работа. Аз съм доволен от книжките на Марко Канту. На сайта му има и онлайн книжка за програмиране с делфи ([линк] и [линк]). Тука има разни книжки за делфи, ключително и MD - може да ги разгледаш и яко ти върши работа да си я купиш.

Отговор
в отговор на Mozfet #8

Re: Visaul Basic vs Delphi.

Относно книгите - погледни в темата която е най-отгоре - ще намериш каквото ти трябва - ако някой не го е изтрил - ако не - пиши на лични - мисля, че мога да ти помогна.
Относно средата - ако не ти прави особенно впечетление езика(т.е. ако не държиш на VB особенно) - а както виждам си се занимавал с доста неща - мисля, че ще намериш доста добри неща в Object Pascal-a. Също много неща има в news group- ите на борланд - не е точно форум - но пък е по удобно за писане. Другото нещо което ще имаш възможност да ползваш са многото компоненти които има направени за Delphi - не че няма също така и за VB. Като цяло ми е трудно да направя сравнение между двете - защото ти не тъсиш - и може би няма да ползваш онова което при Delphi е съществения плюс ;-)))

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

---
Отговор
в отговор на Mozfet #9

Re: Visaul Basic vs Delphi.

Хайде и аз да кажа. (Дето всички турци там и гол Хасан ).
Mastering Delphi 6 - Да. Купи си я. Ако намериш Mastering Delphi 4 по-добре си купи нея а най-добре и двете .
По въпроса за работа с периферия нищо не пише нито в Mastering Delphi X нито в другите книжки , но за сметка на това има достатъчно компоненти за Com порт, паралелен порт и т.н.

"Имам няколко (горе - долу 4) години опит с какви ли не компилатори: Pascal, Basic, C,"

- ами тогава качи си Delphi, VB и VC++ i , направи "Hello World" и на трите и избирай.

Последен съвет за избора. Забрави за обмена на данни - това е най-лесното и най-малкото като обем нещо. При избора преценявай, какво ще правиш данните след като ги вземеш .

----------
По склона към връх Фудзи плахо пълзи охлюв към самото небе.
Отговор
в отговор на Mozfet #10

Имам желание да напиша по-дълъг отговор, ...

но нямам време :)
Виж, аз съм завършил преди почти 20г и програмирам (от по-съвременните) на Pascal, VB, Delphi, MySQL и уча PHP, до преди 2-3 години програмирах (проектирах) на Motorola, Intel, Pic (от 1994, първия си ProPic го купих от Германия:). Навремето дори сам си проектирах печатните платки :).
Най-големите ми проекти с процесори са на 80C552 (около 20000 реда) и 68HC11 (около 15000 реда). Последната ми разработка с процесори беше на PIC - за жетонните автомати на БТК.
Това беше преди :)
Напоследък програмирам основно под Windows и не се занимавам с процесори - с тях се занимават мои колеги, с които работим заедно (като отделни фирми). Понякога пиша и за инцидентни възложители.
Абсолютно съм уверен, че малки неща могат да се направят от-до, но също така съм уверен, че сериозен проект не може да се реализира ефективно по този начин. Като доазателство ще ти кажа, че напоследък аз почти не контактувам с крайни клиенти - работя само като подизпълнител. Ако фирмите, на които съм подизпълнител, разсъждаваха като теб - аз щях да умра от глад. А в тези фирми колегите не са по-некадърни от мен и ако решат могат сами да си напишат всичко. Е колегите понякога си правят сами демотата, но и това не е винаги.
Та, бъди уверен, аз с теб нямам какво да деля и въобще не се притеснявам, дори напротив - с удоволствие ти отделям от времето си. Навярно и останалите колеги от форума приемат така ситуацията.

Желая ти късмет и с удоволствие ще помагам, ако мога :)

Отговор
в отговор на NikB #11

Re: Имам желание да напиша по-дълъг отговор, ...

Hi.

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

До тук с философските размисли.

Разбирам ,че някои от вас са работили на VB6 и в последствие са се прехвърлили на Делфи. Въпроса ми е защо са го направили? Доволни ли са от замяната на платформата и какво конкретно са получили в повече от тази замяна. Имам предвид казвали ли сте си някога: “ето тази програма се получи много елегантно с Делфи, и ако си бях стоял на VB, тя нямаше как да стане, или щеше да стане, но много трудно, поради ограниченията на VB”. Опитвам се да разбера да каква степен VB6, е остарял и ограничен компилатор по сравнение с Делфи, или може би разликата не е толкова голяма и дори е малка?
Защото, наистина съм впечатлен от съпорта на VB6. Например в programmers heaven, примерите за VB6 са напъти повече в сравнение, с който и да било друг компилатор. А съпорта е от голямо значение. Ако това е най-лекия начин за работа, както казва Commercial, тогава защо да прехвърлям програмите от VB6 към Делфи? Нека направо си работя на VB6.
Коментирайте, моля.

_____
Adios
Mozfet

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

Така поставен, въпросът заслужава отделен пост

Цитирам: Разбирам ,че някои от вас са работили на VB6 и в последствие са се прехвърлили на Делфи. Въпроса ми е защо са го направили?
Тук, в едно клонче на друга тема, не е много удобно да се дикутира такъв фундаментален въпрос. Съветвам те да постнеш нова тема.


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

Re: Имам желание да напиша по-дълъг отговор, ...

Едва ли повечето са се прехвърлили...
Ето и кратко съпоставяне на двата езика, което може да ти е от полза:
Визуална среда (за класическо Win програмиране) - средата на Delphi е около 2 пъти по-добре развита. Имам предвид че самите контроли са с много допълнителни функции, които спестяват ужасно много време и код. Един пример - работата с текстови файлове. Записа и четенето от текстов файл в Delphi е вградено и става с един ред, докато за VB трябва да се пише допълнително. Такива примери има хиляди. Освен това кода за контролите се редактира умно - при VB смяната на едно име на контрола означава смяната на това име във всички референции в контроли.
Програмиране от ниско ниво - в Delphi огромната част от Win32 функциите и константите са предефинирани, във VB трябва да се дефинират преди използване. Не е проблем, ама се губи време Освен това в Delphi има вграден асемблер, който помага често.
Бързодействие, компилиране и дистрибутиране (разпространение на готовия продукт). Тук Delphi-то е светлинни години напред - единствено по отношение на инсталаторите може да се спори, но там разликата е малка.
Web девелопмент, бази данни, COM обекти, библиотеки и т.н. - нещата при Delphi са по-добре разработени, спестяват много време и нерви при откриване на топлата вода.
Документация, примери и т.н. - тук безспорен победител е VB-то. Примерите за него (включвайки MSDN) са с пъти повече и по-грамотно написани. Цялото предимство обаче се изпарява когато сравниш пример на VB и Delphi код - в общия случай Delphi кода е 2 пъти (в някои случаи много пъти) по къс и ясен (причините са по-горе)
В заключение може да се каже, че с Delphi се почва и се завършва по-добре - езика е добро съчетание от най-добрата засега визуална среда и възможност за огромен контрол върху кода.
Несъмнено превъзходство на VB е разпространението (за света като цяло), примерите, документацията и още един огромен плюс - научаването му дава предимство в писането на макроси за MS Office (VBA), сървърни скриптове (ASP), клиентски скриптове за IE (VBScript) и цяла плеяда подобни реализации.

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

Re: Имам желание да напиша по-дълъг отговор, ...

Моето скромно мнение, е че езика няма значение - важното е да имаш многоооо-годишен стаж, опит в най-различни (желателно завършени :) проекти.

В един момент нататък, започваш да се интересуваш повече от начина на реализация, чисто абстрактно, а после вече съчиняваш сътветната констркуция било то на VB6 или Delphi.

Много (ама наистина) години съм работил на Delphi, съчетано с WinAPI, assembler и т.н. И в един момент, преди около година се наложи да пиша на VB6. Трудно и гадно в началото, но в последствие започваш да не обръщаш внимание на тъпата и досадна среда, на ограниченията и неудобствата която тя ти налага. Започваш да се концентрираш върху алгоритми, таблици, SQL (той си е винаги еднакъв:) и т.н...

Така че, да не ти пука. Ако имаш време, почопли малко Delphi. Ако ли не, когато ти се наложи да се занимаваш с него, се хвърляш смело в дълбокото и го научаваш :)

---
...и аз пиша на кирилица!
Отговор
в отговор на Mozfet #15

Re: Имам желание да напиша по-дълъг отговор, ...

Аз лично не пиша нито на Delphi, нито на VB6.
Преди пишех на VB6, но сега (от доста време) съм на C++ Builder.
Странно защо никой не го спомена, явно не се ползва много в България...
Предимствата на C++ Builder спрямо Delphi са няколко, ето 2: ако знаеш C, но не знаеш Паскал, можеш да си пишеш на C; всички Win32 функции можеш да си ги #include-неш, докато на Delphi някои трябва да ги декларираш една по една. Иначе Delphi и C++ Builder са 1:1 като възможности.

Основен недостатък според мен във VB6 е липсата на multi-threading, това може да пречи много в някои случаи...
Едно забавно предимство на VB6 пред Delphi/C++ Builder - можеш да си кръщаваш контролите с имена на кирилица... (примерно имам едно меню архив, и като се натисне се изпълнява събитието архив_Click)


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

Predlojenie

Da 4etesh knigi za Delphi e zaguba na vreme za nachinae6tiq spored mnogo programisti(az sym s malko po-osobenno mnenie). Ako az bqh na tvoe mqsto, bih napravil slednoto:
1. V BG 6te nameri6 dostaty4no hora, s koito na obmenni na4ala(obmen na znaniq) moje6 da napravi6 nqkolko projecta.
2. Sled kato projectite sa ti gotovi ti ve4e 6te znae6 to4no vyrhu kakvo da se sysredoto4i6 v programiraneto(a moje bi 6te si haresa6 partnior v rabotata)
A otnosno diskusiqta Delphi ili VB az zalagam tvyrdo na Delphi. Dostaty4no e diskutirano na temata, taka 4e nqma da privejdam i az argumenti.

A sega i edin li4en vypros - kyde moga da pro4eta malko pove4e za PIC Microchip?

P.S. Ako vse pak tyrsi6 knigi za Delphi drasni mi na mail-a ili tuk. 6te te naso4a

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

PICMicro

На сайта на Microchip има много добра документация - спецификации, примери и какво ли още не. Хората са си добрички и можеш да си поръчаш и CD. Малко по-бързо и по-сигурно е да си го купиш от предтавителите им (в България това са Комет. Имат магазини в София и Пловдив) или ако си от Пловдив ми прати бележка - ще ти подаря едно :)

Ако си начинаещ и те интересува какво предтсвлява по принцип един PIC си дръпни от сайта им DataSheet-а на PIC12F509 или на PIC16F84... Това са малко старички процесори, но са по-простички :)

Отговор