![]() |
God morgon kamrater,
Jag började programmera i ASP, och var väl lyckligt ovetande innan jag tvingades lära mig PHP för ett jobb, och mötte ljuset. Jag anser att PHP är överlägset ASP, men jag vet att det är många som inte håller med, så jag påstår inte mig sitta inne med några sanningar. Jag är den första att erkänna att jag ibland sätter på mig skygglappar och höjer PHP till skyarna utan att alltid sitta på alla fakta. Nyligen har jag kommit i kontakt med ett företag som jobbar med ganska stora e-handelsystem i Coldfusion. Jag har själv aldrig arbetat i Coldfusion, och har inte speciellt mycket kunskap om det heller. Det företaget pysslade tidigare med ASP, men menar att de efter att ha gått över till CF märker en prestandaförbättring på 400 % ungefär. Jag var lite skeptisk, så jag googlade lite, och här är en liten summering: - CF kostar väldigt mycket, medan PHP är gratis - PHP sägs vara dubbelt så snabbt som CF (och ASP 20 % snabbare än CF) - CF gör det svårt att utveckla storskaliga saker, och har inget OO-stöd - CF tvingar en till databasabstraktion, vilket inte alltid är önskvärt - CF kommer inte ut med buggfixar lika ofta som PHP, och har haft större säkerhetsproblem än PHP - CF gör det väldigt lätt att arbeta med Flash, där man i PHP behöver en extra utbyggnad för att göra samma sak i PHP - CF har "för mycket" inbyggda saker som gör prestandan lidande, medan man i PHP lätt kan installera extra utbyggnader för att göra samma saker - Det finns ett mycket större community för PHP än CF, och PHP-manualen är många gånger bättre än CF-manualen Är det nu någon CF-programmerare som tycker att mina påståenden här är helt befängda så kapa mig mer än gärna vid fotknölarna. Är CF bättre än PHP så är jag inte motvillig att acceptera det (även fast det kommer att ta emot lite :P). Allra bäst vore ifall någon med erfarenhet av båda språken hade någon kommentar. Min hypotes är att CF är väldigt mysigt om man arbetar mycket med Flash, men att PHP är bättre när det kommer till tunga applikationer (så som e-handelsystem). |
Min generella uppfattning är att CF tilltalar flashmänniskor, dvs människor som är mer designers än programmerare.
Citat:
|
Vilket menar du, att databasabstraktion inte alltid är önskevärt, eller att CF tvingar en till abstraktion?
|
I vilket sammanhang (utom de mest triviala) skulle abstraktion vara mindre önskvärt.
Nu vet jag iofs inte hur CF abstraherar detta heller så förklaringen kanske ligger där. |
Ifall abstraktion alltid skulle vara det bästa så vore det ju ingen mening i att ha olika databaser. Olika databaser har olika funktioner, och just pga det så får du ju inte tillgång till alla funktioner, utan enbart de som är samma i "alla".
Så det är väl en avvägning. Antigen utnyttjar man en databastyps funktioner fullt ut, och ser till att man alltid kan använda den, eller så sover man gott om nätterna och vet att man klarar att använda de flesta databastyper. |
Ah, din uppfattning om vad "databasabstrahera" betyder skiljer sig från min. Det du beskriver kallar jag för "databasoberoende" och det håller jag med om att det är ytterst sällan värt besväret.
Och för att stilla ev. nyfiken het så när jag talar om databasabstraktion innebär det att via ett dataaccesslager abstrahera bort detaljer som exakt utseende på tabeller, exakt SQL som körs osv från resten av applikationen. Och som du förstår har jag svårt att se när detta skulle vara dåligt. |
Jaha. För mig betyder databasabstraktion att man använder samma metoder och samma anrop oavsett databastyp. Som ADOdb i PHP.
Att ha SQL i presentationslagret håller jag helt med om att man inte ska ha (förutom, som sagt, vid de mest triviala saker). |
Hej, är det fortfarande intressant att reda ut det här? Jag har nog invändningar mot i stort sett alla dina punkter ovan, många är helt felaktiga. (i.e. FUD)
|
Vidareutveckla gärna det där frax. Det är intressant att höra för oss som inte har arbetat med CF.
|
Okej...
Jag har 5 års erfarenhet av ColdFusion, från 4.5 över femman och till CFMX 6.1, nu är jag på BlueDragon 6.2.1. Jag har inte använt CFMX 7 än, eftersom vi har gått över till BD.Net helt. (http://www.newatlanta.com/products/bluedragon/index.cfm är en konkurrerande implementation av CFML - ColdFusion Markup Language - som konkurrerar med Adobe:s CFMX, Bluedragon finns som standalone, J2EE och för .Net) Citat:
Citat:
Citat:
Citat:
Citat:
Citat:
Citat:
Citat:
|
frax:
Tack för ett uttömmande svar! Jag är nu tvungen att lära mig CF i mitt jobb, så det var trevligt att få svar på detta. Hur är det med OO:n i CF? Är den fullt utbyggd, eller lite av ett hemmasnickeri som det var i PHP 4? |
Går visst inte att redigera inlägg.
Hur lärde du dig ColdFusion? När jag frågade programmerarna på jobb om hur de lärt sig, så sa de att de bara läst lite guider på nätet och sen snickrat själv. Men vad jag förstår skiljer sig ColdFusion en hel del från PHP/ASP, så jag funderar på om man kanske fastnar i PHP-tänkande trots att man skriver i CF. Varje språk har ju sina tips och tricks, och de är ganska svåra att lära sig själv. Har du tips på litteratur eller artiklar på nätet som du tycker är bra? |
OO:n -- tja, den är väl ganska bra och solid, fast inte helt komplett och några mindre egenheter. Det största problemet har varit för folk att gå från procedural till OO. För OO rekommenderas ett ramverk som http://mach-ii.com eller http://www.model-glue.com/ - båda är helt MVC och separerar all business logic till en object model. Något som jag inte nämnde tidigare, det är f.ö. oförskämt lätt att skapa SOAP-tjänster i CF, i praktiken så kan alla objekt publiceras och exponeras mer eller mindre direkt (med full metadata).
Jag är mer eller mindre självlärd, jag har startat med att läsa hela CFMX-manualen (då för 4.5) och har sedan hängt med. I början var jag kanske inte så lysande, och det kändes lite som att jag hittat rätt när jag började använde Mach-II med CFMX 6.1. Det mest kända boken är http://www.forta.com/books/0321223675/. Annars finns det ett stort nätverk av bloggar, som man hittar lättast från http://www.fullasagoog.com/index.cfm...t=ColdFusionMX, sedan finns det två stora mailinglistor: http://www.houseoffusion.com/cf_lists/threads.cfm/4 (som kanske inte alltid håller så hög nivå) och http://www.houseoffusion.com/cf_lists/threads.cfm/4 (mer fokus på OO, lite mer avancerat). Om du har ett öppet sinne tror jag att du kommer att finna att CF har en hel del intressanta egenskaper jmft med ASP och PHP... :) |
hmm, verkar som om BB-koden för länkarna inte fnukade, texten blev lite konstig...
|
Tackar för informationen! :)
|
Alla tider är GMT +2. Klockan är nu 00:42. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson