FAQ |
Kalender |
Visa resultat för omröstning: PHP eller ASP.NET | |||
PHP | 92 | 73.02% | |
ASP.NET | 36 | 28.57% | |
Annat, nämligen... | 15 | 11.90% | |
Flervalsomröstning. Antal röster: 126. Du får inte rösta i den här omröstningen |
Ämnesverktyg | Visningsalternativ |
2009-10-23, 16:09 | #21 | ||
|
|||
Supermoderator
|
Citat:
Utanför webben är i princip alla språk typade men nu talar vi väl ändå om webbutveckling här.
__________________
Full-stack developer, free for smaller assignments |
||
Svara med citat |
2009-10-23, 16:32 | #22 | ||
|
|||
Medlem
|
Jag skulle ju inte debattera men jag får svårt att låta bli när Conny retas så...
Citat:
Citat:
Jo - och jag misstänker att mina åsikter om .NET (som jag inte har sneglat på sedan fem år eller så och eg aldrig jobbat med) är lika föråldrade som dina åsikter om PHP eller svagt typade språk i allmänhet Jag upplever det som att det finns olika närmast parallella världar i IT-branschen. Olika utvecklare befinner sig i helt olika världar. De som väljer att hålla sig i PHP-, java- eller .NET-världen för att nämna några verkar aldrig träffa duktiga utvecklare från andra världar. Det är synd. För man skulle kunna lära sig så mycket. Själv har jag jobbat många år parallellt i C/C++, PHP samt javascript, men även i Java, Visual Basic (för lääänge sedan) och inhouse-utvecklade terminalbaserade 4G-språk som svenska TRIM eller Netscapes personalisation engine som bara användes inhouse på Netscape och AOL. För att inte tala om ett antal tekniker och enterprisesystem för integration. Så jag känner att jag har åtminstone lite på fötterna när jag föredrar PHP till väldigt mycket. Trevlig helg! |
||
Svara med citat |
2009-10-24, 00:57 | #23 | ||
|
|||
Flitig postare
|
Om jag får välja eller blir tillfrågad så är det PHP som gäller utan minsta tvekan. Jag kan skapa ASP.NET/C# om det behövs men jag är inte imponerad av det språket.. jag tycker om kontroll i mina lösningar. Gillar inte att så mycket görs automatiskt och som ska funka helt felfritt i ASP.NET. Till saken hör att jag litar inte på Microsoft - dom är inte direkt kända för att skapa buggfria program (Open Source/Linux har buggar med.. men inte på samma sätt).
Säger inget Connys kommentar om PHP inte skulle vara för professionella lösningar.. finns tillräckligt sagt om det :P Jag vill tillägga att MVC är fortfarande aktuellt absolut och väldigt användbart i PHP. Om man vill ha en bra uppdelning av koden så väljer man dessutom nån sådan lösning istället för att blanda allt i en enda stor soppa. Det finns flera PHP-ramverk som är MVC-uppbyggda som CakePHP, CodeIgniter, Zend Framework m.fl. .. om MVC skulle vara oaktuellt bara för att det inte är nytt så borde UML vara lika oaktuellt (första versionen oktober 1994) t.ex. Eller är FTP-protokollet oaktuellt bara för att det är gammalt (1985) :P Senast redigerad av taz76 den 2009-10-24 klockan 01:02 |
||
Svara med citat |
2009-10-24, 09:47 | #24 | ||
|
|||
Flitig postare
|
Jag kör mest ASP.NET (inte just ASP.NET så mycket iofs, mer windows services och annat roligt), men har precis börjat lära mig PHP också. Jag är benägen att hålla med Conny. .NET fungerar, och det fungerar bra. Typsäkert, bra utvecklingsmiljö, genomtänkt. PHP känns som vilda västern..
Appropå FTP så jo, FTP-protokollet är hopplöst oaktuellt. Fast det tar emot att ens kalla det ett protokoll. Försök skriva en FTP-server eller FTP-klient så ska du få så på protokoll, har för mig att det varken finns specificerat hur en server ska lista filerna i en mapp, eller hur ett datum ska skrivas, till exempel. Kul att försöka pricka in varenda avart.. |
||
Svara med citat |
2009-10-24, 11:12 | #25 | |||
|
||||
Mycket flitig postare
|
Citat:
Har inte heller haft några större problem när jag gjort FTP-klienter. Dom tester jag gjort visar att FTP är mkt snabbare när det gäller att föra över stora filer, jämfört med SSH. |
|||
Svara med citat |
2009-10-25, 09:21 | #26 | ||
|
|||
Klarade millennium-buggen
|
Citat:
En viktig egenskap för just ASP.NET är att det är typat även i webben, inte bara bakgrundskoden. Det är en stor fördel för att undvika att införa typfel som då upptäcks omedelbart vid kompilering. Självfallet så är även "för-kompileringen" eller e.g. kompileringen en viktig komponent som gör att man upptäcker rena syntax-fel redan när man utvecklar. Det är ända upp till ca 1000 gånger dyrare att hitat fel i produktionsmiljöer än att göra det under krav resp designfaserna i ett projekt. Logiska fel kan trots allt slinka igenom,. men de ska man hitat vid system respektive acceptanstesterna om man gjör dem på ett organiserat och bra sätt. |
||
Svara med citat |
2009-10-25, 09:49 | #27 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Jag pratar då om appar på en miljon rader kod och mer. Jag jobbar normalt med appar i storleksordningen 1-3 miljoner rader kod och 15-20 delsystem eller mer. Jag använder över huvud taget inte otypade, eller ens svagt typade språk idag oavsett systemets storlek. Systemet bestod av 3,5 miljoner rader kod och tog 30 manår att utveckla, dvs ca 100 000 rader kod per utvecklare och år) Det är helt enkelt fullkomligt omöjligt för den mänskliga hjärnan att överblicka ett sånt system. Visst för batch-filer och småscript för installation kan jag oxo använda något otypat skript, men det är bara för småsaker, så en servertekniker kan gå in och göra justeringar för att justera installationsskripten. Server- eller installationsteknikerna har oftast inte vanan att använda kompilatorer och det brukar inte finnas installerat på alla burkar så därför finns det behov av skriptspråk för dem. Men det blir lättare buggar i installationsskripten. Jag började oxo en gång i tiden med otypade, svagt typade språk, men ju mer jag jobbade med dessa desto mer svor jag över svårhittade buggar som upptäcktes i runtime, vid de mest olämpliga tillfällen. Det var en dröm när jag först upptäckte kompilering som ett alternativ och cedermera även hård typning. Kompileringen gjorde att jag redan när jag utvecklade kunde hitta många buggar som jag inte känt till tidigare. När jag upptäckte typningens fördelar genom att applikationerna kunde kontrollera typen redan vid kompilering så höjdes prestandan med 130 gånger !!!! detta utan att optimera koden på något annat sätt än att införa typning, i stället för att typen måste kontrolleras dynamiskt. Senare dök ävenm objektbaserade och objektorienterade system upp vilket även det förbättrade möjligheterna att dela upp applikationerna i väl avgränsade och färdigtestade moduler som kunde återanvändas på ett effektivt sätt. Numera utvecklar jag alltid system med verktyg som stöder: Förbereddelser: - Objektorientrad kravhantering - Objektorienterad Analys och Design (OOAD) Kodning: - Kompilering (native- eller semi-) - Hård typning - Objektorienterad programmering (OOP) - Integrerad utvecklingsmiöjö (IDE) Nuvarande version av PHP (v5) här inte till den kategorin, men exempelvis Java (med sin byte-kod), .NET (C#, VB.NET, ASP.NET) hör till denna kategori. Jag jobbade en gång i tiden med ett verktyg som heter SQL-Windows, det var objektbaserat och kompilerande med hård typning men det hade en annan egenskap som jag starkt ogillade och det var binärkodade källkodsfiler. Det innebar att om man fick en krasch av IDEn sp kunde man tappa hela källkoden.... inte så kul även om det inte hände så ofta. De införde senare ett alternativ där man kunde spara sin källkod som rena textfiler, troligen för att utvecklarna krävde det. men de flesta programspråk har textbaserade källkodsfiler idag. Man kan givetvis skriva dålig kod i alla språk även med (trots) att språken/utvecklingsmiljöerna stöder dessa tre grundläggande krav för profesionell systemutveckling. När jag utvecklar idag försöker jag använda den strängaste syntaxkontrollen, för attfå så mycket hjälp som möjligt av kompilator och utvcklingsmiljön/verktyget/editorn som möjligt. Givetvis använder jag även editorer med autoformatering och färgkodning av nyckelord och typer så man blir så effektiv som möjligt i utvecklingsarbetet. Observera oxo att begreppet effektiv inte är liktydigt med att knacka så många tecken som möjligt per minut utan att åstadkomma ett resultat som är användbart enligt kravspec och som fungerar korrekt. För att vara effektiv som utvcklare krävs betydligt mer än att vara snabb vid tangentbordet (vilket är ganska irrelevant f.ö.). Men slutligen så finns det inget så effektivt som den änskliga hjärnan i utvecklingsarbetet, man måste använda dn till att strukturera och planera sitt system långt innan man börjar med kodningen. Det spelar ju ingen roll om man jobbar snabbt med kodning om man sitter och jobbar med fel saker. Senast redigerad av Conny Westh den 2009-10-25 klockan 21:04 |
||
Svara med citat |
2009-10-25, 10:20 | #28 | |||
|
||||
Supermoderator
|
ConnyWesth, jag tycker inte du kan generalisera det så som du gör. En professionell applikation är vad man gör den till, inte vilket program/script-språk du valt att lägga i bakgrunden.
Valet av program/script-språk faller på så mycket annat. Du kan argumentera för vilket som är bäst lämpat för klara uppgiften som ska lösas, men om inga utvecklare har erfarenhet av det, är det då ett bra val? Förmodligen inte! Sen att utveckla webbplatser i .NET har flera stora nackdelar rent ekonomiskt. Nu daltar du om professionella applikationer, men du borde kanske skriva gigantiska applikationer istället. Eller applikationer som är stora och avsett att dra in mycket pengar, eller tillhör ett företag/organisation som sitter på massor av pengar. Utvecklingsverktyg, Operativsystem, Databaser blir genast en rätt stor "onödig" slant för de flesta applikationer. Det samma gäller utbildningskostnaden om dina utvecklare ännu inte har någon erfarenhet av .NET i webbmiljö. En professionell applikation är väl inte nödvändigtvis en stor applikation? Jag kan se fördelarna med .NET och håller med dig om mycket, men du värdesätter det PHP saknar för mycket. Vilket gör att .NET är kanske en frälsning från ovan till dig, men djuvelens otyg för någon annan |
|||
Svara med citat |
2009-10-25, 10:42 | #29 | |||
|
||||
Mycket flitig postare
|
Jobbar man med PHP på sidor med hög belastning så vet man att man måste använda en accelerator (så att PHP inte behöver kompileras vid varje request):
http://en.wikipedia.org/wiki/PHP_accelerator Kan bara hålla med FredrikMH: En professionell applikation är vad man gör den till, inte vilket program/script-språk du valt att lägga i bakgrunden. |
|||
Svara med citat |
2009-10-25, 15:41 | #30 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Jag har jobbat som systemutvecklare sedan 1988 dvs i drygt 20 år. Jag har skrivit program för många olika miljöer, både Stordatorbaserade som IBMs TSO och VM, Digital Equipments VMS, Santa Cruz Unix, DNIX, Debian, Ubuntu, DR-DOS, BULL GCOS, IBM DOS, Microsft DOS, Microsft Windows 1.0-Vista. Jag har använt programspråk som ANSI C, GNU C++, Microsoft C (långt inann Visual...), Microsft Visual C, Borland Turbo C, Borland C/C++, Borland Delphi, Borland Turbo Pascal, Borland JBuilder, Eclipse med Java, ADA i VMS-miljö, IBM Cobol i IBM Stordatormiljö, Microfocus Cobol i Microsft DOS, DR-Basic (Digital Research), Visual Objects, Visual Basic 4-6, Visual Basic.NET, C#, JavaScript i browser-miljö. Dessutom har jag kört bde PHP4 och PHP5 med MySQL-databas (både v4 och v5). Utöver detta har jag kört månag olika databassystem som Sybase SQL-anywhere, SQL-Base från Gupta, xBase (dBaseII, III, III+, IV, FoxPro, Clipper Summer 87, 5.0), Microsoft SQL-server, Oracle (databasen), ... Jag minns inte allt nu på rak arm.... Jag har m.a.o. en gedigen erfarenhet från utveckling med både interpreterande och kompilerande (både native- och semi-) språk. Jag jobbar mest med Microsoftmiljön och då är det ganska naturligt att arbeta med Microsoft .NET men om vi helt skiter i det och tittar på enbart det som kärnan i detta gäller nämligen: - Stark typning v.s. Svag typning - Kompilerande v.s. Interpreterande - Objektorienterat v.s. Icke objektorienterade (procedurella språk) Proffs föredrar (GNU C++, (Riktiga) Java eller andra hårt typade, kompilerande, objektorienterade språk): - Stark typning - Kompilerande - Objektorienterat Icke proffs använder ofta (PHP, JavaScript, VB-script): - Svag typning - Interpreterande - Icke objektorienterade (procedurella eller imperativa språk som man kallar dem på Universitetet) äldre PHP När man jobbat några år med systemutveckling så börjar man förstå dels skillnaden mellan dessa varianter men man få även en djupare insikt om vilka fördelar de objektorienterade, hårt typade och kompilerande språken har gentemot övriga (detta helt oavsett vilken tillverkare de kommer från). Licens-kostnaden är totalt försummbar när det gäller systemutveckling. En utvecklare kostar (enligt en undersökning som IDG gjorde i somras bland de 500 störsra företagen i Sverige) i genomsnitt 931 SEK/tim+moms (förra året dvs 2008 var den kostnaden 932 SEK/tim+moms). Det betyder att en utvecklare kostar 932*1200 dvs 1 117 200 SEK per år när det är inhyrda kosulter vi pratar om. om anställd använder de stora företagen 750 SEK/tim som riktmärke. dvs ca 900 000 SEK/år. En licens för Microsoft .NET miljön brukar sällan överstiga 15 000 SEK och det behöver man inte betala varje år utan enbart när man köper ny licens. dvs vart annat vart tredje år. Även om vi tar 15 000 SEK och lägger det som en kostnad per timme under ett år så blir det 15000/1200 dvs 12,50 SEK per timme. Ett företag som inte har råd med den extra kostnaden kan knappast kalla sig professionellt. Nu kostar inte Visual Studio 15 000 utan betydligt lägre i de flesta fall, finns paketerat från typ en tusenlapp och uppåt beroende på konfiguration. Även om man gör denan jämförelse procentuellt så blir den helt försummbar med 12,50/931 dvs 1,34%. Om man ser till hur mycket tid man spar genom att låta kompilatorn hitta programfel (buggar) så behöver man bara spara in 16 timmar och 7 minuter (967 minuter) på ett helt år så har man tjänat in hela kostnaden för 15 000 SEK. Enligt min egen erfarenhet så spar jag minst en vecka per månad på att använda kompilator med hård typning jämför med helt otypat och interpreterande. Utbildningskostnaden har man oavsett vilket programspråk man väljer så det är inget argument vare sig för eller emot något enskilt språk, i just den här diskussionen. Vill jag ha en C++-utvecklare så anställer jag ju en C++-utvecklare och inte en PHP-utvecklare som jag måste utbilda inom C++. Vill jag ha en PHP-utvecklare så anställer jag ju en PHP-utvecklare och inte en C++-utvecklare som jag måste utbilda inom PHP. Senast redigerad av Conny Westh den 2009-10-25 klockan 16:30 |
||
Svara med citat |
Svara |
|
|