Mostrando postagens com marcador Programacao. Mostrar todas as postagens
Mostrando postagens com marcador Programacao. Mostrar todas as postagens

24 maio 2011

.NET ou Java?

0 comentários

.NET não é uma linguagem de programação, mas sim uma máquina virtual e um conjunto de bibliotecas sobre as quais você pode usar uma linguagem de sua escolha. Vou assumir que você quer saber se vale a pena se especializar no ecossistema .NET, geralmente dominado por C# e (infelizmente) Visual Basic, ou no ecossistema Java no qual a linguagem Java (Oh really?) é a mais utilizada.

Antes de tudo, devo dizer que não vejo porque se restringir a uma única linguagem ou ecossistema. Os conhecimentos de programação não funcionam só pra uma linguagem X ou Y. Não sei se faz sentido ser um mestre de Java e não saber nada de C#, Python, C, ou qualquer outra linguagem que pode lhe ser útil.

Nesse caso em especial, o mais inteligente seria estudar ambos os ecossistemas: boa parte das oportunidades do mercado gira em volta deles. Melhor ainda seria se manter sempre atualizado quanto a outras linguagens, não só pra conseguir emprego, mas também porque linguagens diferentes geralmente te fazem aprender a pensar de maneiras diferentes, o que é fundamental pra se tornar um bom programador.

Alguém que, por exemplo, já programou em linguagens funcionais como Lisp, vai conseguir aproveitar muito melhor os recursos funcionais de Python do que alguém que nunca as conheceu.
Um expert em Python que conhece .NET e Java pode ser muito útil, já que projetos como IronPython (Python sobre .NET) e JPython (Python sobre Java) vem sendo adotados por muitos como alternativas para melhor produtividade.

É estranho escrever tudo isso pra responder uma pergunta com outra pergunta, mas vou fazê-lo mesmo assim: será que é mais inteligente querer ser um bom programador .NET ou Java, ou um bom programador? Se eu fosse você, o que eu faria era escolher entre C# e Java (não faz muita diferença qual, pode até decidir na sorte  ), aprender um pouco, e depois aproveitar o conhecimento adquirido na outra já que ambas são tão parecidas. Mas definitivamente não pare por aí: aprender uma linguagem funcional como eu já citei, ou qualquer outra de algum paradigma que te faça pensar de maneiras diferentes, é fundamental pra ser um bom programador: depois disso, linguagens e bibliotecas são detalhes.


No momento estou no C++, mas ai apenas citei o que eu pesquisei, amigos meus falando , entre outras fontes.

22 maio 2011

ALGOL

0 comentários
Quem ai já ouviu falar sobre ALGOL ? se não ouviu ainda , neste post vou falar um pouco sobre ela e um pouco de sua história .


O Algol ou ALGOL ( a forma de escrita depende da forma de consulta) , é uma família de linguagens de programação de alto nível , usadas principalmente em aplicações científicas. A origem do seu nome vem de "ALGOrithmic Language"  .
Várias linguagens razoavelmente diferentes receberam o nome de ALGOL ou Algol, adicionando ao nome letras ou números, por descenderem diretamente do ALGOL original.

Um pouco de História 


A linguagem começou a ser formulada em 1957, na Europa, por um grupo internacional de cientistas de computação que finalmente, em 1960, definiram o Algol 60 através de um documento curto, conciso e preciso, o "Revised Report on the Algorithmic Language Algol 60", que foi publicado em 1963 na revista Communications of the ACM.
ALGOL especifica três sintaxes diferentes: uma sintaxe de referência, uma sintaxe de publicação e uma sintaxe de implementação. O uso de três sintaxes distintas permitia usar palavras chaves diferentes e convenções para pontos decimais (ou vírgulas decimais) de acordo com diferentes costumes nacionais.
A primeira versão da linguagem foi criada em 1958 e teve o nome original de International Algorithmic Language, mais tarde sendo conhecida por ALGOL 58
John Backus desenvolveu a Forma Normal de Backus, conhecido como BNF, para descrever ALGOL 58. O método foi revisado e expandido por Peter Naur, recebendo então o nome de Forma de Backus-Naur, e mantendo a sigla.
C.A.R. Hoare disse de ALGOL 60: "Aqui está uma linguagem tão a frente de seu tempo, que não foi uma melhoria sobre seus predecessoras, mas também a quase todas suas sucessoras". Essa fala foi também uma crítica velada a ALGOL 68, uma linguagem considerada inchada demais por muitos de seus críticos (e que não teve praticamente nenhum sucesso comercial).


