Lohnt sich das neue MacBook für Entwickler?

3 Antworten

Es kommt immer darauf an, was du entwickeln möchtest. So pauschal kann man das nicht beantworten.

Ich habe jahrelang Webentwicklung auf einem MacBook Pro gemacht und bin damit gut zurecht gekommen. Nur Docker for Mac ist leider recht langsam.

Da ich jetzt für Windows entwickle, bin ich natürlich auf einen Windows PC umgestiegen.

Woher ich das weiß:Berufserfahrung – Game Developer mit Lehrerfahrung
Gojosatoru383 
Fragesteller
 10.08.2022, 17:48

Ich will Softwareentwicker werden und bald in die Weiterbildung gehen suche aber jetzt noch ein gescheites Notebook zum programmieren und die Leuten meinten MacBook wäre ganz gut

0
PixelManuel  10.08.2022, 17:51
@Gojosatoru383

Was möchtest du denn programmieren? Wie gesagt: pauschal kann man das nicht beantworten.

0
Gojosatoru383 
Fragesteller
 10.08.2022, 17:52
@PixelManuel

Also ich möchte c+/c++/ c# Javascript und CSS und HTML, Java, PHP , Python

0
donyelle  10.08.2022, 20:48
@Gojosatoru383

Bei C# würde ich fast eher Windows sagen. Klar kannst du auf MacOS auch über Visual Studio Code vermutlich C# programmieren, aber es ist halt trotzdem weniger ausgereift als Visual Studio.

1
EnderLuca  10.08.2022, 20:59
@Gojosatoru383

Ok tut mir leid aber diese Programmiersprachen kannst du gar nicht alle lernen. Allein das du C, C++ und C# mit / trennst sagt aus, dass du dich noch gar nicht mit der Materie befasst hast und einfach irgendwas nachplapperst.

0

Ich persönlich würde mir definitiv kein MacBook als Softwareentwickler kaufen. Ein Arbeitskollege hat es erst vor wenigen Monaten ausprobiert und ist gescheitert - an genau den Punkten, die eben zu erwarten sind.

Ich habe im Studium oft mit dem Gedanken gespielt mir ein MacBook oder iPad Pro anzuschaffen, aber es ist einfach Quatsch. Ich hatte auf meinem Surface Pro etliche Tools, die ich niemals auf ein MacBook oder besonders iPad Pro bekommen hätte. Und wenn, dann immer nur über Umwege (Drittanbietersoftware, Emulieren, Virtualisieren, Cloud-Lösungen nutzen) usw. Das funktioniert für die meisten einfach nicht und bringt Probleme, die man sich einfach sparen kann.

Natürlich gibt es Entwickler, welche das machen können, wenn sie z.B. nur in der Cloud arbeiten oder ausschließlich eine Technologie verwenden. Das wird bei den wenigsten aber der Fall sein. Da ich aktuell noch Full-Stack Entwickler bin, kann ich es mir auch im Leben nicht vorstellen. Ich habe viel zu viele unterschiedliche Tools, die teils sehr alt sind und eben häufig nicht für macOS verfügbar sind. Das macht aus meiner Sicht wirklich nur für spezielle Fälle Sinn - z.B., wenn man Apps für Apple-Geräte implementiert.

Woher ich das weiß:Berufserfahrung
Gojosatoru383 
Fragesteller
 10.08.2022, 20:54

Ah ok was kannst du mir für einen Laptop empfehlen zur Softwareentwicklung

0
TechnikSpezi  10.08.2022, 21:01
@Gojosatoru383

Da ich Laptops hasse und ausschließlich Tower-PCs nutze, bin ich da leider der falsche Ansprechpartner :D Wichtig ist, dass er ausreichend RAM hat (ich brauche am Tower-PC immer wieder mehr als 16GB RAM), die SSD zügig und nicht zu klein dimensioniert ist und wie ich finde auch ein herausnehmbarer Akku, wobei das eher eine persönliche Präferenz ist. Als Softwareentwickler ist man aber i.d.R. an einem Schreibtisch und nicht im Zug unterwegs. D.h. auch, der Akku wird durch das ständige Laden und eine vergleichsweise höhere Last als bei vielen Office-Nutzern schnell geschädigt. Da sollte man den Akku nach wenigen Jahren schon wechseln können und nicht wieder ein neues Gerät kaufen. Aber das muss natürlich jeder seinen Präferenzen und der Situation anpassen.

0
Gojosatoru383 
Fragesteller
 10.08.2022, 21:04
@TechnikSpezi

Ah ok kannst du mir dann einen guten Tower PC empfehlen für das Programmieren

0
TechnikSpezi  12.08.2022, 08:26
@Gojosatoru383

Am besten selbst zusammenstellen. Auch hier gilt:

  • Viel Arbeitsspeicher ist wichtig, denn du hast als Entwickler häufig viele Programme gleichzeitig offen, einen Server laufen, betreibst Virtualisierung, emulierst usw. Mein PC hat deswegen 32GB RAM, und die würde ich auch empfehlen. Die 16GB überschreite ich immer wieder mal.
  • Die Grafikkarte ist meistens gar nicht besonders wichtig und muss nicht außerordentlich gut sein. Und wenn, dann weißt du das selbst (z.B. wenn man eben was mit 3D-Modellierung tut).
  • Der Prozessor sollte Leistungsstark sein und wenigstens 4 Kerne haben (hast du heutzutage sowieso immer). Hier sollte man nicht sparen. Er ist eben die Hauptrecheneinheit und muss mit den ganzen vielen parallelen Prozessen klarkommen.
  • Schneller Speicher ist wichtig. Bei den Preisen kommt eine Festplatte (HDD) gar nicht mehr in Frage. Ich würde nur noch SATA-SSDs / M.2-SSDs kaufen. Mind. 500GB für die Systemplatte, da man viel Software installiert und auch einiges reserviert fürs Caching usw. Mein PC auf der Arbeit ist diese Woche erst komplett abgeschmiert, weil die 250GB (die ja nicht mal "echte" 250GB sind) voll sind.

Einen konkreten kann und möchte ich dir nicht empfehlen. Ohne Budget funktioniert das sowieso nicht.

0
Functional  13.08.2022, 00:55

Wenn ich fragen darf: Was für Punkte "sind denn genau zu erwarten"? Ich bin auch Fullstack Entwickler (Web als auch Mobile App), arbeite seit Jahren nur noch mit macOS und vermisse kein einziges Tool. Im Gegenteil habe ich unter macOS im Vergleich zu Windows eher besseres Tooling, da macOS unixbasiert ist und quasi alles, was auf Linux läuft, auch unter macOS zum laufen gebracht werden kann + das Terminal weitaus besser als die Windows PowerShell (oder gar die Default Command Line) ist.

Lasse mich da aber gerne eines besseren belehren, vielleicht weiß ich ja einfach nicht, was ich vermisse.

0
TechnikSpezi  13.08.2022, 10:20
@Functional

Dass macOS linuxbasiert ist, ist definitiv ein Vorteil, der mich hier auch immer wieder zum nachdenken gebracht hat. Erst diese Woche hätte ich es wieder gebrauchen können. Das ist aber dennoch selten.

Nachteile:

Naja, ganz simpel angefangen nutzen Windows eben mehr und dementsprechend gibt es wie schon gesagt Programme, die auf Mac nicht laufen oder auch einfach nicht gleichermaßen supportet werden. Wie gesagt, es gibt häufig Umwege, aber auf sowas hätte ich keine Lust. Ich hab sowas schon mal anderweitig gemacht und gedacht "Das klappt schon" und habe seit dem nie mehr Lust auf sowas :D Aber um mal viel konkretere Beispiele zu nennen:

Ein aktuelles Beispiel kann ich direkt von meinem Kollegen nennen. Er entwickelt aktuell in einer externen Firma deren Software (das kommt bei uns immer wieder vor). Hauptsächlich geht es darum, die Messdaten der Maschinen in der Fertigung zu speichern (sie produzieren Microcontroller und solche Dinge). Dabei verwenden sie teils sehr alte Software, die eben auf seinem Mac nicht läuft (wie die jetzt genau hieß, kann ich dir nicht sagen). Er musste dann auf einen Windows Laptop zurückgreifen und diesen natürlich erstmal einige Zeit wieder einrichten.

Einen weiteren Nachteil den ich gelernt habe: Es ist als Softwareentwickler ein Nachteil, ein anderes Gerät zu nutzen als die späteren Nutzer. Wir hatten mal einen Kunden, der Probleme mit dem Drucken der Etiketten meldete (Rückstau, es wurde nichts gedruckt). Am Ende stellte sich raus, dass das ein Problem ist, welches nur auf Windows 10 auftreten kann. Ja, jetzt magst du sagen: "Siehste, macOS ist besser". Der Punkt ist aber: Mein Kollege hat ewig gesucht und den Fehler nicht nachstellen können. Ebenso zeigt das, dass beim Testen Dinge nicht auffallen (können), die den Kunden im Produktivbetrieb aber bis zum Stillstand treiben können. Das ist ein eindeutiger und gravierender Nachteil.

Das gilt übrigens auch für Webanwendungen, denn die Browser haben auch alle ihre Eigenheiten, wenn man ins Detail geht. Selbst ein und der gleiche Browser wie Chrome funktioniert nicht 1:1 auf macOS wie auf Windows. Beispielsweise bei Progressive Web Apps (PWAs). Auf macOS gibt es noch (!) keine Push API, auf Windows schon. Das Cacheverhalten kann sich ebenso unterscheiden. Das ist für manche sicherlich zu vernachlässigen. Wir entwickeln aber ziemlich komplexe Warehouse Management Systeme (WMS) für Kunden mit ebenfalls teils sehr speziellen Schnittstellen. Caching ist hier besonders wichtig. Ich selbst entwickle gerade im Rahmen meiner Bachelorarbeit unseren Client für die Handhelds zu einer PWA weiter. Dabei sind mir die ganzen Unterschiede bei meinen Recherchen und eigenen Tests besonders aufgefallen. Das hat auch mich überrascht, da ich vorher noch dachte: "Ist halt eine Web App, die ist ja plattformunabhängig". Eine Sache, die ich durch meine BA herausgefunden ("erforscht") habe ist eindeutig, dass sie nicht plattformunabhängig sind, wie man (und ich vorher eben auch) das denken mag.

Von daher: Ich denke gerade für die Webentwicklung oder die Entwicklung mobiler Anwendungen kann macOS durchaus gut funktionieren und auch Vorteile liefern (ich bin hier immer neidisch auf die Performance mit den neuen M1/M2 Chips). In unserem Fall kann ich mir das allerdings nicht vorstellen. Das hat mein Kollege mit den Erfahrungen nur noch einmal deutlich bestätigt. Er wird zwar dabei bleiben, da das Gerät nun einmal gekauft ist - aber die Nachteile kamen schnell zum Vorschein. Und genau damit habe ich auch vorher schon gerechnet. Ich habe wie gesagt im Studium bereits überlegt, hier wollte ich aber sowieso kein MacBook sondern brauchte Touch. Gerade iPad OS bringt viel zu viele Einschränkungen mit sich, als dass das für mich gepasst hätte.

0
TechnikSpezi  13.08.2022, 10:21
@Gojosatoru383

Brauchen tust du ihn sowieso nicht. Wenn dein Budget bei 600€ liegt, wirst du sowieso kein passendes Gerät von Apple finden. Da musst du so oder so auf Windows (oder natürlich Linux) zurückgreifen.

0
Functional  13.08.2022, 13:51
@Gojosatoru383

Nein, jeder Linux- oder auch Windows-Laptop tut es als Anfänger. Später wirst du ohnehin deine eigenen Workflows entwickeln und dann für dich selbst feststellen, was für dich funktioniert. Nur weil etwas für andere funktioniert, muss es das ja nicht für dich.

0
Functional  13.08.2022, 13:59
@TechnikSpezi

Okay, im ersten Beispiel geht es aber weniger um Fullstack-Entwicklung, sondern eher um die Entwicklung von Embedded Systems, soweit ich das verstehe. Da ist die Wahl des Betriebssystems natürlich weitaus eingeschränkter und da wird man vermutlich auch mit Linux langfristig gegen eine Wand laufen. Da stimme ich also zu, ist aber natürlich weniger mein Anwendungszweck (und ich denke mal auch nicht der des Fragestellers).

Beim zweiten: Habe ich persönlich nie als Nachteil gesehen. Als Web-Entwickler kannst du unmöglich auf jedem Gerät, das deine Nutzer verwenden, physisch testen. Ich teste sowas automatisiert über BrowserStack auf dutzenden Hardware-Konfigurationen und würde das auch tun, wenn ich Windows verwenden würde. Und auf die Idee kommen, bei solchen OS-spezifischen Problemen zu sagen "macOS ist besser", würde ich übrigens nie, da auch macOS und v.a. Safari mir in einigen JavaScript-Libraries schon genug eigene Kopfschmerzen bereitet hat. :)

Seine Entwicklungsumgebung physisch auf den späteren Nutzer anpassen geht in der Web-Entwicklung nie gut (oder gar einfach die "beliebteste" Betriebssystem-Browser-Kombination zu nutzen, nur auf dieser zu testen und zu sagen "wird dann schon passen für den Großteil der Nutzer"). Egal, was für ein OS oder welche Hardware du verwendest. Sehe ich daher wie gesagt nicht wirklich als spezifischen Nachteil für macOS, v.a. da du unter Windows dann ja das Problem hättest, macOS-Feinheiten nicht testen zu können (ja klar, Windows hat den absolut größeren Marktanteil, aber der schrumpft kontinuierlich von fast 100% vor noch 15 Jahren bis auf gut 75% heute). Man benötigt da also sowieso ein Tool, wie BrowserStack, mit dem das vernünftig erledigt werden kann.

0
TechnikSpezi  13.08.2022, 14:28
@Functional
im ersten Beispiel geht es aber weniger um Fullstack-Entwicklung, sondern eher um die Entwicklung von Embedded Systems

Ja, schon. Gehört eben auch dazu als Fullstack-Dev.

Habe ich persönlich nie als Nachteil gesehen. Als Web-Entwickler kannst du unmöglich auf jedem Gerät, das deine Nutzer verwenden, physisch testen.

So ist das jetzt auch nicht gemeint gewesen, dass man das tun sollte. Da hast du schon recht, das geht so oder so nicht vollständig. Wie gesagt: Webentwicklung ist nur ein kleiner Teil meiner Arbeit. Hauptsächlich entwickle ich im Backend und native Anwendungen. Und schon hier hätte ich keine Lust, ständig den Emulator anzuschmeißen, auch wenn man sagen muss, dass das mit den neuen M1/M2-Chips nochmal um einiges angenehmer ist. Ich hab es das letzte Mal auf einem MacBook vor bestimmt 6 Jahren gemacht (und der war schon paar Jahre alt), da wäre ich beinahe krepiert.

Es ist für mich schon ein Nachteil, wenn ein Kunde ein Problem meldet, was ich nicht nachstellen kann, und ich später herausfinde (noch schlimmer, wenn nicht), dass die Betriebssysteme hier Ursache sind, dass ich das nicht nachstellen und vlt auch nur schwierig testen kann. Da wir Wartungsverträge haben (24/7) und es leider auch nicht selten passiert, dass der PROD-Betrieb stillsteht, ist mir das persönlich auch wichtig. Je länger ich dran sitze, desto länger muss ich mich für die Rechnung rechtfertigen und vor allem ggf. am Wochenende oder in der Nacht während der Bereitschaft um so länger arbeiten. Aber daran sieht man natürlich auch: Das kommt halt immer drauf an. Ich würde es persönlich dennoch nicht empfehlen, sondern eher dazu tendieren zu sagen: Wer unbedingt möchte und sich sicher ist, dass das klappt, der kann das tun. Aber einem Anfänger ohne Erfahrung, der genau solche Fälle nicht kennt und das nicht einordnen kann, kann ich das keineswegs empfehlen.

