Fórum Como ser um pogramador Delphi pofissional? #372010

06/07/2009

0

Salve Delphianos!!!

Gostaria de saber de vcs qual o caminho para chegar a ser um programador Delphi profissional e quais as ferramentas necessárias que devo adquirir. Atualmente trabalho como suporte em desktop windows.

Como free desenvolvo alguns aplicativos para processamento de dados para algumas empresas de mala direta como relatórios, cartas personalizadas com boleto-bancário. Desenvolvi também um aplicativo e emissão de Nota Fiscal com DBExpress e Firebrd.

Estou cansado de desenvolver só de vez em quando e muitas vezes ainda levo calote. :oops:

Por onde começar? Qual o percurso a seguir?

Desde já agradeço a todos e um grande abraço.


Nilsinho

Nilsinho

Responder

Posts

06/07/2009

Facc

não entendi direito. como assim ser profissional em Delphi?

se vc quer ser o TOP em programação, tem que ´comer´ livros e estar sempre atualizado nas novidades.


Responder

Gostei + 0

06/07/2009

Osocram

Amigo,
1) Acho que o primeiro passo vc ja deu, que é aprender a programar.
2) Interessante ter uma facul ou uma pos direcionada a isso.
3) Começar a aprender OOP, saber programar é uma coisa, saber programar bem e estruturado é outra. Mais ou menos 80¬ pensar e 20¬ codificar.
4) A tendencia esta mostrando o futuro é OOP, na verdade isso ja é o presente. Então comece desde agora a aprender isso.
5) Aprenda padrões de projeto.
6) Quando começar a estudar isso vai ver algumas ferramentas importante para DER, diagrama de classe, caso de uso.... Nem sempre vai ser necessário fazer todos e com certeza num terá tempo p fazer todos que quer e precisa. Mas depois que aprender a usar essas coisas vai ver que isso polpa muito tempo no decorrer do projeto e principalmente na manutenção.


Responder

Gostei + 0

07/07/2009

Willian

Aproveitando sua sugestão: nao consigo ver como OOP pode me ajudar em Delphi... eu trabalho basicamente com banco de dados. Faz diferença mesmo?


Responder

Gostei + 0

07/07/2009

Osocram

Um exemplo pratico....
como vc faz p chamar seus forms na tela principal?

Aproveitando sua sugestão: nao consigo ver como OOP pode me ajudar em Delphi... eu trabalho basicamente com banco de dados. Faz diferença mesmo?



Responder

Gostei + 0

07/07/2009

Javapaulomg

Aproveitando sua sugestão: nao consigo ver como OOP pode me ajudar em Delphi... eu trabalho basicamente com banco de dados. Faz diferença mesmo?


Sim, e um erro muito comum principalmente em programadores mais antigos, que tiveram seu auge em linguagens estruturadas seja COBOL, PASCAL ou outras.

Porém programar orientado a objetos e essencial a todo programador que deseja criar projetos profissionais seja em Delphi, Java ou C# ate mesmo C++, e uma evolução natural das linguagens, e suas vantagens não estão diretamente ligadas a uma linguagem em especifico, tornando assim otimo começar a praticar e por em praticas os fundamentos de OOP, já que a grande maiora de seus fundamentos são aplicados as melhores linguagens atualmente, seja a Hieraquia, o Polimorfismo, a Herança ou o Encapsulamento.

Uma pena tais pratica não estarem tão difundidas entre os programadores Delphi, como em outras linguagens como Java e C, sendo esse um dos motivos principais para a decadencia da utilização da linguagem, ou da quantidade incrivel dos ditos programadores (Arrastam componentes e implementam eventos), que tornou produtivo a criação de interfaces graficas, so que ao mesmo tempo fez esquecer que para um bom programa não basta ser bonito, ele em sua essencia tem que atender as necessidades que se propõe, ser de facil manutenção e ser escalonavel, com o uso de boas praticas que vão do uso da OOP, a padrões de projeto, e uma boa e solida documentação.

Digo isso porque diariamente vejo muitos programadores torcendo o nariz para OOP so de ouvir falar, sem ao menos tentar usar, ou ver seus beneficios, isso que temos que mudar na comunidade Delphi, já que a OOP e mais velha que boa parte deles, que vem da antiga Small Talk, e está ai a decadas, e sendo uma das bases do proprio Delphi, mesmo o mais RAD das ferramentas so e possível graças a ela... por isso se lembre a programação OOP e maior que uma simples linguagem, e um modo natural e mais agradavel de se programar, espero ter ajudado.


Responder

Gostei + 0

07/07/2009

Osocram

<javapaulomg> isso é verdade a comunidade delphi geralmente não da mta atenção para OOP. Essa é a parte boa e ruim do delphi, ele é tão flexivel que podemos programar Procedural, orientado a eventos, orientado a componente, orientado a objeto, estrutural e sem nada.... aqueles codigos todos embaralhados.

E da p programar procedural usando conceitos de OOP, que é o gosto de fazer.


Responder

Gostei + 0

07/07/2009

Javapaulomg

