WN

WN (https://www.wn.se/forum/index.php)
-   Nyheter (https://www.wn.se/forum/forumdisplay.php?f=3)
-   -   PHP 5.5 har släppts (https://www.wn.se/forum/showthread.php?t=1058306)

Clarence 2013-06-24 21:58

Du kan göra allt i PHP :) T ex en PHP VM, "Yo dawg, I heard you like PHP. So I built PHP in PHP so you can run PHP on your PHP".

https://github.com/ircmaxell/PHPPHP

De flesta klagomål verkar rätt passande för PHP .. för 5-15 år sedan (PHP 3-5.2 hade vissa av problemen) beroende på vilka kommentarer. Och då var givetvis inte heller andra språk vad de är idag (eller iallafall inte exempel C# och .NET som ingendera fanns för 15 år sedan ...)

CotopaXi 2013-06-25 00:33

Har PHP någon motsvarighet till Pythons PIP eller Rubys GEM ännu (dvs en pakethanterare) ?

pelmered 2013-06-25 08:17

Citat:

Ursprungligen postat av CotopaXi (Inlägg 20472561)
Har PHP någon motsvarighet till Pythons PIP eller Rubys GEM ännu (dvs en pakethanterare) ?

Nja, det som finns är PEAR för moduler till PHP core och Composer för att hantera beroenden(dependencies) av externa mjukvarukomponenter.

Clarence 2013-06-25 11:49

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20472563)
Nja, det som finns är PEAR för moduler till PHP core och Composer för att hantera beroenden(dependencies) av externa mjukvarukomponenter.

Nja, nu blev det lite fel va? PEAR är bara en riktigt trälig pakethanterare som folk installerade PHPUnit med under 5 år. Nu finns dock i princip alla namnvärda bibliotek och verktyg via composer så man slipper skiten.

PECL däremot är för moduler (extensions) av PHP. Till skillnad från PEAR funkar det faktiskt bra trots att dess uppgift är något krångligare. Också varit en källa för communityn att kunna göra ett rejält bidrag till språket då vissa extensions har blivit en del av språket med tiden.

Conny Westh 2013-06-25 18:48

Citat:

Ursprungligen postat av ITisGood.se (Inlägg 20472436)
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 (Inlägg 20472436)
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 (Inlägg 20472436)
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 (Inlägg 20472436)
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 (Inlägg 20472436)
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.

JesperA 2013-06-25 18:52

Citat:

Ursprungligen postat av ConnyWesth (Inlägg 20472625)
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.

Conny Westh 2013-06-25 19:24

Citat:

Ursprungligen postat av JesperA (Inlägg 20472626)
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.

Anders Larsson 2013-06-25 21:41

Buhu, min pappa är starkare än din pappa.

gregoff 2013-06-25 22:06

Citat:

Ursprungligen postat av Anders Larsson (Inlägg 20472642)
Buhu, min pappa är starkare än din pappa.

Det bästa som skrivits i denna tråden!

JesperA 2013-06-25 22:09

Citat:

Ursprungligen postat av gregoff (Inlägg 20472647)
Det bästa som skrivits i denna tråden!

Så varken du eller han vet i vilket sceenario man använder "min pappa är starkare än din pappa", det uttrycket passar nämligen inte in på något som skrivits i denna tråden.


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

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