Java x C++

41 respostas
_

Eu seri que vocês já devem estar cansado de tópicos assim, mas este tem um diferencial!

Eu gosto de conversar com amantes de C++, pois eles apresentam uma série de argumentos contra java.

O último que me falaram foi a falta dos tais ponteiros.
Alguém pode me explicar o que são, o que fazem e qual sua grande vantagem?

Muitérrimo obrigado.

ps.: ele mandou esse texto deste site http://stl.caltech.edu/gcc.shtml

Second, Java. Java is a terrible programming language developed by incompetent programmers. It is not an undue exaggeration to say that everything Java does is wrong. There is nothing interesting that can be learned from Java, except how such an awful programming language can become so popular. Java is said to increase programmer productivity, but this is a half-truth. Java increases the productivity of incompetent programmers; it harms the productivity of excellent programmers. Since 90% of programmers are incompetent, the overall effect is that Java increases programmer productivity. I submit that this is the exact opposite of a good thing. Do not waste time with Java; let the incompetent programmers revel in their miserable language while you embrace the wonder that is C++.

Why is Java a terrible programming language? Alex Stepanov can explain it better than I can.

“I spent several months programming in Java. Contrary to its author’s prediction, it did not grow on me. I did not find any new insights - for the first time in my life programming in a new language did not bring me new insights. It keeps all the stuff that I never use in C++ - inheritance, virtuals - OO gook - and removes the stuff that I find useful. It might be successful… but it has no intellectual value whatsoever” - Alexander Stepanov

Java takes almost all of the useful and powerful things in C++ and C and discards them.

41 Respostas

R

xiitas… eh o mesmo papinho do pessoal que diz que, se vc nao programa em Assembly, vc eh um tremendo babaca que nao sabe de nada…

Rafael

M

“LIPE”:
Eu seri que vocês já devem estar cansado de tópicos assim, mas este tem um diferencial!

Eu gosto de conversar com amantes de C++, pois eles apresentam uma série de argumentos contra java.

O último que me falaram foi a falta dos tais ponteiros.
Alguém pode me explicar o que são, o que fazem e qual sua grande vantagem?

Muitérrimo obrigado.

ps.: ele mandou esse texto deste site http://stl.caltech.edu/gcc.shtml

Second, Java. Java is a terrible programming language developed by incompetent programmers. It is not an undue exaggeration to say that everything Java does is wrong. There is nothing interesting that can be learned from Java, except how such an awful programming language can become so popular. Java is said to increase programmer productivity, but this is a half-truth. Java increases the productivity of incompetent programmers; it harms the productivity of excellent programmers. Since 90% of programmers are incompetent, the overall effect is that Java increases programmer productivity. I submit that this is the exact opposite of a good thing. Do not waste time with Java; let the incompetent programmers revel in their miserable language while you embrace the wonder that is C++.

Why is Java a terrible programming language? Alex Stepanov can explain it better than I can.

“I spent several months programming in Java. Contrary to its author’s prediction, it did not grow on me. I did not find any new insights - for the first time in my life programming in a new language did not bring me new insights. It keeps all the stuff that I never use in C++ - inheritance, virtuals - OO gook - and removes the stuff that I find useful. It might be successful… but it has no intellectual value whatsoever” - Alexander Stepanov

Java takes almost all of the useful and powerful things in C++ and C and discards them.

eu gosto muito, muito mesmo de Java :smiley: mas pago o aluguel com C++ :slight_smile:

e acho que a crítica que você citou se aplica mais à VB do que à Java. Onde está escrito Java eu leio VB, ASP, FoxPro e algumas vezes Delphi.

E uma das razões porque Java foi mais bem sucedida do que C++ é mesmo o marketing de uma grande empresa como a Sun, mesma razão porque linguagens tão ruins como o VB fizeram sucesso. Se a AT&T tivesse injetado alguns dólares no marketing do C++ talvez Java nem existisse do modo como se apresenta hoje.

(o comentário abaixo foi inspirado em um e-mail enviado por um usuário na lista do JavaAmericana)
Veja por exemplo, muitos reclamam do fato de ter que instalar a JVM para distribuir uma aplicação Java, mas e o DLL Hell de ter que distribuir e manter uma aplicação em VB?

E acho que a colocação Java X C++ não é apropriada, algumas coisas você faz bem com Java e algumas coisas com C++, por isso mesmo é que implementaram o JNI.

A

Ponteiros em C/C++ são variaveis especiais que gardam o endereço de memoria daquela variavel…

Estranho né, veja um exemplo (em c++ claro)

#include<iostream.h>

int main(){
    int a, *pa; //*pa é um ponteiro de inteiro!
    pa = &a //o ponteiro pa recebe o endereço de memoria de a
    a = 50;
    
    cout << *pa <<"
";
    return 0;
}//a saida sera o conteudo do endereço de memoria de a que é 50!

Vc pode fazer aritimetica com ponteiros ao usar alocação dinamica e isso aumenta o desempenho. E se vc quizer fazer aritimetica e erra vc podera incluir alguma coisa em endereços de memoria que não são do seu programa, como os do windows e etc…

int main(){
    int i, j = 0;
    char a, *pa;
    pa = &a;
    for(i = 0; i < 1; i++){ //lupe infinito
         i = 0;
         j++;
         *(pa+j) = 'a'; 
   }
}// eu não aconselho a vc execultar este codigo pq vc ira colocar o caracter a em toda a sua memoria depois do endereço de memoria

Bem acho que a ideia é esta…

H

:arrow: Eu acho que uma comparaçao entre java e C++ nao seria muito certa pois cada uma tem seus meritos se suas finalidades. Eu uso C++ na faculdade e Java no estagio. Com C++ voce faz tudo o que voce pensar em fazer num computador… e java esta chegando la tambem, porem, muito mais organizado e facil de fazer.

Ponteiro sao variaveis que apontam para alguma parte da memoria geralmente no heap.

Ex: Double doub
esse doub eh um ponteiro.

doub = new Double( 3.14 );

agora seu ponteiro doub aponta para parte da memoria que esta no heap que contem o valor 3.14 …

Double tmp = doub

Agora os dois ponteiros doub e tmp apontam para o msm lugar na memoria… entao mexer no valor de tmp e a msma coisa que mexer no valor de doub. Eles sao nomes diferentes so que para msma coisa

hehe estah ae um exemplo de ponteiro… e um exemplo que java tem ponteiro…
Agora eu tiver cometido algum erro alguem me corrige.

Ahh… so acrescentando tbm… em java nao tem ponteiro para tipo primitivo.

D

Java tem ponteiros sim, mas eles são conhecidos como “variáveis de referência” (vulgo objeto). O que não existe em Java é a possibilidade de se fazer “aritmética” com os ponteiros. Algo como:

//C++
int a[] = {0, 1, 2, 3, 4, 5};
int *b = &a[0];
for(int i = 0; i < 6; i++)
    cout << *(b + i);

Isso acima é a mesma coisa que:

//C++
int a[] = {0, 1, 2, 3, 4, 5};
for(int i = 0; i < 6; i++)
    cout << a[i];

Ponteiros são variáveis que apontam para o endereço que uma outra variável está armazenada.
Quando eu faço:

int a = 0;
int *b = &a;

estou dizendo que o ponteiro b aponta para o endereço onde o conteúdo da variável a está armazenado na memória. E só.
Vantagens? Você consegue algum ganho de performance com manipulação direta de ponteiros, por exemplo. Assim como você pode acessar áreas restritas da memória e fazer seu aplicativo causar um grande desastre.

_

Bom, se isso aumenta desempenho de maneira descomunal, por que java não implementou isso?

M

porque não é seguro, se você não utilizar de maneira correta pode levar à consequências desastrosas…

L

É uma briga complicada, C++ é uma linguagem com muito mais recursos que o java, porêm não te permite fazer nenhum dos truques que são somente possiveis via classloading do java, e esses não são poucos.

