Página 1 de 3

Programação

MensagemEnviado: 18 Mai 2012 11:48
por mastk
Vc sabe programar?

Já vez essa pergunta, de forma sincera e profunda a essa questão?

Recentemente eu me vi em uma situação de fazer um programa para testar um programa alheio. Na primeira passada achei uma grande quantidade de bugs, o veridito inicial, era: Erro no meu programa.
Após provar que o que fiz estava correto, dai sim, começou as correções.

O cidadão a qual, testei o programa, se julga um excelente programar, o melhor do Brasil, ao ler o codigo, que segundo ele, é uma obra de arte, aconteceram dezenas de vezes, de uma variavel errada, um estrutura vergonhasa, e similares.

Quando estudamos algoritmos, ou se dedica profundamente sobre logica e programação, vem a ideia de ser organizado e linear no pensar, entretanto, o pensamente não é uma linha, o primordial é resolver o problema, não vem bem uma bagunça no pensar?

Já li, que programar dentro da linguagem é ruim (e comum), eu vejo pensar dentro da linguagem, o que é: Uma pobreza.

Eu vejo essa arte hoje, em seu ideal, da seguinte maneira:
1° Enteder o problema
2° Tentar soluções (zona total nessa parte e até voltar ao passo)
3° Estrutar a solução
4° Implementar
5° Testar
6° Apreciar a solução

Digo que a pessoa que penso em uma liguagem e se orgulha tanto de suas soluções, está realizando POE (Programação Orientada ao Ego), o pode fazer de alguem que seja bom, acabe mediocre.

Assim falou Zarat... Mastk.

MensagemEnviado: 18 Mai 2012 12:27
por chrdcv
Olá Mastk!

Cara, em primeiro lugar parabéns! Programa que testa programa é uma tarefa um quanto tanto complicada e de certa forma hercúlea, pois entra na parte matemática hardcore da computação é análise formal, associada a combinatória e fundamentos teóricos da computação. Lembro que um dia assisti uma palestra de um professor sobre o assunto, e saí de lá me sentindo menos que o excremento de um protozoário (não que eu seja mais do que isso).

A enumeração que fez para solucionar um problema computacional está bem prática, mas ressalvo que o segundo passo: "2° Tentar soluções (zona total nessa parte e até voltar ao passo" pode tornar torturante caso não haja conhecimento prévio de algoritmos e análise de algoritmos. Um exemplo clássico disso poderia ser a resolução do problema das n rainhas. Caso não tenha conhecimento de grafos ou inteligência artificial, a abordagem para a resolução do problema torna-se massacrante e nem sempre leva a heurísticas melhores, o que acarreta maior custo computacional, maior gasto de energia, etc...

A questão da linguagem já é coisa do passado. Quem fica preso a somente uma linguagem de programação é refém dela. Na dinâmica atual do mundo, e com o poder computacional que temos, além de um maior entendimento e domínio de linguagens de computadores, análise semântica e sintática, é possível a resolução de um problema utilizando uma linguagem que ofereça algoritmos "build in", sem a necessidade de re-escrever código. Python e Ruby são exemplos dessas linguagens de prototipação rápida.

MensagemEnviado: 18 Mai 2012 12:58
por mastk
Apesar de testar, os testes são rusticos e simples e esse é um assunto que me interresa, recomenda algum livro sobre?

MensagemEnviado: 18 Mai 2012 14:51
por xultz
Vc sabe programar?

Já fez essa pergunta, de forma sincera e profunda a essa questão?


Sim, várias vezes, e a resposta é sempre a mesma: não.

Na verdade, a única coisa que sei fazer direito é pudim de leite.

MensagemEnviado: 18 Mai 2012 14:55
por msamsoniuk

Re: Programação

MensagemEnviado: 19 Mai 2012 08:25
por andre_luis
mastk escreveu:...O cidadão...se julga...o melhor do Brasil...


Esse é um tema interessante.

Há pessoas que aprendem uma determinada filosofia na faculdade, e não sabem sair daquele quadrado, pois é a única direção que conhecem. Um dos exemplos é a famosa 'abstração' : Fazem programas otimizando o reaproveitamento de código, e deteriorando a performance. É como a cegueira de uma religião.

Ano passado, criei em 2 meses, numa linguagem que eu nunca havia usado, algo que estavamos implorando a 2 anos para o departemento de programação(com dúzias de programadores Java certified), onde alegavam complexidade e o escambáu.

E olha que o meu programa ficou melhor de que qualquer um deles faria, segundo minha opinião.


