Sollte ein Softwareentwickler wissen, wie er seinen eigenen Computer zusammenbaut?[geschlossen]

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

  •  09-06-2019
  •  | 
  •  

Frage

Da ich einen Mac-Hintergrund habe, habe ich außer gelegentlichen RAM-Upgrades und dem Austausch von Festplatten nie wirklich viel Zeit damit verbracht, an meinem eigenen Computer herumzubasteln, ihn zusammenzubauen oder zu optimieren.Ich habe das Gefühl, dass ich ein gutes Verständnis dafür habe, wie ein Computer auf konzeptioneller Ebene funktioniert: CPU, Bus, Speicher usw., aber ich habe nicht wirklich viel praktische Erfahrung darin, alles zusammenzubauen bzw. auseinanderzunehmen.

Meine Frage ist: Gibt es irgendetwas, was man in Bezug auf Software-Engineering-Fähigkeiten gewinnen kann, wenn man lernt, meinen eigenen Computer zusammenzubauen?Wenn Sie Ihr ganzes Leben damit verbracht haben, Hardware-Teile zusammenzusetzen, wie hat sich das auf die Art und Weise ausgewirkt, wie Sie über Software schreiben oder denken?

War es hilfreich?

Lösung

Sie lernen nicht viel, das ist nützlich, einen Computer aus der Zusammenstellung zu einem Programmierer. Zu wissen, wo die PCI-Karten zu setzen und wie in einem Prozessor stopfen für etwas auseinander nicht wirklich nützlich ist, Computer aus zu bauen.

Ich glaube Sie einige geringe Kenntnisse über benötigen, wie Computer funktionieren, aber all die Dinge, die für Programmierer bereits gelötet zusammen auf dem Mainboard interessant. Sie werden viel mehr von der Programmierung C oder Assembler lernen und vielleicht Charles Petzold Buch-Code zu lesen ...

Andere Tipps

  

von Programmierern Hüten Sie sich vor, die tragen   Schraubendreher. (Leonard Brandwein)

Sie lernen nichts als Programmierer von einem PC zusammenbauen. Ich kann eine Toilette ganz gut nutzen, ohne eine Kanalisation zu installieren.

Hängt davon ab, was für ein Lerntyp Sie sind.Wenn Sie eine gute Vorstellungskraft haben, können Sie wahrscheinlich alles lernen, was Sie über Hardware wissen müssen, ohne mehr als ein Buch anzufassen. Es gibt Menschen, die sich Dinge ansehen müssen, um ihr Verständnis zu verbessern.

Das heißt, Sie könnten eine Menge lernen, wenn Sie die Gelegenheit nutzen, einen neuen Computer zu bauen, um etwas zu lernen. Nehmen Sie sich beispielsweise die Zeit und schauen Sie sich an, wo sich die Southbridge befindet, um welchen Chip es sich handelt, schauen Sie nach und finden Sie heraus, wo sich das SATA befindet Informieren Sie sich über den Controller, um welche Marke es sich handelt, und schauen Sie nach, sehen Sie sich die Eigenschaften an und so weiter und so fort.Wenn Sie die Teile einfach so schnell wie möglich zusammensetzen, lernen Sie wahrscheinlich, was im Falle eines Ausfalls zu tun ist, und sparen ein paar Dollar, mehr nicht.

Außerdem steigert das Bauen von Dingen die Neugier auf sie, was nicht schlecht sein kann.

Ihre eigenen Computer Aufbau macht Sie zu einem besseren Generalist, keinen besseren Spezialisten. Wenn Sie auf die Programmierung aus, als die spezielle Anwendung von Code in einem Editor in Anwendungen drehen, dann Ihre eigenen Systeme bauen tut nichts, diese Praxis zu helfen.

