Se um engenheiro de software de saber como montar o seu próprio computador?[fechado]

StackOverflow https://stackoverflow.com/questions/58864

  •  09-06-2019
  •  | 
  •  

Pergunta

Vindo de um Mac plano de fundo, eu realmente nunca passei muito tempo de mexer com / montagem / ajustes meu próprio computador, além de ocasionais RAM upgrades e a troca de discos rígidos.Eu sinto como eu tenho um bom entendimento sobre como funciona um computador, em um nível conceitual, CPU, barramento, memória, etc, mas eu realmente não tenho muita experiência prática em colocá-lo todos juntos / tirar-lo em pedaços.

A minha pergunta é, não há nada a ser ganho em termos de técnicas de engenharia de software, aprendendo a montar meu próprio computador?Se você passou toda sua vida colocando pedaços de hardware em conjunto, como tem influenciado a maneira de escrever ou pensar sobre o software?

Foi útil?

Solução

Você não aprende muito que é útil para um programador de montar um computador.Saber onde colocar as placas pci e como ligar um processador não é realmente útil para qualquer coisa, para além da construção de computadores.

Eu acho que você precisa de algum nível baixo de conhecimento sobre como os computadores funcionam, mas todas as coisas que é interessante para os programadores já está em juntas soldadas sobre a placa-mãe.Você vai aprender muito mais, a partir de programação c ou assembly e talvez leitura do livro de Charles Petzold Código...

Outras dicas

Cuidado com os programadores que levar chaves de fenda.(Leonard Brandwein)

Você não aprendem nada como um programador de montagem de um PC.Eu posso usar um banheiro só de multa sem a instalação de um sistema de esgotos.

Depende de que tipo de aluno você é.Se você tem uma boa imaginação provavelmente você pode aprender tudo que há para saber sobre hardware sem tocar em nada mais do que um livro, tem gente que precisa olhar para as coisas para melhorar a sua compreensão.

Dito isto, você pode aprender muito se você não aproveitar a oportunidade da construção de um novo computador como uma aprendizagem, por exemplo, aproveite o tempo para olhar para onde o southbridge é que o chip é e procurar, localizar onde está o controlador SATA, o que marca é, e olhar para cima, ver as suas características e assim por diante e assim por diante.Se você apenas colocar os pedaços juntos como rápido como você pode¡ll provavelmente saiba o que fazer em caso de falha e economizar alguns dólares, nada mais.

Também, a construção de coisas que aumenta a curiosidade sobre eles, o que não pode ser mau.

A construção de seus próprios computadores faz de você um melhor generalista, não um melhor especialista.Se você olhar na programação como a aplicação especializada de código em um editor transformando-se em aplicações e, em seguida, construir o seu próprio sistema não faz nada para ajudar nessa prática.

No entanto, se você precisa colocar um servidor em um colo, administrá-lo, descobrir quando ele falha, se é que a sua aplicação ou um mau unidade ou um mau fã do que foi para o sul, em seguida, yah, sabendo que todas as peças são, entender o que eles fazem, quais os que você comprou e por que, se o hardware ou o software é provável que seja o problema, a construção de um computador é o mínimo primeiro passo nessa estrada.Se você não é responsável para a execução efectiva e a utilidade do seu código, então é um desperdício de tempo.

Um ser humano deve ser capaz de alterar uma fralda, planejar uma invasão, um açougueiro porco, conn um navio, projetar um edifício, escrever um soneto, de equilíbrio de contas, construir uma parede, definir um osso, confortar os morrer, receber ordens, dar ordens, cooperar, agir sozinho, resolver equações, analisar um novo problema, o tom de estrume, programar um computador, cozinhar uma refeição saborosa, luta de forma eficiente, morrer galantemente.A especialização é para os insetos.

Hein.

Eu honestamente sinto que o próprio ato da montagem de um computador não muito, fundamentalmente, melhorar a sua compreensão de computadores.Você não está construindo essas peças, você está a montá-los em um caso, seguindo as instruções.

Há alguma melhoria a ser adquirida, embora, em fazer o sistema operacional funciona corretamente com os componentes e a depuração de problemas relacionados a isso.

