Para a maioria dos programadores, é tolice codificar atualmente em código de máquina, hexadecim

Está escrito na introdução do livro C - A linguagem de programação padrão Ansi de autoria de Brian Kernighan e Dennis Ritchie:

Para a maior parte dos programadores, a mudança mais importante é uma nova sintaxe para declarar e definir funções.

Para a maior parte dos programadores, é tolice codificar atualmente em código de máquina, hexadecimal e assembly?

Existe diferentes opiniões sobre isso?

Agora estou sendo claro?

Não, quanto a isso não existem divergências. É unânime que é bobagem escrever assembly, a menos que seja extremamente necessário.

Sua resposta tem referência?

Há na Internet referências para isso?

Se não for pedir demais, por favor, me dê links que mostram exemplos que dizem que para a maioria dos programadores, é tolice codificar atualmente em código de máquina, hexadecimal e assembly.

Além do fato que isso foi escrito há mais de 35 anos.
Mas, não impede que alguém ainda queira codificar em assembly, cada louco com a sua mania.
Agora, querer discutir a validade disso é inútil, não vai chegar a nenhuma conclusão, cada um tem sua opinião, o que, em si, não quer dizer muita coisa.

denovo?? troll?

Sua resposta tem referência?

Há na Internet referências para isso?

Se não for pedir demais, por favor, me dê links que mostram exemplos que dizem que para a maioria dos programadores, é tolice codificar atualmente em código de máquina, hexadecimal e assembly.[/quote]
A referência aqui é a comunidade GUJ, onde cada usuário vai ter seu ponto de vista. Se quer resposta de uma “referência” esperada por você, pergunte diretamente onde achar que é referência.

Sou mais um que acha tolice ficar cogitando desta forma desenvolvimento em Assembly e afins. É para situações pouco discutíveis, casos muito específicos.

Se você quer saber se Assembly ainda é lembrado, verifica no índice TIOBE, no momento está na 29 posição.
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

+1

Melhor discutir este assunto em http://www.vivaolinux.com.br/comunidade/Assembly

Antes fosse, mas parece estar mais para religioso.

Antes fosse, mas parece estar mais para religioso.[/quote]
rss

Ou talvez ele esteja cavando um argumento forte o suficiente para se estimular a estudar Assembly… Talvez a ideia seja a de ouvir de alguém que sim, que ele deve investir na linguagem…

Enfim… No final das contas não há uma versão oficial além do que já foi falado. Use quando precisar e se de fato precisar.

Abs []

Ele sabe que tem nicho para isso. O problema é ficar mais de 2 anos nessa discussão abrangente. Já deveria estar pelo menos com alguma questão mais específica de algo que esteja buscado praticar.

Ele sabe que tem nicho para isso. O problema é ficar mais de 2 anos nessa discussão abrangente. Já deveria estar pelo menos com alguma questão mais específica de algo que esteja buscado praticar.[/quote]
Aí eu já não sabia dessa busca de 2 anos… Hahahahahahaha

Realmente já extrapolou.

Ele sabe que tem nicho para isso. O problema é ficar mais de 2 anos nessa discussão abrangente. Já deveria estar pelo menos com alguma questão mais específica de algo que esteja buscado praticar.[/quote]

foi o que eu já respondi em outro tópico. Se ele tivesse gasto essa energia toda aprendendo assembly ele já seria craque e já teria tirado suas próprias conclusões …

Para responder essa pergunta eu vou parafrasear nosso amigo Martin Fowler:

Eu trabalhei na indústria de hardware, e atualmente ainda atuo na indústria de games. Fiz muito software industrial, seja para smartcards, terminais de cartão de crédito, telefones. Trabalhei bastante com a otimização de motores gráficos e com gente que trabalha com dispositivos muito pequenos como PICs e microcontroladores.

Todas eram áreas onde o assembly era muito presente… e deixou de ser. Por vários motivos:

a) O código assembly não é portável: Se você fez para uma arquitetura, ele vai morrer naquela arquitetura.

b) O código assembly é EXTREMAMENTE caro e difícil de manter. Pois é difícil de ler, é difícil de achar bugs, difícil de modularizar e mais difícil ainda de ser absorvido por outro programador que não escreveu o código;

c) O código assembly é menos otimizado do que um código C escrito com “cuidado”. O compilador não perde oportunidades de usar instruções específicas de uma plataforma, além de aplicar diversas otimizações que seriam difíceis um ser humano aplicar o tempo todo. Além disso, é bem mais fácil escrever código com paralelismo em C.

d) Por ter bons compiladores C para a maior parte dos hardwares, há também uma comunidade muito maior, mais exemplos, bibliotecas e tutoriais.

Vai ser difícil achar referências hoje em dia sobre não programar em assembly pois esse é um assunto tão obsoleto que os autores não perdem tempo explicando o porque você não deveria programar em assembly. Ainda se fala em aprender assembly, mas por razões acadêmicas: “entender” o que está debaixo dos panos, “entender” como o hardware funciona, etc. Não para se fazer código de produção com ele.

Em alguns livros de jogos, como o “C++ For Game Programmers”, do Noel Llopis, há um discurso onde ele diz sobre a pouca probabilidade de você ter que recorrer a código assembly, mesmo no caso de ter que fazer otimizações agressivas em código.

O Dennis Richie (criador do Multics, do Unix e da Linguagem C), se refere a linguagem C como uma linguagem assembly portável [1].

Se você é tão fã de assembly, deveria procurar a comunidade Unix / Linux. Embora o criador do Unix seja também o criador do C, eles são bastante fãs de coisas muito antigas, como goto e assembly, e por lá ainda rola um discurso forte de que o assembly seja necessário.

Eu só peço novamente para você parar de criar tópicos sobre o mesmo assunto no GUJ.

[quote=rodrigo.uchoa]Para responder essa pergunta eu vou parafrasear nosso amigo Martin Fowler:

Estes foram mais radicais:

[quote]"…programs must be written for people to read, and only incidentally for machines to execute."
Structure and Interpretation of Computer Programs (SICP) - Harold Abelson, Gerald Jay Sussman, Julie Sussman[/quote]

[quote=ViniGodoy]Eu trabalhei na indústria de hardware, e atualmente ainda atuo na indústria de games. Fiz muito software industrial, seja para smartcards, terminais de cartão de crédito, telefones. Trabalhei bastante com a otimização de motores gráficos e com gente que trabalha com dispositivos muito pequenos como PICs e microcontroladores.

Todas eram áreas onde o assembly era muito presente… e deixou de ser. Por vários motivos:

a) O código assembly não é portável: Se você fez para uma arquitetura, ele vai morrer naquela arquitetura.

b) O código assembly é EXTREMAMENTE caro e difícil de manter. Pois é difícil de ler, é difícil de achar bugs, difícil de modularizar e mais difícil ainda de ser absorvido por outro programador que não escreveu o código;

c) O código assembly é menos otimizado do que um código C escrito com “cuidado”. O compilador não perde oportunidades de usar instruções específicas de uma plataforma, além de aplicar diversas otimizações que seriam difíceis um ser humano aplicar o tempo todo. Além disso, é bem mais fácil escrever código com paralelismo em C.

d) Por ter bons compiladores C para a maior parte dos hardwares, há também uma comunidade muito maior, mais exemplos, bibliotecas e tutoriais.

Vai ser difícil achar referências hoje em dia sobre não programar em assembly pois esse é um assunto tão obsoleto que os autores não perdem tempo explicando o porque você não deveria programar em assembly. Ainda se fala em aprender assembly, mas por razões acadêmicas: “entender” o que está debaixo dos panos, “entender” como o hardware funciona, etc. Não para se fazer código de produção com ele.

Em alguns livros de jogos, como o “C++ For Game Programmers”, do Noel Llopis, há um discurso onde ele diz sobre a pouca probabilidade de você ter que recorrer a código assembly, mesmo no caso de ter que fazer otimizações agressivas em código.

O Dennis Richie (criador do Multics, do Unix e da Linguagem C), se refere a linguagem C como uma linguagem assembly portável [1].

Se você é tão fã de assembly, deveria procurar a comunidade Unix / Linux. Embora o criador do Unix seja também o criador do C, eles são bastante fãs de coisas muito antigas, como goto e assembly, e por lá ainda rola um discurso forte de que o assembly seja necessário.

Eu só peço novamente para você parar de criar tópicos sobre o mesmo assunto no GUJ. [/quote]
++

Hoje, e há muito tempo, é uma unanimidade que é proibitivo usar assembly como linguagem de programação de uso geral.
Como hobby, não tem sentido discutir a validade disso, é uma opção pessoal.

PS: Em outras palavras, pode parar de perder seu tempo procurando opiniões divergentes sobre isso, pois, mesmo que encontre, elas com certeza não estarão baseados nem na realidade nem no bom senso, ou seja, serão inúteis, sem valor algum.

Pessoal, eu postei esse mesmo tópico no Java Forums. referência:http://www.java-forums.org/forum-lobby/93135-foolish-currently-develop-machine-code-hexadecimal-assembly.html

Alguém viu esse tópico?

O que a comunidade GUJ acha disso?