Vill här skapa en debatt, om PHP är bättre eller sämre än ASP. Av egen erfarenhet kan jag bara svara på vad ASP har för möjligheter, men jag hoppas att PHPanvändare skall komma med kommentarer och erfarenheter angående detta inlägg.
1. Vad talar för ASP?
2. Vad talar för PHP?
Är det någon som har erfarenhet av båda två kanske?
Funktionalitet (massor inbyggt som inte ASP har)
Användarbas
Prestanda med Zend Optimizer och Compiler
Plattformsoberoende
Kraftfullare datatyper och mer flexibelt språk
Dynamiska includes
Fungerande reguljära uttryck (VBScripts regexp-objekt är ingen höjdare)
Open Source
Kim, jag har sett den tråden, men hittade inte så mycket konstruktivt. Så jag valde att skapa en ny, för att kunna bilda mig en uppfattning om vad som är den stora skillnaden.
Emission, vad är det som gör att du tycker att VBScripts Regexp inte är bra?
Dynamiska includes är ju inget problem i ASP, dock inte med den vanliga <!--#include file=""-->... det har du helt rätt i...
Open source låter ju spännade... vad kan man göra med det?
Swey, skapa en ny tråd för det då! Perl är jag helt ointresserad av, därav valet...
------------------
)|(
(o o)
-oo0-(_)-0oo----- webeye.nu *hem* vide@4sale.se
Open Source är ett begrepp. Det innebär att källkoden till produkten är fri och att du kan tanka hem den och se hur saker och ting är gjorda samt lägga till förbättringar etc.
Emission, vad är det som gör att du tycker att VBScripts Regexp inte är bra?
De kan endast agera som "greedy", dvs. de matchar alltid ett så långt stycke som möjligt (kan motverkas i andra regexpar med ?-modifieraren). Dessutom kan man inte referera till matchningregionerna i en replace, på annat sätt än att lägga tillbaka dem i ersättningssträngen (man kan skriva "hej$1blupp", men inte "hej" & len($1) & "blupp")
Dynamiska includes är ju inget problem i ASP
Varför inte?
Jo, jag förstår vad open source är förnågot, nackdelen med måste väl ändå vara att koden inte blir kompatibel med andras, eller?
Möjligheten för "dig" att modifiera koden är inte den primära fördelen, utan att den alltid är öppen för inblick samt att många, jätteduktiga utvecklare deltar i projektet. Det är alltid upp till utvecklaren och kvaliteten på tillägget att se till att modifieringar inlemmas med grundkoden.
Regexp - Bra, då fick jag lite kött på benen där... kan inte utala mig med säkehet om vad VBScript kan och inte kan i RegExp, bara att den avsevärt har förbättrats i v5 och uppåt...
Dynamiska includes - Antingen med FSO eller annan komponent...
Open Source - Okej, det kan jag gå med på... Tyvärr har jag haft en (dum?) princip mot Linux och andra "mass utvecklade" program och operativ, då det ofta blir tusentals olika versioner av samma idé... men fungerar det så får jag väl lägga principen åt sidan...
Har inte så mycket om php, men min erfarenhet av ASP:
Fördelar:
- VBscript har en mycket enkel syntax, mao. lätt att lära sig.
- Att kunna använda befintliga o 3:e parts serverobjekt.
- Transaktioner med MTS, nästan ett måste med dagens olika weblösningar, e-handel, e-betalningar, B2B mm
- Lätt att integrera med befintliga system, administration o lagerhantering mm. (nästan allt som körs på Windows plattformen kan portas till webben med ASP och COM objekt, mycket starkt argument)
Nackdelar:
- Som programmerare saknar jag ett flertal funktioner/metoder. Går iof att skapa egna, men det borde finnas mer från grunden.
- Svårt att som privatperson hitta ett webhotell som stöder ASP. Faktiskt inte speciellt lätt för företag heller. Ett mycket begränsat utbud mao.
För att utnyttja ASP på ett vettigt sätt (skalbarhet etc.) så måste man använda sig av COM-komponenter. Det var aldrig meningen att hela logiken skulle ligga i ASP-skriptet, men så har det blivit på många lösningar.
Jo, du kan inkludera vad som helst... vill inte gå in på syntax, men jag har precis gjort en sådan funktion till min scriptlet...
Jag vill hemskt gärna veta....
Det borde inte gå. Visst, man kan inkludera HTML och annat statiskt material med FSO, men ASP-kod? Jag har gjort komponenter som exekverar ASP-kod, men de fungerar ju inte som dynamiska includes ändå, eftersom de inte delar samma variabler, minnesutrymme och namespace som det skript de anropas ifrån.
Men, säger du att det går, vill jag himskans gärna få veta hur. Det skulle vara väldigt användbart.
Skulle bara vilja lägga till en sak med det här med dynamiska includes.
I asp 3.0 så har de lagt in något som heter server.execute och server.transfer.
.transfer gör så att en sida skickas vidare till browsern utan att browsern behöver skicka en förfrågan om sidan först (som med response.redirect).
Men till det intressanta. Med server.execute så har du i stort sett dynamiska includes.
.Execute gör så att servern kör en .asp sida och sedan skickar tillbaka variablarna. Borde väl kunna utnyttjas dynamiskt ganska enkelt (tex med ett querystring värde, om inte annat).
Och om man vill ha (någotsånär) dynamiska includes i asp 2.0 så kan man ju alltid lösa det med en select Case lösning juh. Lite mer slöjdigt iof (och inte riktigt dynamiskt).
<%
Select Case request("värde")
Case "värde1"%>
<!-- #include file="värde1.fil" -->
<%Case Else%>
<!-- #include file="else.fil" -->
<%End select%>
%>
Sedan så finns det faktiskt en hel jäkla bunt med COM-Komponenter med IIS.
Och precis som Toonster säger så tror jag att asp:s stora styrka är att det funkar så bra med windows alla andra funktioner. Om du ska bygga intranät så är asp väldigt bra.
Och i stort sätt alla program du installerar kan du komma åt med com också (om jag inte missuppfattat allt helt och hållet, så skulle man tex kunna göra bilder med photoshop om man hade det installerat och skickade riktiga värden. Om det är installerat på servern)
Och sedan kan jag upplysa dem som inte vet att man kan använda hur många olika script språk som helst i asp (inkluderat perl). När jag började med asp förra sommaren (ett år sedan nu, nästan precis) så stod det i den boken jag hade att det fanns 12 st olika som stöddes. Kan ju kanppast ha minskat (man får ladda ner tolkarna separat dock).