Ainda vale a pena estudar assembly?

Aqui -> http://pt.wikipedia.org/wiki/Assembly

Assembly, notação legível para humanos.

[quote=leandronsp]Aqui -> http://pt.wikipedia.org/wiki/Assembly

Assembly, notação legível para humanos.[/quote]

Pois é mas a questão alto ou baixo nível não está nesse aspecto. Uma linguagem de alto nível permite expressar a lógica do teu problema de forma legível à humanos. Você não consegue expressar lógica de alto nível em um código assembly. Você não vai botar em assembly “…caso passem 4 carro pela cancela do estacionamento, dar uma pausa de 1 minutos” (exemplo tosco, eu sei). Mas em uma linguagem como Java ou C, conseguiria expressar isso facilmente. Isso que difere uma linguagem de alto nível de uma de baixo nível.

[quote=matheuslmota][quote=leandronsp]Aqui -> http://pt.wikipedia.org/wiki/Assembly

Assembly, notação legível para humanos.[/quote]

Pois é mas a questão alto ou baixo nível não está nesse aspecto. Uma linguagem de alto nível permite expressar a lógica do teu problema de forma legível à humanos. Você não consegue expressar lógica de alto nível em um código assembly. Você não vai botar em assembly “…caso passem 4 carro pela cancela do estacionamento, dar uma pausa de 1 minutos” (exemplo tosco, eu sei). Mas em uma linguagem como Java ou C, conseguiria expressar isso facilmente. Isso que difere uma linguagem de alto nível de uma de baixo nível.[/quote]
Pode crer, pensando no contexto da lógica, bem isso mesmo. Com assembly não rola.

Não rola numas né!?!? rsrsr.

O que você e o matheuslmota não estão levando em conta (não é culpa de vcs) é a linha do tempo. A “evolução” das linguagens, alem de outras coisas, é baseada também na melhora da expressão. A diferença da linguagem Assembly em relação as de hoje é melhora nas recursos em termos de se formar expressões mais inteligíveis - expressões mais próximas as utilizadas por humanos.

Baixo recurso em termos de expressão não faz da linguagem Assembly uma linguagem de baixo nível.

Temos que notar que, quando a linguagem Assembly surgiu não havia muitos recursos nos microprocessadores e nem muita memória…então não era possível implementar uma linguagem muito complexa em termos de expressões.

Como já foi dito, Assembly só é considerada de mais baixo nível quando comparada com linguagens mais recentes…provavelmente linguagens como Java e C++ serão consideradas de baixo nível um dia. Quem sabe?

Segundo conta a história o primeiro computador (máquina analítica) foi inventado pelo engenheiro cientista Charles Babbage e a primeira pessoa o desenvolver o algoritmo (plano para calcular os números de Bernoulli) para esta máquina foi a condessa Ada (é isso ai…uma mulher) --> http://www.miniweb.com.br/atualidade/tecnologia/artigos/ada_%20byron.html

Neste link vocês irão encontrar um resumo da historia dos computadores http://cadinformatica.br.tripod.com/ “modernos” rsrsr Quem prestar bastante atenção irá perceber que antes de surgir a linguagem Assembly muita água (e dinheiro) passou por debaixo da ponte camaradas.

A questão não é quem esta certo ou errado, e sim perceber que tudo esta relacionado a historia da evolução das coisas existentes em nossos dias; infelizmente nossas “universidades” deixam a desejar em alguns momentos.

P.S Existe uma linguagem chamada ADA, o nome foi atribuído em homenagem a condessa cita acima.

flws

Não rola numas né!?!? rsrsr.

O que você e o matheuslmota não estão levando em conta (não é culpa de vcs) é a linha do tempo. A “evolução” das linguagens, alem de outras coisas, é baseada também na melhora da expressão. A diferença da linguagem Assembly em relação as de hoje é melhora nas recursos em termos de se formar expressões mais inteligíveis - expressões mais próximas as utilizadas por humanos.

Baixo recurso em termos de expressão não faz da linguagem Assembly uma linguagem de baixo nível.

Temos que notar que, quando a linguagem Assembly surgiu não havia muitos recursos nos microprocessadores e nem muita memória…então não era possível implementar uma linguagem muito complexa em termos de expressões.

