{"id":584,"date":"2019-10-05T09:13:30","date_gmt":"2019-10-05T07:13:30","guid":{"rendered":"https:\/\/ekiwi.de\/?p=584"},"modified":"2023-04-08T13:43:32","modified_gmt":"2023-04-08T11:43:32","slug":"der-grosse-guide-welche-programmiersprache-sollte-man-lernen","status":"publish","type":"post","link":"https:\/\/ekiwi.de\/index.php\/584\/der-grosse-guide-welche-programmiersprache-sollte-man-lernen\/","title":{"rendered":"Der gro\u00dfe Guide: Welche Programmiersprache sollte man lernen?"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Inhalt<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/ekiwi.de\/index.php\/584\/der-grosse-guide-welche-programmiersprache-sollte-man-lernen\/#Was_kommt_auf_mich_zu\" >Was kommt auf mich zu?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/ekiwi.de\/index.php\/584\/der-grosse-guide-welche-programmiersprache-sollte-man-lernen\/#C_Fuer_Spieleentwickler_mit_Biss\" >C++: F\u00fcr Spieleentwickler mit Biss<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/ekiwi.de\/index.php\/584\/der-grosse-guide-welche-programmiersprache-sollte-man-lernen\/#Python_Fuer_Einsteiger\" >Python: F\u00fcr Einsteiger<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/ekiwi.de\/index.php\/584\/der-grosse-guide-welche-programmiersprache-sollte-man-lernen\/#Java_Swift_und_Objective_C_Fuer_App-Entwickler\" >Java, Swift und Objective C: F\u00fcr App-Entwickler<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/ekiwi.de\/index.php\/584\/der-grosse-guide-welche-programmiersprache-sollte-man-lernen\/#Fazit\" >Fazit<\/a><\/li><\/ul><\/nav><\/div>\n<p>Viele spielen mit dem Gedanken, aber nur wenige setzen ihn um: Programmieren lernen. Die Welt der Programmiersprachen wird langsam immer einsteigerfreundlicher und vielseitiger. Nicht umsonst sind Java und C mit jeweils rund 20 Prozent Marktanteil die popul\u00e4rsten Sprachen. Doch man sollte nicht nur auf die absoluten Zahlen achten: <a title=\"C mit Apostroph, Akut, Akzent bzw. schr\u00e4gem Strich\" href=\"https:\/\/ekiwi-blog.de\/50358\/c-mit-apostroph-bzw-akut-schreiben\/\" target=\"_blank\" rel=\"noopener\">C<\/a>++ verliert seit Jahren stetig an Marktmacht, dennoch ist die Sprache absolut unersetzbar f\u00fcr spezielle Programmarten, insbesondere Videospiele. Heute unerl\u00e4sslich sind objektorientierte Programmiersprachen, denn diese Art der Programmierung erleichtert die Wartung und Erweiterung eines Programms &#8211; in der Zeit von st\u00e4ndigen Software-Updates nicht mehr wegzudenken. Welche Sprache sollte man aber lernen, wenn man Apps entwickeln, Spiele programmieren m\u00f6chte? Der folgende Guide gibt eine \u00dcbersicht dar\u00fcber, <a href=\"https:\/\/ekiwi.de\/index.php\/5709\/welche-programmiersprache-ist-am-besten-fuer-web-applikationen-geeignet\/\" title=\"Welche Programmiersprache ist am besten f\u00fcr Web-Applikationen geeignet?\">welche Programmiersprache<\/a> zu wem passt.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Was_kommt_auf_mich_zu\"><\/span>Was kommt auf mich zu?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Viele Programmier-Einsteiger tr\u00e4umen vom eigenen Videospiel, der eigenen App oder umfangreichen Programmen, die sie entwerfen m\u00f6chten. Die gute Nachricht: <a href=\"https:\/\/www.heise.de\/ct\/ausgabe\/2015-18-Die-passende-Programmiersprache-finden-2767703.html\" target=\"_blank\" rel=\"noopener noreferrer\">Mit Programmiersprachen wie Python f\u00e4llt der Einstieg leicht!<\/a> Sp\u00e4testens, wenn man dann aber wirklich komplexere Anwendungen, Spiele oder Smartphone-Apps programmieren will, kommt man nicht umhin, Konzepte wie Klassen oder Vererbung zu verstehen: Klassen sind in der objektorientierten Programmierung abstrakte Modelle f\u00fcr eine Reihe von \u00e4hnlichen Objekten und beschreiben deren Attribute und Methoden. Durch Vererbung k\u00f6nnen Klassen in hierarchischen Verbindungen zueinander stehen; zu den Basisklassen kommen dann abgeleitete Klassen dazu. Programmiert man zum Beispiel ein einfaches Textadventure, k\u00f6nnte die Basisklasse \u201eCharacter\u201c hei\u00dfen. Diese besitzt eine Methode namens \u201ebewegen\u201c. Wird die Methode ausgef\u00fchrt, so erscheint der Text \u201eDeine Spielfigur bewegt sich\u201c auf dem Bildschirm. Eine abgeleitete Klasse k\u00f6nnte zum Beispiel \u201eFahrrad\u201c hei\u00dfen. Das Fahrrad kann sich ebenfalls bewegen (es erbt die Eigenschaften der Basisklasse), gibt jedoch einen anderen Print aus: \u201eDein Fahrrad f\u00e4hrt\u201c. Au\u00dferdem kann die abgeleitete Klasse \u00fcber zus\u00e4tzliche Methoden im Vergleich zur Basisklasse verf\u00fcgen.<br \/>\n<a href=\"https:\/\/ekiwi.de\/tools\/other.htm\">Inzwischen gibt es Tools auch online zu finden<\/a>, die den Einstieg in das Programmieren erleichtern. Es ist oftmals nicht vonn\u00f6ten, sich gleich zu Beginn mit den komplexen Details zu besch\u00e4ftigen. Zudem sind die \u00dcberschneidungen gro\u00df &#8211; wer die Grundlagen von Python beherrscht, <a href=\"https:\/\/ekiwi.de\/index.php\/212\/bootstrap-menu-navbar-dropdown-mit-hover\/\">kann sich auch schnell in JavaScript oder PHP einarbeiten<\/a>. Welche Programmiersprachen kommen nun aber f\u00fcr welche Verwendung am ehesten infrage?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-582\" src=\"\/wp-content\/uploads\/2019\/10\/computer-two-monitors.jpg\" alt=\"Computer auf Schreibtisch mit zwei Monitoren\" width=\"550\" height=\"365\" srcset=\"\/wp-content\/uploads\/2019\/10\/computer-two-monitors.jpg 550w, \/wp-content\/uploads\/2019\/10\/computer-two-monitors-300x199.jpg 300w, \/wp-content\/uploads\/2019\/10\/computer-two-monitors-120x80.jpg 120w, \/wp-content\/uploads\/2019\/10\/computer-two-monitors-480x320.jpg 480w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"C_Fuer_Spieleentwickler_mit_Biss\"><\/span>C++: F\u00fcr Spieleentwickler mit Biss<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Der Klassiker C++ ist eine von der ISO genormte Programmiersprache und existiert bereits seit 1979. C++ wird vor allem in der Systemprogrammierung und der Anwendungsprogrammierung eingesetzt, wird aber hier seit der Jahrtausendwende zunehmend von Java verdr\u00e4ngt. Die Sprache verwendet nur rund 60 Schl\u00fcsselw\u00f6rter, manche (wie \u201estatic\u201c und \u201edefault\u201c) werden dabei mehrfach verwendet. Dank der Standardbibliothek beherrscht C++ Arrays, Vektoren, Listen und andere Kniffe wie Frameworks und weitere Bibliotheken. Daf\u00fcr eignet sich die Sprache sehr gut f\u00fcr einen \u00e4u\u00dferst popul\u00e4ren Bereich der Programmierung: Videospiele. Das liegt vor allem daran, dass es nur wenig Alternative gibt, da alle nicht objektorientierten Programmiersprachen f\u00fcr Spiele wegfallen. Das gilt auch f\u00fcr nicht-normierte Sprachen, da diese eine Kollaboration \u00fcber dutzende Entwickler fast unm\u00f6glich machen.<br \/>\nViele bekannte Spiele sind daher in C++ geschrieben, darunter <a href=\"https:\/\/www.amazon.co.uk\/ACTIVISION-Wolfenstein-PC-DVD\/dp\/B0026FCH26\" target=\"_blank\" rel=\"noopener noreferrer\">das 2009 ver\u00f6ffentlichte und auf Amazon erh\u00e4ltliche Wolfenstein-Remake<\/a>, sowie auch Unreal Tournament, Bioshock und Deus Ex. Die Fortsetzung zu Wolfenstein: Return to the Castle verwendete die id Tech 4 Software, welche vor der Produktion des Spiels von C zu C++ wechselte. Von seinem Vorl\u00e4ufer setzte sich das neue Game dadurch insbesondere in der Grafik ab: Der schnelle Spielverlauf, der den Reiz von Wolfenstein ausmacht, konnte durch die neue Software durchgehen in besserer Aufl\u00f6sung ablaufen. Heute sind viele der im Web spielbaren Games sind mit C++ geschrieben: Wer simple Browser-Games spielt, der hat es sehr oft mit einfachen Flash-Anwendungen zu tun, doch bereits bei Online-Gl\u00fccksspielen sind die Anforderungen hierf\u00fcr zu komplex. Das 2006 gegr\u00fcndete Online-Casino-Unternehmen <a href=\"https:\/\/casino.betway.com\/de\/\">Betway setzt beispielsweise ausschlie\u00dflich auf einen der f\u00fchrenden Spieleentwickler, Microgaming<\/a>. Dieser legt gro\u00dfen Wert auf die Flexibilit\u00e4t aller angebotenen Games, sodass letztere auf s\u00e4mtlichen Plattformen genutzt werden k\u00f6nnen &#8211; ein Vorteil f\u00fcr Anbieter und Spieler. Genau diese Flexibilit\u00e4t wird bisher vor allem mit C++ gew\u00e4hrleistet, so verwundert es nicht, dass die Titel des Anbieters von Casinospielen C++ als Basis verwenden.<br \/>\nZwar hei\u00dft es damit f\u00fcr angehende Spieleentwickler: Z\u00e4hne zusammenbei\u00dfen! Doch wer ausreichend Geduld mitbringt, der kann sich auch in das relativ komplexe C++ einarbeiten &#8211; und ist dann am Ende deutlich weniger limitiert bei der Umsetzung des eigenen Traumspiels. Wer dagegen eher zu den ungeduldigen Naturen geh\u00f6rt, sollte vielleicht auf eine andere Sprache umsteigen; hier empfiehlt sich vor allem Python.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Python_Fuer_Einsteiger\"><\/span>Python: F\u00fcr Einsteiger<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><a href=\"https:\/\/www.pcwelt.de\/ratgeber\/Programmieren-lernen-Das-sind-die-besten-Sprachen-9958738.html\" target=\"_blank\" rel=\"noopener noreferrer\">Python eignet sich f\u00fcr Unentschlossene, Leute, die einfach anfangen wollen<\/a> zu programmieren und Menschen mit ernsthaften Ambitionen, die Anwendungen f\u00fcr Facebook oder Google erstellen wollen. Python ist eine Skriptsprache und unterst\u00fctzt objektorientierte, aspektorientierte und funktionale Programmierung. Hier kann man schnell loslegen, ohne sich direkt \u00fcber Objekte und Klassen den Kopf zu zerbrechen. Dank Python ist der \u00dcbergang von simplen Batch- oder Shell-Skripten zu einem richtigen Programm flie\u00dfend geworden. Dazu kommt eine umfangreiche Menge an Frameworks, welche die Programmierung erleichtern: Ein Framework dient als eine Art Ger\u00fcst oder Rahmen f\u00fcr den Programmierer, bekannt ist zum Beispiel das .NET Framework f\u00fcr Microsoft-Anwendungen, aber auch Frameworks f\u00fcr das Kompilieren und Anpassen von Apps an verschiedene Betriebssysteme werden immer beliebter. Python wurde absichtlich so gestaltet, dass es mit wenigen Schl\u00fcsselw\u00f6rtern zurechtkommt und ist daher besonders f\u00fcr Einsteiger sehr gut geeignet. Wer schon immer mit dem Gedanken spielte, Programmieren zu lernen, kann mit Python gut die ersten Schritte machen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-583\" src=\"\/wp-content\/uploads\/2019\/10\/code-highlighted.jpg\" alt=\"Screenshot highlighted Code einer Programmiersprache\" width=\"550\" height=\"367\" srcset=\"\/wp-content\/uploads\/2019\/10\/code-highlighted.jpg 550w, \/wp-content\/uploads\/2019\/10\/code-highlighted-300x200.jpg 300w, \/wp-content\/uploads\/2019\/10\/code-highlighted-120x80.jpg 120w, \/wp-content\/uploads\/2019\/10\/code-highlighted-480x320.jpg 480w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Java_Swift_und_Objective_C_Fuer_App-Entwickler\"><\/span>Java, Swift und Objective C: F\u00fcr App-Entwickler<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Angehende App-Entwickler sollten sich auf Java, Objective C und Swift konzentrieren. <a href=\"https:\/\/ekiwi.de\/index.php\/266\/sweetalerts-schoene-alternative-zu-java-script-alerts\/\">Java und seine Alternativen empfehlen sich vor allem<\/a> f\u00fcr Menschen, die bereits erste Erfahrungen mit Programmiersprachen gesammelt haben, da man bei Java-Programmen kaum darum herumkommt, sich Gedanken um Klassen und Objekte zu machen. Ansonsten zeichnet sich Java allerdings durch Vielseitigkeit aus. F\u00fcr die Entwicklung f\u00fcr Android Ger\u00e4te sind Java-Kenntnisse zudem unerl\u00e4sslich. Allerdings darf auch iOS (trotz eines Marktanteils von lediglich 23,8 Prozent in Deutschland) nicht vernachl\u00e4ssigt werden: Wer mit seiner App eine gro\u00dfe Zielgruppe erreichen will, schafft dies nur durch das Angebot von Apps sowohl f\u00fcr Android, als auch iOS. Hier ist Objective C die Sprache der Wahl f\u00fcr App-Entwickler. Seit einiger Zeit bietet Apple seine eigene Programmiersprache Swift an, die extra so konzipiert wurde, dass sie leicht zu erlernen ist und dem Entwickler viele Hilfestellungen bietet &#8211; ein guter Einstiegspunkt f\u00fcr Entwickler. Ganz wichtig: Wer f\u00fcr Mac oder iOS entwickeln m\u00f6chte, kann dies nur auf Produkten von Apple tun, ist also auf ein <a title=\"Daten von Windows PC zum MacBook exportieren\" href=\"https:\/\/ekiwi.de\/index.php\/2095\/daten-von-windows-auf-mac-uebertragen-ausfuehrliche-anleitung\/\">Macbook<\/a> Pro oder einen iMac angewiesen, die man <a href=\"https:\/\/www.apple.com\/de\/shop\/buy-mac\/macbook-pro\" target=\"_blank\" rel=\"noopener noreferrer\">\u00fcber den offiziellen Store von Apple kaufen kann<\/a>.<br \/>\nWer sowohl f\u00fcr iOS als auch f\u00fcr Android programmieren m\u00f6chte, dem nehmen Frameworks wie CakePHP oder React Native viel Arbeit ab, weil sie den Code automatisch an das jeweilige Betriebssystem anpassen &#8211; so m\u00fcssen viele Dinge nur einmal geschrieben und nicht doppelt angepasst werden.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Fazit<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Die passende Programmiersprache f\u00fcr den Einstieg zu finden, kann schwierig sein, sollte einen jedoch nicht davon abhalten, das Projekt anzugehen. F\u00fcr Einsteiger eignet sich Python gut, f\u00fcr App-Entwickler Java und Swift. Wer hingegen Spiele programmieren m\u00f6chte, der kommt um C++ nach wie vor nicht herum. Inzwischen gibt es zum Gl\u00fcck viele gute Tutorials im Internet, sowie Studieng\u00e4nge zum Thema.<\/p>","protected":false},"excerpt":{"rendered":"<p>Viele spielen mit dem Gedanken, aber nur wenige setzen ihn um: Programmieren lernen. Die Welt der Programmiersprachen wird langsam immer<\/p>\n","protected":false},"author":2,"featured_media":581,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[13],"tags":[],"class_list":["post-584","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programmierung"],"_links":{"self":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/584","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/comments?post=584"}],"version-history":[{"count":0,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/posts\/584\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media\/581"}],"wp:attachment":[{"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/media?parent=584"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/categories?post=584"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ekiwi.de\/index.php\/wp-json\/wp\/v2\/tags?post=584"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}