Diferença C, C , Delphi

Delphi

19/03/2003

Olá pessoal,

Poderiam me responder algumas perguntas?
1) Gostaria de saber qual a diferenca de C, C++ e com delphi,

Bom comecei a programar em clipper, depois de saber o bastante, passe a programar em delphi. agora que tenho um conhecimento razoável estou tentanto aprender C++, mas não vi nenhuma diferença entre C++ e Delphi até agora. Será que é por eu uso o C++ da própria borland?
Bom difrença tem tipo

Delphi Label1.Caption:=´sei la o que voce quer´;
Já no C++ Label1->Caption=´sei la o que voce quer´

2) Quando uso aspa simples no C++ não posso usar + de um caracter, qual a finalidade de usar aspas simples?

3) Um grande palestrador e defensor do software livre, diz em uma das suas palestras, nas quais em assisti 3 vezes a mesma palestrar, ele diz o seguinte.

Aprenda C, e esqueça todas as outras linguagem.

O nome do Palestrador é José Alipio. Acho que conhecido no Brasil inteiro.

E tenho lindo sobre C, e todas as pessoas que sabem programar na linguagem C, são... como eu poderia dizer? Elevadas em poder, e tudo que leva ao poder da programação me interessa.


Por favor enumere as respostas, não seja um político.


Obrigado!!!


Leao

Leao

Curtidas 0

Respostas

Leao

Leao

19/03/2003

Ah já ia me esquecendo da quarta pergunta.

4) Um dia vi alguem programar em C, ele digitou 5 linha pra escrever a palavra ´Hello World´.

Bom acho que ele deve ter gastado muita linha, e em seguinda no mesmo programa ele gastrou 10 linha para formatar o HD inteiro. ai que ta. acho que ele gastou muita linha para dizer ´Hello World´, e pouca linha para formatar o HD.

Alguem pode me explicar isto?


Obrigado.


GOSTEI 0
Anonymous

Anonymous

19/03/2003

1. tentando responder a sua pergunta, comecemos pelo C e C++. O C++ é uma evolução da linguagem C. Dê uma olha num post abaixo: C é uma Liguagem Orientada a Objeto?

O Delphi é uma linguagem que trabalha com a mesma IDE do C++Builder, sendo que ambos os compiladores têm a VCL como base de seus aplicativos, motivo pelo qual alguns códigos elaborados para uma IDE pode não parecer estranho do código elaborado para a outra. Então, a semelhança apontada por você realmente se dá em virtude do compilador e da VCL. Tal semelhança chega ao extremo de permitir que o C++Builder, desde que tomadas algumas providências, possa rodar códigos elaborados para o Delphi.

Mas, quanto aos fundamentos das linguagens, aí a conversa é outra. C++ possui seus fundamentos, e o Object Pascal os seus. Logo se você pegar um compilador C++ linha de comando, ou rodar uma aplicação em modo Console no próprio C++Builder, não conseguirá encontrar paralelo algum com o Delphi, a não ser o fato de que os princípios das linguagens, de regra, seguem um mesmo roteiro.

Por exemplo, o código:

#include <iostream.h>
int main(void)
{
std::cout<<´Afinal C++ é igual a Delphi\?\n´;
}

imprimirá a frase entre aspas na janela Console, de forma semelhante a um Label (evidentemente sem qualquer componente).

Esse código acima pode ser dito: ´estritamente C++´, ao passo que o exemplo mencionado por você é uma mescla entre o C++ e os fundamentos da VCL, que foi escrita em Object Pascal.

2. A linguagem C++ possui cinco tipos básicos de dados: char, int, float, double e bool. void significa ausência de tipo.

O tipo char nada mais é do que um caracter qualquer, que deve ser colocado entre aspas simples: ´a´, ´b´, ´c´, ´5´, etc. Por exemplo:

char ch = ´A´;

Cadeias de caracteres denotam uma string (matriz, array ou vetor) e devem ser colocadas entre aspas duplas:

char[13] = ´Eis um array´;