Wenn Sie jedoch einen Server in einem colo setzen müssen, verwaltet es, herauszufinden, wann es stürzt ab, ob es Ihre Anwendung oder ein schlechtes Laufwerk oder ein schlechter Fan als ging nach Süden, dann yah, zu wissen, was all die Stücke sind, zu verstehen, was sie tun, was, die Sie gekauft und warum, ob die Hardware oder die Software das Problem sein, dann einen Computer bauen, ist der minimale erste Schritt auf diesem Weg wahrscheinlich ist. Wenn Sie nicht verantwortlich für die tatsächliche Ausführung und Nützlichkeit des Codes sind, dann ist es eine Verschwendung von Zeit.

  

Ein Mensch sollte in der Lage sein, zu ändern   eine Windel, eine Invasion planen, Fleischer ein   Schwein, ein Schiff Conn, die Gestaltung eines Gebäudes,   schreibt ein Sonett, Balance-Konten,   Aufbau eine Wand, stellt einen Knochen, den Komfort   Sterben, nehmen Bestellungen, Aufträge erteilen,   wirken zusammen, allein handeln, Gleichungen zu lösen,   analysieren, um ein neues Problem, Pech Dung,   Programm einen Computer, kochen eine leckere Mahlzeit,   effizient zu bekämpfen, sterben galant.   Spezialisierung ist für Insekten.

Eh.

ich ehrlich das Gefühl, dass der eigentliche Akt der einen Computer zusammenbauen nicht wirklich grundlegend Ihr Verständnis von Computern zu verbessern. Sie sind nicht diese Teile bauen, können Sie sie in einem Fall sind die Montage von Anweisungen folgen.

Es besteht eine gewisse Verbesserung gewonnen werden, wenn das Betriebssystem richtig funktioniert mit den Komponenten und Debugging-Problemen bei der Herstellung auf, dass im Zusammenhang.

Und Punkt des Aku über Geld zu sparen ist gut.

Die Vorteile liegen auf der Hand:

  • Sie können ein paar Dollar sparen für gute Verwendung
  • Wenn Sie Ihre Software-Ingenieur Position verlieren zu viel hängen, so dass Sie Geld Zusammenbauen Computer machen kann.

ich das letzte Mal zusammengebaut Computer kaufte ich, dass es gefunden wurde keine Wärmeleitpaste zwischen CPU und Kühler.

Wie für Software-Engineering-Fähigkeiten, ich habe keine Vorteile finden.

neccessarily Nein nicht, aber ich denke, Programmierer wissen sollten, wie kann Code für die Hardware optimiert wird es läuft.

CPU, Speicher, Netzwerk und Festplattenressourcen haben einen großen Einfluss auf die Leistung. Programmierer sollen wissen, wann und wie Caching zu verwenden, um die Leistung der Anwendung zu erhöhen und auch, wie Code zu nutzen, große Ressourcen zu verwenden, wenn verfügbar.

Als Aussenseiter Ich würde sagen, lernen, wie man einen Computer für Spaß montieren .

eines unserer Gründungsväter zu zitieren ( Jeff Atwood ):

  

In meinem Buch ist eine der besten Möglichkeiten, um   versteht die Hardware zu bekommen   Hände und zusammen einen schmutzigen setzen,   einschließlich der Installation des OS, selbst.   Es ist eine Schande Apple-Programmierer kann nicht   tun dies ...

Während ich bin nicht so sicher, dass es Sie macht, dass von einem besseren Programmierer viel - aber es ist das Werkzeug Sie verwenden. Diese Maschinen konstant Bruch oder benötigen Upgrades. Ich denke, es ist eine gute Idee der Lage sein, dies zu tun und den Aufbau von Grund auf ist der Weg, dies zu lernen.

Dies ist ähnlich wie die Frage nach Software und Electronic Engineering .

Wenn Sie Schuhe tragen, sollten Sie wahrscheinlich wissen, wie man zu binden. Aber höchstwahrscheinlich, wenn Sie klug genug sind, sie zu tragen, können Sie es herausfinden.

Wenn nicht, haben Sie Probleme.

Nun, ehrlich gesagt, würde ich weiß nicht, welche Teile holen eine erstklassige Entwicklung oder Gaming-PC zu montieren. Ich weiß, wie alles zusammen passt, ich weiß, Software Engpässe etc.

Was ich tun, wenn ich einen PC zusammenbauen müssen, ist zunächst an den Zweck finden. Dev PC? Gaming? Multimedia? Büro? Dann denke ich über die Anforderungen. Offensichtlich ist ein einfacher Office-PC mit viel weniger Plattenplatz arbeitet, eine Onboard-GPU, usw. Als ich das herausgefunden ich im Internet nach Bewertungen scheuere, bereits zusammengesetzt Systeme, tom Hardware-Benchmarks, um zu versuchen, die beste Kombination in meinem Haushalt zu finden . Eine andere Sache zu berücksichtigen ist, neue Entwicklungen. Wenn zum Beispiel wird Intel ein neues CPU-Modell im Monat der Freigabe, würde ich darauf warten, so dass die Preise der unteren Modelle sinken. Nachdem ich die Liste der erforderlichen Komponenten haben entweder ich zu meinem lokalen Computer zu speichern oder gehen Sie den besten Preis im Netz finden. Ich ziehe einen lokalen Speicher, denn das spart mir viel Zeit, wenn ich einen toten Komponente bekommen oder muss meine Garantie verlangen. Normalerweise wird ein bisschen teurer aber.

Montage ist vor allem logisches Denken, ein bisschen Geduld und bleiben fokussiert;)

Ich habe meinen eigenen Computer gebaut, aber ich glaube nicht, dass meine Fähigkeit hinzugefügt ein Software-Ingenieur zu sein. Auch würde zu wissen, wie man Hilfe bauen machen Sie ein besserer Ingenieur.

Zu verstehen, wie ein Computer funktioniert und wie Software mit Hardware interagiert, ist das, was man einen besseren Ingenieur macht.

Nur weil ich einen Multi-Core-CPU in eine Hauptplatine setzen kann, bedeuten nicht, dass ich verstehe, warum parallele Prozesse mir helfen, oder was es bedeutet, einen kritischen Teil eines Funktionsaufruf eingeben. Und weil es einen 4-MB-Cache bedeutet das nicht, ich verstehe, was der Cache tut und wie Paging funktioniert.

Es gibt zuzuteilen Menschen, die Computer bauen können, aber es gibt weniger, die Software für sie konstruieren kann. Wenn das der Fall ist, dann Software-Ingenieure weit machen würden weniger als sie.

Wenn alles in der Reihe „schreibt Große-Code“ Sinn macht, dann würde ich sagen, nein, gibt es nicht viel mehr du gehst raus tatsächlich ein System, für Ihre Arbeit aufzubauen, das ist. Jetzt als Tech arbeitet und mit Problemen, Hardware und Software zu diagnostizieren, ergänzt um Ihre Fähigkeit, Probleme zu lösen und helfen würde. Das Problem ist, es ist nicht etwas, das man, indem man ein paar Computer zusammen für Spaß lernen kann. Sie am Ende verpassten alle kleinen seltsame Dinge tun verschiedenen Manufakturen, und wenn Sie es anwenden kann, kann es helfen, Ihre Gesamtbild von guten und schlechten Design-Entscheidungen zu erweitern.

Ich neige dazu, zu jeder Zeit zu denken, lernen Sie etwas und erweitern Sie Ihr Wissen und Horizonte, ist es eine gute Sache, so werde ich sagen ‚Ja‘.

Früher habe ich meinen eigenen Windows- und Linux-Computer zu bauen, bevor ich das Cult of Mac verbunden. Ich etwas tat lernen, ich glaube nicht, es hat mich zu einem besseren Programmierer.

Es ist nicht nutzlos Wissen though. Es ist wie ein Koch, der auch ein wenig über Sanitär-weiß. Das Wissen, dass es nicht auf Ihre Kernaufgaben anwenden, aber es kann nützlich sein, wenn etwas schief geht.

Edit:

Es gibt einen großen Unterschied zwischen Verständnis der Grundlagen der, wie Computer funktionieren, und man zusammen mit Teilen von Newegg setzen. Ein Verständnis davon, wie die CPU, Cache und Memory-Funktion ist von unschätzbarem Wert für die Programmierung. Zu wissen, wie ein Upgrade Ihres Video eine nützliche Fähigkeit ist, aber es hilft nicht in Tag-zu-Tag-Software-Entwicklung.

Ja, aber nicht in dem Sinne, Sie denken. Ich denke, es ist unglaublich wertvoll ist über grundlegendes Mikroprozessor-Design, Speicherarchitektur, usw. Noch besser zu lernen, wenn Sie einen Projekt-Kit bekommen können etwas einfach mit einem PIC oder Stempel zu tun. Holen Sie sich die Abstraktionen aus dem Weg und lernen auf Bit-Ebene ein wenig. Eine Überprüfung der relevanten Patterson und Hennessy Bücher wird auch empfohlen.

Der Aufbau eines PC up von Komponenten ist eine gute einmalige Übung, nur um die Kompatibilitätsprobleme der verschiedenen Teile zu verstehen.

Wie ein Programmierer, der Computer für die Jahre aufgebaut hat, würde ich sagen, dass es nicht mir gegeben hat, einen beträchtlichen Einfluss auf die Qualität oder die Struktur von meinem Code, aber es hat gegeben mir eine gute Grundlage wie die Qualität der Hardware wirkt sich auf die End-User Experience-Code ausgeführt wird.

Darüber hinaus, und ich denke das ist vielleicht der größte Vorteil: Sie Ihren eigenen PC Aufbau gibt Ihnen genügend Wissen zu sagen, ob ein Entwicklungssystem für Sie als Mitarbeiter gegeben ist gut oder nicht. eine informierte Meinung zu einer IT / Management Person zu machen, warum das System, das sie zur Verfügung gestellt hat, ist minderwertig kann der Schlüssel, um ein Upgrade sein.

Alles, was mit der Technologie beschäftigen Sie direkt arbeiten, helfen Ihnen bei allen Aufgaben zu dieser Technologie im Zusammenhang besser zu werden.

Computer-Hardware wissen, erhalten Sie einen besseren Programmierer machen. Es ist vielleicht nicht so direkt tun, aber es wird Fälle geben, in denen es Ihnen zugute kommt.

Es hängt wirklich davon ab, was Sie wollen, um Ihre Fähigkeiten zu sein. Es wäre eine Verschwendung von Zeit mit Hardware durcheinander, wenn Sie in komplexer Mathematik oder bestimmte Arten von Software (A. I. zum Beispiel) spezialisieren wollen.

Wenn Sie jedoch Dinge wie bauen Roboter mit ihren eigenen Kopf machen wollen, müssen Sie sowohl Software als auch Hardware kennen. Wenn Sie Spiele entwickeln wollen, vor allem als Indie oder sogar solo, werden Sie aufgefordert, um mehrere Arbeitsplätze und Spezialitäten zu emulieren. Was für ein Alptraum wäre es, wenn ein Indie-Entwickler nicht verstehen, wie Hardware zwischen den Systemen unterscheidet.

IMO, können Sie sich nicht ein echter Nerd nennen, es sei denn Sie wissen, wie sowohl Software als auch Hardware zu tun. Als ich Programmierer treffen, die nicht wissen, wie eine Grafikkarte zu installieren, ich bin in Konflikt gerieten, ob ich lachen oder weinen sollte.

Natürlich ist nicht jeder klug genug oder begeistert genug über die Technik bis zu dem Punkt zu wollen wissen, daran interessiert zu sein, wie die Hardware erstellt wird, geschweige denn zusammengebaut und dann programmiert. Als ich aufgewachsen, habe ich gelernt, auf andere zu lachen weniger oft und stattdessen verstehen, dass sie keine Notwendigkeit, über Hardware zu lernen, während auf Software konzentrieren. Es ist sicherlich keine Anforderung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top