Suas características 



As duas características principais do Algol são: a clareza e a elegância da sua estrutura baseada nos blocos e o estilo de sua definição, que usa uma linguagem metalingüística para definir de forma concisa e relativamente completa a sua sintaxe.
A linguagem continuou sendo desenvolvida e enriquecida com novas construções e novos comandos que aumentaram seu potencial.
Existem outras versões do Algol, como, por exemplo, o Algol 68, o Algol W voltado para máquinas IBM e o Algol 6000/7000 da Burroughs.

21 maio 2011

O que é .NET [ dot net ]

0 comentários

O que é .NET


.NET (lê se: dot-net) é uma plataforma de software que conecta informações, sistemas, pessoas e dispositivos. A plataforma .NET conecta uma grande variedade de tecnologias de uso pessoal e de negócios, de telefones celulares a servidores corporativos, permitindo o acesso a informações importantes, onde e sempre que forem necessárias.
Desenvolvido sobre os padrões de Web Services XML,.NET possibilita que sistemas e aplicativos, novos ou já existentes, conectem seus dados e transações independente do sistema operacional, tipo de computador ou de dispositivo móvel que sejam utilizados, ou que linguagem de programação tenha sido utilizada na sua criação.
O .NET é um "ingrediente" presente em toda a linha de produtos Microsoft, oferecendo a capacidade de desenvolver, implementar, gerenciar e usar soluções conectadas através de Web Services XML, de maneira rápida, barata e segura. Essas soluções permitem uma integração mais rápida e ágil entre os negócios e o acesso a informações a qualquer hora, em qualquer lugar e em qualquer dispositivo.
Comentem o que voces acham , amanha postarei sobre .NET X Java . 



10 maio 2011

Seqüência de Fibonacci

0 comentários
O matemático Leonardo Pisa, conhecido como Fibonacci, propôs no século XIII, a seqüência numérica abaixo:


(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …)
Essa seqüência tem uma lei de formação simples: cada elemento, a partir do terceiro, é obtido somando-se os dois anteriores. Veja: 1+1=2, 2+1=3, 3+2=5 e assim por diante.
Desde o século XIII, muitos matemáticos, além do próprio Fibonacci, dedicaram-se ao estudo da seqüência que foi proposta, e foram encontradas inúmeras aplicações para ela no desenvolvimento de modelos explicativos de fenômenos naturais.




Uma das seqüencias recursivas mais famosas é, certamente, a Sucessão de Fibonacci, definida assim:

F(1)=F(2)=1,
F(n+2)=F(n+1)+F(n) para n>0.

Isto já nos da um programinha recursivo:

No arquivo recursivo_fibonacci.c:



#include

int fibonacci_recursivo(int n){

int fib;/*para guardar os números de Fibonacci*/

if(n==1){
fib=1;
}
else{
if (n==2){
fib=1;
}
else{
fib=fibonacci(n-1)+fibonacci(n-2);
}
}
return fib;
}

int main(void){

printf("Digite o número!");
scanf("%d",n);
printf("fibonacci(%d)=%d",n,fibonacci_recursivo(n))

return 0;
}

Agora vamos construir uma versão não-recursiva. Primeiro, como fazer isso? Vamos pensar. Quando estamos fazendo as contas na mão, seguimos este procedimento para calcular F(10):


F(1)=1
F(2)=1
F(3)=F(2)+F(1)=1+1=2
F(4)=F(3)+F(2)=2+1=3
F(5)=F(4)+F(3)=3+2=5
F(6)=F(5)+F(4)=5+3=8
F(7)=F(6)+F(5)=8+5=13
F(8)=F(7)+F(6)=13+8=21
F(9)=F(8)+F(7)=21+13=34
F(10)=F(9)+F(8)=34+21=55


Que idéia estamos usando? Simples: a cada momento, pegamos os dois valores anteriores e somamos (sem nem se preocupar com as contas anteriores!). Em um computador, podemos pensar assim: reservar três variáveis (digamos, baixo_f, alto_f e fib) e a cada momento somar as duas primeiras e jogar na terceira, sem esquecer de gravar as duas posições anteriores! Parece meio complicado, não? Então, vamos implementar a coisa para ver como funciona!