Então usar aspas simples ou duplas dependerá do tipo de dados com o qual você está trabalhando.

3. Quanto à afirmação: ´Aprenda C, e esqueça todas as outras linguagem´, eu, particularmente, acredito ser um pouco temerária. Em primeiro lugar, tudo depende do tipo de aplicação para a qual você está direcionando os seus estudos. Creio que C, nem sempre, será a melhor opção. Francamente, não vejo sentido em aprender C, quando posso aprender C++ (o quê não singnifica que eu esteja certo!). Mas há quem prefira outras linguagens. Sempre é bom procurar estudos comparativos entre linguagens de programação. Diversos tópicos devem ser considerados como, por exemplo, o tamanho do executável, o tempo gasto na aprendizagem, a velocidade de execução do programa etc etc etc.


4. Veja um código escrito em C:

main
(
)
{
printf(´Hello World´);
} /*seis linhas*/


Agora veja o mesmo código escrito de modo diferente:

main() { printf(´Hello World´); } /*uma linha*/

O resultado será rigorosamente o mesmo para qualquer desses programas. Ou seja, você pode colocar espaços, caracteres de tabulação e pular linhas livremente em seu programa, pois o compilador ignora esses caracteres. Em C não existe um estilo obrigatório.

Logo não é a quantia de linhas que determina o que um programa pode fazer, mas o conteúdo dessas linhas. Não se esqueça que existe uma vasta variedade de bibliotecas que possuem funções prontas que podem ser incluídas em nossos códigos. Nesses casos podemos usar as funções sem a necessidade de escrevê-las; elas já estão prontas para ser usadas!

Apenas para completar, C++ mantém a ênfase de C em recursos que são suficientemente de baixo nível para enfrentar as mais exigentes tarefas de programação de sistemas. Essas linguagens oferecem recursos para acesso a hardware, alocação da memória do sistema etc.

Acho que é isso!

DeLima.


GOSTEI 0
Leao

Leao

19/03/2003

Obrigado!!!

Mas você foi ´meio? irronico ou foi impressão minha?


GOSTEI 0
Hannah

Hannah

19/03/2003

Não faça a comparação entre as linguagens...C e C++ são linguagens..já Delphi..tbm..só que o nível é muito mais baixo...


GOSTEI 0
Kroki

Kroki

19/03/2003

Sou novato nas duas linguagens,mas percebi ke C++ gera arquivos executaveis BEM menor ke o delphi.


GOSTEI 0
Juan Basso

Juan Basso

19/03/2003

Sou novato nas duas linguagens,mas percebi ke C++ gera arquivos executaveis BEM menor ke o delphi.


Isto é relativo. Os programas gerados pelo Delphi são maiores por apresentarem mais recursos compilados (normalmente).
Se você fizer uma comparação entre os programas gerados por um programa de C e um de Pascal (´linguagem do Delphi´), seus tamanhos serão próximos.
Com o Delphi já vem algumas bibliotecas incluídas nos programas. Algumas dessas funções requerem bibliotecas que compõem muitas outras, fazendo assim que o programa compilado torne-se grande. Por exemplo: para você utilizar a função ShowMessage (abre um box na tela com um texto) requer uma biblioteca que após compilado torna o arquivo em torno de 200 a 300kb maior.

Espero ter esclarecido um pouco sobre essa coisa de tamanho de arquivos.


GOSTEI 0
Bferreira

Bferreira

19/03/2003

1- A grande diferença entre o delphi o c++ é exatamente a linguagem.
O delphi utiliza pascal, já o c++ builder utiliza a linguagem C++ que é uma evolução da famosa linguagem C. Já entre o progra C++ builder e o delphi provavelmente há pouca diferença. Já que os dois são da Borland.
2- A aspas simples em C, só é utilizada quando vc quer usar somente um caracter, para palavras e frases usamos a aspas dupla.
3- Provavelmente ele diz isso pelo fato da maioria dos softwares livres serem desenvovidos em C. O que é explicado pelo fato do C ser uma linguagem mais baixo nível que o pascal, assim, consegue-se ter um controle melhor da máquina. Lembrando que o famoso Linux é praticamente todo desenvolvido em C e assembler.
4- Isso é explicado pelo fato do c ser uma linguagem mais baixo nível, mas para fazer um Hello Word não precisa de muito código não
Ex