Como já foi dito, Assembly só é considerada de mais baixo nível quando comparada com linguagens mais recentes…provavelmente linguagens como Java e C++ serão consideradas de baixo nível um dia. Quem sabe?

Segundo conta a história o primeiro computador (máquina analítica) foi inventado pelo engenheiro cientista Charles Babbage e a primeira pessoa o desenvolver o algoritmo (plano para calcular os números de Bernoulli) para esta máquina foi a condessa Ada (é isso ai…uma mulher) --> http://www.miniweb.com.br/atualidade/tecnologia/artigos/ada_%20byron.html

Neste link vocês irão encontrar um resumo da historia dos computadores http://cadinformatica.br.tripod.com/ “modernos” rsrsr Quem prestar bastante atenção irá perceber que antes de surgir a linguagem Assembly muita água (e dinheiro) passou por debaixo da ponte camaradas.

A questão não é quem esta certo ou errado, e sim perceber que tudo esta relacionado a historia da evolução das coisas existentes em nossos dias; infelizmente nossas “universidades” deixam a desejar em alguns momentos.

P.S Existe uma linguagem chamada ADA, o nome foi atribuído em homenagem a condessa cita acima.

flws
[/quote]

Linguagens de alto nível e baixo nível não são classificadas segundo critérios relativos. Linguagens de baixo nível são as linguagens que lidam diretamente com o Hardware, como Assembly, SystemC, VHDL e Verilog.
Linguagens de baixo nível descrevem interações com o Hardware. Linguagens de alto nível são usadas para expressar lógica de programação.
Quando eu disse que não podemos expressar lógica de programação em Assembly quis dizer que Assembly não foi projetada para isso.
Drivers de dispositivos, algorítmos de mapeamento de memória etc. isso sim é feito em Assembly, que é uma linguagem de programação de Hardware. Java, C#, Pascal etc são usadas para programação de softwares de alto nível, como gerenciadores de bancos de dados, navegadores de internet etc.

[quote=matheuslmota]

Linguagens de alto nível e baixo nível não são classificadas segundo critérios relativos. Linguagens de baixo nível são as linguagens que lidam diretamente com o Hardware, como Assembly, SystemC, VHDL e Verilog.
Linguagens de baixo nível descrevem interações com o Hardware. Linguagens de alto nível são usadas para expressar lógica de programação.
Quando eu disse que não podemos expressar lógica de programação em Assembly quis dizer que Assembly não foi projetada para isso.
Drivers de dispositivos, algorítmos de mapeamento de memória etc. isso sim é feito em Assembly, que é uma linguagem de programação de Hardware. Java, C#, Pascal etc são usadas para programação de softwares de alto nível, como gerenciadores de bancos de dados, navegadores de internet etc.[/quote]

É essa mesma a idéia. Assembly não é “linguagem de programação”. É uma linguagem de montagem e é usada para controlar hardware. Não se pode dizer que assembly é um conceito antigo, pois na verdade ele é muito atual porque descreve as instruções de micros, e vai continuar sendo assim(olha o bytecode da maquina virtual, apenas mnemônicos também).
Linguagens de programação de alto nível como c++ e java são linguagens de aplicação(c++ também é linguagem de sistema assim como c, embora tenha nível mais alto).

[quote=juliocbq]
Pessoal, seguinte:
Assembly é muito usado, mas hoje em dia é um padrão fabricantes de micros disponibilizarem um compilador de uma linguagem qualquer(que seja c ou pascal ou basic). [/quote]

[quote=luistiagos]
creio que é mais usado para fazer drivers de dispositivos, interfaciamento e isto ainda e raramente usado pois na maioria usa-se C, a questão primaria é o que vc vai usar assembly que não possa usar C? [/quote]

Eu nunca quis fazer nem sem querer nenhum mal neste fórum, onde neste fórum tentei tirar sarro de alguém?
E o que dizem das contradições de resposta que houve no atual assunto, por exemplo o julio cbq diz que Assembly é muito usado e o luistiagos diz que ele é raramente usado? Os que me criticaram querem que eu tente ser vencedor pensando que “Windows é não gratuito e ao mesmo tempo gratuito” ou não procurar as respostas mínimas que devem haver para que exista a possibilidade de ser vencedor?

