Vi em destaque no JavaFree.org, devido a parceria deles com esse portal e, bom :shock: , leiam primeiro:
http://www.baguete.com.br/colunasDetalhes.php?id=3108
Depois, opinem.
PS: Coloquem lá suas opiniões também.
Vi em destaque no JavaFree.org, devido a parceria deles com esse portal e, bom :shock: , leiam primeiro:
http://www.baguete.com.br/colunasDetalhes.php?id=3108
Depois, opinem.
PS: Coloquem lá suas opiniões também.
O que você não concordou com o Autor?
A analise dele inicialmente, não li a serie de artigos, mas me parece valida.
[]'s
Para mim tmb faz sentido. Não vi nada de anormal
A análise apresentada pelo autor não acrescentou nada de novo, mas considero válida. 
Como disseram em um comentário ali, ele está comparando banana com maçã. Levar em consideração toda a plataforma .net não faz sentido algum.
Achei bem falho, também.
Em resumo, a série toda é empírica. E provavelmente será tendenciosa pela linguagem que ele mais conhece, ou que ele mais leu a respeito.
Achei bem falho, também.
- Ele não especifica qual das linguagens .Net está comparando.
- Ele não diz que tipo de aplicações desenvolveu para a comparação, nem por que método levantou os dados, nem que fatores levou em consideração em cada quesito;
- Ele não explica o tamanho da amostra, ou seja, quantas aplicações analisou, em que ambientes, para chegar nessas conclusões.
Em resumo, a série toda é empírica. E provavelmente será tendenciosa pela linguagem que ele mais conhece, ou que ele mais leu a respeito.
Ele disse isso no final do artigo, e o framework .net é igual para qualquer linguagem da plataforma. Realmente não tem muita precisão, mas é válida.
É aí que eu discordo. Ele apresenta num gráfico, dando a entender que é algo válido uma informação totalmente empírica. E podemos questionar a informação, já que ela pode não ter absolutamente nenhuma precisão, de acordo com o contexto que se aplique. Portanto, ela não seria válida.
Aliás, acho que hoje em dia é no mínimo imaturo comparar linguagens e tentar chegar a qualquer conclusão sem ter um contexto nas mãos ou, pelo menos, critérios um pouco mais objetivos de comparação.
Esse comentário também foi um tanto impreciso, digo até errado porque a “turma do Java” não reimplementa nenhum tipo de escalabilidade de Banco e o fato de criar estruturas no meio, conforme dito, significa pra mim mais reusabilidade do que escalabilidade.
Aliás, acho que hoje em dia é no mínimo imaturo comparar linguagens e tentar chegar a qualquer conclusão sem ter um contexto nas mãos ou, pelo menos, critérios um pouco mais objetivos de comparação.
2X!
Impressionante que tem gente que ainda concorda com o cara e acha válido. Gente, pelo amor de Deus, o cara está comparando linguagem com plataforma :shock: .
Além de não passar informações específicas, é extremamente superficial. .Net não é linguagem nem aqui e nem no inferno (alusão a M$ Hell :lol: ). Logo, ele comparou, como já disseram, bananas com maças e tem apoio? Afe…
Uma análise decente e aceitável tem que ser mais ou menos assim - http://martinfowler.com/articles/rubyAtThoughtWorks.html
Impressionante que tem gente que ainda concorda com o cara e acha válido. Gente, pelo amor de Deus, o cara está comparando linguagem com plataforma :shock: .
Além de não passar informações específicas, é extremamente superficial. .Net não é linguagem nem aqui e nem no inferno (alusão a M$ Hell :lol: ). Logo, ele comparou, como já disseram, bananas com maças e tem apoio? Afe…
o que o artigo quis dizer é que .net também é um framework, e todas as linguagem que rodam na plataforma se comportam da mesma maneira. Não existe diferença em se codificar em c++ managed, c# ou vb.net. Nenhum conhecimento extra é necessário, pois funcionam da mesma forma.
está bem explícito no final do artigo que é puramente empírico. Não há motivo pra criticar o artigo.
Mauricio, também não tem nem o que dizer do cara né?
Impressionante que tem gente que ainda concorda com o cara e acha válido. Gente, pelo amor de Deus, o cara está comparando linguagem com plataforma :shock: .
Além de não passar informações específicas, é extremamente superficial. .Net não é linguagem nem aqui e nem no inferno (alusão a M$ Hell :lol: ). Logo, ele comparou, como já disseram, bananas com maças e tem apoio? Afe…
o que o artigo quis dizer é que .net também é um framework, e todas as linguagem que rodam na plataforma se comportam da mesma maneira. Não existe diferença em se codificar em c++ managed, c# ou vb.net. Nenhum conhecimento extra é necessário, pois funcionam da mesma forma.
está bem explícito no final do artigo que é puramente empírico. Não há motivo pra criticar o artigo.
Nem pra escrever. Lamento mas não tem fundamento cara. Em que situação, desenvolver .Net é tudo igual?
QUer dizer que pra desktop é igual a Web? Em Java é tudo igual? E as linguagens oficiais do java que se comportam de maneira diferente e tem tempos de desenvolvimento diferente, ou acha que Groovy e Java são a mesma coisa? Não, vamos ser bem superficiais e comparar o Ruby com Java e não dizer que se trata da plataforma, mas, porém, ele fala de algo que, em Java, está ligado a plataforma e não a linguagem somente. Enfim, não tem fundamento técnico. Olha o exemplo que o Maurício passou. Aquilo sim é um artigo técnico.
Ótimo, então ele parte de um pressuposto que também não é válido.
Ótimo, então ele parte de um pressuposto que também não é válido.
O que ele fez foi justamente analisar da maneira dele. Cabe a cada um aceitar ou não, mas isso não faz do artigo em si um erro. Esse é o ponto que quero chegar.
Se eu fosse fazer comparações de linguagens, não analisaria dessa forma tmb.
O que ele fez foi justamente analisar da maneira dele. Cabe a cada um aceitar ou não, mas isso não faz do artigo em si um erro. Esse é o ponto que quero chegar.
Se eu fosse fazer comparações de linguagens, não analisaria dessa forma tmb.
O erro maior é do site aceitar. Uma vez que, expondo daquela forma, leva um iniciante a um erro de interpretação. A maior impressão que fica, pra quem conhece e já passou por várias linguagens é que, infelizmente, o cara pouco sabe do que escreveu e comparou.
E o pior de tudo é que esse artigo vai sim ser aceito por muitas pessoas, pois muitos verão apenas o gráfico. Um comparativo de plataformas e/ou linguagens é tudo o que os grandes gerentes de desenvolvimento procuram hoje em dia, para dar respaldo às suas opiniões vagas e infundadas. Quando eles virem esse gráfico então…
E o pior de tudo é que esse artigo vai sim ser aceito por muitas pessoas, pois muitos verão apenas o gráfico. Um comparativo de plataformas e/ou linguagens é tudo o que os grandes gerentes de desenvolvimento procuram hoje em dia, para dar respaldo às suas opiniões vagas e infundadas. Quando eles virem esse gráfico então…
Mas, quem vai levar ao pé da letra, um artigo que mesmo o autor diz que foi feito empiricamente, e não científicamente?
Deve-se ter consenso também.
Ótimo, então ele parte de um pressuposto que também não é válido.
Isso é realmente muito bizarro. Não tem diferença de se programar em C++ e VB.Net? O Bjarne deve estar com a orelha pegando fogo agora XD
Espera-se que todos tenham, mas nem sempre isso ocorre.
Ótimo, então ele parte de um pressuposto que também não é válido.
Isso é realmente muito bizarro. Não tem diferença de se programar em C++ e VB.Net? O Bjarne deve estar com a orelha pegando fogo agora XD
Preste atenção no que você está me perguntando. Já usou c++ “managed”?
É um c# misto de mfc. Sem condição de uso.
#pragma once
namespace testee {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
/// <summary>
/// Summary for Form1
///
/// WARNING: If you change the name of this class, you will need to change the
/// 'Resource File Name' property for the managed resource compiler tool
/// associated with all .resx files this class depends on. Otherwise,
/// the designers will not be able to interact properly with localized
/// resources associated with this form.
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
protected:
/// <summary>
/// Clean up any resources being used.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}
private:
/// <summary>
/// Required designer variable.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
void InitializeComponent(void)
{
this->components = gcnew System::ComponentModel::Container();
this->Size = System::Drawing::Size(300,300);
this->Text = L"Form1";
this->Padding = System::Windows::Forms::Padding(0);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
}
#pragma endregion
};
}
Olha se isso é iso.
Preste atenção no que você está me perguntando. Já usou c++ “managed”?É um c# misto de mfc. Sem condição de uso.
?
Preste atenção no que você está me perguntando. Já usou c++ “managed”?É um c# misto de mfc. Sem condição de uso.
?
#pragma once
namespace testee {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
/// <summary>
/// Summary for Form1
///
/// WARNING: If you change the name of this class, you will need to change the
/// 'Resource File Name' property for the managed resource compiler tool
/// associated with all .resx files this class depends on. Otherwise,
/// the designers will not be able to interact properly with localized
/// resources associated with this form.
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
}
protected:
/// <summary>
/// Clean up any resources being used.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}
private:
/// <summary>
/// Required designer variable.
/// </summary>
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
void InitializeComponent(void)
{
this->components = gcnew System::ComponentModel::Container();
this->Size = System::Drawing::Size(300,300);
this->Text = L"Form1";
this->Padding = System::Windows::Forms::Padding(0);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
}
#pragma endregion
};
}
Olha o código acima e me diz se isso é c++.
Olá!
É, esse código ae é a implementação C++ da MS no Visual Studio, o tal do Visual C++. No final das contas se for ver ao pé da letra, todas as linguagens do .NET framework utilizam as mesmas classes e tem os mesmos recursos intrínsecos nas linguagens. Tanto é que se você for nos tutorias da MSDN, você consegue ver pedaços de códigos “internacionalizados” perfeitamente (clique aqui para ver esse código em C#, aqui para VB, aqui para C++, etc). É algo do tipo: delegates existem em todas as linguagens .NET, só muda o nome, diferente de Java, que se quisesse representar os delegates teria que ter uma classe anônima.
Acho válido dizer que todas as linguagens .NET tem os mesmo recursos e acessam as mesmas classes, quem já usou VB.NET e C# pode comprovar como só muda a sintaxe. O que não acho válido é comparar C#/VB contra Java/JRuby, por exemplo. Se você pegar Java X JRuby percebe que a única coisa que eles tem em comum é o acesso as bibliotecas da outra linguagem, porque as linguagens em si apresentam muitas diferenças entre elas.
Abraços
Esse código é c++ adaptado para donet, o chamado managed c++. Ele suporta coleta de lixo automático. Tentei utilizar isso num projeto de vídeo, e vou te dizer que não compensa. Não é compatível com nada. C# dá 10 a 0 nisso ae.
Então, ele é compatível com qualquer coisa que gere CLR e vice-versa.
prefiro o bom e velho C++ do que isso ae…
Então, ele é compatível com qualquer coisa que gere CLR e vice-versa.
Eu quis dizer que não é iso, e não posso compilar em outros compiladores. Mono não suporta também, então, não é compatível com nada.
Além de que, se eu não puder ter a performance do c++, prefiro codificar em c# ou java.
Pior eh o comentario desse carinha:
Nego nao sabe programar, o sistema vira uma caca e poem a culpa no .NET.
Qualquer coisa do .NET que não venha da M$ (desenvolvedora original e dona dos direitos) é uma adaptação, então o problema não é com a M$ e sim com quem “adapta”.
Engraçado você dizer isso sobre uma plataforma que foi desenvolvida originalmente for Win32 (sim, eu sei que o mono tem uma versão for Windows também, apesar do foco do projeto ser para ambientes não Windows) :lol:
Yep, concordo em gênero, número e grau.
Qualquer coisa do .NET que não venha da M$ (desenvolvedora original e dona dos direitos) é uma adaptação, então o problema não é com a M$ e sim com quem “adapta”.
Engraçado você dizer isso sobre uma plataforma que foi desenvolvida originalmente for Win32 (sim, eu sei que o mono tem uma versão for Windows também, apesar do foco do projeto ser para ambientes não Windows) :lol:
Não entendi o que você quis dizer com isso. Quem está Adaptando alguma coisa? O managed c++ é idéia da microsoft, e só funciona com o .net.
Ninguém cria um compilador para linguagem que não seja iso.
O managed c++ é um recurso idiota, ninguém vai usar isso. É chato de codificar, e não tem performance.
O mono é uma adaptação. Quis dizer que você disse que se não da pra compilar em outros compiladores então não é compatível com nada. Mas esse nunca foi o propósito original do tal “managed” C++. Ele só tem a sintaxe do C++ rodando sobre o .NET framework.
Não adianta querer que um carro (managed C++) ande sobre a água (Unix e variações), sendo que ele foi feito pro asfalto (Win32), se quiser vai ter que adaptar (Mono). E ainda assim não vai ser lá essas coisas comparado com um barco (C++ do Unix).
Algo parecido aconteceu com o EcoSport. O propósito dele não é ser um OffRoad (virou moda colocar o estepe atrás do carro) como muita gente pensou (não fiz pesquisas nem nada, digo por escutar muito isso), na verdade ele é só um Fiesta com uma carroceria de jipe. Ele é carro pro asfalto, se tentar usar na lama como um jipe, não vai rolar. :lol:
Ele não tem a sintaxe do c++. Só se parece um pouco.
Bem…ninguém vai querer compilador disso, isso eu tenho certeza. Um recurso que faz isso muito bem, é a D, que gera código nativo e possui coletor de lixo. Mas não é popular.