#include<stdio.h>
void main(){
printf(´Hello Word´);
}

Geralmente os programas em c gastam menos linhas de código do que os programas em pascal.

Espero ter ajudado e não ter sido muito irônico....


GOSTEI 0
Richardnatal

Richardnatal

19/03/2003

A resposta para a questão de comparação entre as Linguagens é: Depende do seu estilo de programação e a finalidade para a qual o programa está sendo escrito.

Se você for comparar os recursos que o Delphi e o Builder C++ têm, você verá que são os mesmos.

A diferênça das linguagens Object Pascal (que é também chamado de Pascal 8) e C++ está em algumas caracteristicas como por exemplo: Object Pascal não suporta sobrecarga de operadores e C++ suporta. C++ não tem a clauusula with (que facilita pra caramba). E por aí vai...

Mas essas coisas que uma linguagem suporta e a outra não podem ser contornados por outros meios como por exemplo a sobrecarga de operadores pode ser contornada em Object Pascal com a elaboração de métodos ao invés de operadores.

Quanto ao fato de o Linux ser feito praticamente todo em C, deve-se a um fato muito simples: o compilador mais fácil de se escrever é o compilador C. Então, vc faz seus programas em C e quando sair um novo processador vc faz apenas um compilador C em assembly que seus programas poderão rodar nesse sistema...

[]´s
Richard


GOSTEI 0
Rodcesar

Rodcesar

19/03/2003

Olá amigos,

Estou fazendo uma DLL e uma das funções precisar receber um array de caracteres (unsigned char) e um valor inteiro. Os dois valores devem vir por referência (ou seria ponteiro?) pois preciso retornar à quem chamou a função o array preenchido e um valor no inteiro.
A questão é como declaro um array no parâmetro para que outros compiladores (Delphi, C, VB, Java....) consigam passar o array e recebê-lo de volta?
Já tentei por um tempo e não consegui encontrar a solução, sempre dá erro na DLL ou no programa que chama a função.
Alguém poderia me mandar um exemplo de uma função em DLL que tivesse estes dois parâmetros e um exemplo da função sendo chamada e passando os parâmetros?
Grato pela ajuda de todos,

Rodrigo Cesar


GOSTEI 0
Magnus

Magnus

19/03/2003

Quanto ao fato de o Linux ser feito praticamente todo em C, deve-se a um fato muito simples: o compilador mais fácil de se escrever é o compilador C. Então, vc faz seus programas em C e quando sair um novo processador vc faz apenas um compilador C em assembly que seus programas poderão rodar nesse sistema...


Em termos!

O Linux entendido como o Kernel desenvolvido pelo Linus Torvalds foi/é/será escrito em assembly e C. Isso é verdade e você está certíssimo!

Já outros programas que compõe a distribuição, que os puristas chamam de GNU/Linux, mas no vozeiro popular é a nossa distribuição Linux do dia-a-dia mesmo, foram/estão/serão :lol: escritos em C (como o Gnome, por exemplo), em C++ (KDE, por exemplo), em Lisp (Emacs), etc.

Na verdade, em razão da licença GPL existem programadores de ´todas´ as linguagens de programação escrevendo alguma coisa nesse momento para o Linux 8) :roll:

Quanto a aprender apenas C e esquecer o resto, acho que o contexto era o do desenvolvimento do kernel ou de drivers. Mesmo assim, assembly é essencial, indispensável.

Em qualquer outro contexto, não concordo, nem em parte, com a afirmação do palestrante citado. OOP é uma evolução atestada por grandes programadores, escritores e cientistas. Negar isso é besteira. Em termos de produtividade é imbatível e em termos de eficiência, está para os aplicativos (em ´qualquer´ SO) assim como C e assembly estão para o kernel.


GOSTEI 0
Martins

Martins

19/03/2003

