SEJAM BEM VINDOS!!!

Este blog é destinado a todos que interessam em aprender e compartilhar conhecimento sobre desenvolvimento de aplicativos, linguagens de programação, banco de dados, entre outros.

O que é OCX?

Abreviatura de OLE custom control. Módulo de software que se baseia nas tecnologias OLE e COM que, quando chamado por uma aplicação, produz um controle que acrescenta algum recurso interessante à aplicação. A tecnologia OCX é independente de plataforma, opera em sistemas operacionais de 16 e 32 bits e pode ser usada com várias aplicações. É a sucessora da tecnologia VBX (Visual Basic custom control), que aceitava apenas aplicações do Visual Basic, e constitui a base dos controles ActiveX. Os controles OCX podem ser criados em diversas linguagens, embora o Visual C++ seja a linguagem mais utilizada. Desenvolvida pela Microsoft, a tecnologia OCX é tratada na especificação OCX 96 (1996 OLE Controls specification). Pesquise também ActiveX controls (controles ActiveX); COM (definição 2); control (controle – definição 2); OLE; VBX; Visual Basic.

Fonte: http://o-que-significa.blogspot.com.br/2011/06/ocx.html#.UxivZPldXik

quarta-feira, 23 de setembro de 2009

Como ser um bom programador

Introdução
Eu programo computadores desde os 12 anos de idade (já fazem 12 anos). Durante todos esses anos programando e estudando, eu acabei descobrindo algumas qualidades e alguns esforços que fazem a diferença entre um bom programador e um programador mediano. Mostrarei aqui essas qualidades e esforços que julgo mais importantes.
Quando digo "programador", você pode entender "programador OU Analista Programador OU Engenheiro de Sistemas OU Arquiteto de Sistemas OU Escovador de Bits". Programador é a pessoa que programa computadores, não necessariamente quem ganha a vida fazendo isso. Até meus 17 anos eu achava que programação era só um divertimento, eu não pensava em levar isso como uma profissão.(Sim, eu não pensava em programação como uma profissão. Tanto que, com 18 anos, eu entrei no curso de Relações Internacionais. O grande problema era que eu ia para a faculdade com um livro de C++ embaixo no braço. E, apesar de adorar as aulas de Economia, Ciências Políticas e Ciências Sociais, eu abandonei a faculdade depois do 1º ano).

O que é ser um bom programador
Resposta curta: quanto mais você sabe o que está acontecendo quando você chama uma função (qualquer uma), melhor programador você é.
Resposta longa: Quando eu tinha 15 anos, eu fui pescar (fui obrigado, odeio pescar) com um tio, e por um motivo qualquer, veio à tona o assunto "hacker". Naquele tempo, eu achava que hacker era uma pessoa que invadia sistemas. Até que ele me disse que "hacker é a pessoa que sabe realmente o que acontece quando você aperta um botão no teclado".
(Eu espero que você saiba o que é um hacker. Um garoto idiota que usa programinhas prontos para invadir o computador dos outros não passa de um garoto idiota. A definição de hacker, em tradução livre, é "uma pessoa que gosta de explorar os detalhes de sistemas programáveis e testar suas potencialidades, ao contrário da maioria dos usuários, que preferem aprender somente o mínimo necessário".)
Um hacker e um bom programador são quase a mesma coisa, e apertar um botão no teclado envolve vários chamados de função. Um usuário sabe que quando ele pressiona a tecla "A", aparece a letra "A" na tela. Um bom programador vai além, e sabe que resumidamente, ao pressionar a tecla "A", o teclado vai disparar um sinal elétrico que quando chegar no computador, vai disparar uma interrupção de processador, que será tratada por um driver que colocará isso em uma fila, que será lida pelos programas. Nem sempre você precisará saber todos os detalhes. O fato é que o bom programador teve curiosidade suficiente para descobrir como isso funciona.
Um programador mediano sabe que quando você chama a função MessageBox (ou MsgBox, MessageBox.Show ou JOptionPane.showMessageDialog) aparece uma janela com uma mensagem na tela. Um bom programador sabe que isso faz uma chamada para GDI, que depois vai para kernel mode (muda para Ring0), que chama o driver de vídeo que chama o monitor. Quanto mais detalhes você sabe sobre todos esses passos, melhor para você. Você pode ser um bom programador sem saber os detalhes de tudo, mesmo porque, isso é impossível. O que importa é ir além de um usuário ou programador mediano, é ter a curiosidade de saber como as coisas funcionam. Mesmo que você ache desnecessário saber como funciona o gerenciamento de filas do driver de teclado, isso pode ajudar um dia. Informação nunca é demais.
Conhecer bem um computador e seu funcionamento é uma das coisas que define um bom programador. Poder de abstração, capacidade para resolução de problemas e raciocínio lógico são outras qualidades que leva alguém a ser um bom programador. Mas a qualidade essencial é a curiosidade. Um bom programador quer saber tudo que acontece, mesmo que aparentemente ele não precise. Um programador mediano se satisfaz somente com um resultado esperado.

Qualidades ou esforços necessários
Vou enumerar aqui algumas qualidades em um programador que podem ser a chave para o sucesso. Como sucesso, eu defino a satisfação em fazer o que gosta e fazer bem. Se você trabalha com Cobol e é o mestre nisso, mas gostaria mesmo é de estar fazendo um sistema operacional para Nintendo 8 bits, talvez você não tenha sucesso (apesar do que a sua conta bancária diz).
Vamos à elas:
*Gostar de problemas lógicos
*Saber inglês
*Gostar de aprender e estudar constantemente
*Gostar de ler (e estudar constantemente)
*Saber buscar as informações (para estudar constantemente)

Existem diversas outras qualidades que ajudam, como um bom relacionamento inter-pessoal e facilidade de negociação, mas aqui eu falarei especificamente sobre o que tange a área técnica. Eu não entendo nada de RH, psicologia, inteligência emocional, inteligência extraespacial ou qualquer dessa coisas. Esse artigo é para quem pretende ser um bom escovador de bits, não para quem pretende passar em todas as entrevistas de emprego ou conseguir uma namorada pelo MSN Messenger. :-)

Gostar de resolver problemas
Acho que essa é meio óbvia, já que computação é uma ciência exata. Mas não é tão simples assim. Existem algumas características dos profissionais da área de humanas que caem como uma luva para um programador.
Eu costumo dizer que programação é mais uma arte do que uma ciência. E quando eu explico isso para profissionais da área de humanas, eles entendem e começam a ter a mesma opinião. Quando você projeta um sistema, você quer resolver um problema específico. Mas esse problema pode ser resolvido de milhares de maneiras. Como você chega a solução desse problema também é outro problema, às vezes bem maior.
Digamos que você vai fazer um programa para uma fábrica de roupas. Enquanto você não entender muito bem o processo produtivo da fábrica, você não consegue fazer o sistema. Agora além de saber programar, você sabe como funciona uma fábrica de roupas. Isso é uma das coisas que me fascina na área de sistemas. Além de controlar a máquina, você tem a oportunidade de aprender muitas coisas fora da área de informática (como o funcionamento de uma fábrica).
Atualmente estou trabalhando com softwares para o mercado financeiro e bolsas de valores. Além de refinar minha habilidade em C++, Win32 API, multithread, sockets e coisas técnicas, também estou aprendendo diversas coisas sobre o mercado de ações e de mercadorias e futuros. E esses conhecimentos "paralelos" me ajudam bastante quando me sobra algum dinheiro para investir. :-)

Publicado em: 29/09/2006 http://www.linhadecodigo.com.br/Artigo.aspx?id=1153

Nenhum comentário:

Postar um comentário