Caracteres de quebra de linha

março 21st, 2012 | 0 comments

Uma das principais motivações que tenho para escrever neste blog é que, quanto mais escrevo, mais aprendo.

Aliás, em muitas das nossas experiências não há perda de tempo, mas aprendizado e aprofundamento.

Quando precisamos escrever algo, somos forçados organizar toda a bagunça de conceitos e experiências da nossa memória.

Não é à toa que, quando assisto aulas, ouço o professor e vou escrevendo no caderno o que entendo. Me ajuda a organizar melhor as coisas na minha cabeça.

Abaixo, escrevo mais algo não posso esquecer:

Há diferenças nos caracteres de quebra de linha, entre os sistemas operacionais. São estas:

  • Windows: \r\n
  • Linux: \n
  • BSD: \r

Estes caracteres são os seguintes:

  • \n : é o caractere número 10 da tabela ASCII (não é “ASC dois”, é “ASC i i”). É o chamado line feed, ou “Vá para a linha de baixo”;
  • \r : é o caractere número 13 da tabela ASCII. É o chamado carriage return, ou “Volte para o início da linha”.

Sem entrar na discussão de qual é a maneira mais coerente dessas três, registro que, para o Java, a quebra de linha se dá com o caractere \n (estilo Linux).

E, mais importante ainda: O DefaultEditorKit, base de funcionamento do JTextArea e afins, superclasse do StyledEditorKit (estou trabalhando com ele, nesse momento), trabalha com o \n na memória, mas quando vai salvar ou carregar um novo arquivo texto (string), ele age conforme o sistema operacional, embora nos permita definir um caractere diferente.

É uma informação importante. O texto completo está aqui (em inglês):

Registro feito.

Ah, sim… E quanto ao Java?

fevereiro 4th, 2012 | 0 comments

Por que não uso Java (que eu já conheço bem)? Por que aquilo que a torna uma linguagem cheia de recursos e altamente customizável, é exatamente o que também a torna difícil de se programar.

Por que não uso Groovy? É a linguagem que mais elegantemente pode substituir Java, otimizar seu código, etc… Mas não consigo achar bons tutoriais, livros, e a página oficial não ajuda. Por ter tipagem dinâmica, é possível que perca ainda alguma velocidade.

Como alternativa, achei uma linguagem chamada Scala.

A página inicial de seu Scala IDE for Eclipse encanta com bons vídeos introdutórios… Sua sintaxe lembra menos o Java que o Groovy, porém decidi investir meus estudos nela, para utilizar o potencial Java, com menos linhas de código e maior simplicidade.

Assim, por enquanto: falou-se em Java, falou-se Scala.