Ciro Marotta - Programmatore JAVA - PHP
Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.
Io ricopiando gli esempi in basic da un libro di informatica delle medie, credo
Ruby, of course
Post doppio... e 4 per oggi![]()
Ultima modifica di Alhazred; 08-12-2013 a 22:45
Secondo me i casi sono troppi e troppo vari per imporre una regola così forte. Allunghi le linee di codice anche quando non è necessario. Per me deve rimanere una buona pratica e non una imposizione.
Mah non lo so. Credo che dovrò farmele piacere perché l'hanno implementato in JS 1.7. Ma secondo me hanno una sintassi poco piacevole (certo se devi fare cose semplici sono comodissime. Ma se ne abusi... un po' come gli operatori ternari(e le list comprehension, e soprattutto i sequence object, sono un'idea fottutamente geniale)a? b: c? d : e? f? c: d : e)
Ok, se proprio devi allora non mi mettere True e False... mettimi true e false, o TRUE e FALSE. Ma va beh, forse mi ci sono scontrato a causa del fatto che in tutti i linguaggi ho sempre scritto "true" o "false".Perché non dovrebbero esserlo?Tutto in Python è case sensitive.
Infatti nessuno è così pazzo da dire che PHP o Perl o C++ abbiano una sintassi bella.Se non è bella la sintassi Python non so cosa si può dire di PHP, Perl, C++, bash, ...![]()
Il fatto è che lo sentivo dire spesso di python. Poi quando ho fatto un paio di settimane di full immersion, la mia percezione non coincideva per nulla con quello che sentivo dire in giro. Eh si che ho programmato sia in js che php, C#, Java e actionscript 2 e 3... quindi sono abbastanza aperto a nuovi orizzonti.
Poi dai.. mancano le costanti, e pure lo switch.
Se devo sceglierne uno... sceglierei ActionScript 3.0. Secondo me è il migliore a livello di chiarezza. (parlo semplicemente del linguaggio, non di tutto quello che c'è attorno). Ma non ha senso impararlo oggi.
Brainfuck, of course. Autoesplicativo, semplice e conciso. Questo per esempio
Stampa a schermo la lettera A...codice:++++++ [ > ++++++++++ < - ] > +++++ .
Either way... http://learnxinyminutes.com/
Ah seriamente... non l'ho mai studiato, ma a pelle GO mi sembra un linguaggio con le contropalle:
http://learnxinyminutes.com/docs/go/
A tal proposito, di recente mi è stato chiesto il modo più creativo per stampare i numeri da 1 a 100 in C...
codice:#include <stdio.h> #define MEMSIZE 30000 char memory[MEMSIZE]; int interpreter(const char *program); int main() { return interpreter(" ++++++++++ [ > ++++++++++ < -] ++++++++++ > [>+ >>++++++++++<<[->+>-[>+>>]>[+[-<+>]>+>>]<<<<<<]>>[-]>>>++++++++++<[->-[>+>>]>[+[- <+>]>+>>]<<<<<]>[-]>>[>++++++[-<++++++++>]<.<<+>+>[-]]<[<[->-<]++++++[->++++++++ <]>.[-]]<<++++++[-<++++++++>]<.[-]<<[-<+>] <<< . > -] "); } const char *matchBracket(const char *pos, const char *start) { int dir=2*(*pos=='[')-1; int bracketCount=0; do { if(*pos=='[') bracketCount++; else if(*pos==']') bracketCount--; else if(*pos==0) return NULL; else if(pos==start) return NULL; pos+=dir; } while(bracketCount); return pos+(dir==-1?2:0); } int interpreter(const char *program) { char *dataPtr=memory; const char *programPtr=program; int input; while(*programPtr) { switch(*programPtr) { case '>': dataPtr++; break; case '<': dataPtr--; break; case '+': (*dataPtr)++; break; case '-': (*dataPtr)--; break; case '.': putchar(*dataPtr); break; case ',': if((input=getchar())==EOF) { fputs("Got EOF", stderr); return EOF; } *dataPtr=input; break; case '[': case ']': if((!*dataPtr && *programPtr=='[') || (*dataPtr && *programPtr==']')) { programPtr=matchBracket(programPtr, program); if(programPtr==NULL) { fputs("Unmatched brackets", stderr); return 1; } continue; } break; } programPtr++; } return 0; }![]()
Amaro C++, il gusto pieno dell'undefined behavior.