+++

MensagemEnviado: 19 Mai 2012 13:57
por msamsoniuk
se eu sou o melhor programador do universo eu nao sei, mas depois q comecei a programar forte em verilog, a minha capacidade de obfuscacao de codigo em C atingiu o level yoda! huahuahua

MensagemEnviado: 19 Mai 2012 13:59
por mastk
Imagem

Eis um livro que comprei, li um pouco e parei, precisso de um lugar para sentar, caderno, lapis e borracha, coisas que alem de dificeis de serem obtidas em um meio de transporte publico, são dificeis de manusear no mesmo.

Liguagens, sei ASM de diversas CPUs, C, Java, Pascal e Python.

E mesmo assim, penso que até ser capaz de um Kernel meu, no nivel dos BSDs, é melhor estudar e me aprimorar mais, Sam.

E Andre, pois é, isso já aconteceu comigo diversas vezes, mas eu mesmo já empaquei com problema e achando que o meu jeito era o melhor e ponto final, ou seja, um **** de um ego, em uma situação em que deveria ser flexivel, como lidar com isso?

MensagemEnviado: 19 Mai 2012 16:04
por mastk
Hoje descidi passar na livraria cultura e pegar alguns livros novos e me deparei com isso aqui:

Imagem

Apesar de querer pensar torto, esse livro é a resposta ao pensamento que me levou a criar esse topico, vamos ver o que o livro tem para mim.

MensagemEnviado: 20 Mai 2012 10:48
por tcpipchip
nao esquecer de ler um ou dois livros de engenharia de software e suas ferramentas...por exemplo UML

MensagemEnviado: 20 Mai 2012 20:30
por mastk
tcpipchip, UML eh algo para administracao, certo? Isso eh novidade para mim, parece coisa para projetos grandes, me recomenda algum livro para entrar n o assunto?

Um livro que estava lendo, que parei pela faculdade foi esse:

Imagem

Eh relativamente mal escrito, mas o assunto eh bem interresante.

MensagemEnviado: 21 Mai 2012 11:08
por tcpipchip

MensagemEnviado: 21 Mai 2012 11:10
por tcpipchip
Linguagens formais, disciplina obrigatória em Ciencia da Computacao e Engenharia de Computacao.

MensagemEnviado: 21 Mai 2012 13:38
por chrdcv
mastk escreveu:tcpipchip, UML eh algo para administracao, certo? Isso eh novidade para mim, parece coisa para projetos grandes, me recomenda algum livro para entrar n o assunto?

Um livro que estava lendo, que parei pela faculdade foi esse:

Imagem

Eh relativamente mal escrito, mas o assunto eh bem interresante.


Putz, ia recomendar justamente esse livro para vc! Foi um dos que achei mais fáceis para tentar entender um pouco FTC. Tem outros mais hardcores como o do Hopcroft e Ullman, Sudkamp e Sipser (em ordem de complexidade):

- Introduction to Automata Theory, Languages, and Computation (3rd ed)

- Introduction to the Theory of Computation

- Languages and Machines: An Introduction to the Theory of Computer Science

O F*** é que é relativamente tranquilo, até chegar na parte do Pumping Lemma, é aí que o problema começa a ficar agressivo e hardcore!


Na parte de algoritmos, gosto muito do:
Introduction to Algorithms -- Thomas H. Cormen, apesar de que na parte de grafos ser muito fraca, mas é possível complementar com abundância em: Graph Theory and Its Applications, Second Edition (Discrete Mathematics and Its Applications) -- Gross; Yellen

chrdcv

MensagemEnviado: 22 Mai 2012 22:43
por chipselect
mastk escreveu:Imagem

Eis um livro que comprei, li um pouco e parei, precisso de um lugar para sentar, caderno, lapis e borracha, coisas que alem de dificeis de serem obtidas em um meio de transporte publico, são dificeis de manusear no mesmo.

Liguagens, sei ASM de diversas CPUs, C, Java, Pascal e Python.

E mesmo assim, penso que até ser capaz de um Kernel meu, no nivel dos BSDs, é melhor estudar e me aprimorar mais, Sam.

E Andre, pois é, isso já aconteceu comigo diversas vezes, mas eu mesmo já empaquei com problema e achando que o meu jeito era o melhor e ponto final, ou seja, um **** de um ego, em uma situação em que deveria ser flexivel, como lidar com isso?


realmente um livro muito bom, naum terminei de ler ainda mas eh bem interessante.