Hack – Não é um ataque, é a nova alternativa ao PHP

19 Comentários

A nova linguagem de programação do Facebook

Procurando por “Hack Facebook” no Google são muitos os resultados devolvidos que oferecem informação sobre como atacar a rede social mais popular do momento. Na verdade, Hack é uma nova linguagem de programação, criada pela equipa de programadores do Facebook, que já está em uso há mais de um ano na rede social mas que só agora foi disponibilizada à comunidade em geral.

Mas o que nos reserva esta “nova” linguagem de programação?

hack_02

Segundo o anuncio oficial do Facebook, o objectivo desta nova linguagem de programação é juntar um conjunto de boas características de linguagens de programação estáticas, como é o caso do C, com as boas funcionalidades das linguagens dinâmicas, como é o caso do PHP.

No geral, uma das grandes diferenças das linguagens de programação estáticas e dinâmicas é o facto de nas estáticas o erro ser detectado durante o processo de compilação. Nas dinâmicas tal só acontece depois de executar a aplicação, não existe uma forma de detecção prévia de erros (além da pesquisa/análise manual). Assim, um dos objectivo desta linguagem de programação é ter métodos próprios para identificação de erros, aproveitando o melhor das linguagens estáticas e dinâmicas.

No anuncio pode ainda ler-se que normalmente, as linguagens dinâmicas permitem um desenvolvimento rápido mas sacrificam a habilidade de prever erros . Por outro lado as linguagens estáticas oferecem mais segurança, mas normalmente não são tão intuitivas, influenciando o tempo de desenvolvimento.

hack_01

Segundo o Facebook, esta nova linguagem irá permitir desenvolvimentos mais rápidos de software, numa linguagem simples e  bem documentada.

Homepage: Hack

Partilhar:
Tags:

Comentários

19

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Rui C.
    Rui C.

    Nice.
    Só falta um tutorial sobre esta linguagem aqui no pplware feita pelos entendidos. 🙂

  2. Avatar de navyseal
    navyseal

    mais ou menos offtopic:

    Vamos continuar a bater no ceguinho sobre as terminologias linguisticas ligadas ao hacking?
    Hack – reconfiguração de um sistema de software ou hardware sem autorização ou concentimento do autor original/fabricante. Pode ser algo usado para bem ou mal. Porque se continua a insistir exclusivamente num blog dedicado à informática que o hack/hacking é prejurativo?
    As perguntas são retóricas, não vale a pena justificar, é preciso é melhorar e corrigir para futuros posts.

    1. Avatar de Filipe YaBa Polido
      Filipe YaBa Polido

      +1

    2. Avatar de Filipe YaBa Polido
      Filipe YaBa Polido

      Já agora, que tal todos mandarmos um mail a corrigir a Priberam, que pelos vistos, também não faz a mais pálida ideia do que é um hacker:
      http://www.priberam.pt/dlpo/hacker

      1. Avatar de Gonçalo
        Gonçalo

        dicionario@priberam.pt

        “Boa noite,

        Apenas para referir que o significado de
        http://www.priberam.pt/dlpo/hacker
        está errado.
        Sugiro que não coloquem uma palavra para a qual não sabem o seu significado.

        Cumprimentos”

    3. Avatar de navyseal
      navyseal

      *consentimento

  3. Avatar de Rui Marques

    “estáticas são mais seguras mas também mais lentas”???

    1. Avatar de Manuel Cordovil
      Manuel Cordovil

      Pois… deviam ser mais rápidas…

      1. Avatar de Duarte Ferreira
        Duarte Ferreira

        No artigo original esse comentário esta a referir ao processo de desenvolvimento e não ao tempo que demoram a correr as aplicações.

    2. Avatar de fibonacci
      fibonacci

      “Conversely, statically typed languages provide more of a safety net, but often at the cost of quick iteration.”

      Esta frase foi muito mal interpretada.

      As linguagens estáticas dão outra segurança ao programador (os erros são detetatados ainda no desenvolvimento), mas o desenvolvimento é mais lento.

    3. Avatar de Pedro Pinto

      Sim, tem a ver com os tempos de desenvolvimento. Por norma, as linguagens estáticas não são tão flexíveis/intuitivas e isso influência o tempo de desenvolvimento.

  4. Avatar de Duarte Ferreira
    Duarte Ferreira

    Falta explicar que os “erros” se resumem a erros de tipos de variáveis e de funções/métodos, por exemplo, no caso de enviar uma variável dicionario para uma função que recebe um inteiro e não a erros de lógica do programa, por exemplo um ciclo infinito ou a função não fazer o que o programador esperava(lógica).
    Já agora tinha ideia que linguagens dinâmicas e linguagens dinamicamente “tipadas” são coisas diferentes. Hack e PHP são ambas linguagens de progrmação dinâmicas mas só Hack é estaticamente “tipada”( pelo que li no artigo é híbrida, permite usar as duas formas de forma semelhante a Python 3).

    1. Avatar de Pedro Pinto

      boa explicação técnica.

  5. Avatar de JJ
    JJ

    Uma questão… essa suposta indicação de erro, quando se esta a programa em hack, só aparece se utilizarmos o respectivo programa que faça essa situação correcto?
    Então, quer dizer que se utilizarmos um programas que faça o mesmo com o PHP, esse aspecto já não é valido.

    Qualquer das formas, é interessante ser uma linguagem híbrida.
    O Facebook já funciona a 100% com essa linguagem?

  6. Avatar de Nelson
    Nelson

    Excelente, transformaram o PHP em Java!

    Muito bom, afinal não era só eu que achava que isto já devia estar feito! LOL

    1. Avatar de Carlos
      Carlos

      Exactamente o meu primeiro pensamento… O que é fantástico!

    2. Avatar de Eduardo Oliveira
      Eduardo Oliveira

      Yey o Nelson disse uma de jeito 😮

  7. Avatar de Pedro H.
    Pedro H.

    Pelo o que percebi no respectivo artigo, o Hack é a resposta para um problema de performance, que segundo a Facebook, para correr a base de código deles, estavam a investir muito em servidores. A Hack, por causa da declaração estática das variaveis permite ganhos a esse nível.
    Isto é muito atractivo para os programadores em PHP como eu, porque para além da promessa dos ganhos em performance, significa que posso gradualmente deixar-me de maus hábitos no que respeita a utilização de variáveis.
    Só resta mesmo tirar a prova dos 9.