Arquivo da categoria ‘Programação’

A forma mais comum de se guardar dados booleanos no MySQL é usando o tipo “bit”… Porém, ele guarda apenas 0 ou 1, sempre na forma binária… legal fazer uma inserção ou query (consulta) no gerenciador nénão? rsrs

Lendo o manual do MySQL, descobri que é possível manipular campos bit de forma textual, usando a letra b antes do valor…

Por exemplo: INSERT INTO ‘my_table'(‘id’, ‘flag’) VALUES (1,b’0′);

Para a query, some o número 0 (Zero) ao nome da coluna…

Exemplo: SELECT id, flag+0 FROM my_table;

Simples assim 😉 … mas se alguém fizer o teste também no SQL Server, da Windows,

Manual do MySQL

Anúncios

Respondendo um comentário do Hamilton, leitor do blog, me deparei com dois termos: Linguagem Ultrapassada e Linguagem Antiga… alguém saberia responder qual a diferença, quais os prós e os contras? Vamos lá…

Existem linguagens de programação (LPs) diversas para (atrapalhar a vida) ajudar o programador a resolver problemas relacionados à tecnologia da informação. Cada uma tem pontos fortes e fracos e segue determinado paradigma. No fundo, é tudo a mesma mer.. coisa.

Lembrando que não existe a “melhor LP”, a mais adequada seria  “aquela que não é ultrapassada”. Mas oque é uma LP ultrapassada?

Em primeiro lugar, ULTRAPASSADA não é velha. Linguagens de programação não são, necessariamente, velhas… Toda LP depende de um intérprete ou de um compilador, que converte a linguagem em código de máquina. No caso do intérprete, além dessa tarefa há ainda a execução do código. A linguagem ultrapassada usa paradigmas antigos, ou conceitos (hoje) considerados arcaicos…. em outras palavras:

Linguagem ultrapassada é toda aquela que deixou de ter suporte adequado dos compiladores e intérpretes.

Quer um exemplo prático? A linguagem C… é velha, complicada, mas não ultrapassada. Ainda hoje, o C conta com compiladores atualizados para todas as plataformas disponíveis no mercado… E é uma LP com 41 anos de idade!!!

Por outro lado, o Clipper não conta mais com o suporte, nem atualização, nem uso… e isso inclui linguagens como FoxBase, FoxPro, GWBasic, e tantas outras cujos compiladores e/ou intérpretes deixaram de ser atualizados por seus fabricantes.

PERIGO:
A afirmação “(…) minha empresa usa software escrito em linguagem ultrapassada. Vou atualizá-lo para uma linguagem que ainda esteja no mercado(…)” é extremamente perigosa!!!
Antes de qualquer tipo de atitude, avalie junto com sua equipe a necessidade da atualização… muitas vezes (99% delas, eu diria), o custo-benefício de se reescrever um programa inteiro torna-se totalmente inviável… por um lado, pela dificuldade de se “criar novamente” um programa que já estava funcionando e sem Bugs (o funcionamento do prog também é de se avaliar)… por outro lado, a dor de cabeça que pode ser evitada com perdas de dados na migração.
Muitas empresas hoje, possuem softwares que ainda funcionam em linguagens ultrapassadas. Isso é sintomático com relação ao ciclo de vida do programa, ou seja: a falta de planejamento durante o desenvolvimento levou o software a ter um ciclo de vida superior ao que deveria.

Nenhum software é eterno.

É importante ter um ciclo de vida bem definido quando criar um software, justamente para que ele não se torne o legado que tem “vida própria”, ou seja, um software cujo ciclo de manutenção é interminável e cuja adição de novas características/funcionalidades apenas se torna mais complicada com o passar dos anos.

O ciclo de vida de um produto faz parte do planejamento de desenvolvimento e precisa ser levado em conta para que o software seja continuamente atualizado (olhe para seu Windows e reflita bastante). Há plataformas tecnológicas atuais que são praticamente impossíveis de serem utilizadas com software escritos em linguagens ultrapassadas. Sistemas que trabalham com a nota fiscal eletrônica não tem como ser implementados em linguagens como FoxBase pelo simples fato da linguagem ter surgido na era paleolítica do mimeógrafo e não ter qualquer suporte à comunicação de rede.

Mas o programa resolve o meu problema

Será? E quanto aos ajustes ou sistemas operacionais nos quais você pode usá-lo? O melhor EXEMPLO é a migração de aplicações para ambientes de 64 bits da Microsoft: São comuns aplicações que (ou) param de funcionar completamente ou funcionam meia boca, mesmo com toda a camada de compatibilidade existente.

A questão, então, não é sempre usar o que há de mais moderno, mas tomar MUITO cuidado com a diferença entre “ultrapassado” e “antigo”. Na Tecnologia da Informação, tudo aquilo cujo ciclo de vida estendeu-se de maneira descontrolada e sem planejamento adequado, é ultrapassado e pode se tornar perigoso.

..: COBOL :..

Publicado: 21 de fevereiro de 2012 em Programação
Tags:, , , ,

“Common Business Oriented Language” ou simplesmente COBOL… Esta linguagem de programação já tem meio século, continua em uso e me traz sérias dúvidas que com certeza não são somente minhas:

1- Porque se fala tão mal dele nos fóruns e mesmo assim existem muitas oportunidades?

2- Vale a pena aprender COBOL?

Como não gosto de dúvidas, comecei a garimpar informações e mais informações à respeito e as dúvidas começaram a crescer, até que me deparei com informações interessantes sobre a linguagem: em meados de 1981 (olha só, eu nasci neste ano!), muitos já consideravam a linguagem ultrapassada, com mais de 27 anos de uso… afirmavam que já deveria estar morta à pelo menos 10 anos… porém, durante todo o tempo (até hoje, praticamente), a única coisa que acontecia era a troca de adversários (CLIPPER, PL/1, DataFlex, etc…) e ninguém conseguia fazer a linguagem cair em desuso… lógico! COBOL fora desenvolvido para neutralizar a crescente disseminação de linguagens proprietárias (aquelas que só funcionam na sua arquitetura original, limitando bastante o uso de hardwares distintos).

O COBOL foi desenvolvido possibilitando que o compilador de cada fornecedor convertesse os códigos escritos para sua linguagem particular, permitindo que o programa fosse executado em uma máquina de arquitetura diferente daquela onde o programa foi feito. Considerando que na época existiam muitas arquiteturas de hardware incompatíveis entre si, a ascensão COBOL continuava, se tornando cada vez maior. Além disso, a linguagem foi desenvolvida de forma que os programas fontes parecessem com documentos escritos em inglês, ou seja, ao invés de códigos complexos, existia praticamente um manual operacional da organização, que era executado pelos computadores e entendido pelas pessoas, sem que precisassem ser doutores em determinadas áreas do conhecimento. Antes do COBOL, até os programadores “penavam” pra auditar as funções dos sistemas.

Portanto, quando alguém diz que COBOL é ultrapassado, ou “não faz isso ou aquilo”, está bastante mal informado. Toda espécie de solução pode ser encontrada ou criada para COBOL ou em COBOL. Espertos são os que conseguem integrar o que já possuem em COBOL com novas tecnologias e linguagens e não perdem tempo tentando reescrever muita coisa que já estava funcionando.

À alguns anos, linguagens proprietárias como o Power Builder começaram a ser descontinuadas e quem investiu nessa tecnologia está se descabelando, enquanto quem manteve o COBOL segue em frente.

DÚVIDA 1 SANADA!!! O COBOL ainda existe e continua firme e forte, principalmente no mercado financeiro… o povo fala mal por não entender ou por achar uma linguagem obsoleta (ou por não entender por achar que é obsoleta). As grandes oportunidades são justamente pela falta de profissionais qualificados, que entendam a linguagem e sejam capazes de dar suporte em grandes sistemas “COBOLÍTICOS”.

Sem querer, a dúvida 2 também foi sanada: Normalmente, o mercado de COBOL paga os melhores salários. Não apenas pela escassez de profissionais, pois as faculdades preferem embarcar nas linguagens da moda e os interessados em COBOL precisam fazer cursos por fora (por sinal, bem caros), mas também pela maior importância dos sistemas escritos em empresas de grande porte que exigem profissionais capazes de assumir as responsabilidades inerentes.

A grande utilização da linguagem faz com que existam bilhões de linhas de código a serem mantidas. Aplicações que permanecem em funcionamento durante décadas passam por novos patamares tecnológicos. Muitas empresas optam por manterem seus sistemas em COBOL e isso exige que sejam feitas adaptações em milhares de programas, gerando assim oportunidades de trabalho.

Empresas que optam por trocar de linguagem também precisam de profissionais que conheçam COBOL, afinal fica bem mais fácil fazer uma conversão conhecendo as linguagens de origem e destino.

Em outras palavras, e sem exageros, em muitos casos uma única GRANDE ORGANIZAÇÃO investe somente em COBOL mais do que todas as organizações do mundo inteiro somadas investem em uma única linguagem de baixa plataforma (dentre as tantas que existem). O resultado é que a proporção do mercado em termos de valores e de quantidade de código a ser mantido é da ordem de 70% para COBOL – o resto fica para as outras linguagens. Se isso não garante “imortalidade”, ao menos aumenta bastante a “expectativa de vida” profissional para quem conhece essa linguagem quando comparada com qualquer outra opção.

Isso não quer dizer que as linguagens de micro não possam ser usadas nas grandes corporações, mas mostra porque elas se mantém na periferia (são periféricos dos mainframes): enquanto uma falha pode parar alguns micros ou servidores WEB a base de dados corporativa se mantém íntegra e em funcionamento, conhecer uma delas e também COBOL pode ser uma porta de entrada para que os profissionais tenham acesso ao departamento de desenvolvimento corporativo da empresa.

Finalizando: Aprender uma linguagem da moda é uma boa e ajuda a conseguir um emprego rápido. Num começo de carreira, você pode aceitar um salário mais baixo devido a falta de experiência, mas lembre-se: Logo você terá grande experiência e se souber COBOL as empresas que te buscarão serão grandes, e você poderá exigir um salário mais alto, pois terá bem mais compromissos do que no inicio da carreira.

… vou correr achar um curso de COBOL rsrsrs