[IDG Now] Programação: 11 habilidades dos veteranos que fizeram história  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
Rafael Afonso
Virtual Machine Man
[Avatar]
Membro desde: 05/12/2002 16:03:43
Mensagens: 719
Localização: São Paulo/SP
Offline

IDG Now! wrote:
Computerworld lista as competências que os programadores tinham de desenvolver para disputar um lugar no mercado de trabalho.

1- Escrever algoritmos de ordenação à mão
2- Criar as próprias interfaces gráficas
3- Lidar com "código espaguete"
4- Definir manualmente códigos multi-instância e multitarefa
5- Escrever códigos com capacidade de automodificação
6- Modificar programas em execução
7- Gerenciar memória
8- Utilizar cartões perfurados
9- Escrever códigos matemáticos e com datas
10- Trabalhar com limitações da linguagem
11- Uso de hacks

Mais detalhes (como a descrição das habilidade) em http://idgnow.uol.com.br/carreira/2009/05/11/conheca-11-habilidades-dos-programadores-veteranos-que-fizeram-historia/

Rafael Ubiratam Clemente Afonso
---------------------------------------
GitHub
ScalaFX
LinkedIn
[MSN]
celso.martins
Virtual Machine Man
[Avatar]

Membro desde: 19/06/2006 13:54:23
Mensagens: 699
Localização: Rio de Janeiro
Offline

Senti uma certa dose de ironia nessa reportagem.

ComputerWorld wrote:
1- Escrever algoritmos de ordenação à mão
Hoje em dia, para obter um algoritmo de ordenação de dados, basta utilizar um código já existente nas ferramentas de programação. No entanto, os desenvolvedores dos anos 80 travavam verdadeiras batalhas nessa tarefa, pois tinham de lidar com imensas árvores binárias e todas as vezes era necessário escrever um novo código.


E?

Não podemos reaproveitar o árduo trabalho desses caras? Alguém inventou o parafuso. Por ele ter "se matado" para inventar, quer dizer que não possamos utiliza-lo?

ComputerWorld wrote:
3- Lidar com "código espaguete"
Muito antes do desenvolvimento orientado ao objeto, metodologia era uma palavra que não existia no vocabulário dos desenvolvedores. O fluxo de aplicação na maioria das linguagens antigas era controlado por instruções que mandavam ir à linha de código 10, por exemplo. O problema é que esta linha de código não ficava necessariamente entre as linhas 9 e 11, o que acabava gerando o ?código espaguete?.

As novas linguagens orientadas a objetos, iniciadas pelo C++ no início dos anos 90, eliminaram a necessidade de programação estruturada.


Essa foi demais. Matamos todo e qualquer tipo de evolução? A qualidade deixou de ser importante? Voltaremos a programar com goto's, só porque o cara acha código espaguete (ou o sofrimento com eles) bonitinho?

E afinal de contas, o paradigma OO não vem desde o final da década de 60?

Hoje melhor que ontem e pior que amanhã.

Desenvolvimento Psicopata - Qualidade Total
Twitter
Infoblogs - A vitrine do seu blog
[Email] [WWW]
lavh
GUJ Master

Membro desde: 30/07/2006 16:09:55
Mensagens: 1311
Offline

Celso,

acho que o intuito da reportagem foi só mostrar o que era necessário para ser um programador há uns 20 anos atrás. O cara não quis dizer que isso era bom, nem tão pouco pra gente fazer assim agora.

É claro que os tempos são outros....

Calma!
celso.martins
Virtual Machine Man
[Avatar]

Membro desde: 19/06/2006 13:54:23
Mensagens: 699
Localização: Rio de Janeiro
Offline

Então entendi errado. =)

Entendi que nós teríamos que agir dessa forma hoje em dia para sermos considerados bons programadores.

A questão dos cartões perfurados foi sensacional!

Mania da leitura dinâmica. Deixei passar isso: já tiveram uma importância muito grande do passado, mas que não deixaram saudades.

EDIT: Na verdade, a frase que mais me confundiu foi a do autor do tópico:

Computerworld lista as competências que os programadores tinham de desenvolver para disputar um lugar no mercado de trabalho.

This message was edited 1 time. Last update was at 11/05/2009 13:12:33


Hoje melhor que ontem e pior que amanhã.

Desenvolvimento Psicopata - Qualidade Total
Twitter
Infoblogs - A vitrine do seu blog
[Email] [WWW]
peczenyj
Moderador
[Avatar]

Membro desde: 26/03/2006 23:25:37
Mensagens: 3191
Localização: Rio de Janeiro
Offline

Concordo com o item 1. Não se trata de reescrever a roda e sim conhecer os algoritmos básicos ou nem tão básicos (QuickSort, MergeSort, etc). Isso é base para optar por algoritmos prontos e também desenvolve certos circuitos cerebrais. Se vc sabe como a ordenação é feita isso te dá vantagens em circunstancias exóticas (como ter que fazer na mão, criticar os algortimos existentes, etc). Sem falar que abre caminho para codigos melhores que não envolvam diretamente ordenação mas, por exemplo, percorrer listas e grafos.

Isso pode fazer a diferença em um dispositivo embarcado, por exemplo.

http://pacman.blog.br

'Não importa quanto alguém se dedique à tarefa. Ninguém consegue fazer a água da cascata cair para cima.'
[WWW]
celso.martins
Virtual Machine Man
[Avatar]

Membro desde: 19/06/2006 13:54:23
Mensagens: 699
Localização: Rio de Janeiro
Offline

peczenyj wrote:Concordo com o item 1. Não se trata de reescrever a roda e sim conhecer os algoritmos básicos ou nem tão básicos (QuickSort, MergeSort, etc). Isso é base para optar por algoritmos prontos e também desenvolve certos circuitos cerebrais. Se vc sabe como a ordenação é feita isso te dá vantagens em circunstancias exóticas (como ter que fazer na mão, criticar os algortimos existentes, etc). Sem falar que abre caminho para codigos melhores que não envolvam diretamente ordenação mas, por exemplo, percorrer listas e grafos.

Isso pode fazer a diferença em um dispositivo embarcado, por exemplo.


Conhecer é uma coisa, concordo com você.

Mas ficar criando algoritmo de ordenação no dia-a-dia não dá, né? =)

Hoje melhor que ontem e pior que amanhã.

Desenvolvimento Psicopata - Qualidade Total
Twitter
Infoblogs - A vitrine do seu blog
[Email] [WWW]
hmbr
Debugger
[Avatar]
Membro desde: 14/08/2006 15:22:50
Mensagens: 50
Localização: Barueri-SP
Offline

Rafael Afonso wrote:
IDG Now! wrote:
Computerworld lista as competências que os programadores tinham de desenvolver para disputar um lugar no mercado de trabalho.

1- Escrever algoritmos de ordenação à mão
2- Criar as próprias interfaces gráficas
3- Lidar com "código espaguete"
4- Definir manualmente códigos multi-instância e multitarefa
5- Escrever códigos com capacidade de automodificação
6- Modificar programas em execução
7- Gerenciar memória
8- Utilizar cartões perfurados
9- Escrever códigos matemáticos e com datas
10- Trabalhar com limitações da linguagem
11- Uso de hacks

Mais detalhes (como a descrição das habilidade) em http://idgnow.uol.com.br/carreira/2009/05/11/conheca-11-habilidades-dos-programadores-veteranos-que-fizeram-historia/


Tirando a numero 8, eu vejo todas as outras no mercado, principalmente a número 3





Sun Certified Java Programmer 5.0
[WWW] [MSN]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team