Se java não tivesse todos recursos de segurança que ela tem, como verificação de índices de arrays, variaveis nulas, etc, seria mediocre, sem sombra de dúvida. Porêm é com isso que ela ganha força, todos erros são determinísticos e facilmente localizaveis, isso não existe no c++.

Já explicaram oque é um ponteiro, então vou logo ao ponto. Bom, você pode fazer coisas animais usando eles, mas na maioria dos casos eles podem ser substituidos por construções mais seguras.

Performance que se ganha usando ponteiros, balela, em sua grande maioria um bom compilador é capaz de otimizar a forma ‘lenta’ para a equivalente usando ponteiros.

Um clássico exemplo de copia de memoria:

void usando_ponteiros(int *begin, int *end, int *src) {
    while(begin != end) *begin++ = *src++;
}

void usando_arrays(int[] a, int[] b, unsigned len) {
   while(len--) a[len] = b[len];
}

Usando 1 compilador de verdade, gcc, icc, ms cl >=7.0, você vai ter basicamente o mesmo código de máquina para ambas as funções.

Agora dizer que simplesmente uma linguagem é um lixo é assumir sua ignorância, porque ambas tem sua função e utilidade.

R

pelo simples motivo que toda esta manipulação de ponteiros está sugeitas a erros de programação. Java evoluiu este método de programação a fim de tirar a responsabilidade do programador de manipular diretamente os ponteiros.

O mercado para estas duas linguagens são distintos. Java domina a área de servidores, Web, aplicações distribuídas, agora até em aplicações para celulares e palms.

Voce usa C++ para processamento de imagens, computação gráfica, programação em hardware, entende? o propósito é outro.

É ridículo um cara falar algo assim de uma linguagem com o poder do Java, é um cara no mínimo frustrado :wink:

_

Muito obrigado pelas respostas, me esclareceram bastante.

E aproveitando o embalo, e quanto a Operator Overloading? Porque java não tem isso?

M

“LIPE”:
Muito obrigado pelas respostas, me esclareceram bastante.

E aproveitando o embalo, e quanto a Operator Overloading? Porque java não tem isso?

veja os motivos do criador da linguagem:

http://www.javaworld.com/javaworld/javaone98/j1-98-interview.gosling.html
http://www.newt.com/wohler/articles/james-gosling-ramblings-1.html

ou (Google Search: java+james+gosling+operator+overloading+why )

:smiley:

_

[quote=“louds”]Performance que se ganha usando ponteiros, balela, em sua grande maioria um bom compilador é capaz de otimizar a forma ‘lenta’ para a equivalente usando ponteiros.

[quote]

Isso é 100%? Então realmente não há perda nenhuma de performance nesses casos de ponteiros sendo usados para aritimética?

E marcilox, valeu cara hehe só achei meio estranho eles não adicionarem essa feature porque os programadores podem erras ao usá-las.

K

Meu, que Assembly que nada - o negocio eh programar com um ima sobre a superficie do HD movimentando os bits diretamente…

Alias, acho que para programar poderiamos remover os monitores e usar apenas dois LEDs - uma para o 0 e outro para o 1. Melhor ainda - apenas UM LED: aceso eh 1 e apagado eh 0. Ora, afinal tudo sao zeros e uns.

Tsc, tsc, tsc - esse pessoal babaca “alto-nivel” nao sabe de nada… :wink:

Marcio Kuchma

L

“LIPE”:

Isso é 100%? Então realmente não há perda nenhuma de performance nesses casos de ponteiros sendo usados para aritimética?

E marcilox, valeu cara hehe só achei meio estranho eles não adicionarem essa feature porque os programadores podem erras ao usá-las.

Usar ponteiros normalmente não te compra muita performance, porêm existem usos de aritmética onde o ganho pode ser significativo.

Introduzir ponteiros de forma segura em java seria muito, mas muito dificil mesmo, alem da performance, que seria deprimente.

Java não tem ponteiros pq eles não se encaixam na linguagem.

C

:lol: :lol: :lol:

Aproveitando, li certa vez que a grande maioria dos bugs em programas C++ eram causados pelo mal uso de ponteiros. Isso é verdade ou apenas lenda?! Pergunto porque uma simples desatenção pode causar erros graves. Algo como:

int a = 50;
int *b = a;

uops… eu já passei um tempão pra achar um erro assim. Claro, um bom debug e tempo sobrando ajudam. :slight_smile:

Até.

C

Felipe, voce faz ideia de quantas instrucoes por segundo seu processador atual consegue executar? Voce acha que, sinceramente, isso vai fazer uma grande diferenca no grande esquema das coisas, hoje em dia? :smiley:

B

num tem sobrecarga do operador ‘+’ na classe String?? :shock: :shock:

L

“cv”:

Felipe, voce faz ideia de quantas instrucoes por segundo seu processador atual consegue executar? Voce acha que, sinceramente, isso vai fazer uma grande diferenca no grande esquema das coisas, hoje em dia? :D

Esse tipo de micro-otimização deve ser vista da seguinte forma, se pergunte e responda honestamente: “modificar isso vai realmente trazes um ganho de performance perceptivel no meu sistema?”, se você conseguir responde com toda certeza, provavelmente você ta certo. Como dificilmente alguêm consegue responder isso para um sistema com 2milhões de linhas e 40 programadores, usar ponteiros somente por causa da performance é masturbação mental.

Assim como templates e operator overloading.

G

Alias, acho que para programar poderiamos remover os monitores e usar apenas dois LEDs - uma para o 0 e outro para o 1. Melhor ainda - apenas UM LED: aceso eh 1 e apagado eh 0. Ora, afinal tudo sao zeros e uns.

Que nada! Pouco aceso 0, muito aceso 1… 8) 8) 8)

Cara, quando pegar um texto que só fala em extremos tipo:
TODO programador…
TODA a linha…
Não existe NENHUMA…

Não tem como levar a sério…

R

Eu li em algum lugar que todas as linguagens de programação fazem sobrecarga de operador. A diferença no C++ é que ela permite que os programadores façam esta sobrecarga, enquanto que nas demais não.

Grato,

S

Sim sim … mas essa historia vai longe, é um dos motivos porque muita gente nao engole o argumento de “não é essencial haver sobrecarga” … pq na classe String eh interessante e nas minhas classes não? :evil:

De qq modo java não permite que vc faça por si só a sobrecarga, não há suporte na linguagem.

Mas se quiserem vejam esse pré-processador :wink:

B

que povo mais paia… ehehehe
a sobrecarga devia ser liberada, ja que teoricamente ela ja esta implementada pra classe string…

se o programa fica dificil de compreender como diz o james gosling nos links q o marciolx mandou, problema eh do programador, a linguagem num tem que preocupar com isso nao, senao daki a pouco ele vai querer dar pitaco da identação… hahahahaa… ((:

teh,

C

Achou engracado, eh? www.python.org :wink:

M

Achou engracado, eh? www.python.org ;)

eu gosto do esquema do python, o código fica limpo, claro e fácil de ler (pelo menos comparado com perl)

D

Achou engracado, eh? www.python.org ;)

eu gosto do esquema do python, o código fica limpo, claro e fácil de ler (pelo menos comparado com perl)
Até Basic fica claro e fácil de ler quando se compara com Perl.
Sobre o lance de sobrecarga de operadores, IMHO, nunca achei interessante. Muito pelo contrário. A legibilidade de código fica péssima e a tendência a erros aumenta consideravelmente, uma vez que o mundo não é feito por excelentes programadores.
Lembro que eu e uns colegas da faculdade (primeiro ano, 17 anos, algumas espinhas e muito entusiasmo pelas festas da faculdade) fizemos em C++ um trabalho que envolvia cálculos com matrizes e determinante. Fizemos coisas das quais não esqueço até hoje para que eu não repita mais tarde, como:

/* m1 e m2 são instâncias de objetos que representam matrizes, criados por nós.*/

Matriz m3 = m1 + m2;
//double det = m1->det() + m2->det(); // deveríamos ter feito isso, mas...
double det = m1->det() + m2; /* ... fizemos isso e demoramos algumas horas para achar o erro, porque, devido à nossa "maravilhosa" hierarquia de classes, a sobrecarga de operadores era válida e não jogava nenhum erro de compilação.*/

Não me considero um excelente programador, mas aprendi o bastante para dizer que sobrecarga de operadores podem trazer uma imensa dor de cabeça por bobeira.

S

Hummm … é pode. Desse ponto de vista é uma desvantagem, do ponto de vista de legibilidade do código nem tanto … montar uma expressão é muito mais facil com sobrecarga:

BigInteger e = achaDivisores(mdc.multiply(q.subtract(BigInteger.ONE).multiply(p.subtract(BigInteger.ONE))).add(BigInteger.ONE));

Ai em cima ainda está um pouco simplificado :? Eu preferia ter feito:

e = achaDivisores( mdc * ( (q - 1) * (p - 1) ) + 1)

além do que é uma questão de escolha usar ou nao …

:roll:

R

Primairamente… pq querer controlar o que o programador pode ou não fazer ???

Bom… fiquei sabendo que no J2se 1.5 seriam incluidos sobrecarga de operadores e templates e mais algumas funcionalidades que não estou me recordando por hora…

…cheguei a conclusão de que só faltam os ponteiros agora :slight_smile:

Nada contra o Java… gosto dele também… só não sei pq dizem que é uma gerra Java x C++. No meu ponto de vista são duas linguagens diferentes que implementam OO.

D

“r_linux”:
Primairamente… pq querer controlar o que o programador pode ou não fazer ???

Bom… fiquei sabendo que no J2se 1.5 seriam incluidos sobrecarga de operadores e templates e mais algumas funcionalidades que não estou me recordando por hora…

…cheguei a conclusão de que só faltam os ponteiros agora :slight_smile:

Nada contra o Java… gosto dele também… só não sei pq dizem que é uma gerra Java x C++. No meu ponto de vista são duas linguagens diferentes que implementam OO.

Não, não haverá sobrecarga de operadores no Tiger. Só “templates”, que são chamados de “generics”.

L

Daniel, sobrecarga de operadores e templates são recursos realmente avançados do c++, logo só deve, ser utilizados por pessoas que realmente conhecem da linguagem.

É a mesma coisa que classloading no java, você pode instrumentar suas classes e fazer as coisas geniais, porêm não é qualquer um que consegue fazer isso direito.

Um bom exemplo do uso de overloading + templates seria para construir classes de matrizes que quando multiplicadas escolhecem em compile-time a melhor ordem de multiplicação, parece bom? mas é.

Outro bom exemplo? Operações em vetores:
da forma ingenua:
v3 = v1 + v2;
-> calcula v1 + v2 gerando 1 objeto temporario t0
-> copia t0 em v3
da forma inteligênte usando templates:
calcula v3[i] = v1[i] + v2[i] para cada elemento i dos vetores.

Então você pode me falar que overloading nesses casos é legal pq tou usando operações matemáticas, mas a idéia é exatamente essa, somente use overloading dos operadores que fazem sentido para os seu objetos. Ou seja, 99,99% dos casos é inutil. Tirando o fato que você pode implementar proxies/smart-pointers usando o overload do ->.

Operator overloading seria mais util no C++ se pudessemos declarar operadores diferentes. Imagine voce usando uma API do c++ para email :

Email a = "louds" @ "louds.com";
R

Faço minha as palavras de louds que trouxe bons argumentos para está nossa discussão sobre duas ótimas linguagens de programação…

… mas ainda acho que deveria haver operator overloading em java :roll:

B

acho que o que melhor foi falado nessa discussao ate agora foi de que a opção deveria ser programador… vc nao pode achar q o mundo so tem pessimos programadores que vai fazer burrada com sobrecarga de operadores… e os bons?? que conseguem fazer sobrecarga util e eficiente?? esse ficam penalizados…
se o programador nao tem certeza do que ta fazendo, nao faça… é só usar os metodos normalmente…