Depois de decidir fechar o atual assunto, sem querer senti muita saudade de estar tentando tirar dúvidas nele e de ler as mensagens que foram colocadas nele.

Estou com muito medo de perguntar no GUJ, lamento muito de ter sido proibido de perguntar no GUJ, tomara que isso seja engano, se estou enganado, tirem esse engano, por favor.

Quem dera que eu pudesse perguntar ao fantomas se houve epóca em que a Linguagem de Máquina e Hexadecimal foram consideradas Linguagens de Baixo Nível comparadas com o Assembly.

Mas antes de fechar o assunto, peço a todos que quiserem enviar a esse assunto, enviem:

[b]Como o leandronsp, perguntas sobre assembly e como o matheuslmota e o fantomas responderam ao leandronsp, respostas, mensagens e tudo o mais que desejarem colocar sobre o Assembly.

Respostas as perguntas que coloquei que não foram respondidas.

Conteúdo de Assembly que hoje é a única solução para coisas que só podem ser feitas em Assembly.
Conteúdo de Linguagem de Máquina e Hexadecimal que hoje é a única solução para coisas que só podem ser feitas em Linguagem de Máquina e Hexadecimal.

Só para satisfazer minha gigantesca curiosidade:
Conteúdo de Assembly que hoje não é a única solução para coisas que podem ser feitas em só uma linguagem, provavelmente a C ou que podem ser feitas em mais de uma linguagem.
Conteúdo de Linguagem de Máquina e Hexadecimal que hoje não são a única solução para coisas que podem ser feitas só em uma linguagem ou mais linguagens.
[/b]
Quando eu ver que nada mais será enviado a esse assunto, fecharei ele e se não conseguir fechá-lo, pedirei a todos que tem autoridade para fechá-lo fazerem isso.

Veja bem, isso é um fórum. Isso pressupõe que as respostas são baseadas nas opiniões dos autores. Algumas são bem fundamentadas, outras nem tanto, mas mesmo assim ainda são opiniões, sendo assim, a coisa mais normal do mundo é aparecer contradições. O seu papel nesse caso é correr atrás e pesquisar um pouco também.
Na boa, acho que antes de ficar pensando se vale a pena ou não aprender assembly o que você tem que fazer é enfiar a cara e estudar. Nenhum conhecimento é desperdício, absolutamente nenhum. Então, mesmo que você não encontre uma vaga específica para programador Assembly, você vai, no mínimo conhecer o funcionamento de um computador melhor do que muitos.

Para começar, uma googlada do tipo: “apostila Assembly” é mais do que suficiente. Com mais de 80.000 resultados, é impossível que 1 não te satisfaça.

rmendes08, obrigado de tamanho quase infinito por me fazer saber que estava enganado em pensar que estava proibido de perguntar no fórum.

[quote=fantomas]
A questão não é quem esta certo ou errado, e sim perceber que tudo esta relacionado a historia da evolução das coisas existentes em nossos dias; infelizmente nossas “universidades” deixam a desejar em alguns momentos.[/quote]

fantomas, se você puder fale quais são as outras coisas que as nossas “universidades” deixam a desejar sobre a relação de tudo a historia da evolução das coisas existentes em nossos dias, se não puder falar todas elas, fale o que puder.

[quote=matheuslmota]
Linguagens de baixo nível são as linguagens que lidam diretamente com o Hardware, como Assembly, SystemC, VHDL e Verilog. [/quote]
matheuslmota, você soube de onde da existência das linguagens SystemC, VHDL e Verilog? Se puder me diga quais são as outras linguagens que lidam diretamente com o hardware, se não puder falar todas elas, fale o que puder.

Antes da década de 50. Hexadecimal, binário, octal e decimal eram bases utilizadas (são utilizadas ainda hoje) para facilitar o entendimento sobre os aspectos computacionais.

O que isso tem a ver com a linguagem Assembly meu caro?

flws

ô assembler, numa boa. Em vez de você ficar comparando os nossos posts com interesses exclusos, assimila o que a gente postou e procure no google por artigos onde possa colocá-los em xeque. É desse jeito que a gente aprende.

Você está parecendo um de três avatares aqui do guj famosos por trollar e avacalhar vários tópicos interessantes.

