A Pliant nyelv

Bevezetés a Pliant-be

A Pliant alapvetően három dolgot jelent:



Amit mindig szem előtt kell tartani, ha programot fejleszt:


A Pliant nyelv és alacsonyszintű könyvtárai

A megvalósítás szemszögéből, úgy is gondolhatunk a Pliant nyelvre, mint a GCC, glibc és a guile helyettesítőjére.

A koncepció szemszögéből pedig úgy, mint a C nyelv kibővítésére.

A nyelvek minőségének osztályozására két módszer van:



Más szóval, ha megadjuk mindkét minőségi mértéket egy nyelvnek, akkor a pozitív mérték azt jelenti, hogy milyen az a maximális osztályzat, míg a minimális a legkisebb osztályzatot határozza meg.

Ami az egészben érdekes, hogy a két osztályzat teljesen különböző eredményhez vezet, és egyik sem fontosabb a másiknál, és ez a magyarázat arra, hogy az embereknek miért olyan különböző a véleményük az egyes nyelvekről.

Összegzés:
Mit csinálsz leggyakrabban ... minőségi mérték ... és talán a legjobb választás
Hasonló programokat pozitív minőség egy logikai programnyelv, vagy a C, ha használ alacsony szintű kódot is
Teljesen különböző programokat negatív minőség a legjobb a Pliant, második a C++, a harmadik a C

Kezdjük a C-vel, amit úgy is hívhatnánk, mint a hordozható assembly. Hardware közeli, de ennek ellenére még hordozható, ezért hatékony és viszonylag egyszerű. Emiatt lett az első olyan nyelv a C, aminek magas a negatív minősége. Másrészről azért, mert alacsonyszintű, sokat kell benne gépelni, és sok az egyszerű bug benne. Egy nagyobb projekt megvalósítása nagyon drága ezen a nyelven.

Majd jött a C++ amely megpróbálta kijavítani a C gyengeségeit:



De vannak gyenge pontjai:

A Pliant egy sokkal jobb megoldás a C gyengeségeinek kiküszöbölésére.

Ami a tervezést illeti:


A gyakorlati megvalósítás:

Tehát a Pliant:


A szintaxisról

Ha át szeretne írni egy C kódot, azt gondolhatná, hogy a C++ a megfelelő választás. Pedig nem.
Ahhoz, hogy élvezhesse a C++ előnyeit, ahhoz át kell írni minden függvényt osztályba. Míg ha egy tisztább szintaxisú programra tér át, az sokkal kevesebb munkával jár.
Ha viszont úgy dönt, hogy megtartja az eredeti kódot, a Pliant-re átállni akkor sem gond: a régi programot DLL-é kell konvertálni, és a Pliant máris tudja használni. A C++ másik nagy előnye, hogy be tudja olvasni a C header-eket, de a Pliant Posix port bebizonyította a C fordító segítségével legalább annyira hatékony, mint társa.

Ha már ennyit hasonlítgattuk a nyelvet más nyelvekkel, itt az ideje, hogy kivesézzük egy kicsit önmagában:
Az alapgondolat a Pliant megtervezésekor, az volt, hogy egy olyan nyelvet hozzunk létre, amibe minél több magas szintű nyelvi elemet belezsúfoljunk, anélkül hogy az alacsonyszintű hatékonyságán változtatnák. Most, néhány év elteltével, arra jutottam, hogy úgy kell kialakítanom a nyelvet, hogy minél kevesebb magas szintű nyelvi elemet teszek bele. Azonban amiket fontosnak tartok, azokat beletegyem, és amik fontosak ahhoz, hogy más nyelvekkel együtt egyszerűen lehessen használni, semmiképpen nem maradjanak ki. Ez a legszűkebb halmaz lett a Pliant fordítója. Viszont egy nagyon bő kifejező eszköz lett azáltal, hogy bármilyen magas szintű elemet modulként csatolhatunk anélkül, hogy megsértenénk az alapcsomagot. Kanyarodjunk vissza a minőségi mértékhez egy kicsit. A minimális szabályhalmaz miatt a Pliant igen magas eredményt ért el a negatív minőségi mérték szerint (semmi nem veheti el azt, hogy ez a leghatékonyabb alacsonyszintű kód), és egészében a pozitív minőségi mérték is magas, mivel az a néhány specifikus tulajdonság, amire szükség lenne, modulként importálható. Emiatt azt kell, hogy mondjam a Pliant egy egész keretrendszer.

Konklúzió:
Ha egy olyan nyelvet keres, aminek magas a negatív minőségi mértéke, akkor a Pliant önnek való, mivel sokkal jobb, mint a jó öreg C++.
Másrészt, ha egy olyan nyelvet keres, aminek magas a pozitív minőségi mértéke, akkor valószínűleg talál jobbat is, mint a Pliant. A legjobb választás azonban nagyban függ az alkalmazástól, amit készíteni szeretnének, de még ekkor is garantáltan számba jön a Pliant, mert ebből a szempontból is a legjobbak közt a helye.

A beépített Pliant programok

A legfontosabb talán a Pliant beépített alkalmazásaiban az, hogy a kód viszonylag rövid.

Itt van a Pliant szerver oldali alkalmazásainak listája:

Alkalmazás Mire jó
HTTP szerver Honlapok készítéséhez (tartalmazza a .page formátumot, ami sokkal komolyabb eszköz, mint a PHP)
Adatbázis kezelő Egy nagyon megbízható és biztonságos adatbázis kezelő motor a dinamikus oldalak részére.
DNS szerver Névkiszolgáló.
SMTP/POP3 szerver Levelező szolgáltatás.
FTP szerver Régimódi fájlmegosztás.
Biztonságos proxy Biztonságos fel- illetve letöltés és távoli karbantartás.
Backup rendszer Egy fejlett, többlemezes biztonsági mentési rendszer.

Íme a Pliant végfelhasználói programjainak listája:
Végfelhasználói alkalmazás Mire való
Web Mail Levelezzen bárhonnan bármikor egy egyszerű böngésző segítségével.
Fórumok Könnyedén létrehozhat fórumot honlapján.
Spreadsheet Táblázat kezelő.
Word processor Szövegszerkesztő.
Configuration manager Megfigyelés, beállítás, frissítés.

Tehát a Pliant-nek a beépített alkalmazásait két csoportba oszthatjuk:

FullPliant operációs rendszer

Minden Unix alapú rendszeren a szerver oldali alkalmazások konfigurációs fájljait automatikusan generálja le a Pliant konfigurációs fájl tükrében. Egy webes felület segítségével lehet szerkeszteni ezt a konfigurációs fájlt, ezért egyből be tudja állítania a beépített alkalmazásokat is.

Extra szolgáltatások FullPliant Unix-ba ágyazott rendszerben:

Beágyazott szerveroldali alkalmazások Mire jó
Fájl megosztás Fájlok megosztása más Unix, Windows vagy Macintosh rendszerek között.
Nyomtatás A klasszikus Unix nyomtatási sor.