Kom ihåg mig?
Home Menu

Menu


PHP 5.5 har släppts

 
Ämnesverktyg Visningsalternativ
Oläst 2013-06-25, 18:48 #1
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Det är inte så många fel som kan härledas till felaktig datatyp. Det är sällan det spelar någon roll om siffran du skickar in i en funktion är en string eller en integer. Typkonverteringen sker nästan alltid automatiskt när det behövs. Vill du specifikt typa en variabel är det väldigt lätt att göra.
Det är över 90% av alla fel man gör vid programmering som är enkla skrivfel så man sätter fel namn på en variabel eller annan identifierare. Använder man en kompilator för ett starkt typat språk upptäcks det redan när man gör sin första kompilering. Det är mycket viktigt att upptäcka felen så tidigt som möjligt.

Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Enligt mig en väldigt effektiv produktivitetsdödare. Jag vill kunna testa min kod sekunden efter att jag tryckt spara. Jag vill inte behöva vänta på att kompilatorn ska göra sitt. Hur underlättar kompilering för modulariteten?
Kompilering tar bara någon sekund och när jag exempelvis jobbar med Visual studio med C# så trycker jag på [F6] för att spara och kompilera eller [F5] för att först spara och kompilera och sedan köra programmet i ett svep.

Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Finns väldigt bra stöd för objektorienterad sedan PHP 5.3 och den blir bättre och bättre för varje version. Det finns i dagsläget få brister när det gäller det här jämfört med Java eller C#.
Stödet för Objektorientering är uselt i den senaste PHP 5.3.0 som jag kör, stödet har iofs blivit bättre men det är 20 år efter övriga ledande språk på markanden.

Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Vet inte riktigt vad du syftar på här. Det finns inga begränsningar när det gäller återanvändning av kod varse sig du använder imperativ eller objektorienterad kod. För att flytta kod använder man "cut and paste" oavsett språk eller plattform.

Det finns däremot andra områden där det finns viss förbättringspotential när det gäller PHP, men jag tycker inte alls du träffar rätt här.
"Cut and paste" räknas inte som återanvändning. Återanvändning är när du har en färdig modul i exempelvis filer som *.DLL, *.LIB, eller *.SO där källkoden är färdigkompilerad och testad och att man kan lita på det. Då kan man återanvända koden genom "anrop" och genom att "ärva", "instantiera" eller dyligt.

Det finns visserligen PECL för att skapa nya utökningar i PHP som jag ännu inte kört. Jag tyckte dock det var knepigt att förstå hur det var uppbyggt, men jag ska kolla vidare på det.

Jag tycker det borde finnas en möjlighet att kompilera till endera till MSIL eller Java Byte-kod eller motsvarande "PHP bytekod/ILkod" alternativt till ren maskinkod för att skapa motsvarigheten till *.DLL, *.LIB eller *.SO filer.

Idag behöver jag kopiera källkoden för att kunna återanvända koden, eller använda "include". Vilket är sämre varianter av "återanvändning".

Jag tycker det är viktigt att det finns denna möjlighet att använda externa tredjepartbibliotek som lätt kan användas vid behov, utan att för den skulll tynga ner "kärnan" av språket/interpretern/kompilatorn.

Dessa externa återanvändbara komponenter är en av de viktigaste delarna vid återanvändning, eller komponenttänkandet.

Citat:
Ursprungligen postat av ITisGood.se Visa inlägg
Det här är inte ett problem. Det är bara att använda en OP Code Cache som t.ex. APC, XCache eller eAccelerator för att den kompilerade koden ska cachas. Prestandaskilnaden är i stort sett obefintlig om man konfigurerar rätt.
Scriptspråk är i sig sega då de "by definition" är interpreterande och inte kompilerade, så det är i sig ett problem som är så stort att man normalt väljer andra programspråk för att bygga kommersiella applikationer.

Sammanfattningsvis så ser jag några viktiga saker som jag anser PHP måste blir betydligt bättre på:

- Stark typning med möjlighet att ställa in "strict type mode" som man införde i VB när det gick från att vara ett löst typat till starkt typat språk
- Kompilerande (Semi- till intermediate/bytekod eller native)
- Mer komponenttänkande med exempelvis: DLL-, LIB-, eller SO-filer som kan länkas ihop med applikationen
- Mer renodlat objektorienterad språkstruktur

En strategi för att komma närmare detta mål är att helt enkelt renodla/kraftsamla språket så det följer dessa grundläggande principer och låta communityt utveckla komponenter för specifika ändamål.

Som jag upplever det nu så verkar kommunityn behöva spendera mycket tid på att lösa grundläggande problem i språket, i stället för att tillföra nytt värde.

Smart tror jag vore om man väljer att kunna kompilera för MSIL och/eller JavaBytekod så att man underlättar integration med dessa miljöer, så får man automatiskt ett rejält boost i integrationsfrågor med dessa miljöer.

Senast redigerad av Conny Westh den 2013-06-25 klockan 18:55
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-25, 18:52 #2
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
JesperA JesperA är inte uppkopplad
Medlem
 
Reg.datum: Jul 2008
Inlägg: 214
Citat:
Ursprungligen postat av ConnyWesth Visa inlägg
Det är över 90% av alla fel man gör vid programmering som är enkla skrivfel så man sätter fel namn på en variabel eller annan identifierare. Använder man en kompilator för ett starkt typat språk upptäcka det redan när man gör sin första kompilering. Det är mycket viktigt att upptäcka felen så tidigt som möjligt.



Kompilering tar bara någon sekund och när jag exempelvis jobbar med Visual studio med C# så trycker jag på [F6] för att spara och kompilera eller [F5] för att först spara och kompilera och sedan köra programmet i ett svep.
Ser inte riktigt varför du vill ha kompilering i PHP för just detta, som det är idag, koda lite, råka skriva fel variabelnamn eller funktionsnamn och nästa gång du refreshar webbläsaren så får du ett felmeddelande, bra mycket snabbare än att hitta det genom en kompilering. Dessutom, kör du någon vettig IDE så kan du upptäcka felaktiga variabelnamn eller funktionsnamn redan där. Ditt problem är ett ickeproblem om man använder sina tillgängliga verktyg på rätt sätt.


Dessutom, du kanske skall uppdatera till senaste PHP version istället för att klaga på något som är förbättrat i versionerna efter den versionen du kör. Känns lite som att klaga på dagens BMW 3 serie bara för att en BMW 3 serie från 80-talet är skit idag.

Senast redigerad av JesperA den 2013-06-25 klockan 18:58
JesperA är inte uppkopplad   Svara med citatSvara med citat
Oläst 2013-06-25, 19:24 #3
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Conny Westh Conny Westh är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Aug 2005
Inlägg: 5 166
Citat:
Ursprungligen postat av JesperA Visa inlägg
Ser inte riktigt varför du vill ha kompilering i PHP för just detta, som det är idag, koda lite, råka skriva fel variabelnamn eller funktionsnamn och nästa gång du refreshar webbläsaren så får du ett felmeddelande, bra mycket snabbare än att hitta det genom en kompilering. Dessutom, kör du någon vettig IDE så kan du upptäcka felaktiga variabelnamn eller funktionsnamn redan där. Ditt problem är ett ickeproblem om man använder sina tillgängliga verktyg på rätt sätt.


Dessutom, du kanske skall uppdatera till senaste PHP version istället för att klaga på något som är förbättrat i versionerna efter den versionen du kör. Känns lite som att klaga på dagens BMW 3 serie bara för att en BMW 3 serie från 80-talet är skit idag.
Jag kör den version som kom den 19 Juni, dvs 5.5.0 (inte 5.3 som jag skrev i förra inlägget), så jag känner inte till om det kommit någon senare version.
Conny Westh är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 18:29.

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