Você vai utilizar assembly quando tiver de trabalhar com pouco recurso ou quando desenvolve compiladores e outras atividades bem específicas.
A anos não se desenvolve em assembly puro a maior parte das aplicações pelas inúmeras vantagem disponibilizadas pelas linguagens em alto nível quando se trata de desenvolvimento em equipe, pois quanto mais próximo da linguagem humana mais fácil seu intendimento, mas este não pode ser considerado o único fator, já escrevi e li muito código em alto nível incompreensível até mesmo na visão de quem desenvolveu, não basta conhecer a ferramenta tem de saber a utilizar de forma benéfica a seus objetivos.

Fatos:
Que sabe assembly desenvolve melhor em qualquer outra linguagem que venha a conhecer bem pois sabe oque os códigos se tornarão após a compilação.
Quem aprende realmente bem assembly e já utiliza a um certo tempo vai se sentir engessado ao utilizar outras linguagens.

Quem tem forte conhecimento em assembly e matemática computacional faz mágica na otimização de programas, pois certos recursos só terão o máximo de aproveitamento com inlines assembly, ou outro método de integração do assembly, isso é um fato imutável pois até hoje não foi feito um compilador com a capacidade de transcrição de uma abstração maior que a de um programador assembly experiente, de modo análogo atualmente dificilmente um programador assembly sem experiência escrevera um código mais eficiente que um compilador na transcrição de código em alto nível, para o aproveitamento de se desenvolver em assembly e necessária uma abordagem do ponto de vista de desenvolvimento em questão.

Desenvolver em assembly exige mais capacidade do programador, trabalhar com assembly exige uma naturalidade na memorização de muita informação, grande capacidade de abstração, raciocínio lógico e matemático; todas são capacidades adquiridas com estudo e experiência.

Tudo uma hora vira assembly.

Obs.: Não critique ou questione a linguagem assembly ao menos que tenha no mínimo 1 ano de experiência com a mesma.

[quote=assembler][quote=juliocbq]
Pessoal, seguinte:
Assembly é muito usado, mas hoje em dia é um padrão fabricantes de micros disponibilizarem um compilador de uma linguagem qualquer(que seja c ou pascal ou basic). [/quote]

Você sitou meu post e o post do Julio… Se ler com bastante atenção o que vc “quotou” vai observar que ambos falamos a mesma coisa.

Tem uns livros bons de arquitetura de computadores para você estudar… um deles é este: http://www.linuxmall.com.br/produto/livro-arquitetura-de-computadores-uma-abordagem-quantitativa.html

fantomas, nunca ouvi falar das bases octal e decimal. De onde você soube da existência delas, de onde você soube que antes da década de 50 as bases hexadecimal, binário, octal e decimal eram consideradas Linguagens de Baixo Nível comparadas com o Assembly, que eram bases utilizadas (são utilizadas ainda hoje) para facilitar o entendimento sobre os aspectos computacionais? As bases hexadecimal, binário, octal e decimal são usadas para programar?

Aqui vai um “Olá, Mundo” em assembly:

variable:
   .message   db   "Olá, Mundo!$"
code:
   mov  ah, 9
   mov  dx, offset .message
   int  0x21
   ret

e um em C++

cout << "Olá, Mundo!"

Qual dos 2 vc acha mais produtivo e menos trabalhoso?

A resposta correta desta pergunta vai te responder o pq assembly não é mais tão usado hoje em dia…

fantomas, nunca ouvi falar das bases octal e decimal. De onde você soube da existência delas, de onde você soube que antes da década de 50 as bases hexadecimal, binário, octal e decimal eram consideradas Linguagens de Baixo Nível comparadas com o Assembly, que eram bases utilizadas (são utilizadas ainda hoje) para facilitar o entendimento sobre os aspectos computacionais? As bases hexadecimal, binário, octal e decimal são usadas para programar?
[/quote]

Cara, muito disso você aprende na faculdade, e muito mais você aprende PESQUISANDO. Na boa mesmo, a sua dúvida já foi mais do que respondida, agora tá na hora de você correr atrás um pouco.

fantomas, nunca ouvi falar das bases octal e decimal. De onde você soube da existência delas, de onde você soube que antes da década de 50 as bases hexadecimal, binário, octal e decimal eram consideradas Linguagens de Baixo Nível comparadas com o Assembly, que eram bases utilizadas (são utilizadas ainda hoje) para facilitar o entendimento sobre os aspectos computacionais? As bases hexadecimal, binário, octal e decimal são usadas para programar?

