[Python] Facciadilibro ed il suo linguaggio

Carlos Catucci carlos.catucci a gmail.com
Ven 21 Mar 2014 15:18:17 CET


Leggo su un post di G+

Facebook Introduces 'Hack,' the Programming Language of the
Future<http://www.wired.com/wiredenterprise/2014/03/facebook-hack>
 <http://www.wired.com/wiredenterprise/2014/03/facebook-hack>Lo ammetto
sono curioso come unamangusta curiosa e vado a lurkare. Provo le prime
pagine del tutorial e .... ecco il mio commento.
Poi magari mi sbaglio e diventa il nuovo PHP .... beh sapete bene cosa io
pensi del PHP.

Ah gira come virtual u HipHop.

===8< CUT HERE >8===

A big shoot but who guarantee us that have a future this language?
I have read that "move from the old dynamically typed system to a
statically typed arrangement". Mm great! Come back to the nehanderthalian
programming ;P

// ^-- FIXME: replace <?php with <?hh
// A Hack file always starts with <?hh

Great! In python I dont' say anything, is the interpreter that evaluate if
the cose is Python and is right.

<?hh

// Hack functions are annotated with types.
function my_negation(bool $x): bool {
  return !$x;
}

// FIXME: annotate this function parameter
// and return with the type 'int'.
function add_one(/* TODO */ $x): /* TODO */ {
  return $x+1;
}

Wonderful, the hated $ sign for the variables again. Doesn't start very
good. Go ahead.

<?hh

/* Hack errors come in multiple parts.
 * Hover over the underlined parts!
 */

YES THE FIRST IS WHEN YOU ADOPT IT! (n.d.r.)

function add_one(int $x): int {
  return $x+1;
}

function test(): void {
  $my_string = 'hello';
  // Some clever code ...
IT'S AN IMPOSSIBLE MISSION WRITE "CLEVER" CODE (n.d.r.)

  add_one($my_string);
}

Got an error? Wow! The other languages ... too. SO where's the new?
Proceed with tutorial.

<?hh

// Prefixing a type with '?' permits null.

// TODO: fix the type of the parameter $x to permit null.
function f(int $x): void {
  var_dump($x);
}

function test(): void {
  f(123);
  f(null);
}

Really smart! Use a sign as '?'' to permit null. Mmm, why I suppose that
they have smoke something really bad?

<?hh

interface User { public function getName(): string; }

function get_user_name(?User $user): string {

  if($user !== null) {
    // We checked that $user was not null.
    // Its type is now 'User'.

    /* TODO: return $user->getName() */
  }
  return '<invalid name>';
}

function test(User $user) {
  $name1 = get_user_name($user);
  $name2 = get_user_name(null);
}

No! The !== no! I can't' go ahead. Shit! As Facebook too.
===8< CUT HERE >8===

Carlos
-- 
Coloro che sognano di giorno sono uomini pericolosi, perche' sono capaci di
recitare a occhi aperti il loro sogno fino a renderlo possibile. Ed e'
questo che feci anch'io. - (T.E. Lawrence)
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140321/58afe334/attachment.html>


Maggiori informazioni sulla lista Python