Nunca parei para fazer um comparativo, mas poderiam me informar uma coisa?

Qual aplicativo é mais rápido, um escrito em C++ ou em Delphi?

Digamos q seja um aplicativo simples, um cadastro, qual seria mais rápido e menor?

Já brinquei com C++ Builder, mas nunca parei para comparar. Vou até baixar o Trial da Borland.


GOSTEI 0
Magnus

Magnus

19/03/2003

Alguns fanáticos vão querer me matar :shock: mas acredito que não haja realmente uma diferença significativa entre esses aplicativos. Em princípio, bons códigos escritos em Delphi são tão eficientes quanto bons códigos escritos em C++.

O que acontece é que alguns bons programadores em uma linguagem, por diversos motivos, podem não ser tão bons em outra e não escrevam códigos tão eficientes nessa outra linguagem, gerando código ruim, sujo ou não tão bem escrito. Mas, dois craques podem escrever códigos tão bons em suas linguagens.

A grande vantagem de usar o C++ é a portabilidade do programa. Dependendo da solução (de como o código foi escrito), ela pode ser quase toda aproveitada no Windows, Linux, MacOS X, etc.

Por isso, espero pacientemente a continuidade do Kylix para tornar esse sonho (pelo menos parcialmente) possível com o Delphi. E olha que o Kylix era (tanto tempo sem novas versões, para mim ´era´ mesmo) baseado na biblioteca QT da Trolltech ( http://www.trolltech.com - tem versão demo para Windows/MacOS X e integral de graça para Linux), usada no QTDesigner para Windows, Linux, MacOS X, etc, além de ser a biblioteca básica do ambiente KDE do Linux (com sua ferramenta KDevelop, que ganhou nos últimos dois anos vários prêmio na Europa como a melhor ferramenta RAD).

Definitivamente, não era para o Kylix morrer, mas acho que faltou um pouco de interesse dos desenvolvedores Delphi em adotar o Kylix como ferramenta de desenvolvimento e portar seus aplicativos para o Linux.

Se a intenção era atrair a comunidade de desenvolvedores Linux, ´também não deu certo porque já tinhamos ferramentas ´open source´ tão poderosas quanto o Kylix e que davam muito mais liberdade.

Enfim, talvez a solução seja integrar o Kylix ao Delphi ou mesmo fazer uma versão do Delphi que rode no Linux simplesmente.


GOSTEI 0
Firekiller

Firekiller

19/03/2003

Desculpem se é pergunta de iniciante, mas é que estou tendo que aprender, pois a Universidade (passa tudo praticamente em C), e trabalho já estão exigindo programas multiplataforma (mais específico Windows e Linux). Pensei em Java, mas teria que reaprender muita coisa, então pensei no Kylix. O colega Magnus disse haver outras alternativas (melhores e openSource). Se alguém pudesse me indicar algumas delas e, de lambuja algum tutorial ficaria grato.


GOSTEI 0
Magnus

Magnus

19/03/2003

Amigo,

Gostaria de ressalvar que minha opinião é de que o Kylix ´foi´ uma excelente ferramenta. Se ela tivesse continuado a evoluir como o Delphi, hoje eu a estaria recomendando nesta lista!

Complementando também minha resposta anterior, gostaria de justificar minha posição de que a linguagem Delphi e a C++ são igualmente poderosas.

A partir do Delphi 6, se não me engano, a Borland mudou tanto a linguagem Pascal que resolveu chama-la de linguagem Delphi. Ora, a Delphi é baseada na Pascal e a C++ na C. Isso torna essas linguagens extremamente poderosas e versáteis. Vide o sucesso dessas linguagens no mercado corporativo. Milhares de programadores não podem estar errados 8)

Olha, falando da sua pergunta, a Trolltech, como eu disse, oferece uma ferramenta RAD para Windows, Linux, MacOS X, para e outras plataformas, além de sistemas embarcados. Se o problema é desenvolvimento para Windows e Linux, aconselho visitar o site da empresa em http://www.trolltech.com (a página para o download das versões é a seguinte http://www.trolltech.com/products/qt/index.html - precisa procurar um pouco :? ). Toda a documentação está on-line também http://doc.trolltech.com/4.0/index.html .