[/quote]

Bases numéricas são referentes a matemática e foram criadas a séculos por matemáticos como Pingala, no mesmo período foram criadas lógica booleana dentre outras alguns links do wikipédia para um melhor entendimento seguem abaixo, basicamente tudo que atualmente existe na informática como em vários outros campos específicos foram baseados em conceitos e teorias criadas por matemáticos e lógicos, no caso da informática essa aproximação é ainda maior e mais óbvia.
http://pt.wikipedia.org/wiki/Sistema_bin%C3%A1rio_(matem%C3%A1tica)



http://pt.wikipedia.org/wiki/Conversão_entre_sistemas_numéricos

como pode se ver podemos ter infinitas bases de operação, mas nos computadores atuais é muito comum opção por bases octal e hexa pois tem uma conversão para binário e vice-versa direta, como os computadores até agora utilizam a álgebra booleana o binário é o melhor modo de representação físico.

[quote=rmendes08]http://info.abril.com.br/professional/os-melhores-na-graduacao.html

o link acima é uma boa referência para faculdades de computação …

Mas de maneira geral, os cursos das públicas são os melhores, mas tem particulares muito boas como a PUC. O que você deve evitar são as UniEsquinas da vida, que aceitam qualquer um. Nessas faculdades geralmente o nível dos alunos é mais baixo, e como consequencia, o nivel do curso de maneira geral cai junto.[/quote]

O que devo fazer para saber quais são as UniEsquinas da vida, que aceitam qualquer um?

[quote=entanglement]Estou aqui no meu departamento e meu chefe é formado engenheiro químico, eu sou engenheiro eletrônico, assim como o indiano que também está trabalhando aqui, e o outro carinha aqui do meu lado tem doutorado não lembro exatamente em quê - sei lá se engenheiro civil é “menos suficiente” que engenheiro da computação. Aliás, não tem muitos engenheiros de computação aqui.
O que é ‘mais suficiente’ é você procurar o seu caminho e estudar numa escola de nome - até para conseguir bons contatos (mais conhecidos como “Q.I.” - “quem indica”).
E para estudar numa escola de nome, se você não nasceu filhinho de papai, vai ter de ralar bastante. Não é fácil não. [/quote]

[quote=entanglement]Não vou listar as “escolas de nome” até porque:

  • Há rankings disponíveis
  • Depende muito do tipo de coisa que você for fazer
  • Mudam bastante, de modo geral - e é por isso que há rankings anuais
  • Se você for fazer um curso no estrangeiro, o que é de “nome” lá pode ser completamente desconhecido aqui. Por exemplo, não tenho razões para duvidar que a Iran University of Science & Technology seja uma escola de nome lá no Irã (uma vez até houve uma pessoa de lá que se inscreveu no GUJ e tentou postar algumas coisas em inglês) - pela Wikipedia ela é uma das quatro grandes no Irã, mas aqui ela é completamente desconhecida.

De modo geral, muitas universidades e faculdades públicas aqui do Sudeste (como USP, Unicamp, ITA, IME etc.) sáo as tais “escolas de nome” que disse genericamente.
Eu disse que o “Q.I” é importante - por exemplo, há uns 30 anos atrás (não sei se hoje ainda é assim) a FAAP não era exatamente conhecida por ser uma escola “de renome” mas porque havia muita gente rica estudando lá e você poderia conseguir bons contatos - e como o pessoal costuma dizer, “o pior problema do pobre é que seus amigos também são pobres”. Não sei como isso ficou hoje em dia.[/quote]

O que devo fazer para saber quais são as universidades e faculdades que não são exatamente conhecidas por serem escolas " de renome", mas que há muita gente rica estudando nelas? Pergunto isso porque estou muito interessado em conseguir bons contatos.

[quote=luistiagos]Aqui vai um “Olá, Mundo” em assembly:

variable:
   .message   db   "Olá, Mundo!$"
code:
   mov  ah, 9
   mov  dx, offset .message
   int  0x21
   ret

e um em C++

cout << "Olá, Mundo!"

Qual dos 2 vc acha mais produtivo e menos trabalhoso?

