Para uma pessoa que programa mais em Java, C# seria mais fácil de aprender do que ASP.NET e VB.NET, ou não tem muita diferença no aprendizado?
Cara si vc aprende C# , os outros ficam facil…
pois vc integra C# ao ASP.NET, caso seja Projeto Web :!:
[quote=jbmsegundo]Pra vc entender melhor ASP.NET - JSP e C# ou VB - Java.
[/quote]
Oi,
Gostaria de entender o que vc quis dizer… :roll:
Eu tbm…
Acho que ele quiz fazer uma expressão numerica com as linguagens…
O que eu quis dizer é que ASP.NET tem quase o mesmo papel dos JSPs dentro do JAVA. ASP.NET não é uma linguagem é um framework. Você não ficará de livre de conhecer C# ou VB se precisar trabalhar com ASP.NET. Uma linguagem você precisará conhecer.
A pergunta certa seria : é mais fácil aprender C# ou VB
[quote]
Acho que ele quiz fazer uma expressão numerica com as linguagens… [/quote]
Sim, pelo fato de você não ser tão bom em português, então decidi tentar outras técnica, DAVID.
O C# é muito parecido com o Java. Você praticamente já sai programando.
Só leva um tempinho para aprender os recursos extras, como os extension methods, sobrecarga de operadores e o LINQ.
Não acho que valha a pena usar o VB.Net hoje em dia, a menos que você já seja um programador VB e não queria aprender C#.
[quote=ViniGodoy]O C# é muito parecido com o Java. Você praticamente já sai programando.
Só leva um tempinho para aprender os recursos extras, como os extension methods, sobrecarga de operadores e o LINQ.
Não acho que valha a pena usar o VB.Net hoje em dia, a menos que você já seja um programador VB e não queria aprender C#.[/quote]
Sempre ouvi dizer que o C# é mais parecido com o VB.Net do que com Java…Mas pelo que vc descreveu, é o contrario?
Difícil responder.
A estrutura da linguagem em si, é mais parecida com o Java.
Mas o C# e o VB.net compartilham a mesma biblioteca de classes, e é isso que torna os códigos muito similares.
Agora, a biblioteca do C# foi bastante inspirada na do Java.
O fato é que alguns códigos C# vão ser extremamente parecidos com java. Se usar uma biblioteca mais diferente, como a de acesso a dados, com muito LINQ, aí o código C# vai parecer mais com um VB.Net, justamente pelo uso da biblioteca não pela estrutura da linguagem em si.
Bom, Java e C# tem uma origem em comum: C !!
Mas apesar de sintaticamente serem muito semelhantes, elas tem vertentes diferentes. A Microsoft “adotou” o C# e englobou outras linguagens como VB, J#, F# C++ e até Cobol para se enquadrarem no framework .Net . Eles utilizam o chamado CLR (Commom Language Runtime ), onde apesar das direfenças de linguagem, todas tem acesso igual aos componentes .Net.
Então traçando um paralelo muito a grosso modo:
Java -> C#
ByteCode -> CLR - dll
JVM -> .Net Framework
Já o ASP.NET é linguagem servidor, por isso o jbmsegundo disse que se parece com JSP. A diferença é que o ASP.NET tem o conceito de CodeBehind, onde você tem classes .NET(C# e VB), e as páginas .aspx tem acesso à elas.
Então, novamente a grosso modo:
ASP.NET (code behind) -> JSF (managed bean)
Confuso, né?
Espero ter ajudado…
Interessante…Obrigada!
[quote=luiz.portnoy]Bom, Java e C# tem uma origem em comum: C !!
Mas apesar de sintaticamente serem muito semelhantes, elas tem vertentes diferentes. A Microsoft “adotou” o C# e englobou outras linguagens como VB, J#, F# C++ e até Cobol para se enquadrarem no framework .Net . Eles utilizam o chamado CLR (Commom Language Runtime ), onde apesar das direfenças de linguagem, todas tem acesso igual aos componentes .Net.
Então traçando um paralelo muito a grosso modo:
Java -> C#
ByteCode -> CLR - dll
JVM -> .Net Framework
Já o ASP.NET é linguagem servidor, por isso o jbmsegundo disse que se parece com JSP. A diferença é que o ASP.NET tem o conceito de CodeBehind, onde você tem classes .NET(C# e VB), e as páginas .aspx tem acesso à elas.
Então, novamente a grosso modo:
ASP.NET (code behind) -> JSF (managed bean)
Confuso, né?
Espero ter ajudado…[/quote]
Muito confuso…não leve a mal,mas vou ficar com a explicação do Vini…rsrs…desculpe
[quote=Anime][quote=luiz.portnoy]Bom, Java e C# tem uma origem em comum: C !!
Mas apesar de sintaticamente serem muito semelhantes, elas tem vertentes diferentes. A Microsoft “adotou” o C# e englobou outras linguagens como VB, J#, F# C++ e até Cobol para se enquadrarem no framework .Net . Eles utilizam o chamado CLR (Commom Language Runtime ), onde apesar das direfenças de linguagem, todas tem acesso igual aos componentes .Net.
Então traçando um paralelo muito a grosso modo:
Java -> C#
ByteCode -> CLR - dll
JVM -> .Net Framework
Já o ASP.NET é linguagem servidor, por isso o jbmsegundo disse que se parece com JSP. A diferença é que o ASP.NET tem o conceito de CodeBehind, onde você tem classes .NET(C# e VB), e as páginas .aspx tem acesso à elas.
Então, novamente a grosso modo:
ASP.NET (code behind) -> JSF (managed bean)
Confuso, né?
Espero ter ajudado…[/quote]
Muito confuso…não leve a mal,mas vou ficar com a explicação do Vini…rsrs…desculpe [/quote]
Heheh. Tudo bem. Vou dar um exemplo:
Vamos supor que você quer criar uma classe chamada LerArquivo em .Net.
Em C# você usará um método assim:
FileStream fs=new FileStream("c:\\Variables.txt", FileMode.Append, FileAccess.Write, FileShare.Write);
fs.Close();
Sua classe fica com o nome LerArquivo.cs
Em Vb.Net :
Dim fs As New FileStream("c:\Variables.txt", FileMode.Append, FileAccess.Write, FileShare.Write)
fs.Close()
Sua classe fica com o nome LerArquivo.vb
Perceba que a forma de escrever é diferente, mas o acesso a classe FileStream é igual por causa do CLR!
Na hora de compilar, tanto o arquivo LerArquivo.cs como o LerArquivo.vb viram… LerArquivo.dll !!
O .Net framework faz esse “meio de campo”, entendeu?
É como eu falei, a biblioteca é a mesma, então, os códigos que usam a biblioteca vão ficar parecidos.
Se forem trechos da biblioteca parecidos com o Java, o C# irá lembrar mais o Java, pois a estrutura da linguagem é a mesma. Veja:
[code]public String gerarTexto(int a, int b, int c) {
int soma = (a + b + c);
int media = soma / 3;
int resto = soma % 3;
StringBuilder sb = new StringBuilder();
sb.Append("Número 1:").AppendLine(a);
sb.Append("Numero 2:").AppendLine(b);
sb.Append("Numero 3:").AppendLine(c);
sb.Append("Soma:").AppendLine(soma);
sb.Append("Média:").AppendLine(media);
sb.Append("Resto:").AppendLine(resto);
return sb.toString();
}[/code]
Note que esse código é muitíssimo similar a um código Java. O mesmo código em VB.Net:
[code]Function gerarTexto(a as Integer, b as Integer, c as Integer) as String {
Dim soma As Integer
soma = (a + b + c)
Dim media As Integer
media = soma / 3
Dim media As Integer
media = soma mod 3
Dim sb As StringBuilder
sb = StringBuilder()
sb.Append("Número 1:").AppendLine(a)
sb.Append("Numero 2:").AppendLine(b)
sb.Append("Numero 3:").AppendLine(c)
sb.Append("Soma:").AppendLine(soma)
sb.Append("Média:").AppendLine(media)
Return sb.toString()
}[/code]
Nem tanto.
A estrutura da linguagem C# lembra muito o Java. O local onde as variáveis são declaradas, a estrutura da função, usar ponto-e-vírgula no final da linha. Tudo isso é muito parecido. Isso no VB.Net fica bem diferente.
Entretanto, o uso da biblioteca StringBuilder é mais parecido no C# e no VB.net do que no C# e no Java, pois todas as linguagem da MS compartilham a mesma biblioteca de classes.
No caso StringBuilder é muito parecida com a classe de mesmo nome do java (por isso escolhi essa classe em particular), mas não é idêntica, mas, graças a estrutura da linguagem esse código ficou mais próximo do Java do que do VB.Net.
Em outros trechos, você pode não ter essa sorte, o que deixará o código VB e C# ainda mais parecidos. Por exemplo, no caso da função usar uma LINQ Query.
C#
public IList<String> nomesDosAlunos(IList<Aluno> alunos) {
return (from aluno in alunos
orderby aluno.Media
select aluno.Nome).toList();
}
Public Function nomesDosAlunos(alunos as IList<Aluno>) as IList<String> {
return (from aluno in alunos _
orderby aluno.Media _
select aluno.Nome).toList()
}
Java:
public List<String> nomesDosAlunos(List<Aluno> alunos) {
List<Aluno> alunosOrdenados = new List<Aluno>(alunos);
Collections.sort(alunosOrdenados, new Comparator<Aluno>() {
public void compare(Aluno a1, Aluno a2) {
return a1.getMedia() - a2.getMedia();
}
});
List<String> nomes = new ArrayList<String>();
for (Aluno a : alunos) {
nomes.add(a.getNome());
}
return nomes;
}
Entendi…Obrigada Vini e luiz…
Desculpe Roger,pela invasão…é que gostei desse tema…
[quote=Anime]Entendi…Obrigada Vini e luiz…
Desculpe Roger,pela invasão…é que gostei desse tema…[/quote]
Opa, pode invadir quando quiser.
Quanto à linguagem F#, do que se trata? Para que situações eu a usaria? Atualmente tem sido muito usada?
F# é uma linguagem funcional.
Se é no contexto de emprego. Ela não é muito usada aqui no brasil. Mas se você conhece ela e outras é uma skill a mais pra você no seu CV.
[]s
tanto C#, VB.net usam o mesmo framework o .net e tem as mesmas bibliotecas… a diferença seria mais em sintaxe… C# e java usam o padrão ECMA de sintaxe… ja o VB usa um padrão diferente… para quem ta acostumado com ECMA não é muito familiar… porem do mesmo jeito facil de aprender… todas são linguagens comuns com sintaxe comuns porem de familias distintas: uma é ECMA a outra não é… mas não existe uma mais facil de aprender e sim mais familiar… ambas são faceis de aprender… se vc conhece java domina qualquer uma delas…
Só para quem queira entender de VB, vai a correção do código para VB.NET:
Public Function ListarNomesDosAlunos(Alunos as IList<Aluno>) as IList<String>
Dim ListaAlunos As List<Aluno>
ListaAlunos = (from Aluno in Alunos _
orderby Aluno.Media _
select new { Aluno.Nome, Aluno.Media }).ToList()
Return ListaAlunos
End Function
O resultado é um IList<String> então vc não pode fazer aquele new no select, nicolas.
Aliás, você também não é obrigado a fazer o dim explicitamente, pode fazer o return direto.
Acho que ali atrás só esqueci mesmo da palavra function e os caracteres de pular linha _
E que em VB é tudo em letra maiúscula (não é case sensitive, mas é uma convenção de código), hehehe.
Meu VB tá meio enferrujado. Tem um bom tempo que não programo com ele.