E Aku ponto sobre como economizar dinheiro é uma boa.

Os benefícios são óbvios:

  • Você pode salvar um casal de dólares para bom uso
  • Se você perder seu engenheiro de software posição para pendurar muito PARA que você possa ganhar dinheiro, montagem de computadores.

A última vez que eu comprei montado computador, descobri que não havia nenhum calor-condução de colar entre a CPU e do radiador.

Como de técnicas de engenharia de software, eu não encontrar quaisquer benefícios.

Não, não obrigatoriamente, mas eu acho que os programadores devem saber sobre como o código pode ser otimizado para o hardware é executado.

CPU, memória, rede e recursos de disco têm um grande efeito sobre o desempenho.Os programadores devem saber quando e como usar o cache para aumentar o desempenho do aplicativo e também como um código de exploração para uso de grandes recursos, quando disponíveis.

Ser um nerd que eu gostaria de dizer aprender a montar um computador para se divertir.

Para citar um dos nossos fundadores (Jeff Atwood):

No meu livro, uma das melhores maneiras para compreender o hardware é para obter a sua mãos na massa e colocar um conjunto, inclusive instalando o sistema operacional, a si mesmo.É uma pena que os programadores da Apple pode não fazer isso...

Enquanto eu não estou tão certo de que o torna muito de um programador melhor - mas é a ferramenta que você usa.Estas máquinas constante quebrar ou precisar de upgrades.Eu acho que é uma boa idéia para ser capaz de fazer isso e construir um a partir do zero é O caminho para aprender isso.

Esta é a semelhante à pergunta sobre o De Software e Engenharia Eletrônica.

Se você usar sapatos, que você provavelmente deve saber como amarrar um.Mas, o mais provável, se você for inteligente o suficiente para usá-los, você pode descobrir.

Se não, você tem problemas.

Bem, honestamente, eu não sei quais peças escolher para montar uma classe superior de desenvolvimento ou jogos de PC.Eu sei como tudo se encaixa, eu sei o software de gargalos, etc.

O que eu faço quando eu tenho que montar um PC é encontrar o propósito primeiro.Dev PC?jogos?multimídia?Office?Então eu penso sobre os requisitos.Obviamente, um simples PC do escritório trabalha com muito menos do disco rígido espaço, a bordo da GPU, etc.Quando eu percebi que eu vasculhar a internet para comentários, já composta por sistemas, hardware tom valores de referência, para tentar encontrar a melhor combinação de dentro do meu orçamento.Outra coisa a levar em conta os novos desenvolvimentos.Se, por exemplo, a Intel está lançando um novo modelo de CPU dentro de um mês, eu seria de esperar que os preços do menor modelos irá cair.Assim que eu tiver a lista de componentes necessários de eu ir para a minha loja de computador local ou de encontrar o melhor preço da net.Eu prefiro uma loja local, porque o que me poupa muito tempo quando eu chegar a um morto ou componente necessário para reivindicar a minha garantia.Geralmente um pouco mais caros.

A montagem é, principalmente, o pensamento lógico, um pouco de paciência e manter-se focado ;)

Eu construí o meu próprio computador, mas eu não acho que ele tenha adicionado a minha capacidade para ser um engenheiro de software.Nem gostaria de saber como construir um ajudar a torná-lo um melhor engenheiro.

A compreensão de como um computador funciona e como o software interage com o hardware é o que faz de você um melhor engenheiro.

Apenas porque eu posso colocar uma CPU multi-core em uma placa-mãe não significa que eu entendo o porquê de processos paralelos me ajudar, ou entre uma parte crítica de uma chamada de função.E porque ele tem um 4 MB de cache que não significa que eu entendo o que o cache faz e como funciona paginação.

Existem colocar de pessoas que podem construir computadores, mas não são menos do que pode engenheiro de software para eles.Se foi esse o caso, então os engenheiros de software " faria muito menos do que eles.