A resposta correta desta pergunta vai te responder o pq assembly não é mais tão usado hoje em dia…[/quote]
luistiagos, o mais produtivo e menos trabalhoso é o “Olá, Mundo” em C++. luistiagos, mas C++ dá grana igual ao Assembly?

luistiagos ,você disse ou não que uma coisa que sabe é que esta área de engenharia eletrica e de hardware da bem mais grana do que TI por exemplo, porem tem um mercado bem mais restrito? Mas a maioria dos programadores sabem disso? Se soubessem, o Assembly seria o que você chama de “tão usado hoje em dia…”?

No assunto Vale a pena estudar assembly, assunto que foi colocado no GUJ por você em 31/07/2008, você perguntou “Vale a pena estudar assembly?”
Parte da resposta do popeye foi assim:“Um salário minimo pra quem programa direto em assembly ta na faixa de uns 30 mil.”
Você perguntou a ele onde foi que le viu isso. Parte da resposta dele foi assim: " Claro que não. Ninguém bota uma vaga no Catho pra programador Assembly. Tem que ter os contatos, as entrelinhas. "
Você falou para ele que "mas esta do 30k por mes se isto for verdade mesmo vou começar a me dedicar mais a hardware e micocrontoladores do que programação de alto nivel… "
Quantos mais que se soubessem disso, teriam começado a se dedicar mais a hardware e microcontroladores do que programação de alto nivel? A maioria dos programadores? Se a resposta a essa pergunta tivesse sido sim, a maioria dos programadores provavelmente teriam decidido como você, decidido começar a se dedicarem mais a hardware e micocrontoladores do que programação de alto nivel e provavelmente o Assembly hoje em dia estaria sendo o que você chama de “tão usado hoje em dia…”.

[quote=assembler][quote=rmendes08]http://info.abril.com.br/professional/os-melhores-na-graduacao.html

o link acima é uma boa referência para faculdades de computação …

Mas de maneira geral, os cursos das públicas são os melhores, mas tem particulares muito boas como a PUC. O que você deve evitar são as UniEsquinas da vida, que aceitam qualquer um. Nessas faculdades geralmente o nível dos alunos é mais baixo, e como consequencia, o nivel do curso de maneira geral cai junto.[/quote]

O que devo fazer para saber quais são as UniEsquinas da vida, que aceitam qualquer um?

[quote=entanglement]Estou aqui no meu departamento e meu chefe é formado engenheiro químico, eu sou engenheiro eletrônico, assim como o indiano que também está trabalhando aqui, e o outro carinha aqui do meu lado tem doutorado não lembro exatamente em quê - sei lá se engenheiro civil é “menos suficiente” que engenheiro da computação. Aliás, não tem muitos engenheiros de computação aqui.
O que é ‘mais suficiente’ é você procurar o seu caminho e estudar numa escola de nome - até para conseguir bons contatos (mais conhecidos como “Q.I.” - “quem indica”).
E para estudar numa escola de nome, se você não nasceu filhinho de papai, vai ter de ralar bastante. Não é fácil não. [/quote]

[quote=entanglement]Não vou listar as “escolas de nome” até porque:

  • Há rankings disponíveis
  • Depende muito do tipo de coisa que você for fazer
  • Mudam bastante, de modo geral - e é por isso que há rankings anuais
  • Se você for fazer um curso no estrangeiro, o que é de “nome” lá pode ser completamente desconhecido aqui. Por exemplo, não tenho razões para duvidar que a Iran University of Science & Technology seja uma escola de nome lá no Irã (uma vez até houve uma pessoa de lá que se inscreveu no GUJ e tentou postar algumas coisas em inglês) - pela Wikipedia ela é uma das quatro grandes no Irã, mas aqui ela é completamente desconhecida.

De modo geral, muitas universidades e faculdades públicas aqui do Sudeste (como USP, Unicamp, ITA, IME etc.) sáo as tais “escolas de nome” que disse genericamente.
Eu disse que o “Q.I” é importante - por exemplo, há uns 30 anos atrás (não sei se hoje ainda é assim) a FAAP não era exatamente conhecida por ser uma escola “de renome” mas porque havia muita gente rica estudando lá e você poderia conseguir bons contatos - e como o pessoal costuma dizer, “o pior problema do pobre é que seus amigos também são pobres”. Não sei como isso ficou hoje em dia.[/quote]

