Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

ffunenga

unfold-code

Recommended Posts

ffunenga

Titulo do Projecto: unfold-code

Última Versão: -

Site Oficial: http://ffunenga.github.io/unfold-code

Licença: LGPLv3

Coordenação de Projecto: Filipe Funenga

É uma ferramenta de linha de comandos, desenvolvida em C, para converter código "dobrado" para "desdobrado".

Código desdobrado significa texto escrito numa linguagem de programação onde:

  • as operações são separadas por pontos e virgulas: ';'
  • os blocos de operações são delimitados com chavetas

Código dobrado significa texto escrito de forma a que:

  • as operações sejam separadas por uma nova linha com a mesma indentação
  • os blocos de operações sejam definidos com incrementos/decrementos no nivel de indentação

Linguagens de programação como ["C", "Vala", "Java", "C#] são consideradas "desdobradas". "Python" e "ABC" são linguagens consideradas dobradas.

Vejam o código da função main do exemplo 3 [1]. Em menos de 30 linhas consegue-se implementar um servidor de echo em C, multi-threaded, capaz de terminar correctamente com SIGINT, SIGTERM ou SIGQUIT. Beautiful!

É obviamente uma questão de comodidade. Quem gosta de programar com chavetas e pontos e virgulas não terá interesse neste programa.

Alguém tem uma sugestão melhor para caracterizar os dois tipos de linguagem de programação? (dobrado e desdobrado?)

[1] https://github.com/ffunenga/unfold-code/blob/master/examples/example3/main.c

Edited by ffunenga

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.