Wat een pleidooi, wat heb ik jou
in godsnaam misdaan dat je dit ongezouten commentaar op mij afvuurt? Dit is niet een objectieve reactie maar komt op mij over als een regelrechte bashing. Ik huiver van de gedachte dat bij je edit message staat dat je nog wat sarcastische elementen hebt verwijderd. Ik moet wel echt precies de juiste knoppen hebben geraakt bij jou met mijn reply, of niet?
Allereerst, als je een ‘maar’ binnen zo’n context gebruikt, dan dient er een tegenstelling op het voorgaande te volgen. Hoe kan het ‘ik ben een software architect...’-gebeuren een tegenstelling zijn op dat je geen zware Smarty discussie wil starten? Kan het misschien zijn dat software architecten en senior developers die veel met PHP doen over het algemeen de tegenstelling zijn op zware Smarty discussies? Diep... diep...
Dat terzijde, iemand die zichzelf zo introduceert komt op mij over als iemand die interessant probeer te doen, maar jammerlijk daarin faalt. Prototype's vuistregel: iemand z'n vaardigheid is omgekeerd evenredig aan het aantal buzzwords dat hij/zij gebruikt en zich mee tracht te profileren. Normaliter laat ik dan ook dergelijke reacties voor wat ze zijn, i.e. nutteloos, maar voor deze ene keer ben ik wel bereid te happen in het kader van de komedie. Daar moet ik mezelf natuurlijk wel eerst voor verlagen tot hetzelfde niveau.
Sorry dat het op die manier is overgekomen. Ik wilde de lezers van deze thread alleen even een context geven van de werkzaamheden die ik in mijn bedrijf uitvoer. Als ik daarover wilde opscheppen dan zou ik iets in de trand hebben geschreven als: '...dus ik kan het weten'. Ik heb toen ik die reply schreef bewust nagedacht dat ik alleen mijn mening wilde geven en niet iets als voldongen feit wilde presenteren. Volgens mij is me dat wel gelukt, alhoewel jij me meerdere keren probeert te pakken op een mening alsof het een feit is door een felle tegenreactie te geven en mijn mening als ridicuul te verklaren.
Bij deze wil ik mezelf dan ook even misselijk introduceren. Zelf ben ik WO Technisch Informaticus EN Senior Developer, Software Architect (een Senior Developer weet namelijk zelf niets af van Software Architectuur en moet dus apart vermeld worden met gecapitaliseerde beginletters, ahum)
Hoezo sarcastisch? Ik impliceer niet dat senior developers (<- zo goed?) niks weten over software architectuur. Ik wilde slechts het verschil aanduiden met de applicatie architectuur van een senior developer en een meer macro gerichtte architectuur die overkoepelend en meer beleidsvormend werkt.
Professioneel Indoor-Dammer op Hoog Niveau en de Ideale Schoonzoon volgens menig moeders. Dergelijke vaardigheden stellen me in staat om te werken aan projecten die in de miljoenen bedragen, waarbij 10-300k eigenlijk kleingeld is. Een heel ander verhaal zou het zijn als ik 100% van die inkomsten voor mezelf zou kunnen claimen, maar helaas, dat is niet het geval en schep ik er normaal ook niet over op omdat het eerder loserachtig overkomt. Baas boven baas? Misschien, maar irrelevante dingen dienen schijnbaar ook genoemd te worden.
Zo irrelevant waren die feitjes van mij niet en puur ter beeldvorming, niet om indruk te wekken. Ik zou niet weten wat ik daarmee zou moeten bereiken. Ik ben ook maar werknemer en die projectbedragen geven uitsluitend een figuratief idee van de projecten. Dat jij een aantal feiten in het absurde trekt wekt in ieder geval hier niet op mijn lachspieren. Gezien de toon van je hele reply zie ik het als misplaatst sarcasme en niet relevant voor deze hele discussie.
Overigens wordt daar nooit PHP voor gekozen vreemd genoeg, maar geniet een echte OO taal als Java daar de voorkeur. Ik zou niet weten waarom! PHP5 is immers de OO taal bij uitstek. Overigens, enterprise PHP, is dat een speciale editie van PHP die nog uit moet komen voor het normale volk? Ik hoop het!
Ter informatie, ik doe ook J2EE projecten en (nu moet ik heel voorzichtig zijn) weet ook het een en ander van Java. Hoewel ik er nog steeds geen grote bankapplicatie mee zou schrijven, zit PHP wel in de lift doordat het op steeds grotere en belangrijkere applicaties wordt ingezet. En ik twijfel ook geen seconde aan het feit dat je niet weet wat ik bedoel met enterprise PHP. Voor de ander lezers van dit draadje dan: PHP ingezet in een corporate omgeving met grote aantallen gebruikers, waarbij de aandacht voor schaalbaarheid, onderhoudbaarheid en stabiliteit bovengemiddeld belangrijk is. Een omgeving met koppelingen naar o.a. RDBMS'en als Oracle en DB2 en corporate LDAP directories.
Dat is gemeen zeg! Zomaar je model opsluiten in een database! Overigens is het persistence laag, geen dank overigens voor de buzzword 101. Als je overigens écht eens zou weten wat MVC inhield zou je nu schaterlachen om je uitleg zoals ik nu doe, maar dat laat ik aan jezelf over. Ik wil je pret immers niet bederven en zeker niet mijn eigen!
Sorry dat ik niet elke letter heb omgekeerd, maar met een beetje moeite kun je uit de context van mijn verhaal wel een interpretatie halen die de waarheid omtrend MVC enigszins benadert. Je haalt me doelbewust omlaag door met je sarcastische ondertoon de suggestie te wekken dat ik werkelijk geen idee heb waar ik het over heb. Ik zal vast niet de wetenschappelijke uitleg van het MVC pattern exact en correct hebben uitgelegd, maar de gemiddelde lezer weet goed wat ik bedoel en is ook in staat om deze informatie op een makkelijke manier van internet af te halen. Keiharde feitelijke onjuistheden heb ik niet gegeven, alleen dingen die jij anders interpreteerd en die je afschildert als ver van de waarheid omdat het niet in jouw straatje past en je op een of andere manier niet kon vinden in mijn stijl van antwoorden.
Oh nu snap ik het! Dit is namelijk niet mogelijk binnen PHP zonder Smarty! Talloze mensen waaronder linksgetekenden hebben gewoon daarvoor de wetten der software engineering overtreden door hier wel in te slagen :o!
Alles is mogelijk zonder Smarty vanwege het simpele feit dat Smarty naar een php file compileert die volgens de oorspronkelijke notatie PHP code en HTML code doorelkaar bevat. Weer een sprekend voorbeeld waarbij je graag iets WIL lezen op een bepaalde manier om er dan denigrerend een opmerking over te kunnen maken.
*Moppelt iets van achterhaald en zwaar inferieur aan front-end/code-behind ala
prado.*
Mijn vergelijking was gestaafd op Smarty versus geen framework. Ik ben bekend dat er genoeg frameworks zijn die dergelijke functionaliteit heel mooi kunnen oplossen. En event driven programmeren is mij ook niet vreemd als je daar soms op doelt.
Ja, nl2br is idd inferieur.
Hier heb je me, dat was inderdaad niet zo'n bijster slim voorbeeld. Even niet aan gedacht. Bedankt echter voor je sarcastische manier van verwoorden.
Nee idd, daar verkies je dan een smarty syntax boven die vermengd is met html. Veel beter idd, omdat PHP code wel gescheiden is, maar... hmmm, er zit nog wel code in, maar het is niet PHP code, dus het is beter idd!!!111oneoneeleven.
De enige twee reden waarom ik het plausibel zou achten om dergelijke een abstractie door te voeren binnen een template qua taal is ten eerste smaak en ten tweede om diezelfde templates in een andere taal onderhevig te laten zijn aan een andere interpreter. Probleem is echter dat er op andere platform een scala aan betere mogelijkheden zijn, wat het dus nutteloos maakt en smaak alleen staande blijft.
Een paar jaar in aanraking met J2EE drukt je wel met je neus op de feiten qua abstractielagen. Ik heb in Websphere en NetWeaver meer abstractielagen gezien dan ik in PHP ooit van plan was te maken. Wat ik wil duidelijk maken is inderdaad een kwestie van persoonlijke smaak, namelijk dat ik de syntax van het Smarty pseudotaaltje dermate laagdrempelig en makkelijk vind dat ik het praktisch in gebruik vind. Iets dat je zelf als praktisch ervaart, wil je graag als suggestie bij anderen neerleggen. Niks meer en niks minder dan dat.
OMFG gewoon. Als dit de best plausibele alternatief is die jij kent mag jij je OO badge inleveren meneer Software Architect én Senior Developer.
Dit is wel de ergste vorm van bashing in je hele reply. Hoe kun je een persoon NOG directer en op de man af naar beneden proberen te trappen? Het ging hier over templates in templates. Wil je nu de suggestie wekken dat ik te stom ben om te begrijpen dat je ook een page class kunt maken die de standaard header in de constructor afhandelt? Ik kan zo nog 10 manieren bedenken als alternatief voor templates in templates. Het feit dat ik het hier aanhaal heeft te maken met mijn voorkeur om dingen niet moeilijker te maken dan ze hoeven te zijn. In mijn beleving om dit na te leven probeer ik altijd een goede mix te vinden tussen procedureel programmeren en object georienteerd. Ik geloof namelijk niet in de mening dat OO in alle gevallen beter is. Soms acht ik iets leesbaarder en beter onderhoudbaar als ik het procedureel oplos. Ik moet voorzichtig zijn om hier iets aan te halen om het vervolgens weer keihard om mijn oren geklapperd te krijgen, maar ik heb de indruk dat deze werkwijze een mogelijk basisprincipe is van het java deratief Ruby.
Onmogelijk inderdaad met PHP alleen!!!111oneoneeleven... NOT. Dit heeft overigens meer te maken met een slimme programmeur me dunkt. Neem overigens een kijkje naar hoe frameworks als
prado dit hebben opgelost, en ga dan met name op zoek naar het TMultiView component. Veel asp.netters zal dit bekend zijn.
Weer een mooi voorbeeld hoe je probeert de indruk te wekken dat ik heb gezegd dat iets in PHP onmogelijk is, terwijl het in Smarty heel makkelijk zou gaan. Ik zeg niet dat Smarty het enige framework is wat superieur is aan alle andere werkwijzen. Ik heb geprobeerd de verschillen uit te leggen tussen PHP zonder framework en PHP met het framework Smarty. Naast Smarty gebruiken wij nog een redelijk aantal andere frameworks.
Wow, nu kan je ook gedachtenlezer toevoegen aan je rijtje aan titels.
Ik stel hardop een vraag en als je de context van mijn bericht goed leest kom je ook tot die conclusie. Om wederom zo sarcastisch te reageren ontgaat mij de reden totaal.
Kijk, en dit bevestigt gewoon alles voor me. Alles wat je noemt is ook gewoon mogelijk binnen PHP. Je geeft als argument dat het taaltje minder uitgebreid is, en dan geef ik weer als tegenargument dat je niet alles hoeft te gebruiken binnen PHP, i.e. je maakt het zo moeilijk voor jezelf als je wil. Ik leg liever de beperking bij de programmeur dan bij een taal! Dat zou jij als senior blablabla ook moeten inzien.
Ik snap inmiddels dat je het niet met mij eens bent dat Smarty een waardevol framework kan zijn voor de argumenten die ik aandraag. Ik ben het met je eens dat je de beperking bij de programmeur moet leggen en niet bij een taal of zelfs een framework in een taal. Het is echter evengoed jouw mening als mijn mening. Ik heb getracht mijn mening echter te verwoorden als mijn EIGEN mening en de interpretatie aan anderen over te laten. Jij lijkt jouw waarheid boven die van mij te stellen door mij denigrerend toe te spreken, maar er is geen absolute waarheid.
Wat dacht je van een oplossing waarbij ze gewoon –niet- Smarty syntax hoeven te kennen, of hooguit iets moeten leren dat tot een standaard gerekend wordt voor de lange termijn? Zoiets als XSL, dáár heb je pas profijt aan als je ooit mocht kiezen om over te stappen van PHP naar een andere taal.
Kwestie van voorkeur, ik heb in het verleden veel met XSLT's gewerkt, maar zelfs met een degelijke editor als Dreamweaver vind ik het persoonlijk niet lekker werken. Ik zou het dus niet in PHP, Java, .NET of waar dan ook gebruiken. Als de Smarty notatie defacto standaard zou worden, dan zou dat een ander verhaal zijn. Natuurlijk gebeurt dat niet, maar wie weet welke standaarden de toekomst brengt. Ik ben helemaal voor standaarden, begrijp me niet verkeerd.
Ja, en nu moet je dus oppassen dat designers niet gaan zitten rommelen aan Smarty code; een designer nu in jouw situatie moet leren om te gaan met Smarty ipv PHP, waardoor het alsnog useless is. Een designer gaat logics eigenlijk gewoon compleet niets aan. Als je simultaan te werk wil gaan, dan kies je voor een oplossing waarbij kennis van ieder domein gewoon eigen is aan de mensen die eraan zitten, iets dat ik m’n eerste post binnen deze topic al gezegd heb en nu gedwongen wordt meerdere keren te herhalen voor mensen die niet goed kunnen danwel willen lezen.
Leren omgaan met Smarty is voor een designer een kwestie van hooguit een aantal uren. Ik ben nog steeds van mening dat de UI tier (waartoe mijns inziens een loopje door een array van data behoort, maar niet een query die afgevuurd wordt of een business object die geinstantieerd wordt) door een designer afgehandeld kan worden. In de praktijk gaat dit ook prima. Ik respecteer jouw mening dat designers niks van doen hebben met applicatie logica, zelfs geen UI logica. De programmeerpurist in mij is het met je eens. De praktijk ligt soms wat verder van de theorie dan wellicht gewenst en dat maakt wederom jouw waarheid niet tot de absolute waarheid. In mijn ervaring is het vaak een mix van skills die deze afgebakende terreinen niet altijd strikt kunnen scheiden.
Voor mij bevestig je maar weer dat jij geen idee hebt van wat business logics inhoudt en raad ik je aan eens op te gaan zoeken wat het nou echt inhoudt voordat je er weer mee gaat smijten en interessant mee probeert te doen. Dit aangezien je credibiliteit als senior blablabla hierdoor sterk in het geding komt. Dat terzijde, dezelfde analogie kan ik maken met het scheiden van een HTML + Smarty pagina. Nogmaals, Smarty weet me niet te overtuigen. De rest is nog veel meer bullshit waar ik geen zin meer heb om op in te gaan, maar toch wordt je poging gewaardeerd. Bedankt in ieder geval voor de komische verschijning en veel succes nog met je carriere!
Ik heb een totaal verkeerde toon aangeslagen bij jou. Als er namelijk iets is wat ik met mijn reply NIET probeer te bereiken is om mijn credibiliteit te boosten en de popi-jopi specialist uit te hangen. Het spijt me dat mijn inleiding jou de aanleiding gaf om op een behoorlijke grove manier naar mij uit te halen. Aan de ene kant snap ik je verhaal en je sarcastische ondertoon op elke tweede zin wel. Maar aan de andere kant voel ik me wel oprecht gekwetst door iemand die ik totaal niet ken en met wie ik geen enkele nare voorgeschiedenis heb. Ik snap niet wat jou heeft bezield om mij proberen "op mijn plaats" te zetten, door mijn antwoord wat in mijn optiek zuiver informatief bedoeld was. Als ik mijn best doe dan kan ik enigszins inzien dat het neerzetten van mijn functie en werkomstandigheden een dergelijke reactie zou kunnen oproepen, maar dat rechtvaardigt zeker niet de algehele toon die je aanslaat tegen mij in je antwoord.
Ik weet heel goed waar ik mee bezig ben en ik wens niet afgeschilderd te worden als een of andere achterlijke patser die even populair wil doen door een nietszeggend en misleidend antwoord neer te zetten. Ik ben in mijn werkomgeving gewaardeerd om wat ik doe en ik heb genoeg zelfreflectie om grotendeels te weten wat ik wel en niet weet en/of kan. Ik heb mijn best gedaan en ik heb mijn mening gegeven. Ik vraag je om op een fatsoenlijke manier ook mijn mening en kijk op de zaken te accepteren, ongeacht of je het hier helemaal mee eens of oneens bent. Aan je reactie te zien en je manier van communiceren acht ik je slim genoeg om te snappen dat ik absoluut niet gecharmeerd ben van je offensief.
Je kunt nu vol tegengas geven en mij een tweede salvo geven. Ik had eigenlijk al geen zin in een eerste discussie hierover, zoals ik al schreef. Wat mij betreft eindigt deze discussie dan ook hier met deze reply. Ik heb mijn zegje gedaan en ik ben benieuwd naar je reactie.