No arquivo iterativo_fibonacci.c
#include

int fibonacci_iterativo(int n){

int baixo_f=0,alto_f=0,fib=1;

for(i=1;i<=n;i++){ baixo_f=alto_f; alto_f=fib; fib=baixo_f+alto_f; } return fib; } int main(void){ printf("Digite o número!"); scanf("%d",n); printf("fibonacci(%d)=%d",n,fibonacci_iterativo(n)) return 0; }



Observe que a versão interativa perde um pouco da clareza, comparado com a versão recursiva, mas a rapidez compensa algumas dessas perdas

09 maio 2011

Diferença entre as linguagens C, C++ e C Sharp

0 comentários
* C: A mais antiga de todas. Todo sistema operacional vem com um compilador por padrão para ela. Essa linguagem tem um alto poder computacional (performance). Ela permite operações de baixo nível, como manipular memória diretamente ou hardware em geral. Você tem que saber exatamente o que está fazendo, por exemplo: Voce tem que usar o comendo free() para liberar uma memória alocada senão a linguagem não faz isso para você.


*C++, A orientação objeto chegando ao C. Essa é uma evolução da linguagem C. A orientação à objeto é aceita e classes para manipulação de string são criadas para facilitar a vida do programador. Muito usada hoje para a criação de jogos, ou outras aplicações que exijam performance. Eu mesmo estava desenvolvendo um joguinho estilo worms para nintendo DS usando C++.

e Finalmente: C#:
Essa é feita pela microsoft, ou seja é uma linguagem proprietária. É uma cópia da linguagem JAVA que só funciona no windows, com algumas classes a mais, que facilitam ou atrapalham a vida. Lembrando que C/C++ são multiplataformas, só os código fontes precisam ser recompiladas no Sistema operacional usado.

Quanto ao ambiente (voce deve usar windows):
Baixe o Devcpp (ou Dev C++)  -> uma IDE + compilador de código C/C++



Diferença entre C e C++

2 comentários
Vou falar hoje sobre a diferença entre "C" e "C++" , e falar um pouco sobre os tópicos a seguir:


1- O que eu faço no C que eu não consiga fazer no C++ e vice- versa.
2-Como eu diferencio uma linguagem da outra.

3-Qual é a mais legal e Fácil de Aprender.

__________________________________________________________________________________


São linguagens bem diferentes, mas com sintaxes parecidas, por isso apresentam muita semelhança.

Quando C++ foi desenvolvida, C já era um grande sucesso. Daí, para facilitar a aprendizagem da nova linguagem, e para facilitar a conversão de programas em C, a sintaxe de C++ foi projetada para ser bem parecida com a do C.

E o nome, "C++", sugere que seria um C com "algo mais" (em C e em C++ o operador "++" soma 1 a um valor, o que se chama incremento, daí a idéia de "C incrementada" ou "melhorada").

A grande diferença entre as duas está nos paradigmas usados: enquanto que C é uma linguagem funcional, C++ é para programação orientada para objetos (além de funcional). E devido à semelhança de sintaxes, se não forem usados objetos em um programa, um código C++ pode (mas nem sempre) se tornar igual a um código C, até podendo ser compilado por um compilador C.

Mas, além dos objetos, há outras diferenças.

Quanto aos tópicos

1- Com C não dá para usar objetos, que não existem em C, mas existem em C++.

2- Verificando a extensão do programa-fonte: ".c" para C e ".cpp" (de "C plus plus") para C++ ou procurando no código a ocorrência de coisas que só existem em uma das linguagens, como objetos, operadores (como "<<") ou instruções (como "out") específicas.

3- C tem menos coisas, e isso facilita o aprendizado, mas para certos casos (como programas grandes e complexos), C++ torna o trabalho mais fácil.

26 abril 2011

Frases de programador

0 comentários
  • "Programas e Catedrais são feitos da mesma forma: primeiro construimos, depois rezamos"
  • "Existem 10 tipos de pessoas, as que entendem números binários e as que não entendem."
  • "Deus é Real, menos se declarado Integer"  – J. Allan Toogood, programador FORTRAN
  • "Sem o C nós só teríamos Pasal, Obol e BASI."
  • "C programmers never die. They are just cast into void."
  • "Programadores de verdade decoram telefones em binários." 

Cadastre-se

Receba atualizações por email .

Copyright © 2011 PortalTecch.net, Todos os direitos reservados.