python / perl / e outras coisas estão fora dessa discussão… ehehehee… + acho um saco python e perl tb.

soh isso…

B

:arrow: Uma vez escutei uma frase que nunca mais esqueci:

Acho que tanto Java como C++ posui o seu charme!

Hoje estou diante de uma implementação de deverei manipular o hardware. Fazer isso com Java seria torturante, porém desenvolver minhas aplicações web em C++ seria tão torturante quanto.

Uma coisa é ser idealista Xiita, outra é fazer a implementação correta.

Java é uma coisa e C++ é outra. Se vc programa em Delphi não deve ficar procurando o coisas do VB nele e sim implementar da forma correta em Delphi.

Agora se vc está diante de um projeto que a utilização de ponteiros é crucial então utilize C++, se voce vai precisar muito de sobrecarga de operadores use C++, siplesmente não fique metendo o pau no Java, apenas use C++. Se o java não atende as suas necessidades use C++. Simples, não?

Adoro Java e programo em java por lazer, mas se algum dia a qualidade do meu projeto depender de C++ vou usá-lo sem nenhum problema, mas não vai ser por isso que Java vai perder o seu charme…

Resumindo se vc acha que Java não atende as suas necessidades mude de linguagem… Mas um bom profissional não possui linguagem e sim projetos :!:
Essa é a minha opnião galera…

Um abraço… :wink:

B

“Daniel Quirino Oliveira”:

Não, não haverá sobrecarga de operadores no Tiger. Só “templates”, que são chamados de “generics”.

E mesmo templates, apesar da idéia ser mais ou menos a mesma, é implementado de forma bem diferente.

C

Gente, me desculpem se eu vou ser meio grosso nesse post, mas eu preciso desabafar isso, ou eu vou acabar explodindo em alguem mais tarde.

Seguinte, 3 coisas:

1 - Essa discussão não vai a lugar nenhum, mas ela vem desde que o Java nasceu. E, antes do Java, era a mesma coisa com C++ vs C, e C++ vs Smalltalk, e X vs Y, e… :wink:

2 - Duas linguagens, dois propósitos, dois públicos. Agora, qual parte do “dois” vocês não entenderam? :evil:

3 - Operator overloading, ponteiros, closures, multicast delegates, metaclasses, e o que mais forem trazer do Lisp só é legal pra dois tipos de pessoas: os que desenvolvem a linguagem - e acabam com material de sobra pra se masturbar nas apresentações e defesas acadêmicas - e aqueles que se acham puta programadores.

Permitam-me esticar um pouco mais esse terceiro ponto: quem daqui não se acha um puta programador quando aprende a usar uma feature obscura da linguagem? Quem daqui não se sente bem quando domina um monstro horripilante como o C++?

Bom, eu me sinto. E é aí que está todo o problema: fulano aprende que operator overloading (ou qqer outra feature, que seja) é legal, e sai a usar em tudo quanto é canto, pq acha que é muito louco escrever código que nem o tio Bjarne. Só que ele não aprendeu a usar a feature com bom-senso. Ele aprendeu a usar. E, infelizmente, isso não vale só pra features da linguagem… serve pra patterns, arquiteturas e tecnologias inteiras, como até o próprio Java, por exemplo, que é usado em casos onde outra linguagem seria melhor (admitam! ADMITAM! :D)

Mas… aí o cara do lado olha e pensa “porra, o cara manja pacas, olha só que coisa incompreensível ele escreveu aqui! Um dia eu vou manjar que nem ele…”, e o ciclo se reinicia.

E o que sobra depois de alguns anos? Um bando de gente incompetente que acha legal ficar se deliciando nessa masturbação mental, mas pede demissão antes de ter que manter o sistema que ele mesmo escreveu.

Então, antes de achar que Java deveria ter X, Y ou Z, pense se você mesmo conseguiria ler o seu próprio código daqui a alguns meses, caso você tivesse acabado de aprender a usar o martelinho novo, e tivesse usado o dito pra parafusar o sistema todo.