Se tudo na série de Gravação "Grande Código" faz sentido, então eu diria que não, não há muito mais que você vai sair, na verdade, a construção de um sistema, para o seu trabalho.Agora trabalhando como um técnico e ter para diagnosticar problemas de hardware e software, adiciona a sua capacidade para enfrentar os problemas e gostaria de ajuda.O problema é que não é algo que você pode aprender com a colocação de um par de computadores juntos para se divertir.Você acaba perdendo todas as pequenas coisas estranhas vários fabrica de fazer, e se você pode aplicá-lo, ele pode ajudar a ampliar a sua visão global de boas e más escolhas de design.

Eu tendem a pensar que a qualquer momento você aprender alguma coisa e expandir seus conhecimentos e horizontes, é uma coisa boa, então eu vou dizer 'sim'.

Eu usei para construir o meu próprio Windows e Linux computadores antes de entrar para o Cult of Mac.Me fez aprender um pouco, eu não acho que isso me fez um programador melhor.

Não é inútil, porém.É como um chef que também sabe um pouco sobre o encanamento.O conhecimento não se aplica para o seu core tarefas, mas pode ser útil quando algo der errado.

Editar:

Há uma grande diferença entre compreender os fundamentos de como os computadores funcionam, e colocar junto com as peças da Newegg.Uma compreensão de como a CPU, cache, memória e função são de valor inestimável para a programação.Saber como atualizar o vídeo é uma habilidade útil, mas ele não ajuda no dia-a-dia do desenvolvimento de software.

Sim, mas não no sentido que você está pensando.Eu acho que é extremamente valioso para saber sobre o básico do microprocessador, design, arquitetura de memória, etc.Melhor ainda se você pode obter um kit de projeto de fazer algo de basic com PIC ou Carimbo.Obter as abstrações fora do caminho e aprender um pouco ao nível do bit.Uma revisão do respectivo Patterson e Hennessy livros também é recomendado.

A construção de um PC a partir de componentes é um bom exercício, somente para entender os problemas de compatibilidade de várias partes.

Como um programador que tem computadores construídos durante anos, eu diria que ele não tem me dado uma considerável influência sobre a qualidade ou a estrutura do meu código, mas tem me deu uma boa base de como a qualidade do seu hardware afeta a experiência do usuário final de execução de código.

Além disso, e eu acho que talvez este seja o maior benefício:a construção de seu próprio PC dá-lhe conhecimento suficiente para dizer se é ou não um sistema de desenvolvimento dado a você, como funcionário, é uma boa ou não.Dando uma opinião informada para TI/Gestão de pessoa sobre a qual o sistema que eles criaram é inferior pode ser a chave para a obtenção de um upgrade.

Qualquer coisa que lida com a tecnologia trabalhar diretamente sobre, vai ajudar você a se tornar melhor em todas as tarefas relacionadas com a tecnologia.

Saber o hardware do computador vai fazer de você um programador melhor.Ele não pode fazer isso diretamente, mas há casos em que benefícios para você.

Ela realmente depende do que você quer as suas habilidades para ser.Seria um desperdício de tempo de mexer com hardware, se você quer se especializar em matemática complexa ou tipos específicos de software (A. I.por exemplo).

No entanto, se você quiser fazer as coisas como construir robôs com mente própria, você precisará saber tanto de software como de hardware.Se você quer desenvolver jogos, especialmente como um indie ou mesmo a solo, que você será necessário para emular vários empregos e especialidades.O que é um pesadelo que seria se um indie developer não entender como hardware diferencia entre sistemas.

IMO, você não pode chamar-se um verdadeiro nerd, a menos que você sabe fazer de software e de hardware.Quando eu encontrar programadores que não sabem como instalar uma placa de vídeo, eu estou em conflito, como se eu deveria rir ou chorar.

Claro, nem todo mundo é inteligente o suficiente ou entusiasmado o suficiente sobre a tecnologia para estar interessado nele, a ponto de querer saber como o hardware é criado, muito menos montados e programados.Como eu cresci, eu aprendi a rir, menos freqüentemente, em outros, não, e, em vez de compreender que eles não podem ter uma necessidade de aprender sobre hardware, mantendo o foco no software.Certamente não é um requisito.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top