X
Pur avendo molte similarità con i linguaggi classici, POWER-KI presenta sostanziali differenze concettuali:
- suddivisione tra gli elementi costituenti (dati, codice, flusso);
- architettura Plastica (Riflessiva ed auto-Modificabile);
- istanziazione degli elementi esecutivi (EXO, MTHD);
- Native Cloud (NC) ovvero la separazione tra le interfacce (GUI) ed il programma che le ha generate.

Per la creazione delle applicazioni, viene messo a disposizione il WorkBench dotato di tutte le funzionalità per l`editing, il test, il debug di applicazioni Package (.pwk) o di applicazioni assembly (.pka) e per la generazione di interfacce utente NC (.pki) e di interfacce/siti web (.pkw).

Le librerie standard contenute in PWK permettono di accedere alle più importanti funzionalità tra le quali p.e. DB(DataBase), KB1(knowledge Base), comunicazioni industriali (IEP1,OPC), elaborazione di immagini e DNN (OpenCv).

Con le librerie WRAP PWK si apre agli sviluppatori, a cui si da la possibilità di creare delle DLL di wrap che potranno essere viste in modo pseudoNativo da PWK. PWK diventa quindi la struttura portante su cui innestare codice capace di soddisfare svariate esigenze, in sostanza un collante logico per far dialogare tecnologie diverse con cui realizzare velocemente applicazioni innovative.

Qui sotto Fast.Track la rivista ufficiale di POWER-KI.

POWER-KI (PWK) è un linguaggio di programmazione che implementa la Software Plastic Architecture (SPA) per la realizzazione di Applicazioni Intelligenti (I.A) ovvero applicazioni che utilizzano tutte le informazioni disponibili, desumendole anche atonomamente (A.I.), per ottimizzare il loro funzionamento e semplificare le interazioni con gli utenti. Gli ambiti applicativi di PWK vanno dall` IoT (internet delle cose), ai sistemi di supervisione e controllo, alle applicazioni per la gestione dei processi produttivi e decisionali, al Web ed eCommerce.


POWER-KI ® è il primo linguaggio (commerciale) Made in Italy


POWER-KI permette la PROGRAMMAZIONE IBRIDA, cioè lo sviluppo di applicazioni con componenti creati con linguaggi diversi in un unico package, sfruttando il meglio di ognuno di essi. Infatti da POWER-KI è possibile eseguire direttamente codice PyThon, codice C/C++ mediante WRAP e javascript nelle Web User Interface . In questo modo per esempio è possibile realizzare applicazioni basate su codice Python che sfruttano il Native Cloud di POWER-KI per l'interfaccia utente o creare funzioni C/C++ per avere il massimo delle prestazioni.


Casi reali
Programmi Demo
Perché usare POWER-KI ?

Tutti i linguaggi, propongono un modello di realtà. Anche i linguaggi di programmazione lo fanno, in modo schematico, ma lo fannno: mondi a funzioni, a liste, a strutture ad oggetti e così via, Questo schematismo, rigidità, è spesso ricercato col non dicharato scopo di trasformare il programmatore stesso in un elemento del linguaggio. POWER-KI invece, partendo dall`assunto che il software é design, punta a liberare la creatività del programmatore per dargli la possibilità di sviluppare vecchie o nuove cose in modi nuovi e con nuove idee.

Sono molte le cose che con PWK si possono fare e che invece con i linguaggi normali sono di difficile realizzazione. Per esempio la creazione di applicazioni Native Cloud, o l`insufflaggio di codice nelle applicazioni, tecniche che hanno permesso la realizzazione dell` INSPECTOR con il quale da remoto è possibile analizzare il funzionamento di un`applicazione e nel caso modificarla a caldo.

Ci sono poi i WIZ applicazioni PWK che estendono le funzionalità del WorkBench, un passo deciso verso l`automazione della produzione del software.

E` nello sviluppo di applicazioni complesse (v. casi reali), che si apprezza pienamente la potenza di PWK sia come strumento di realizzazione/esecuzione che di pensiero.

Quale l`impatto sulla qualità del Software ?

L`insieme degli strumenti a disposizione, quelli del WorkBench (Test e Debug) ed il citato INSPECTOR consentono un`attività di ricerca degli errori e di messa a punto delle applicazioni molto efficace, con tempi di gran lunga inferiori rispetto alle soluzioni tradizionali.

I vantaggi economici ?

Nel ciclo del software sulla base di comparazioni con programmi C/C++ C#, abbiamo valutato le seguenti riduzioni dei tempi :
- sviluppo dal 40% al 60%
- debug dal 50% al 70%
- manutenzione dal 60% al 90%

I vantaggi tecnico/economici possono essere così rilevanti da indurre alla riscrittura di applicazioni esistenti.

Cosa sono i WRAP ?

Con la versione 10 (del Decennale) abbiamo introdotto i WRAP ovvero la possibilitò di estendere le funzioni di PWK con codice esterno e di vedere queste funzioni in modo pseudoNativo. Abbiamo quindi messo a disposizione un Template VC++ ed uno OpenOffice per gli help.
Le possibilità di utilizzo sono molte vanno dal "porting" di nuove tecnologie, all`inserimento di codice proprietario.
Il vantaggio è quello d`innestare queste funzioni in PWK e quindi di giovarsi della sua struttura ed operatività.

Quali sono i Sistemi Operativi supportati ?

Al momento PWK è utilizzabile su Windows PRO dalla versione 8 un su. Per Windows Server ed Home è necessario installare le estensioni "desktop experience".

Che tipo di licenza ?

Per uso didattico, privato o sviluppo inHouse la licenza d`uso è gratuita (inclusa nel pacchetto di distribuzione). Per uso commerciale (SoftwareHouse) è necessario l`acquisto della licenza.

Quali sono i requisiti hardware ?

I programmi POWER-KI sono molto compatti, la maggior parte delle applicazioni si accontenta di veramente poca RAM, 2 o 4 Gb sono di solito sufficienti. Essendo orientato al MultiThreading, la presenza di più Core garantisce prestazioni brillanti.
Per lo sviluppo consigliamo l`uso di monitor che abbiano una risoluzione effettiva come minimo di 1920 x 1080 pixel, quindi meglio dai 24" in su e per chi usa il portatile ... monitor aggiuntivo, del resto stiamo parlando di uso professionale.

Quanti sono gli utilizzatori di POWER-KI ?

Sono ancora sotto i 5000 ma ... stanno crescendo.

E` difficile imparare a programmare POWER-KI ?

Al netto delle compenze informatiche specifiche necessarie per utilizzare le librerie, mi riferisco a cose come SQL, comunicazioni seriali, OPC ecc. la difficoltà nell`apprendimento dipende dalle esperienze precedenti di programmmazione dell`Utente:
per programmatori C è facile, abbiamo invece notato che chi proviene da Java, tende a soffrire per la mancanza dei vincoli a cui è abituato. Per chi comincia, e quindi non ha preconcetti, direi che rispetto ad altri linguaggi e sistemi di sviluppo, trova in PWK un ambiente confortevole e nel giro di poco tempo può realizzare applicazioni interessanti; comunque per dare un riferimento, rispetto a Python, che è considerato uno dei linguaggi più semplici, è inizialmente appena un poco più difficile ma questa (minima) difficoltà, viene ampiamente compensata dal poter sviluppare subito applicazioni complete e quindi lo sforzo complessivo risulta inferiore.