Pike
Även om Pike fortfarande är ett ungt språk, så har Pike mognat under de senaste åren, och utvecklingen koordinerades av ett team på Idonex AB. Pike släpptes under GNU General Public License (GPL). Det är och kommer att fortsätta att distribueras fritt. Detta innebär att du är fri att använda och ändra källkoden på vilket sätt du vill. Idonex behåller rätten till varumärket och upphovsrätten, vilket garanterar att Pike kommer att fortsätta att utvecklas och förbättras och förbli en fri programvara.
Pike är lätt att lära sig, och lika lätt att använda i utvecklingen av kraftfulla applikationer. Språket är designat för att vara användbart och kraftfullt. Eftersom syntaxen för Pike liknar den för C, kommer de flesta programmerare att tycka att den är lätt att använda. Eftersom Pike är ett tolkat och modulärt objektorienterat språk på hög nivå, så kan kraftfulla applikationer snabbt utvecklas. Pike har utvecklats snarare än designats, och de ändringar som gjorts har styrts av användarnas behov. Generellt sett, ju bättre du lär känna Pike, desto mer kommer du att uppskatta det, ur en användares perspektiv.
Pike lämpar sig lika bra för stora och komplicerade applikationer som för att skapa skript för användning en gång. Vid behov kan du också skriva Pike-moduler i C, för att få bättre prestanda eller komma åt C-bibliotek. Detta är transparent för modulens användare; moduler skrivna i C nås på exakt samma sätt som de skrivna i Pike.
Pike version kommer med en omfattande manual, inklusive både en handledning och en referens. Detta hjälper dig att snabbt få ut det mesta av Pike.
Nedan är en kortfattad lista över egenskaper, eller fördelar, av Pike:
- Allmänt programmeringsspråk.
- Fritt distribuerad under GPL.
- Tolkad – Ingen kompilering och länkning behövs för att köra kod.
- Objektorienterad – Enkel och kraftfull objektorientering.
- Modulär – Utbyggbar med moduler skrivna i C eller Pike.
- Kraftfullt – Språk på hög nivå, koncis kod.
- Inkrementell – Tillåter on-the-fly modifieringar och omkompilering.
- Tillgänglig källkod – För att främja delning av användbar kod.
- Plattformsoberoende – Tillgänglig på de flesta varianter av Unix. .
För närvarande stöds följande plattformar:
- Solaris 2.5 & 2.6 (Sun SPARC & Intel x86)
- Digital UNIX 4.0
- AIX 4.2.1
- IRIX 6.3
- SCO UnixWare
- FreeBSD 2.2.2
- HP-UX 10.20
- Linux Red Hat 4.2 (Intel x86)
- Kraftfulla, flexibla och effektiva datatyper.
- Automatisk minneshantering.
- Skalbart – lika användbar för små skript som för kraftfulla och komplexa applikationer.
- Textbehandling – t.ex. för filtrering.
- Undantagshantering.
- Möjlig utveckling av flera trådar.
Hur Pike förhåller sig till andra programmeringsspråk:
- Optimerat – Snabbare körtider än Perl, Python, tcl och Java.
- Snabbare utveckling än att använda C eller C++.
- C-liknande syntax – Lätt att lära sig.
Några framgångsrika applikationer som använder Pike inkluderar:
- Nätverksapplikationer – som klient-/serverapplikationer.
- Roxen Challenger Server och en rad servertillägg.
- Mail Gateways.
- Klient/serverprotokollimplementeringar.
Systemadministrationanvändning och verktyg – Även som snabba engångsåtgärder
- Adduser- eller adddomain-skript som konfigurerar användare/domäner.
- Övervakning av klient/serverstatus i realtid.
- Diverse textbearbetningsverktyg.
- CGI-program.
Pike distribueras tillsammans med en uppsättning moduler, av vilka några beskrivs nedan.
Bild – Bildbehandlingsmodul
Bildmodulen låter dig utföra vanliga bildmanipulerings- och bearbetningsoperationer från Pike-program. De stödda operationerna inkluderar klippning och inklistring, skalning, rotation, linjär filtrering av de flesta slag, rendering av text, etc.
Kantutjämning kan användas när du utför någon form av ritoperation.
Med hjälp av bildmodulen kan du automatisera jobb som annars skulle ha krävt tråkigt arbete i ett interaktivt bildbehandlingsprogram som Adobe PhotoShop.
För närvarande är det enda inmatningsformatet ppm. Utdataformat är ppm och gif.
SQL – Gränssnitt till SQL-databaser
SQL-gränssnittet gör det möjligt att använda vanliga SQL-databaser inifrån dina applikationer. Stöd för mSQL, MySQL och Postgres ingår.
MIME – Multimedia Internet Mail Extension Module
Denna modul gör det enkelt att skapa och avkoda e-post, inklusive bilagor.
Gz – Datakompressionsmodul
Med denna modul kan du komprimera data. Namnet är något missvisande, eftersom det använder ZLIB. ZLIB använder samma komprimeringsalgoritm som gzip, men formatet för komprimerad data är inte kompatibelt med gzip.
Krypto – Kryptografisk verktygslåda
Kryptoverktygslådan är en uppsättning objekt som implementerar olika kryptografiska algoritmer, såväl som objekt som används för att sätta ihop de andra objekten. Verktygslådan innehåller blockchiffrorna IDEA, DES (inklusive trippel DES) och CAST, RC4-strömchifferet, hashfunktionerna MD5 och SHA och kryptografialgoritmen RSA med publik nyckel. Den innehåller också några slumpmässiga källor.
Verktygslådan kan användas för de flesta typer av kryptografiska applikationer, inklusive krypterade nätverksanslutningar, såväl som kryptering av filer eller annan data.
Pikegemenskapen och dess åsikt om Pike och detta är vad det hade att säga:
Vad använder du Pike till?
I frekvensordning (högst först)
- Skript på serversidan (Roxen).
- Roxen Modules/ Roxen anpassning.
- Anpassade e-postgateways.
- Unix-skript (dvs saker som förmodligen skulle kunna göras med: bash awk grep).
Ian Carr-de Avelon
Vi använder i första hand Pike för att utveckla alla våra UNIX-verktyg och applikationer. Vissa av dem är skrivna som moduler för Roxen (som den interna POP-servern och SMTP-servern). Andra är bara användbara skalverktyg som den speciella adduser eller adddomain-skript som konfigurerar användare/domäner på vår server.
Mike Knott
Varför använder du Pike istället för något annat?
Först när jag behöver ha något som fungerar SNABBT. C är uteslutet när du behöver göra något innan gårdagen. Perl är bra för texthantering, men det hanterar inte komplexa datastrukturer lika bra som Pike. Sedan finns det modularitet, som hanteras mycket bättre i Pike än på många andra språk.
Francesco Chemolli
Det är lätt att lära sig lätt att läsa (om du har lärt dig C, C++, [u]LPC tidigare) och det har ett trevligt modulsystem.
Christoph Hoegl
Vad är det unika med Pike för dig?
Mycket enkel implementering av inbyggda moduler; praktisk, användarvänlig OO-implementering.
Bernhard Fastenrath
Vad är det sexigaste med Pike?
Framtiden och möjligheterna.
Mike Knott