<javapaulomg> isso é verdade a comunidade delphi geralmente não da mta atenção para OOP. Essa é a parte boa e ruim do delphi, ele é tão flexivel que podemos programar Procedural, orientado a eventos, orientado a componente, orientado a objeto, estrutural e sem nada.... aqueles codigos todos embaralhados. E da p programar procedural usando conceitos de OOP, que é o gosto de fazer.


Hummm realmente meu amigo, o Delphi e extremamente flexivel, mais de tão flexivel, fez ao meu ver que a linguagem se atrofiasse no quesito OOP, pois a maioria esmagadora não liga para a OOP, e seus paradigmas, a tal ponto que recursos basicos da de linguagens OOP, nunca fossem ou quando fosse implementados era tarde demais.

Como por exemplo em Java sempre utilizei um recurso otimo que são os ´Generics´, implementados desde o Java 5, estando o mesmo tambem disponivel em C#, so que vimos que somente com o Delphi 2009 o mesmo foi implementado e com grande pesar que vi que a maioria da comunidade ou não ligou ou não sabe a importancia disso para o ganho de produtividade, de forma consistente e coesa, mais vejo ela mais feliz com a criação de um componente visual que so faz aumentar a gama de programadores amadores, que so fazem diminuir a faixa salarial dos que se importam com a programação de verdade, e fazer dela algo profissional pois temos uma oferta muito grande de programadores que somente arrastam componentes, e dizem programar, quando de fato, não se especializam na linguagem e nos recursos que ela te da...

Delphi e sua OOP, não ficam devendo nada mesmo para outras linguagens como o citado Java e C#, sendo tão flexivel quanto, porem não possuem uma comunidade tão ativa nesse quesito, sendo o foco em ferramentas RAD, que ao mesmo tempo aumentam a flexibilidade aumentam a gama de programadores amadores, que ao meu ver prejudicam nossa profissão, já tão mal vista em diversos segmentos, inclusve o nosso. Fica ai o desabafo.


Responder

Gostei + 0

07/07/2009

Willian

Opa, a conversa ficou boa agora!! :lol:

Seguinte: supondo-se que eu queria de agora em diante fazer meus programas (mesmo os de banco de dados) usando OOP em sua essência... por onde começo? Tem algum livro prático sobre o assunto? Não queria ficar nas teorias de encapusalmento, polimorfismo, heriditariedade, etc... não que eu não queira, não quero só isso, quero ver isso funcionando na prática. Alguém tem algum exemplo? Livros? Revistas?

Aproveitando: sim, quando eu crio um formulário eu instancio da classe TForm e chamo o evento Create da classe, isso é herança! :D


Responder

Gostei + 0

07/07/2009

Osocram

para pode te mostrar um exemplo pratico.
posta aqui o codigo que vc usa p criar um form MDI e SHOWMODAL.

e depois vou mostrar como podemos aplicar OOP nisso... ou mostrar que vc ja esta usando.


Opa, a conversa ficou boa agora!! :lol: Seguinte: supondo-se que eu queria de agora em diante fazer meus programas (mesmo os de banco de dados) usando OOP em sua essência... por onde começo? Tem algum livro prático sobre o assunto? Não queria ficar nas teorias de encapusalmento, polimorfismo, heriditariedade, etc... não que eu não queira, não quero só isso, quero ver isso funcionando na prática. Alguém tem algum exemplo? Livros? Revistas? Aproveitando: sim, quando eu crio um formulário eu instancio da classe TForm e chamo o evento Create da classe, isso é herança! :D



Responder

Gostei + 0

07/07/2009

Osocram

Esqueci de responder a primeira pergunta.
Seguinte... o prob que a maioria não vai p OOP é pq vc tem que ficar pensando mto, mto, mtooo antes de começar a codificar.

Então o sistema q vc ja tem vai ser complicado deixar OOP. Mas de certa forma é bom. Pq para aplicar OOP vc tem que conhecer oq ta fazendo, e vc ja tendo o sistema pronto ja vai saber a regra de negocio.

mas a noite eu posto mais detalhado alguns conceitos sobre isso.
Opa, a conversa ficou boa agora!! :lol: Seguinte: supondo-se que eu queria de agora em diante fazer meus programas (mesmo os de banco de dados) usando OOP em sua essência... por onde começo? Tem algum livro prático sobre o assunto? Não queria ficar nas teorias de encapusalmento, polimorfismo, heriditariedade, etc... não que eu não queira, não quero só isso, quero ver isso funcionando na prática. Alguém tem algum exemplo? Livros? Revistas? Aproveitando: sim, quando eu crio um formulário eu instancio da classe TForm e chamo o evento Create da classe, isso é herança! :D



Responder

Gostei + 0

07/07/2009

Willian

Para criar um form eu vou no ´New > Form´ e o crio/monto. Lá ajusto as propriedades dele para MDIChild (formStyle)

No código, para chamá-lo, uso:

meuForm := TmeuForm.Create(Self);
meuForm.ShowModal;

Eu sei que nesse código tem OOP: crie um formulário (o form em si), que virou uma classe. Aí criei uma variável do tipo dessa class e executei o método de criação dela. Após a variável estar criada eu executei um procedimento herdado da classe e que agora está disponível na variável. Estou certo :D ou falei muita besteira? :oops:


Responder

Gostei + 0

07/07/2009

Osocram

aqui ja começamos... tudo que criamos temos que destruir
o jeito mais correto seria

meuForm := TmeuForm.Create(Self);
try
  meuForm.ShowModal;
finally
  meuForm.release;
  meuForm :=nil;
end;


mas agora pensando um pouco mais OOP.
Veja que este bloco esta no menu principal. Isso é o que a maioria faz.
Mas aplicando alguns conceitos de OOP. Eu pergunto este meuForm sendo uma objeto, quem deveria saber como criar ele?
A resposta não é ´Eu´, nem ´o Sistema´ e sim o Proprio objeto.
Dae entra conhecimento mais aprofundado da linguagem como metodos estaticos ou Metodos de classe.
O que mudaria?
em vez de eu fazer todo aquele bloco a cima p chamar o form eu faria apenas
TMeuForm.Execute;


Isso quer dizer Separação de Conceito (outro conceito de OOP) que diz que cada objeto tem a sua responsabilidade. Se eu quero usar um objeto ele tem q saber como se criar, e se destruir.

Este é apenas um exemplo de como usar o conceito.
Espero ter conseguido explicar em vem de complicar.
Para criar um form eu vou no ´New > Form´ e o crio/monto. Lá ajusto as propriedades dele para MDIChild (formStyle) No código, para chamá-lo, uso: meuForm := TmeuForm.Create(Self); meuForm.ShowModal; Eu sei que nesse código tem OOP: crie um formulário (o form em si), que virou uma classe. Aí criei uma variável do tipo dessa class e executei o método de criação dela. Após a variável estar criada eu executei um procedimento herdado da classe e que agora está disponível na variável. Estou certo :D ou falei muita besteira? :oops:
[/code]


Responder

Gostei + 0

07/07/2009

Javapaulomg

Para criar um form eu vou no ´New > Form´ e o crio/monto. Lá ajusto as propriedades dele para MDIChild (formStyle) No código, para chamá-lo, uso: meuForm := TmeuForm.Create(Self); meuForm.ShowModal; Eu sei que nesse código tem OOP: crie um formulário (o form em si), que virou uma classe. Aí criei uma variável do tipo dessa class e executei o método de criação dela. Após a variável estar criada eu executei um procedimento herdado da classe e que agora está disponível na variável. Estou certo :D ou falei muita besteira? :oops:


Sim seu pensamento está correto, o método ShowModal, não está disponivel na sua implementação real, e sim na Super Classe dela ou seu Pai se preferir, para ver tal conceito basta clicar e pressionar com o seu botão Ctrl e clicar com o botão direito do mouse sobre o método e veras de onde e a primeira implementação imediata deste método, isso tudo e OOP.

Quanto as questões anteriores tenho uma opinião divergente, no quesito quanto ao não querer aprender certos conceitos basicos da OOP, ao meu ver não se tem como conhecer apenas unica e exclusivamente um fundamento da OOP, deves estudar todos os preceitos da OOP, mesmo que não domine todos deve saber que existem e que ao se deparar com um trecho de código que faz uma chamada polimorfica, deve saber que implementam a mesma interface ou herdam de um mesmo pai, que um metodo ao não estar acessivel na subclasse, e porque o mesmo foi encapsulado, a OOP não e so uma parte e a soma de suas partes que a faz oque é... por isso não acho possível o desconhecimento completo d uma de suas partes, mais sim você pode ter maior difilcudade com um deles ou não ter inda utilizado, mais conheça a todos. E como aprender a acelerar um veiculo, sem saber freiar ou direcionar ele.

Quanto ao pensar muito antes de se codificar ao meu ver não e assim pois desta forma deixa a entender que a OOP e uma coisa monotona, cansativa e pouco produtiva, so que de fato não é... ela te te leva a pensar mais rapido e a encontrar a solução de problemas de forma natural, evitando erros basicos, e reutlizando o trabalho já feito por você ou outro, com o tempo e a pratica veras que e mais rapido e natural programar OOP, o tempo deve ser gasto de forma mais adequada na coleta de informações das reais necessidades e elaboração de soluçoes mais robustas tendo em vista o paradigma da OOP, mais quanto a codificação a OOP ao meu ver e experiencia se torna mais agil e consistente que a procedural.


Responder

Gostei + 0

07/07/2009

Willian

Estou convencido!!

Agora que vocês acenderam essa necessidade em mim, fica a pergunta: como aprendo isso para usá-la na prática? :?: Não vale contar o milagre e não falar quem é o santo... :D


Responder

Gostei + 0

07/07/2009

Osocram

Unico jeito de aprender é usando.
Lendo historias de guerra (depoimentos de pessoas que ja passaram por isso).
Tentar aprender na teoria tbm.

Estou convencido!! Agora que vocês acenderam essa necessidade em mim, fica a pergunta: como aprendo isso para usá-la na prática? :?: Não vale contar o milagre e não falar quem é o santo... :D



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar