Отворен програмиÑÑ‚ ли Ñи ?
Хората в Ð½Ð°ÑˆÐ¸Ñ Ð·Ð°Ð½Ð°ÑÑ‚ аз ги Ð´ÐµÐ»Ñ Ð½Ð° два типа – едните Ñа иÑтинÑките „програмиÑти“ (или по-широкото понÑтие „разработчици“), и хора, които проÑто това работÑÑ‚ (да ги наречем „невдъхновени Ñлужители“). Предполагам, че не Ñамо в нашата профеÑÐ¸Ñ Ðµ така, но вÑе пак аз като Ñтереотипен инжинер трудно виждам отвъд моето Ñи блато. Ðали е излишно да казвам, че Ð½Ð°ÑˆÐ¸Ñ Ð·Ð°Ð½Ð°ÑÑ‚ е по-оÑобен, защото нещата Ñе развиват много бързо, и трÑбвада Ñе учи поÑтоÑнно. Много малко от нещата, които Ñа били актуални преди деÑет години, Ñа актуални Ñега (разбира Ñе, Ð³Ð¾Ð²Ð¾Ñ€Ñ Ð½ÐµÑ‰Ð°Ñ‚Ð° Ñ Ð¿Ñ€Ð°ÐºÑ‚Ð¸Ñ‡ÐµÑка наÑоченоÑÑ‚, теоретичните иÑтини Ñа „вечни“). Поне половината неща от преди две години Ñа актуални Ñега. Което означава, че и ние трÑбва да Ñе развиваме ÑÑŠÑ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñщата Ñе Ñреда, за да Ñме актуални на пазара, и на ÑитуациÑта в коÑто Ñе намираме. Ето затова и питам, ти отворен програмиÑÑ‚ ли Ñи ?
ИзумÑвам Ñе колко мързеливи, или неправилно мотивирани може да Ñа хората, или проÑто защо Ñа чаÑÑ‚ от Ñивата маÑа на „невдъхновените“ Ñлужители, които проÑто го работÑÑ‚ това, и малко ги интереÑува какво Ñтава навън, и как Ñе развива Ñвета около Ñ‚ÑÑ…. Да започнем Ñ Ð¿Ð¾-меките примери и въпроÑи, и поÑтепенно ще преминем към по-фрапиращите. ФокуÑÑŠÑ‚ ми ще падне главно върху уеб разработчиците, Ñ ÐºÐ¾ÐµÑ‚Ð¾ Ñе извинÑвам на вÑички други, които Ñе впиÑват под термина „програмиÑÑ‚“, които Ñъщо заÑлужават внимание, но пък аз нÑмам толкова опит там.
За начало, колко от Ð²Ð°Ñ Ñа решили да екÑпериментират Ñ Ð´Ñ€ÑƒÐ³ тип платформа за работа ? Примерно да Ñте решили да Ñкочите от PHP на Ruby, или от Perl на Python. Ðко не решите да екÑпериментирате, как ще разберете дали нÑма по-добър начин за правене на нещата ? Или ако не по-добър, то поне по-различен … защото понÑкога решаването на проблема лежи в опита който имате натрупан алтернативно, и Ñ€Ð°Ð´Ð¸ÐºÐ°Ð»Ð½Ð¸Ñ Ð¿Ð¾Ð³Ð»ÐµÐ´ от друга гледна точка почти винаги помага.
Ропитвали ли Ñте актуалните и обÑъждани в момента Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ? Примерно опитвали ли Ñте rapid development Ñ CakePHP или CodeIgniter ? Разглеждали ли Ñте популÑрни Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ°Ñ‚Ð¾ например Symfony, което Yahoo ползва за Ñайтове като Yahoo Bookmarks и от Ñкоро Delicious? Или Ñравнително Ð½Ð¾Ð²Ð¸Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚ Zend Framework, в който Zend вкарват толкова много уÑилиÑ, и Ñе опитват да наложат като „платформата“ за разработване на уеб Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ? Ðми по принцип интереÑували ли Ñте Ñе за огромното количеÑтво „рамки“ (абе „frameworks“ … имаше купешка дума за това на българÑки, но не Ñе Ñещам Ñега), които Ñа в момента, които Ñа Ñъбрали нÑкакво популÑрноÑÑ‚ до една или друга Ñтепен – примерно Akelos и SolarPHP, или обещаващ, но позабравен проект като WACT ? Ð’Ñичките Ñа токова различни, и решават различни проблеми по толково различни начини, вÑеки Ñ Ð¿Ð»ÑŽÑовете и минуÑите Ñи, че непременно ще Ñъберете огромен арÑенал за торбата Ñ Ñ…Ð¸Ñ‚Ñ€Ð¾Ñтите, дори и да не използвате Ð´Ð°Ð´ÐµÐ½Ð¸Ñ framework като оÑновна Ñреда за работа по проектите Ñи.
Разглеждали ли Ñте популÑрни готови Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ Ð¾Ñ‚Ð²Ð¾Ñ€ÐµÐ½ код ? Ðз Ñупер Ñи изумÑвам нÑкой в нашата профеÑиÑ, ако не е чувал за WordPress. ПроÑто трÑбва да Ñи Ñе крил две-три години по пещерите, за да не знаеш за едно толково популÑрно решение. Ðми другите ? Примерно Joomla, Drupal, Typo3 … дори phpbb или oscommerce ? Ðа нÑкои от тези проекти кодът им не Ñтава за гледане, но пък има добри иде за това как да Ñе Ñправиш Ñ Ð½Ñкои проблеми, не Ñамо програмно, но и като интерфейÑ, Ð¸Ð½Ñ‚ÐµÐ³Ñ€Ð°Ñ†Ð¸Ñ Ð¸ Ñ‚.н.
Ðми оÑвен готови Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ Ð¾Ñ‚Ð²Ð¾Ñ€ÐµÐ½ код, ползвали ли Ñте и библиотеки Ñ Ð¾Ñ‚Ð²Ð¾Ñ€ÐµÐ½ код ? Друго нещо което ме изумÑва, е когато никой не е чувал за неща като domPdf, Smarty, Snoopy, MagpieRSS, SimplePie, или SwiftMail и phpMail, или дори по-инертното PEAR хранилище… и вмеÑто това Ñе правÑÑ‚ на Колумб като пишат грозни и бавни дилетанÑки глупоÑти. Ðко ги питаш защо ти Ñи ги пиÑал тези неща, като ги има готови, Ñ Ð¾Ñ‚Ð²Ð¾Ñ€ÐµÐ½ код, и най-важното – Ñ Ð¿Ð¾Ð´Ð´Ñ€ÑŠÐ¶ÐºÐ°, обикновенно отговорÑÑ‚ „ами за да е по-Ñигурно“ или „ами за да ми е по-леÑно, като го знам как работи“. Добре, че не правÑÑ‚ автомобили, че ще Ñи изгубÑÑ‚ една петилетка да откриват колелото. Сега Ñе Ñещам, че нÑкои отговарÑÑ‚ „ами моето е по-бързо“, въпреки че Ñъм 99% Ñигурен, че едва ли Ñа пробвали да ÑравнÑÑ‚ бързодейÑтвието Ñ Ð½Ñкои от готовите библиотеки. За да Ñи продуктивен, трÑбва да ползваш Ñтабилен код, и нещата да вървÑÑ‚ гладко. Библиотеките Ñ Ð¾Ñ‚Ð²Ð¾Ñ€ÐµÐ½ код Ñа Ñупер заради това, че отговорноÑтта за поддържането не лежи върху ваÑ, и вие нÑма да губите време да Ñе занимавате Ñ Ð½Ñкаква библиотека, а ще може да Ñе ÑÑŠÑредоточите върху проекта над който работите. Ð, да, и да знаете, PHPClasses е за аматьори … кажете ми, че ползвате нÑкой ÐºÐ»Ð°Ñ Ð¾Ñ‚ там и гледайте как ще Ñе пръÑна от ÑмÑÑ…. Ðко Ñте нÑкой начинаещ новобранец може да хвърлите нÑкое око там , но най-много да прихванете нÑкой лош навик от там, така че най-добре въобще преÑкочете този Ñайт.
Горното Ñе отнаÑÑ Ð¸ до JavaScript библиотеките, въпреки че не Ñъм Ñрещал нÑкой да Ñи пише ÑобÑтвен набор от функции .. по-Ñкоро Ñе правÑÑ‚ нÑкакви „клани-недоклани“ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð°Ð½ код от DynamicDrive или AjaxDaddy, който е напиÑан Ñупер къÑогледо, и вÑÑкаква промÑна по него е изключително изтезание. Сега поне изборът е голÑм – за вÑеки Ñтил на работа ще Ñе намери библиотека: Prototype, MooTools, MochiKit, Dojo, YUI и невероÑтното jQuery.
Сега, на финала, иÑкам да обърна внимание на хората които Ñа замръзнали на ниво 2000-2002 година. Този тип програмиÑти ползват процедурен код, защото това е Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð½Ð°Ñ‡Ð¸Ð½ на който Ñа Ñе научили да работÑÑ‚, и нали Ñе върши нÑкаква работа – нÑма нужда да Ñе ÑменÑ. Пишат обектно-ориентиран код на ниво кръжок по информатика за 3 клаÑ. ДоÑкоро Ñупер закоÑтенÑло Ñа ползвали PHP4, защото не Ñа Ñе Ñетили да видÑÑ‚ колко предимÑтва им предоÑÑ‚Ð°Ð²Ñ PHP5. Става и по-зле … например не Ñе ползва нищо за контрол на верÑиите, ами вÑичко Ñе трупа на една Ñподелена машина, в коÑто в отделни папки Ñе запиÑват Ñледващите верÑии ;) ПоÑле като Ñе Ñчупи нещо върви търÑи от ÐºÐ¾Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð½Ð°Ñ‚Ð°Ñ‚ÑŠÐº е изплувала грешката, и кой Ñ Ðµ направил. Става и още по-зле … например вÑички работÑÑ‚ отдалечено на една машина, „Ñървъра“, където ако един от вÑичките прецака файл, необходим в проÑеца на зареждане на Ñтраница, вÑички други „маймуни на клона“ духат Ñупата и чакат, докато Ð²ÑŠÐ·Ð½Ð¸ÐºÐ½Ð°Ð»Ð¸Ñ Ð¿Ñ€Ð¾Ð±Ð»ÐµÐ¼ Ñе отÑтрани. Ðа колко от Ð²Ð°Ñ Ð¸Ð¼ Ñтана ÑÑно къде е проблема, и как Ñе решава той чрез Ñ€ÐµÑˆÐµÐ½Ð¸Ñ Ð·Ð° контрол на верÑиите?
И Ñега най-голÑмата тъпащина … още има хора, които работÑÑ‚ като Ñупер безотговорно омазват едно от най-елементарните правила, които Ñе учат още от началото и които трÑбва да Ñе Ñпазват проÑто оповавайки Ñе на Ð·Ð´Ñ€Ð°Ð²Ð¸Ñ Ñ€Ð°Ð·ÑƒÐ¼ (дори преди да Ñте разбрали какво е MVC). Това е разделÑнето на предÑтавÑнето от логиката. Ðали Ñте наÑÑно, че Ð²ÑŠÐ½ÑˆÐ½Ð¸Ñ Ð²Ð¸Ð´ на Ñайтовете Ñе Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¿Ð¾-чеÑто от кода, който задвижва цÑлото приложение … тогава защо ÑмеÑвате двете ? Първоначално може да ви е по-леÑно, но това Ñъпер Ñкоро Ñпира да работи в момента когато трÑбва да промените нещо, или да го използвате на повече от едно мÑÑто.
Който Ñе заÑрамил, заÑрамил… да не хващам пак парализа на показалеца, и да го размахвам поучително. Хващайте Ñе да четете, и да екÑпериментирате, вмеÑто да вегетирате на работното Ñи мÑÑто, и да го карате като Ñив „леминг“.
СъглаÑен Ñъм Ñ Ð²Ñичко казано до тук. Ðз покривам примерно половината от изиÑкваниÑта за „отговорен програмиÑÑ‚“, но пък Ñе ÑÑ‚Ð°Ñ€Ð°Ñ Ð¸ Ñе мъча да уча. По-интереÑно какво е „вдъхновило“ този поÑÑ‚ ?
Comment by gotha — юни 13 @ 21:36
Правилно, важна е наÑтройката – важно е да оÑъзнаеш динамичноÑтта на Ñредата ;)
Иначе „вдъхновението“ Ñа моите Ñкорошни наблюдениÑ. Повечето хора Ñа май от типа „Ñлужители“, и Ñупер малко има които Ñа дори малко „отворени“. Има може би дузина добри примери, които Ñъм заÑичал например по форумите на Zend Framework, или друга библиотека.
Comment by Kaloyan — юни 13 @ 21:46
Ðе Ñи ÑъвÑем прав.
Развитието на програмиÑтите завиÑи от работата им поне толкова, колкото работата завиÑи от развитието на програмиÑтите.
Ð’ правилно конÑтруиран екип е недопуÑтимо нÑкой да генерира Ñпагети. Ðко Ñиниъра, ÑиÑтем аналиÑта или там какъвто има види некачеÑтвено програмиране, трÑбва да направи забележка и да даде пример как да Ñе работи, да помогне на човека да влезе в Ñ‡Ð°Ñ Ñ Ð¸Ð·Ð¸ÑкваниÑта.
Обаче по фирмите има една ÑъвÑем различна практика и трÑбва да плюеш неÑ, не хората.
ПрограмиÑтите Ñе назначават без опит, дава им Ñе да направÑÑ‚ това и това, никой не ги гледа, ако направÑÑ‚ нещо кофти. Ðко ÑгафÑÑ‚ много им Ñе крещи, но това не ги прави по-добри. ПоÑтепенно Ñе натрупва легаÑи Ñпагети код и той трÑбва да Ñе поддържа. Ðко кодът им работи, а той обикновено работи, хората Ñтават абонати да го поддържат до живот и никога не минават от първи във втори клаÑ. Колко пъти Ñъм го виждал…
Така че недей Ñъди прибързано хората.
Comment by ВеÑелин — юни 13 @ 22:32
Доколкото знам разликата между програмиÑÑ‚ и разработчик е точно това което Ñи казал(напиÑал). Ри лошото Ñпоред мен идва че много хора Ñа миÑлÑÑ‚: Ðаправих Ñайт Ñ PHP, вече Ñъм бог и нищо друго не ми трÑбва вече.
п.п. Може да пробвате AJS (http://orangoo.com/labs/AJS/) базирано на MochiKit.
Comment by РадоÑлав Станков — юни 13 @ 23:23
Обаче по фирмите има една ÑъвÑем различна практика и трÑбва да плюеш неÑ, не хората.
Много Ñи прав. Решението в каква поÑока да тръгне работата на дадена фирма, чиÑто технологично, вÑе пак Ñе взема от нÑкой „техничеÑки грамотен“. Този „грамотниѓ обаче, ако е от типа „аз проÑто Ñ€Ð°Ð±Ð¾Ñ‚Ñ Ñ‚ÑƒÐº“, оцапва пейзажа. ПоÑледните примери от поÑта, тези за замръзналите на ниво от преди 5 години, за не използването на CVS/SVN, за хамалÑкото правене на Ñтраници Ñ ÑƒÐ¼ÐµÑването на логиката и предÑтавÑнето, … това Ñа вÑе за конкретни фирми в РуÑе. Прав Ñи, че в този Ñлучй може би не може да Ñи винÑÑ‚ Ñамите „работници“, ами „бригадирът“ взел даденото решение. Обаче, знам че не е правилно да Ñе генерализира, но вÑе пак – точно в тези фирми „работниците“, незавиÑимо Ñ ÐºÐ°ÐºÑŠÐ² ентуÑиазъм Ñа Ñрешнали работата Ñи първоначално, започват да затъпÑват, поÑтепенно израждайки Ñе под влиÑнието на една такава покварена Ñреда в „непроÑветените Ñлужители“ за които пиÑах. Изглежда ако работата не изиÑква от Ñ‚ÑÑ… да Ñа иновативни, и те започват да Ñтават проÑто електронно-изчиÑлителни оператори ;)
Comment by Kaloyan — юни 14 @ 05:42
Има Ñреди, в които ООП е изначално и неизбежно и нÑма фреймуърци. Е и? Пак може да липÑва коректна обработка на грешки, да не Ñе ползват нишки, да Ñе копи-пейÑтва код, да Ñа хардкоднати конфигурации и Ñ‚.н. до безкрайноÑÑ‚.
Ð’ÑъщноÑÑ‚ може да Ñи направил нÑкакъв ултра кул Ñайт Ñ PHP5 + MVC фреймуърк и да Ñи Ñе оÑрал тотално в DB Design-a, SQL-a, да Ñи омешал програмирането Ñ ÐºÑŽÑŠÑ€Ð¸Ñ‚Ð°Ñ‚Ð°, да нÑмаш кеш лейъри или да Ñи омазал javascript, html, css в една неразплетима боза (дай вю ÑÐ¾Ñ€Ñ Ð½Ð° който и да е голÑм българÑки Ñайт и гледай за какво Ñтава Ð²ÑŠÐ¿Ñ€Ð¾Ñ – примерно http://www.abv.bg).
И изведнъж Ñе оказва, че шанÑÑŠÑ‚ да назначиш джуниър дивелопър и той да има дори най-бледа Ð¸Ð´ÐµÑ Ð·Ð° вÑички капани, в които може да падне е = 0.00.
Ðе, този човек не е безвъзвратно загубен, Ñлед като е напиÑал 1, 2 или 10 мегабайта код в нÑÐºÐ¾Ñ Ð¾Ñ‚ горните руÑенÑки фирми. ПроÑто има нужда от нова работа, Ñ Ð¿Ð¾-начетени колеги, където ще му е малко криво, но ще Ñе развива :-)
Comment by ВеÑелин — юни 14 @ 11:10
Целта не е да Ñе критикува лошите практики в работата, проÑто защото никой не е перфектен. И точно както ти Ñи пиÑал, може да ползва модерен фреймуърк, и пак да оÑере базата данни.
Целта обаче е да Ñе критикува Ð¸Ð½ÐµÑ€Ñ‚Ð½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ÑÑ‚, този без интереÑи извън много теÑните неща които прави на работа, и не Ñе интереÑуващ от нещата Ñтаващи около него. „ОтворениÑÑ‚“ програмиÑÑ‚ има очи и уши за нещата Ñтаващи извън ограничената Ñреда на работното мÑÑто, има наглаÑата да учи и разглежда нови неща.
И тук не говора за „junior“ дивелъпъри … те Ñа ми ÑÑни – за краткото време в което Ñа трупали опит, ако Ñа тръгнали по грешната пътека общо взето нÑма да изминат много голÑмо разÑтоÑние до „профеÑионалното“ ниво. Обаче не Ñа ми ÑÑни хора Ñ 4,5 или 5 години в занаÑта, които Ñа като кон Ñ ÐºÐ°Ð¿Ð°Ñ†Ð¸, и не знаÑÑ‚ елементарни неща … като например какво е JSON ;)
Comment by Kaloyan — юни 14 @ 12:35
Това е много добра публикациÑ, Ñъбира нÑкаква еÑÐµÐ½Ñ†Ð¸Ñ Ð² Ñебе Ñи. Много ползотворно ще Ñи го буукмаркна да знам какво ми трÑбва за да пораÑна още :)
Comment by Миглен — юни 16 @ 03:10
хех, нÑма еÑÐµÐ½Ñ†Ð¸Ñ ;) Има опиÑване на вътрешна наглаÑа, коÑто трÑбва да Ñе Ñледва от повечето хора, поне в Ð½Ð°ÑˆÐ¸Ñ Ð±Ð¸Ð·Ð½ÐµÑ. Другото от поÑта Ñа Ñамо примери които илюÑтрират тази вътрешна наглаÑа.
Comment by Kaloyan — юни 16 @ 08:03
хм, вÑрно гледаш Ñамо от ÑобÑтвената Ñи ÐºÐ°Ð¼Ð±Ð°Ð½Ð°Ñ€Ð¸Ñ :) визирам факта че Ñи хванал на мушка Ñамо PHP девелоперите. Ð’ Ð¸Ð½Ñ‚ÐµÑ€ÐµÑ Ð½Ð° иÑтината доÑта от тези неща не важат за програмирането Ñ Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ‚Ð¸Ñ‚Ðµ на Microsoft. Там(при наÑ) нещата малко или много вече ги имаме напиÑани(като контроли) или добавени в поÑледната верÑÐ¸Ñ Ð½Ð° Visual Studio където наготово ги ползваш :)
Темата е дълга, но вÑе пак беше интереÑно четиво и ме върна поне 5 години назад!
УÑпех
Comment by ajaxus — юни 16 @ 20:14
@ajaxus: и при .Net има какво да Ñе разглежда извън „Ð½Ð°Ñ‡ÐµÑ€Ñ‚Ð°Ð½Ð¸Ñ Ð¿ÑŠÑ‚“. Примерно компонентите за ASP.net – оÑвен готовите, има още толкова от най-различни фирми… примерно Telerik ;) Отделно, че от клиентÑка Ñтрана, нÑма значение какво има на Ñървъра, и там ÑъщеÑтвуват вÑичките варианти за интеграции Ñ JavaScript библиотеките – Ñигурен Ñъм, че има много Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð¸Ñ‚Ð¾ Ñа ASP.net базирани и ползват jQuery ;)
Comment by Kaloyan — юни 16 @ 20:50
аз включвах вÑичките контроли когато пишех коментара :) вÑÑка ÑредноÑтатиÑтичеÑка ÐºÐ¾Ð¼Ð¿Ð°Ð½Ð¸Ñ Ñи е купила поне 3 различни контроли. аз лично имам телерик, инфраджиÑÑ‚Ð¸ÐºÑ Ð¸ Ð´ÑƒÐ½Ð´Ð°Ñ :) пуÑкам Ñтудиото и имам вÑичко :)
като говорим за тези контроли.. виждал ли Ñи http://www.coolite.com? базирани на ExtJS коÑто пък Ñлага jQuery в Ð¼Ð°Ð»ÐºÐ¸Ñ Ñи джоб :)
Comment by ajaxus — юни 16 @ 22:10
Чел Ñъм нÑкакви новини за Coolite на Ajaxian, но понеже е за .Net не Ñъм обърнал нÑкакво по-Ñпециално внимание. Иначе за ExtJS … да мен не ми допада, jQuery ми е Ñупер удобно. Рпък и тези иÑтории Ñ Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ€Ð°Ð½ÐµÑ‚Ð¾ на ExtJS и поÑле OpenEXT, малко изглежда ÑÑкаш нe знаÑÑ‚ какво правÑÑ‚.
Comment by Kaloyan — юни 17 @ 06:08
[…] по-незадоволителни резултати. Рдругото нещо е да Ñа отворени — да не Ñе капÑуловат във вече натрупаните Ð·Ð½Ð°Ð½Ð¸Ñ Ð¸ […]
Pingback by Mrasnika’s Lair » ЛекÑикон за програмиÑти — август 5 @ 09:07
[…] което иÑкам да поÑтигна е да Ñъм отворен програмиÑÑ‚ и да Ñ€Ð°Ð±Ð¾Ñ‚Ñ Ñ Ð¿Ð¾Ð²ÐµÑ‡ÐµÑ‚Ð¾ актуални Ñвързани Ñ ÑƒÐµÐ± езици и […]
Pingback by Миглен » RE: ЛекÑикон за програмиÑти — август 7 @ 02:09
Хубав поÑÑ‚ и Ñ Ð¿Ð¾Ð²ÐµÑ‡ÐµÑ‚Ð¾ неща Ñъм ÑъглаÑен. ТоеÑÑ‚ Ñ Ð²Ñички оÑвен Ñ ÐµÐ´Ð½Ð¾ :) Според мен използването на ООП на вÑÑка цена… не е оправдано (за PHP Ñтава дума). Въпреки че в PHP5 обектите Ñе управлÑват по (уж) много по-добър начин, има още доÑта какво да Ñе желае откъм бързодейÑтвие. ÐаÑкоро закърпиха един бъг за завишен memory usage в такъв проÑÑ‚ оператор като .= а какво оÑтава за обектите?
Ðе Ñъм против ООП, даже напротив… проÑто Ñъм на мнение, че трÑбва да Ñе търÑи Ð±Ð°Ð»Ð°Ð½Ñ Ð¼ÐµÐ¶Ð´Ñƒ нещата. Сега като Ñе замиÑÐ»Ñ Ð¼Ð¾Ð¶Ðµ и да не Ñъм те разбрал правилно – може би проÑто Ñи против тази практика да не Ñе вижда по-далеч от процедурите, а не Ñи за ООП винаги и навÑÑкъде:)
Comment by ИÑкър — август 12 @ 17:12
Ðбе малкото зло е за предпочитане… бÑÑ… чул нещо от Ñорта, че PHP файл без коментари Ñе чете по-бързо и Ñе интерпретира по-бързо, и че било важно да Ñе ползват по-кратки имена на променливите и по-малко интервали/табове, пак за да е по-малък файла и да Ñе поÑтигнат Ñъщите пишман резултати от такова „оптимизиране“. Това е шибана мръÑна глупоÑÑ‚. Да Ñе пише нечетаем код Ñ Ñ†ÐµÐ» Ð¾Ð¿Ñ‚Ð¸Ð¼Ð¸Ð·Ð°Ñ†Ð¸Ñ Ðµ Ñупер малоумно и къÑогледо, и Ñлед това при вÑÑка Ñледваща Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ð°Ð½Ð°ÑÑ Ð¿Ð¾-големи и по-големи щети. Рпък и който ще ми говори за оптимизиране, и не ползва bytecode кеширане, по-добре да Ñи Ñмени профеÑиÑта.
Иначе, нÑма нищо перфекто. ООП програмирането има повече плюÑове, отколкото минуÑи. Процедурното програмиране ще оÑтане в миналато, като GOTO Ñпагетите, или пиÑането на аÑемблер. ЕдинÑтвено виждам приложение за него в началните курÑове по Информатика ;)
Comment by Kaloyan — август 12 @ 20:22
ВеÑко и КалоÑн Ñа много прави като говорÑÑ‚ за ролÑта на Ñиниърите.
За Ñъжаление в много фирми текникъл лийдовете не Ñамо не изиÑкват пиÑането на качеÑтвени неща, а дори напротив – заради лош мениджмънт (тва пък е една ÑъвÑем друга тема) Ñа толкова натоварени Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ð¸, че по-Ñкоро поощрÑват пиÑането на-две-на-три Ñамо и Ñамо да Ñе отхвърли задачката по-бързо. Факт!
Comment by ÐаÑко — август 13 @ 08:47
За още по-голÑмо Ñъжаление повечето розработчици Ñе „школоват“ правейки фрийланÑинг, и там диÑциплината, четаемоÑтта, и Ñ‚.н. въобще не ÑтоÑÑ‚ на първи план, ами по-Ñкоро „Ñвърши работата бързо, вземи парите и бÑгай“ ;) И ефектът е ÑÑŠÑ‰Ð¸Ñ – клани-недоклани решениÑ, Ñглобени на-две на-три.
Comment by Kaloyan — август 13 @ 09:28
[…] видÑли, Ñа решили да обÑъдÑÑ‚ напиÑаното от мен за “отворените програмиÑти“. За коментарите ще напиша нещо като Ñтанат малко […]
Pingback by Mrasnika’s Lair » “Отворен програмиÑÑ‚ ли Ñи ?” в клуб “ПрограмиÑти” — август 14 @ 11:42
[…] така е design patterns на българÑки ?) в диÑкуÑиÑта около “ÐžÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ÑÑ‚“, е породила нова цветуща тема, “За Дизаин […]
Pingback by Mrasnika’s Lair » Design Patterns в “Клуб ПрограмиÑти” — август 29 @ 08:48
[…] и ÑÑŠÑ€Ð´Ñ Ð·Ð° изÑипаната Ð¿Ð¾Ð¼Ð¸Ñ Ð¿Ð¾ Ð°Ð´Ñ€ÐµÑ Ð½Ð° напиÑаното за “Ð¾Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ÑÑ‚”, защото има какво да Ñе Ñпори Ñ Ð½Ñкой който […]
Pingback by Mrasnika’s Lair » За програмиÑтите — септември 15 @ 07:03
И аз Ð´ÐµÐ»Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸Ñтите на два вида пÑевдо програмиÑти обикновенно пишат на PHP,Perl и Ñе изÑвÑват като пÑихолози и програмиÑти които Ñи вършат работата и не Ñи задават глупави въпроÑи.
Comment by Az — декември 12 @ 15:03
Ðз пък Ð´ÐµÐ»Ñ ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð¸Ñ€Ð°Ñ‰Ð¸Ñ‚Ðµ на два типа – едните Ñа Ñтрахливи малоумници, които не Ñе Ñтрахуват за публикуват нÑÐºÐ¾Ñ Ñ‚Ð°ÐºÐ°Ð²Ð°
злобназакачлива забележка, но пък ги е Ñрам да Ñи оÑтавÑÑ‚ иÑтинÑкото име или email в коментара, и такива, които нито ги е Ñтрах, нито ги е Ñрам и винаги пишат нещата както Ñа Ñи.Ти нали Ñи наÑÑно от кои Ñи ;) Ðко не Ñи, да ти кажа – ти май Ñи киборг-галфон, изпълнÑващ работата Ñи и не задаваш глупави въпроÑи. Ðми как иначе, като играеш картата Ñ Ñ‚Ð¾Ð·Ð¸ пÑевдо-елитаризъм, поÑтавÑйки уеб-програмиÑтите в по-ниÑка каÑта.
Comment by Kaloyan — декември 12 @ 16:35
Ето нещо интереÑно – и както пиÑах преди малко, „Ðко не беше Ñтрашно, щеше да е Ñмешно“ :
http://skanev.com/2009/04/17/far-fetched-metaphor/
Comment by Kaloyan — април 29 @ 11:21