ja klar, Windows hat den absolut größeren Marktanteil, aber der schrumpft kontinuierlich von fast 100% vor noch 15 Jahren bis auf gut 75% heute

Ja, dennoch ist Windows eben deutlich häufiger vertreten und bietet eine bessere Kompatibilität. Das kann man einfach nicht leugnen. Wie sehr einen das stört, ist eben die Frage. Möglicherweise eben gar nicht.

Aber auf der anderen Seite:

In Kürze habe ich aber auch einen neuen Job, der zwar ähnlich sein wird, dafür aber mit viel modernerer Hard- und besonders Software und aufs Backend spezialisiert. Wir entwickeln mit Cloud-Werkzeugen in Azure - mehr weiß ich selbst noch nicht. Hier kann ich mir schon viel viel eher vorstellen, dass das Betriebssystem egal ist. Mir wurde auch direkt ein die Wahl gelassen, ob Mac oder Windows. Ich habe mich dennoch für ein Windows-Laptop entschieden, auch einfach, weil ich keine großes Interesse habe, ständig von zuhause zu arbeiten und vor einem Windows PC zu sitzen, aber dann evtl. remote über ein MacBook zu arbeiten. Aber hier weiß ich einfach noch überhaupt nicht, was wir alles nutzen, ob ich am Ende nicht einfach das neue Gerät mit meinen Bildschirmen etc verbinde.. Kann auch sein, dass ich später noch wechsle, wobei ich das erstmal nicht glaube ;)

0
TechnikSpezi  19.09.2022, 09:52

Gerade wieder so ein Fall: Ein externer Mitarbeiter von uns nutzt ein MacBook, kommt aber mit dem Package Manager nicht klar, wo Power-Shell-Skripte verwendet werden. Wieder 2h Arbeitszeit verloren und jetzt ist er auf andere Entwickler angewiesen, die ihm das einmal mit Windows machen und committen. Jetzt will man auch eine plattformübergreifende Lösung schaffen, kostet natürlich auch wieder Zeit und Geld. Solche Fälle hat man mit einem MacBook als Entwickler halt immer wieder.

0

Hey Gojosatoru383,

Meiner Meinung nach lohnt sich das MacBook nicht, wenn man die Preis-Leistung miteinbezieht.

Klar, wenn der Preis egal wäre - dann kann ein MacBook eine tolle Umgebung zum programmieren bieten - hat aber auch technisch seine Grenzen (beispielsweise Game-Engines und deren MacOS-Kompabilität)

Daher rate ich grundsätzlich zu einem Windows-Laptop - Mehr Möglichkeiten & bessere Preis-Leistung durch viel Konkurrenz

Viel Spaß!

Woher ich das weiß:Hobby
Gojosatoru383 
Fragesteller
 10.08.2022, 20:49

Was kannst du mir da für 700€ empfehlen welchem Laptop

1
kaansrc  10.08.2022, 21:03
@Gojosatoru383

Mit 700€ wirst du schon gut wegkommen. Allgemein kann ich dir Lenovo an's Herz legen, weil die sehr angenehme Tastaturen haben und allgemein gut performen - und den Rest würde ich fast schon anhand der Specs entscheiden. Die Thinkpad-Modelle sind beispielsweise sehr gut.

Ich kaufe meistens refurbished oder gebraucht, deshalb setze ich mir eine Preisklasse, eine Marke und beurteile den Rest nach den Specs.

Für 700€ habe ich beispielsweise das ThinkPad E14 Gen 3 gefunden.

Schau dir am besten auch vor dem Kauf Reviews an, z.B. auf YouTube.

1
Gojosatoru383 
Fragesteller
 10.08.2022, 21:08
@kaansrc

Danke oder ein guten Tower PC weil ich will wirklich Programmierer werden

1
kaansrc  10.08.2022, 21:20
@Gojosatoru383

Schau dich auf Dubaro und Hardewarerat um, die bieten rundum gute Konfigurationen und nehmen soweit ich weiß beide um die 100€ für den Zusammenbau (im Preis enthalten), kriegst auch noch ne Garantie, etc.

0