Защо Delphi?
9 отговора
397 прегледа
Защо Delphi?
Обичайния въпрос, който си задава бъдещия Windows програмист е: Какъв език да уча? Въпрос, достоен за древногръцки философ. Именно пренасяйки се на древногръцка вълна, ще се постараем да изследваме добрите и лошите страни на един от най-забавните, атрактивни и мощни езици - Delphi.
Оставяйки настрана историческите детайли, официалните ръководства и откровенията на създателите му, Delphi впечатлява със следните факти:
- Наследи прекрасната поредица Turbo компилатори на Pascal, Turbo Vision, TPW и даде в ръцете на огромното количество почитатели на Borland едно отлично средство за разработка в Windows среда.
- Първата истински визуална платформа. Редактора на форми, Object Inspector и интегрираната среда направиха истински бум, давайки възможност за изключително бързо изграждане на интерфейса на една програма, и последстващо лесно добавяне на код.
- Даде възможност да се прескочи началното изучаване на "анатомията" на Windows и да се работи в една наистина "Borland" среда.
- Всички възможности за прилагане на чисто Windows трикове - hooks, WinAPI и т.н.
За програмиста, свикнал да изгражда интерфейс в DOS среда, е доста трудно да свикне с идеята че за една "Hello,world!" програма отиват към 100 реда код, че трябва да се грижи за това какво ще се случи ако потребителя затвори прозореца на приложението и други такива "безмислени" моменти... Не може да се отрича че това трябва да се научи, ако човек иска да бъде на "ти" с Windows. Само че както и M$ признава, за изграждане на един WinAPI програмист са нужни около 6 месеца - точно толкова колкото трябват и за научаване на MFC например. С Delphi този срок се смалява драстично - един добре запознат с Pascal програмист може да прави прилични приложения за Windows само след 2-3 седмици. Трябва да се отбележи, че разработчиците на Borland са изградили една среда, която "потапя" програмиста в "прозорците" постепенно, и то само докъдето той иска. Има твърде много програми, които използват единствено и само обектите и интерфейса на Delphi.
Това което поразява, е степента на завършеност на обектите в Delphi. Много задачи могат да бъдат свършени с просто присвояване, иначе казано с един ред код. Забавно е объркването на новоизпечения програмист, който се е блъскал над сложен проблем и открил, че решението е много по-елегентно, по-просто и по-кратко отколкото е очаквал. Класически примери са запис на масив от низове в текстов файл, присвояване на параметри /например шрифт/ на един елемет от друг с drag-and-drop, визуализиране на база данни в таблица и много други. Личи си, че екипа изработил йерархията и структурата на обектите е гледал много сериозно на задачата си. Крайния резултат е налице - кристален листинг и отличен резултат, спазвайки завета на Суворов: "Повече пот в учението, по малко код в програмата".
Интегрираната среда на Delphi е едно малко бижу. До болка е спазен принципа "Което виждаш, това и получаваш". Нагласяването на контролите по формите, свързването им една с друга и с кода доставя удоволствие, съпоставимо с ледена бира в горещ летен ден. Удоволствието се усилва от факта, че средата е отзивчива като френска любовница - всяка промяна на име /идентификатор/ се отразява навсякъде в кода, online help а е безупречен, a CodeCompletion технологията е нещо като шампанско с ягоди...
Това което е отлично за системно програмиране - message системата в Windows, е доста неприятна за класическо Application програмиране - вместо за кода си вие трябва да се грижите за едно гъмжило съобщения, събития и т.н. Delphi скрива неприятната част от работата и ви оставя да направите това, което само вие можете. От друга страна, Delphi ви оставя свобода да се намесвате навсякъде, където поискате. Тоест вие имате подръка една отлична секретарка, която върши черната работа без да мърмори, но и без да скрива нищо от вас, дори номера на сутиена...
Рано или късно всеки от нас ще поиска да бръкне по-навътре, или казано направо, ще му се наложи да ползва WinAPI. И отново приятна изненада - имате огромно количество предефинирани функции, с всички екстри на средата.
Мрежовите технологии - LAN и Internet - са отлично застъпени в Delphi. Мрежовите протоколи са реализирани с удобни за управление обекти. Лично аз написах първата си chat програма за един ден - тогава без да съм много наясно с тънкостите на TCP/IP. При това програмата беше доста прилична и удобна за работа. Е, доста попреписах от примерите, но с чиста съвест мога да заявя че схванах всеки ред. Оттогава съм имал доста случаи да ползвам TCP/IP с Delphi - винаги без проблеми. По същия начин стои и работата с Web - написах "кликарник" за 1 час. Моя славен "кликарник" реализира около 5000 клика за първия час от работата си и спести около 2-3 дена кликане за тест на банер-система.
Базите данни - мразени от едни и обичани от други - са доста добре застъпени в Delphi. Отминавайки BDE, ще кажа че с ADO Delphi е много сладък. С голямото количество обекти визуализирането на съдържанието и навигирането в една DB е доста забавно и приятно.
Трасирането в Delphi е безупречно, и поддържа всичко необходимо за капризния програмист - breakpoints, стъпково трасиване, watch променливи. Трудно е да се прецени какво още може да се поиска - освен прехващащ на логически грешки може би...
Едно от нещата които се струват трудно обясними на предубедения бъдещ разработчик - типизирането на променливите, върши прекрасна работа. И наистина, когато напишете оператор за присвояване, Delphi е достатъчно интелигентен да предлага само свойствата и променливите от съвместим тип. Казано образно, средата ви предлага само правилните възможности за присвояване - особенно ценно, ако се има в предвид че това е най-честата операция в Delphi.
Редактора предлага няколко много мощни средства - прескачане в дефиницята на дадена процедура или функция независимо в кой модул е дефинирана, скок от интерфейса в имплементацията на подпрограма, балонна помощ при трасиране, CodeExplorer с който навигацията в кода е изключително лесна.
Разработването и използване на компоненти в Delphi е много удобно - VCL и ActiveX са еднакво достъпни за създаване и прилагане. Освен това готов код може да се разпространява и като Units. Има огромно количество примери в Мрежата, както и много хора които ще ви подадат ръка в труден момент.
Можем още много да говорим за хубавите страни в Delphi - обектно-ориентирано програмиране, разработване на приложения в екип, огромно количество компоненти и т.н. За съжаление Delphi има и една леко неприятна страна - той оставя впечатление че Windows е среда, в която програмирането е песен. Горчивата истина лъсва когато се наложи системно програмиране - и човек се сблъсква с тежкия, отблъскващ WinAPI ...
В крайна сметка, ако пред вас стои въпроса - какъв език за програмиране под Windows да науча? - един от примамливите отговори е Delphi. С прекрасната среда, отлични възможности, светкавичен компилатор, чист код, развити обекти и йерархия той е попадение в десетката. Или дори в единайсетката...
чети и дишай по-леко
Оставяйки настрана историческите детайли, официалните ръководства и откровенията на създателите му, Delphi впечатлява със следните факти:
- Наследи прекрасната поредица Turbo компилатори на Pascal, Turbo Vision, TPW и даде в ръцете на огромното количество почитатели на Borland едно отлично средство за разработка в Windows среда.
- Първата истински визуална платформа. Редактора на форми, Object Inspector и интегрираната среда направиха истински бум, давайки възможност за изключително бързо изграждане на интерфейса на една програма, и последстващо лесно добавяне на код.
- Даде възможност да се прескочи началното изучаване на "анатомията" на Windows и да се работи в една наистина "Borland" среда.
- Всички възможности за прилагане на чисто Windows трикове - hooks, WinAPI и т.н.
За програмиста, свикнал да изгражда интерфейс в DOS среда, е доста трудно да свикне с идеята че за една "Hello,world!" програма отиват към 100 реда код, че трябва да се грижи за това какво ще се случи ако потребителя затвори прозореца на приложението и други такива "безмислени" моменти... Не може да се отрича че това трябва да се научи, ако човек иска да бъде на "ти" с Windows. Само че както и M$ признава, за изграждане на един WinAPI програмист са нужни около 6 месеца - точно толкова колкото трябват и за научаване на MFC например. С Delphi този срок се смалява драстично - един добре запознат с Pascal програмист може да прави прилични приложения за Windows само след 2-3 седмици. Трябва да се отбележи, че разработчиците на Borland са изградили една среда, която "потапя" програмиста в "прозорците" постепенно, и то само докъдето той иска. Има твърде много програми, които използват единствено и само обектите и интерфейса на Delphi.
Това което поразява, е степента на завършеност на обектите в Delphi. Много задачи могат да бъдат свършени с просто присвояване, иначе казано с един ред код. Забавно е объркването на новоизпечения програмист, който се е блъскал над сложен проблем и открил, че решението е много по-елегентно, по-просто и по-кратко отколкото е очаквал. Класически примери са запис на масив от низове в текстов файл, присвояване на параметри /например шрифт/ на един елемет от друг с drag-and-drop, визуализиране на база данни в таблица и много други. Личи си, че екипа изработил йерархията и структурата на обектите е гледал много сериозно на задачата си. Крайния резултат е налице - кристален листинг и отличен резултат, спазвайки завета на Суворов: "Повече пот в учението, по малко код в програмата".
Интегрираната среда на Delphi е едно малко бижу. До болка е спазен принципа "Което виждаш, това и получаваш". Нагласяването на контролите по формите, свързването им една с друга и с кода доставя удоволствие, съпоставимо с ледена бира в горещ летен ден. Удоволствието се усилва от факта, че средата е отзивчива като френска любовница - всяка промяна на име /идентификатор/ се отразява навсякъде в кода, online help а е безупречен, a CodeCompletion технологията е нещо като шампанско с ягоди...
Това което е отлично за системно програмиране - message системата в Windows, е доста неприятна за класическо Application програмиране - вместо за кода си вие трябва да се грижите за едно гъмжило съобщения, събития и т.н. Delphi скрива неприятната част от работата и ви оставя да направите това, което само вие можете. От друга страна, Delphi ви оставя свобода да се намесвате навсякъде, където поискате. Тоест вие имате подръка една отлична секретарка, която върши черната работа без да мърмори, но и без да скрива нищо от вас, дори номера на сутиена...
Рано или късно всеки от нас ще поиска да бръкне по-навътре, или казано направо, ще му се наложи да ползва WinAPI. И отново приятна изненада - имате огромно количество предефинирани функции, с всички екстри на средата.
Мрежовите технологии - LAN и Internet - са отлично застъпени в Delphi. Мрежовите протоколи са реализирани с удобни за управление обекти. Лично аз написах първата си chat програма за един ден - тогава без да съм много наясно с тънкостите на TCP/IP. При това програмата беше доста прилична и удобна за работа. Е, доста попреписах от примерите, но с чиста съвест мога да заявя че схванах всеки ред. Оттогава съм имал доста случаи да ползвам TCP/IP с Delphi - винаги без проблеми. По същия начин стои и работата с Web - написах "кликарник" за 1 час. Моя славен "кликарник" реализира около 5000 клика за първия час от работата си и спести около 2-3 дена кликане за тест на банер-система.
Базите данни - мразени от едни и обичани от други - са доста добре застъпени в Delphi. Отминавайки BDE, ще кажа че с ADO Delphi е много сладък. С голямото количество обекти визуализирането на съдържанието и навигирането в една DB е доста забавно и приятно.
Трасирането в Delphi е безупречно, и поддържа всичко необходимо за капризния програмист - breakpoints, стъпково трасиване, watch променливи. Трудно е да се прецени какво още може да се поиска - освен прехващащ на логически грешки може би...
Едно от нещата които се струват трудно обясними на предубедения бъдещ разработчик - типизирането на променливите, върши прекрасна работа. И наистина, когато напишете оператор за присвояване, Delphi е достатъчно интелигентен да предлага само свойствата и променливите от съвместим тип. Казано образно, средата ви предлага само правилните възможности за присвояване - особенно ценно, ако се има в предвид че това е най-честата операция в Delphi.
Редактора предлага няколко много мощни средства - прескачане в дефиницята на дадена процедура или функция независимо в кой модул е дефинирана, скок от интерфейса в имплементацията на подпрограма, балонна помощ при трасиране, CodeExplorer с който навигацията в кода е изключително лесна.
Разработването и използване на компоненти в Delphi е много удобно - VCL и ActiveX са еднакво достъпни за създаване и прилагане. Освен това готов код може да се разпространява и като Units. Има огромно количество примери в Мрежата, както и много хора които ще ви подадат ръка в труден момент.
Можем още много да говорим за хубавите страни в Delphi - обектно-ориентирано програмиране, разработване на приложения в екип, огромно количество компоненти и т.н. За съжаление Delphi има и една леко неприятна страна - той оставя впечатление че Windows е среда, в която програмирането е песен. Горчивата истина лъсва когато се наложи системно програмиране - и човек се сблъсква с тежкия, отблъскващ WinAPI ...
В крайна сметка, ако пред вас стои въпроса - какъв език за програмиране под Windows да науча? - един от примамливите отговори е Delphi. С прекрасната среда, отлични възможности, светкавичен компилатор, чист код, развити обекти и йерархия той е попадение в десетката. Или дори в единайсетката...
чети и дишай по-леко
Re: Защо Delphi?
Това да не е статия за Delphi сайта?
Go on, prove me wrong. Destroy the fabric of the universe. See if I care.
Go on, prove me wrong. Destroy the fabric of the universe. See if I care.
Re: Защо Delphi?
Аха... малка провокация към творческото, критическото и т.н. мислене към бъдещите автори.
чети и дишай по-леко
чети и дишай по-леко
Re: Защо Delphi?
Добре е да наблегнеш на предимствата му пред главните му конкуренти.
И да кажеш нещо за новите технологии в Delphi 6.
Иначе е добре!
Go on, prove me wrong. Destroy the fabric of the universe. See if I care.
И да кажеш нещо за новите технологии в Delphi 6.
Иначе е добре!
Go on, prove me wrong. Destroy the fabric of the universe. See if I care.
Re: Защо Delphi?
За съжаление аз работя с Delphi 5. И не мога да пиша за неща които не съм изпитал... А целта е да подтикна другите да пишат за това, което те знаят. Една птичка пролет не прави...
чети и дишай по-леко
чети и дишай по-леко
Re: Защо Delphi?
Shte ima... statiata e prepisana ot saita koito chlenovete na tozi forum praviat. Adresa e www24.brinkster.com/emildimitrov/delphisite.asp . Zasega e bedno, no zapochva... Ako mozesh da pomignesh, pishi ili se svurzi s men na ICQ - imam gi v profileto.
чети и дишай по-леко
чети и дишай по-леко
Re: Защо Delphi?
Изглежда добре!
Наистна не съм работил много с делфи, но все пак си мисля, че производителността на труда с него е ниска.
Имам предвид че създаването на сериозна и работеща програма отнема доста време на програмистите.
Аз основно използвам VB и смятам че той има всички предимства, които изброи по-горе, а освен това се работи по-бързо.
Наистна не съм работил много с делфи, но все пак си мисля, че производителността на труда с него е ниска.
Имам предвид че създаването на сериозна и работеща програма отнема доста време на програмистите.
Аз основно използвам VB и смятам че той има всички предимства, които изброи по-горе, а освен това се работи по-бързо.
Re: Защо Delphi?
Щом смяташ така значи VB е по-добър избор за теб. Когато осетиш, че с него не можеш да си вършиш добре работата можеш да преминеш на Delphi.
Go on, prove me wrong. Destroy the fabric of the universe. See if I care.
Go on, prove me wrong. Destroy the fabric of the universe. See if I care.