O que devo fazer para saber quais são as universidades e faculdades que não são exatamente conhecidas por serem escolas " de renome", mas que há muita gente rica estudando nelas? Pergunto isso porque estou muito interessado em conseguir bons contatos.

[quote=luistiagos]Aqui vai um “Olá, Mundo” em assembly:

variable:
   .message   db   "Olá, Mundo!$"
code:
   mov  ah, 9
   mov  dx, offset .message
   int  0x21
   ret

e um em C++

cout << "Olá, Mundo!"

Qual dos 2 vc acha mais produtivo e menos trabalhoso?

A resposta correta desta pergunta vai te responder o pq assembly não é mais tão usado hoje em dia…[/quote]
luistiagos, o mais produtivo e menos trabalhoso é o “Olá, Mundo” em C++. luistiagos, mas C++ dá grana igual ao Assembly?

luistiagos ,você disse ou não que uma coisa que sabe é que esta área de engenharia eletrica e de hardware da bem mais grana do que TI por exemplo, porem tem um mercado bem mais restrito? Mas a maioria dos programadores sabem disso? Se soubessem, o Assembly seria o que você chama de “tão usado hoje em dia…”?

No assunto Vale a pena estudar assembly, assunto que foi colocado no GUJ por você em 31/07/2008, você perguntou “Vale a pena estudar assembly?”
Parte da resposta do popeye foi assim:“Um salário minimo pra quem programa direto em assembly ta na faixa de uns 30 mil.”
Você perguntou a ele onde foi que le viu isso. Parte da resposta dele foi assim: " Claro que não. Ninguém bota uma vaga no Catho pra programador Assembly. Tem que ter os contatos, as entrelinhas. "
Você falou para ele que "mas esta do 30k por mes se isto for verdade mesmo vou começar a me dedicar mais a hardware e micocrontoladores do que programação de alto nivel… "
Quantos mais que se soubessem disso, teriam começado a se dedicar mais a hardware e microcontroladores do que programação de alto nivel? A maioria dos programadores? Se a resposta a essa pergunta tivesse sido sim, a maioria dos programadores provavelmente teriam decidido como você, decidido começar a se dedicarem mais a hardware e micocrontoladores do que programação de alto nivel e provavelmente o Assembly hoje em dia estaria sendo o que você chama de “tão usado hoje em dia…”.

[/quote]

Cara pelo jeito ta dificil de entender heim… vai lá no netcarreiras: www.netcarreiras.com.br e procura vaga para programador assembly e veja quantas vc acha, provavelmente algo proximo a zero, isto pq hoje em dia assembly não tem mais mercado! A grande maioria das coisas vc pode fazer com C/C++ que como eu te mostrei e muito mais produtivo, até sistemas embarcados, pics, chips, hardwares hoje em dia permitem que vc programe em C ao invéz de assembly! Claro que tem as exeções mas elas são exeções e não regra! Mesmo um engenheiro de hardware tende a trabalhar mais com C e em casos raros usar assembly! As faculdades ensinam assembly não para o cara aprender a programar em assembly mas sim para ele ter uma base solida de como funciona o hardware, os endereços de memoria, os registradores, compiladores e por ai vai… Para o mercado raramente vai achar algo que use assembly.

O pq vc acha que ele disse que o salario de quem programa direto assembly é uns 30k? Pq hoje em dia não existe ou quase não existe pessoas que fazem isto, e pq não existem estas pessoas? pq não existe demanda! Mas estes 30k é viajem do cara. Mesmo se achassem um vovo que programasse em assembly para uma demanda em um microcontrolador antigo seria mais barato trocar o microcontrolador para um mais novo que pagar isto pro cara. E é verdade engenheiros eletronicos ganham bem mais que nos de TI, talvez pq a profissão deles é regulamentada, tem um orgão sério e não tem amadores no mercado. Mas não entrarei neste ponto aqui, pois já tem um outro tópico sobre isto… Naquela época até pensava em fazer uma faculdade de engenharia elétrica, porem hardware não é minha “praia” meu negocio é software e já estou velho para fazer uma outra faculdade de engenharia!
Mas se vc quer tanto mexer com hardware e é novo, pq não faz uma faculdade de engenharia elétrica?