Author:


10
mag
[SONDAGGIO] Quali operatori preferite?
Postato da il 10-05-2010 alle ore 09:27:36


Vi propongo un sondaggio che è molto importante per lo sviluppo di Hybris, vi prego di rispondere votando nel poll che ho creato su questo thread nel forum.

Allora allora allora, stavo pensando ad una cosa e vorrei chiedere un opinione di voi utenti.

More…

Popularity: 6% [?]

10
mag
Google : 0, Io : 1
Postato da il 10-05-2010 alle ore 00:43:31


Chi ha letto questo post, sa che già da un po il sistema di lookup delle variabili, funzioni, metodi, tipi dinamici ecc in memoria di Hybris è implementato sulla base di una libreria rilasciata da Google, più precisamente dal Dr. Craig Silverstein, la quale mette a disposizione alcune funzioni per gestire una hash table, cioè una struttura di dati che consente di collegare una chiave (una stringa) ad un valore e di eseguire il lookup in modo molto veloce.

Il tutto si basa su una funzione di hashing che, prendendo in input la stringa della chiave, restituisce in output un numero intero (l’hash) univoco per ogni chiave o, in caso non sia univoco, gestisce queste “collisioni” di hash frammentando la tabella in più “bucket” .

Fatta questa introduzione, andiamo al nocciolo del discorso.

More…

Popularity: 7% [?]

7
mag
(Ri) Apre il forum ufficiale di Hybris!
Postato da il 07-05-2010 alle ore 20:17:10


Come da titolo, (ri) apre il forum ufficiale di Hybris.

Tutti gli utenti sono invitati a leggere il regolamento, a rispettarlo e a presentarsi nell’apposita sezione prima di postare qualunque cosa.

Popularity: 9% [?]

30
apr


Come sempre, per una corretta visualizzazione degli script in questione, consiglio di visualizzare l’articolo originale sul sito di Hybris.

In uno degli ultimi commit, sono state implementate le funzioni load ed eval.

Entrambe servono ad eseguire del codice a runtime (a differenza della direttiva include che viene eseguita in fase di pre parsing), la prima funzione accetta il nome di uno script Hybris che caricherà in memoria ed eseguirà, mentre la seconda serve per eseguire una stringa contenente del codice Hybris.

Molti linguaggi implementano queste due funzioni, ma sono pochi quelli che come Hybris, data la sua gestione dei tipi estremamente astratta e il sistema di ereditarietà delle classi, consentono di implementare tramite loro un sistema di plugin generalizzato con poche righe di codice.

Analiziamo un sistema di esempio, realizzato appunto tramite la funzione load.

More…

Popularity: 6% [?]

26
apr


Voglio riportare un post che ho appena pubblicato nel sito ufficiale di hybris, per vedere gli esempi con una colorazione appropriata vi invito a leggere l’originale.

Chi conosce anche solo le basi del C++, sa che una classe può eseguire l’overloading di uno o più operatori, ovvero definire come la classe si deve comportare quando uno di questi operatori viene usato su di essa.

Ad esempio, una classe che rappresenta un numero complesso, molto probabilmente avrà bisogno di eseguire l’overloading degli operatori aritmetici (come +, -, *, /, ecc), così come una classe Array avrà bisogno di eseguire l’overloading dell’operatore subscript ( [ ] ) per consentire l’accesso diretto ai suoi elementi.

Hybris, oltre a supportare questa funzionalità, propone un altra entità, denominata “overloadable descriptor” o “descrittore sovraccaricabile”, da adesso in poi d.s. .

Un d.s. è un estensione di un operatore e sostanzialmente istruisce l’inteprete su come trattare quella classe in contesti al di fuori dei meri operatori logici, aritmetici, bitwise, ecc, che non potrebbero essere gestiti/gestibili tramite il normale uso di un operatore.

Facciamo un esempio, il più banale, che però da una prima idea del concetto.

More…

Popularity: 7% [?]

24
apr
Una risposta che stavolta verrà letta :)
Postato da il 24-04-2010 alle ore 19:27:21


A distanza di quasi un mese da questo post, ho deciso di partecipare a quella discussione nella mailing list e dire brevemente la mia, quindi vi copio quella che è stata la mia risposta.

Salve, sono l’autore del “giocattolo” e vorrei dire la mia :)

Inizialmente ho preso molto male questo thread, per quanto le critiche possano essere giuste o meno non è mai facile vedere un progetto sul quale hai sudato il sangue “smontato” in questo modo.
Successivamente però mi son calmato e ho avuto modo di riflettere parecchio su quanto da voi detto ed in effetti, a parte un vago (nemmeno tanto) tono di arroganza da parte di alcuni dei partecipanti, ho trovato le vostre critiche giuste, critiche che mi hanno spinto a quasi un mese di lavoro incessante, giorno e notte.

Da questo ne è seguito che:

- Sono state sistemate alcune imprecisioni che erano presenti nella definizione di Hybris e nella documentazione in generale.
- Ora il core di Hybris è completamente separato dalla libreria standard (che comunque viene compilata ed installata contestualmente all’interprete stesso).
- E’ stata rivoluzionata la gestione dei tipi ed introdotto un garbage collector decisamente efficace.
- E’ stato implementato pieno supporto alla programmazione ad oggetti, con tanto di ereditarietà, specificatori di accesso e overloading degli operatori.
- E’ stata implementata la gestione delle eccezioni.
- Stiamo sviluppando una libreria standard “parallela” a quella binaria, implementata in Hybris, che offre delle classi con le quali operare secondo il paradigma OO.

Colgo quindi questa occasione per ringraziare i qui presenti della spinta, anche se indiretta, che mi hanno dato per migliorare Hybris .

Popularity: 8% [?]

22
apr
Redis client library for Hybris
Postato da il 22-04-2010 alle ore 18:18:57


E’ disponibile, presso questo repository, una libreria scritta in Hybris per connettersi al database Redis, progetto che sta facendo passi da gigante grazie al supporto della comunità open source e soprattutto del suo creatore Salvatore Sanfilippo.

Questa libreria vuole essere sia un omaggio che un contributo alla scena open italiana e soprattutto agli sforzi di uno sviluppatore brillante, in un paese che sembra ne incoraggiare ne ricompensare menti di questo tipo.

Popularity: 8% [?]

19
apr
Hybris, da ora Object Oriented!
Postato da il 19-04-2010 alle ore 23:49:46


Sono felice di annunciare che la prima stesura del codice che rende Hybris un linguaggio OO è pronta.

La grammatica supporta le classi (ovviametne), l’ereditarietà (anche multipla), gli specificatori di accesso (private, public e protected) con relativi controlli, costruttori e distruttori (lazy destructors precisamente, vedremo tra un po di che si tratta).

Su questa pagina potrete trovare alcuni esempi.

Popularity: 7% [?]

18
apr
E ora che mi vengano a dire che è un giocattolo!
Postato da il 18-04-2010 alle ore 23:52:36


Piccolo esempio di ereditarietà singola e multipla, polimorfismo e programmazione object oriented in genere in Hybris.

E ora, che “certi signori” mi vengano a dire che è un giocattolo!!!

Cliccare sull’immagine per ingrandirla

Popularity: 10% [?]

18
apr
Worth a thousand words …
Postato da il 18-04-2010 alle ore 14:39:52


Popularity: 7% [?]