Agora, como foi citado no editorial da Clube Delphi 67, há o projeto Mono, que pretende implementar o código feito para .Net, sem alterações, no Linux. Esse projeto tem uma página em português e explica a fase em que está o desenvolvimento ( http://br-mono.org/mps/default.aspx ). O problema parece ser que ainda não há uma ferramenta RAD e o código escrito na .Net ainda não pode ser aproveitado integralmente.

Java, pelo que dizem, seria sim uma opção viável. A ferramenta Eclipse ( http://www.eclipse.org/ ) tem recebido grandes contribuições dos desenvolvedores da Borland nos Estados Unidos, inclusive.

Por último, qual universidade é a sua? Parabéns aos professores! C é essencial. Hoje você está se tornando um programador que pode escrever código para TODOS os kernels de qualquer SO, isso inclui drivers para dispositivos de qualquer plataforma, algo muito valorizado no mercado de trabalho. Quem aprende a programar bem em C leva para a vida princípios de programação preciosos para usar em qualquer outra linguagem. Além disso, outras duas, você já começou a apreender (C++ e C#) :wink: Aproveite :D


GOSTEI 0
Firekiller

Firekiller

19/03/2003

Muito Obrigado pelas dicas... E vou seguir seu conselho... começar a aprender C++ e C# (ainda não sei muito). Muitissimo obrigado mesmo... vou dar uma olhada e, se tiver problemas, volto a postar. Sou da Universidade Federtal do Acre.... aqui, temos praticamente 3 períodos apenas estudando C (e um com Assembly). Muito obrigado pela ajuda, valeu mesmo!

E a proposito, quando você diz C++, é o Builder, Também da Borland??


GOSTEI 0
Magnus

Magnus

19/03/2003

O C++ Builder da Borland é a ferramenta RAD para usar a linguagem C++. O QTDesigner que eu indiquei na mensagem anterior é outra. Em ambas você usa a C++, mas existem diversas outras ferramentas.

Outra grande notícia para programadores C++ é que quem domina essa linguagem, à partir da próxima versão do Delphi estará sendo prestigiado pelo Borland que prometeu integrar o Builder ao Delphi.


GOSTEI 0
Rsanches

Rsanches

19/03/2003

vale lembrar que c não é orientado a objetos e c++ sim


GOSTEI 0
Rodc

Rodc

19/03/2003

Uma diferença que eu sinto no C++ em relação ao Delphi é o tempo de compilação. No C++ Builder meu projeto tá demorando quase 15 minutos para ser compilado por completo, no Delphi era muito rápido.
Outra desvantagem que vejo no C++ Builder (no Builder, não na linguagem C++ em sí) é que o código dos componentes são todos em Delphi, ou seja fica difícil para eu analizar o que acontece com determinada função de um componente da Borland.
Ah, outro problema, no C++ dá muito erro de linkagem. Depois que ele compilou todo o programa ele me mostra que tá com erro de link, daí tem que corrigir e mais 15 minutos de compilação. Outro dia tive um problema estranho e perdi 2 dias testando (de 15 em 15 minutos) possibilidades para encontrar o erro de linkagem.


GOSTEI 0
Gust Norris

Gust Norris

19/03/2003

Eu programava em clipper, tentei aprender VB, aí eu li sobre as vantagens do Delphi, baixei algumas apostilas, me diverti aprendendo. Hje eu considero o delphi, a melhor ferramenta, pq é a q mais facilidade tive para aprender sozinho, resolve os problemas q aparecem, além das vantagens como velocidade, diversidade de componenentes e etc.
Resumindo na minha opnião a melhor linguagem é aquela q resolve seu problema, da forma mais rápida, usando o menor tempo de desenvolvimento possível, e q te permita um aprendizado rápido.

Respeito quem curte VB, C, C++, etc. Mas prá mim o Delphi é a melhor.


GOSTEI 0
POSTAR