Arquivos com etiqueta ‘Programação’

LinguÁgil – Misturando Linguagens e Agilidade

A proliferação de tecnologias para o desenvolvimento de aplicações web vem gerando exaustivas discussões sobre qual adota-las em seus projetos. Java, PHP e Ruby estão entre as 10 linguagens de programação mais utilizadas no mundo, segundo a TIOBE Programming Community. Em paralelo, os mesmos profissionais buscam melhorar seus serviços adotando metodologias que ao mesmo tempo permitam o controle de seus projetos, gerem valor agregado aos clientes e evitem excesso de burocracia.

Diante desse cenário, os grupos AgileBahia, JavaBahia, PHPBahia e RailsBahia realizarão em Salvador a edição 2009 do LinguÁgil – Misturando Linguagens e Agilidade, parte da XII Semana de Informática da Unime. Inédito na Bahia, o evento reune algumas das principais comunidades de TI, buscando estimular aprendizado e discussões em torno de linguagens de programação e metodologias ágeis.

Local:
- Unime – Lauro de Freitas – Bahia

Palestrantes/instrutores:
- Alberto “Spock” Lemos (Globalcode), Alexandre Gomes (SEA Tecnologia), Dairton Bassi (Neurobox), Daniel Lopes (Área Criações), Felipe Ribeiro (UFCG), Felipe Rodrigues (Fratech), Henrique Landim (Partner Process) e outros

Palestras GRATUITAS – 14/11:
- Agile, Manifesto 2.0, Ruby On Rails, PHP/Frameworks, JSF 2.0/Scrum Toys, Linguagens para a JVM, Pentaho

Oficinas/Coding-Dojo – 12 e 13/11
- Coding-Dojo Agile, Java/Web com Demoiselle, Integração Contínua/Maven (a confirmar), Python (a confirmar)

Mini-cursos (R$60 a R$120)
- 12/11 – Métodos Ágeis, JSF, Portlets com Liferay, TDD/Java, Ruby
- 13/11 – XP, Scrum, Pentaho, PHP/TDD, Rails

Inscrições:
- Com desconto até 05/11
- Preços promocionais para estudantes e membros do AgileBahia / JavaBahia / PHPBahia / RailsBahia

Programação detalhada, inscrições e mais informações em www.linguagil.com.br.

Dez listas de dez coisas

Java no Google App Engine

O blog do Google App Engine anunciou uma característica há muito esperada para a ferramenta: o suporte à linguagem Sun Java. Até agora, para hospedar sua aplicação nesta linguagem você precisava fazer o download do ambiente Java, desenvolver seu aplicativo Java e encontrar algum local de hospedagem que correnspondesse às suas necessidades.

Java no Google App Engine

Java no Google App Engine

O Google App Engine, por sua vez, permite a execução de seus aplicativos web a partir da infraestrutura da Google. Com um ambiente de aplicativos próprio, voc? desenvolve sua aplicação e hospeda nos servidores Google. Isso é praticamente uma garantia de escalabilidade de seu aplicativo. E o que é impressionante: tudo isso é gratuito para aplicativos com até 500 MB de armazenamento e 5 milhões de pageviews mensais, como é o caso do Twitnest. Este é um bom caminho para implementar seu aplicativo em uma ambiente de Computação em Nuvem. Antes do anúncio de suporte à Sun Java, o Google App Engine era capaz de executar somente aplicativos escritos em Python, o que parece ter feito crescer o interesse por DJango, um framework para Python.

Os desenvolvedores poderão aproveitar de diversos benefícios como manter-se em seus ambientes de desenvolvimento prediletos , como NetBeans ou Eclipse, e utilizar outras linguagens suportados pelo JVM, como JRuby, Groovy ou Scala. Devem ser encontradas algumas restrições implementadas por motivos de segurança.

Lista de 15 exercícios para aprender uma nova linguagem de programação

É conselho recorrente em blogs voltados à programação de computadores que os programadores devem aprender uma nova linguagem de programação por ano, ao menos. O mercado de trabalho, muitas vezes, é responsável por essa necessidade. E, nestes casos em particular, o aprendizado precisa ser rápido.

Um artigo de Prashant Mhatre tratou recentemente com muita propriedade desta situação. O maior ponto de interesse do artigo é uma lista de 15 exercícios para desenvolver a habilidade em outra linguagem de programação.

A primeira dica de Mhatre é procurar alguma referência rápida da linguagem em questão. Este blog mesmo já publicou artigo com referências rápidas (Cheat Sheets) para linguagens como PHP, Javascript, Ruby, Ruby on Rails, Perl, Python e outras.

O segundo passo é familiarizar-se com o editor/compilador da linguagem. Por exemplo, no início do aprendizado de uma linguagem como Java, uma boa idéia seria aprender como trabalhar com o NetBeans. Para isto basta escrever algum “Olá, Mundo” (Hello World), compilá-lo e executá-lo. É aconselhável verificar como trabalhar com as principais funcionalidades de debbuging, ajustar pontos de parada (break points), observar valores de variáveis, mover para a próxima posição, para uma posição específica, interromper o debugger e etc.

Conhecendo o editor/compilador da linguagem o programador estará apto a executar os quinze exercícios para aprendizado da linguagem de programação. Convém alertar que esta lista é para que programadores com algum grau de experiência possam obter conhecimento em uma nova linguagem. Ou seja, esta não é uma lista plenamente recomendável a iniciantes em programação de computadores.

  1. Exibir uma série de números (1, 2, 3, 4, 5, … ) em um loop infinito. O programa deve encerrar-se quando for pressionada uma tecla específica, como um ESC.
  2. Série de Fibonacci, trocar os valores de duas variáveis (com ou sem variável auxiliar), encontrar os valores mínimo e máximo de uma lista de números.
  3. Obter uma série de números do teclado e ordená-las tanto em ordem ascendente como descendente. Fazer o mesmo com uma série de strings.
  4. Calcular o Coeficiente de Reynolds, recebendo os parâmetros nas unidades apropriadas. Indicar, em função deste coeficiente, se o fluxo é laminar (resultado inferior a 2.100), de transição (entre 2.100 e 4.000) ou turbulento (acima de 4.000)
  5. Alterar o programa anterior para, após sua execução, perguntar ao usuário se ele deseja realizar outro cálculo. Durante a execução do mesmo fornecer valor 0 (zero) para a viscosidade dinâmica e observar o resultado. Verificar como contornar esta situação de erro.
  6. Fazer uma calculadora que execute operações de adição, subtração, multiplicação, divisão, quadrado, cubo, raiz quadrada, seno, cosseno, tangente, fatorial, inverso e módulo.
  7. Exibir números em diferentes formatos como arredondados para cinco casas decimais, truncados com quatro casas decimais, completando com zeros à esquerda e à direita, alinhando à esquerda e á direita.
  8. Abrir um arquivo de texto e convertê-lo em HTML.
  9. Obter a data e hora do sistema e apresentá-lo em diferentes formatos como ’20-Jan-2009′, ’01-20-2009′, ’20-1-2009′, ’14:34′, ’2h24 a.m.’ e outros.
  10. Criar arquivos com parte do nome indicando a data e hora de criação.
  11. Ler um arquivo HTML com uma tabela, remover as tags e gravar em outro arquivo no formato CSV.
  12. Extrair palavras escritas em maiúsculas de um arquivo. Extrair lista de palavras utilizadas em um arquivo sem repetições.
  13. Implementar um recurso de quebra de linhas de um texto, com ou sem ajustes.
  14. Adicionar e remover ítens no início, no meio e no final de um vetor.
  15. Verificar e testar recursos da linguagem como sobrecarga de operadores ou de métodos, ponteiros, pacotes e outros.

Bom trabalho! Depois contem-me sobre seus progressos.

Algoritmos e Lógica de Programação

Autoria

Este material é de autoria de Hebert Bratefixe Alquimim, Cid Rodrigues de Andrade, Pedro Beolchi Rios e Vicente Salgueiro Filho.

Referência Bibliográfica Básica
COPI, I.M. Introdução à Lógica . São Paulo, Mestre Jou, 1978.
FORBELLONE, A.L.V. Lógica de Programação . São Paulo, Makron Books, 2000.
MANZANO, J.A.N.G. Algoritmo: Lógica Para o Desenvolvimento de Programação . São Paulo, Érica, 2002.

Referência Bibliográfica Complementar
GANE, C. Analise Estruturada de Sistemas. Rio de Janeiro, LTC, 2002.
PEREIRA, S.L. Estruturas de Dados Fundamentais : Conceitos e Aplicações. São Paulo, Érica, 2000.
SALIBA, Walter Luiz Caram Técnicas de Programação : uma abordagem estruturada. São Paulo: Makron, 1992. 141 p.
FURLAN, J.D. Modelagem de Negócio. São Paulo, Makron Books, 1997. 161 p.
RUSSEL, B. Os Problemas da Filosofia. Oxford: Oxford University Press., 2001.

Composição

Este material é composto por

Os exemplos deste material são desenvolvidos em Pascal, Javascript, C e Java