WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Coldfusion eller PHP (https://www.wn.se/forum/showthread.php?t=11221)

DeSoto 2005-12-07 08:18

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).

eg0master 2005-12-07 12:07

Min generella uppfattning är att CF tilltalar flashmänniskor, dvs människor som är mer designers än programmerare.

Citat:

- CF tvingar en till databasabstraktion, vilket inte alltid är önskvärt
Har du ett exempel på detta?

DeSoto 2005-12-07 12:32

Vilket menar du, att databasabstraktion inte alltid är önskevärt, eller att CF tvingar en till abstraktion?

eg0master 2005-12-07 12:43

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.

DeSoto 2005-12-07 15:17

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.

eg0master 2005-12-07 19:18

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.

DeSoto 2005-12-07 19:40

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).

frax 2006-03-19 13:14

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)

Charlie 2006-03-19 14:43

Vidareutveckla gärna det där frax. Det är intressant att höra för oss som inte har arbetat med CF.

frax 2006-03-20 08:07

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:

CF kostar väldigt mycket, medan PHP är gratis
Sant. BlueDragon finns in en gratis-version numera. Men s/w-kostnaden är ju bara en bråkdel i helheten, och om CF skulle minska utvecklingskostnaderna så är det intjänat.

Citat:

PHP sägs vara dubbelt så snabbt som CF (och ASP 20 % snabbare än CF)
Möjligtvis, men i praktiken så är CF snabbt nog (och skalerar uppåt med stöd för clustering/j2ee etc) för att det inte skall vara något som helst problem. Det finns ingen större poäng med att jaga millisekunder.

Citat:

CF gör det svårt att utveckla storskaliga saker, och har inget OO-stöd
Inkorrekt. Det finns inget som hindrar för storskaliga applikationer, och det finns ett inbyggt OO-stöd sedan CFMX 6.0 i form av ColdFusion Components. För storskaliga applikationer rekommenderas något av de ramverk som vuxit upp ur communityn, som Mach-II (min favorit), FuseBox eller Model-Glue. Just nu är det mycket projekt runt ORM på gång.

Citat:

CF tvingar en till databasabstraktion, vilket inte alltid är önskvärt
Inkorrekt. De flesta erfarna CFML-utvecklare kör SQL direkt från koden, men det finns även stöd för att exekvera stored procedures och sen de RAD/snabb-kommandon för CRUD - det kanske är det du tänker på.

Citat:

CF kommer inte ut med buggfixar lika ofta som PHP, och har haft större säkerhetsproblem än PHP
Jag tror att det är en generell skillnad mellan open/closed source med buggfixarna, och det har inte varit någon form av större säkerhetsproblem sedan en 5 år tillbaka. Sen har inte CFMX gjort några stora steg sedan 5 > 6.0 så det har inte varit några större buggar sedan 6.1 (6.0 var en erkänt halvdassig produkt, särskilt OO-implementationen...).

Citat:

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
Har ingen erfarenhet av det, men jag tror att det faktiskt finns funktioner i CFMX som inte finns i någon annan app-server - för att jobba mot flash.

Citat:

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
Är det en åsikt eller ett konstaterande? Mängden funktioner i CFMX/BD har inget med prestandan att göra - jag tror att man skall se det som att det finns en stor mängd inbyggd funktionalitet som är konsekvent genomförd, sen finns det även stor mängd möjligheter för att bygga ut (objects, udf-libs, java, jsp, COM etc). Jag har fått för mig att för PHP så finns det mycket mycket mer funktionalitet lätt tillgänglig, men att den inte alltid är så konsekvent, och i många fall råddig.

Citat:

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
På a) svarar vi Ja, och på B) vet inte. CF manualerna har alltid varit bra, och finns http://livedocs.macromedia.com/coldfusion/7/. Sen finns det förstås en massa annan litteratur också. Även om communityn för PHP är större så finns det en väldigt aktiv och vänlig CF community.


Alla tider är GMT +2. Klockan är nu 23:33.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson