Publicidade

21 de janeiro de 2010
Colunistas

Você++

Nivaldo Foresti é programador e desenvolvedor de projetos web

Publicada em 22 de setembro de 2008 às 08h00
Atualizada em 03 de dezembro de 2008 às 10h53
  • Share

Java ou C#?

Qual linguagem o profissional deve aprender para ganhar mais? Por Nivaldo Foresti.

Java ou C#? Qual a linguagem que devo aprender para ganhar mais? Essa é pergunta que mais me fazem por onde ando. Deve valer milhões de reais, pois ela é feita em reuniões, para indicar ao filho do amigo, para uma reportagem etc. Enfim, todos querem saber que linguagem será mais lucrativa para um profissional.

Minha resposta? Qualquer uma delas. Vale a pena saber a linguagem da moda? Claro! Mais oportunidades de emprego aparecem, os salários são maiores, mas é isso mesmo o que mais importa? Acredito que não.  O que mais importa, no final, é ter conceitos sólidos de algoritmos, na programação orientada a objetos, em sintaxe SQL, na arquitetura em multicamada e, em pelo menos, uma linguagem de programação.

Na atualidade, com a internet, alguns outros conceitos são importantes, como estas sopas de letras HTML, XML, CSS, XAML, SOAP. Não esqueça de acrescentar Javascript, Ajax e Actionscript (este vindo do Flash) e um pouco de Photoshop. Além disso, mesmo conhecendo tudo isso seu trabalho pode demandar freqüentemente o conhecimento de uma nova linguagem com pouco tempo de estudo. Como fazer isso?

A primeira dica é buscar, entre diversos tutoriais na internet, aquele que mais se adapta a seu objetivo, já que uma linguagem serve a inúmeras aplicações. Eis aqui uma pequena receita, que pode servir  como exemplo. Leia o manual com o tutorial da linguagem. Geralmente ele é pequeno e rápido de se fazer. Mantenha o manual de referência da sintaxe à mão, entenda como funciona o compilador, suas opções e, se houver, seu ambiente de desenvolvimento (IDE), comece com um programa simples, como imprimir uma linha no navegador. Compile-o e use as funcionalidades básicas de debugging como break points, inspeção de variáveis etc.

Depois, crie uma lista, como essa abaixo, para entrar na maioria dos recursos da linguagem e entender como ele funciona. Comece, por exemplo, por aumentar a complexidade do seu programa básico em uma ordem como esta:

1) Mostre uma série de números em um looping infinito usando uma tecla especifica para parar o programa;

2) Crie um programa com uma série Fibonacci, encontre o máximo e o mínimo em uma lista de números;

3) Aceite caracteres ou números do teclado e ordene a lista em ordem ascendente e descendente;

4) Crie um programa para calcular um número Reynolds. Ele deve aceitar os valores necessários em suas unidades apropriadas. Se o número for menor que 2100 mostre a mensagem Fluxo Laminar, se estiver entre 2100 e 4000 mostre a mensagem Fluxo Transiente, se foi maior que 4000, mostre a mensagem Fluxo Turbulento. Você irá usar os desvios If, else, then etc.;

5) Modifique o programa para perguntar se deseja calcular de novo. Com a resposta S, pergunte novamente pelos parâmetros, com a resposta N saia do programa (Do while loop). Informe números que podem dar erro no cálculo. Exemplo: coloque um=0, ele dá um erro de DIVIDE BY ZERO? Como a linguagem trata essa situação? Existe tratamento de exceção? (exception handling)

6) Faça cálculos científicos, tais como raiz quadrada, fatorial, seno, coseno etc.;

7) Imprima o resultado em diferente formatos, com casas decimais, truncando após a terceira casa, colocando zeros à esquerda ou direita, justificando etc. (operações com strings);

8) Abra um arquivo texto e o converta em HTML;

9) Pegue a data e hora do sistema e o converta em outro formato;

10) Crie arquivos com a data e hora no nome do arquivo;

11) Pegue uma tabela HTML e grave um arquivo separado por vírgulas;

12) Extraia palavras em maiúsculas ou palavras únicas de um arquivo;

13) Implemente quebra de linha automática conforme o tamanho da janela mostrada (veja o programa Notepad do Windows);

14) Adicione ou remova itens no começo, meio ou fim de um array;

15) Verifique, por fim, se esses recursos são suportados na sua linguagem: funções virtuais, referencias, pointers? Existem coisas como namespace, package, module, estude então o assunto name mangling.

Java ou C#? Você responde.

Nivaldo Foresti é programador há 30 anos, desde a jurássica era do mainframe. Foi consultor e desenvolvedor de produtos na internet como o BOL e hoje tem uma empresa de webcasting, com software nacional. Neste espaço, o colunista revela o que os desenvolvedores podem esperar da profissão, além de analisar as novas eras tecnológicas que se aproximam. E-mail: nforesti@yahoo.com .

Todos os textos de "Você++"
Top5MAIS LIDAS
DO DIA
IDG Now! Sem Fio
Receba notícias do IDG Now! no celular
Assine os canais SMS

Número do celular:

ex.: 1180000000 para um telefone de SP

BlackBerry ganha serviços

BlackBerry ganha serviços

Desenvolvedores poderão integrar publicidade, pagamentos e localização aos aplicativos.

Core i9: chips mais rápidos

Core i9: chips mais rápidos

Site polonês informa que novo processador da Intel pode melhorar desempenho em até 50%.

TI Verde

TI Verde

Saiba tudo sobre gadgets ecológicos e consumo consciente de eletrônicos.

IDG Now! Widget

Baixe o Now! Reader e confira em seu desktop as últimas notícias, álbuns e outros conteúdos do IDG Now!

IDG Now! Reader
Alerta de e-amil
Saiba de tudo o que o IDG Now! publica sobre as empresas abaixo por e-mail
Blog
All Tasks realiza localização de software e help files
Conheça o Exadata Storage Server, um produto de armazenamento altamente otimizado para uso com o banco de dados Oracle.
Conheça o Oracle Database 11g, disponível numa variedade de edições sob medida para atender necessidades de TI e negócios.
Torne sua infraestrutura de TI mais robusta e tolerante a falhas, maximize seu retorno e forneça melhor qualidade de serviço.
Saiba como o In-Memory Database Cache acelera processos, gera inteligência comercial e facilita contatos com o cliente.
Veja como melhorar sua produtividade e visibilidade com um conjunto de ferramentas que otimiza processos de negócios.
Uma revolução em agilidade: como fazer a integração de negócios através de uma arquitetura orientada a serviços.
Eventos IDG
CIO Focus
- De 25 de março a 21 de outubro de 2010
CIO Global Summit - Liderança Sustentável
Arraial d'Ajuda Eco Resort - De 11 a 15 de maio de 2010
Digital Age 2.0 - Ideias para um mundo em transformação
WTC Hotel São Paulo - De 18 a 19 de agosto de 2010
Newsletter
Segurança
Informe-se sobre as principais ameaças online
Computação Corporativa
Conheça as estratégias das empresas de TI
Carreira
Fique atualizado: cursos, eventos
e dicas