[/end-of-rant]

I

Concordo contigo blackfire!O q importa eh a solução certa,na hora certa!
Cv,isso eh um Post no divã?(Q desabafo hein…)
Mas concordo com vc!Conheço muitos q sabem programar q nem um louco,usam as features mais obscuras de programação e q são capazes até de ganhar uma olimpíada de programação sozinhos… se vc pedir p/fazer um projeto completo e estruturado,devido a capacidade boçal de programar,até conseguem,mas o farão da maneira mais difícil e incomprensível para um simples programador… ou seja,um mata-moscas com balas de canhão! :shock:
Programador decente(IMHO),não eh o cara q faz um código violento para calcular um zilhão de números primos(e q só ele entende),mas sim aquele q consegue fazer um sistema completo (seja C,C++ ou Java),cujo um iniciante na linguagem possa ler,entender e até adaptar(pq não melhorar?) esse mesmo sistema. :wink:

R

Pô!!! Java e C++ estão em estágios diferentes da evolução das linguagens de programação…

os comentários do Stephan T. Lavavej (“why not java”) é coisa de programador frustado que não acompanha a evolução…

R

Xiii… vcs já estão começando a falar besteiras… já disse lá em cima… são 2 linguagens diferentes que implementam OO… tudo bem que Java se baseou no C++… mas ainda acho que uma coisa é uma coisa… e outra coisa é outra coisa
E para quem quiser continuar a discutir neste thread… pelo menos não descarreguem suas fustrações, parte programa pq gosta… e alguns pq querem ser raqueres ou algo do tipo… mas não vamos generalizar…
As vezes meu código fica imcompreensivo para alguns sim… mas não porque quero me dizer o fodão… e sim pq aquela parte é critica e precisou…
Existem sim pessoas que fazem isso para se gabarem e outras coisas mais… mas este não é o foco do thread…
E é nessas horas que boas palavras entre simples /* */ ajudam bastante…
:roll:

M

“Ironlynx”:
Concordo contigo blackfire!O q importa eh a solução certa,na hora certa!
Cv,isso eh um Post no divã?(Q desabafo hein…)
Mas concordo com vc!Conheço muitos q sabem programar q nem um louco,usam as features mais obscuras de programação e q são capazes até de ganhar uma olimpíada de programação sozinhos… se vc pedir p/fazer um projeto completo e estruturado,devido a capacidade boçal de programar,até conseguem,mas o farão da maneira mais difícil e incomprensível para um simples programador… ou seja,um mata-moscas com balas de canhão! :shock:
Programador decente(IMHO),não eh o cara q faz um código violento para calcular um zilhão de números primos(e q só ele entende),mas sim aquele q consegue fazer um sistema completo (seja C,C++ ou Java),cujo um iniciante na linguagem possa ler,entender e até adaptar(pq não melhorar?) esse mesmo sistema. :wink:

Muito boa a sua colocação, existem programadores de todos os perfis. Acho que o mérito vai para o gerente de projetos (ou quem quer que seja) que saiba conduzir cada talento do grupo para alcançar o objetivo comum.
Cada projeto é como se fosse um jogo de RPG onde cada um dos personagens possui a habilidade necessária para usar na hora certa.
:?:

_

Obrigadérrimo pelas respostas esclarecedoras povo :smiley:

ps.: cv, Filipe.

D

Bingo!

Essa discussão não leva a lugar algum, principalmente para mim, que não sabe C++… :smiley:

(mas vou atrás se um dia for necessário)

:wink:

R

Um dia… quando eu falei para uma pessoa que queria estudar mais Java… ela espantada me disse… “- Pô… mas vc já tem mó experiência em C++ e tal… pq vai pra Java???”, eu simplesmente respondi… mas eu quero ser especialista em OOP e não C++ :smiley: mas gosto bastante de C++ :splat:

Criado 13 de novembro de 2003
Ultima resposta 14 de nov. de 2003
Respostas 41
Participantes 21