Wie man diesen Sommer eine neue Programmiersprache lernt

Was könnte ein besseres Ziel für Ihren Sommer sein, als das Erlernen einer neuen Programmiersprache? Vergessen Sie die "Strandbücher" in diesem Sommer und konzentrieren Sie sich stattdessen darauf, eine neue Programmiersprache zu lernen – aber welche sollten Sie wählen?

Laut Angaben von EDC gibt es weltweit etwa 24 Millionen professionelle Softwareentwickler und fast 700 bekannte Programmiersprachen (laut Wikipedia). Ich würde darauf wetten, dass es eine erstaunlich große Anzahl von Online-Ressourcen gibt, auf denen man eine oder andere Programmiersprache lernen kann. Ob Sie bereits einer der 11 Millionen erfahrenen Programmierer sind oder gerade erst mit dem Programmieren beginnen, es gibt eine Fülle von Informationen, die es zu durchforsten gilt.

Für die Zwecke dieses Blogbeitrags werden wir uns sicherlich die Welt ansehen Die am häufigsten verwendeten Programmiersprachen im Jahr 2021...aber auch bei wichtigen Sprachen für die Datenverarbeitung und -abfrage. Daher werden wir folgende Sprachen behandeln: C und seine Derivate (C++, C#, und Objective-C), Java, Python, R, JavaScript, Ruby, SQL und XQuery.

Die Entscheidung, wo man anfangen soll, hängt vollständig von den Entwicklungsszenarien ab, die Sie im Auge haben. Deshalb haben wir die Informationen für Sie übersichtlich aufbereitet, um Ihnen die Entscheidung zu erleichtern. Ob Sie ein erfahrener Programmierer sind, der eine neue Programmiersprache zu seinem Repertoire hinzufügen möchte, oder ein Anfänger, der noch den Unterschied zwischen C, C++, Objective-C oder C# nicht kennt, spielt keine Rolle. Wir haben eine Liste mit Erklärungen zusammengestellt, um Ihnen bei der Auswahl der Sprache zu helfen, die Sie als Nächstes lernen möchten.

Bevor wir uns detailliert mit den einzelnen Programmiersprachen befassen, wollen wir über die sechs Hauptbereiche sprechen, in denen Programmiersprachen heute eingesetzt werden, und darüber, welche Sprachen in welchem Kontext nützlich sein könnten. Dies wird Ihnen einen Überblick geben und Ihnen helfen, ein erstes Gefühl dafür zu bekommen, welche Sprache für Sie am besten geeignet sein könnte.

Mobile Anwendungen

Wenn Sie Apps für Smartphones oder Tablets entwickeln möchten, wird Ihre Wahl der Programmiersprache weitgehend durch die Plattform bestimmt, für die Sie entwickeln möchten. Wenn Sie iOS-Geräte ansprechen möchten, ist Objective-C die Standard-Sprache. Für Android ist Java die Standardsprache, und für Microsoft Surface (und generell für Windows 10- oder 11-Geräte) ist es C#. Wenn Ihre mobile App einen Server-Backend benötigt, der in der Cloud läuft, finden Sie im folgenden Abschnitt über serverseitige Entwicklung weitere Informationen zu zusätzlichen Sprachen. Wenn Sie alle drei mobilen Plattformen ansprechen möchten, und das Lernen all dieser Sprachen auf einmal etwas zu viel erscheint, empfehle ich Ihnen, sich mit plattformübergreifenden Tools wie Altova MobileTogether vertraut zu machen. Diese ermöglichen es Ihnen, eine mobile App für alle Plattformen aus einer einzigen Quelle zu erstellen, und zwar mithilfe von XQuery und visueller ActionTree-Programmierung.

Webentwicklung

Für die Entwicklung von Websites, sowohl für mobile Geräte als auch für herkömmliche Browser, ist JavaScript die bevorzugte Programmiersprache, die vom Webbrowser ausgeführt wird. Natürlich wird der Hauptinhalt Ihrer Website in HTML5 geschrieben, und idealerweise werden alle Stilinformationen in CSS3-Stylesheets codiert, aber dies sind keine Programmiersprachen im eigentlichen Sinne. Bisher habe ich nur über die clientseitige Programmierung gesprochen.

Server-seitige Entwicklung

Egal, ob es sich um den Backend-Bereich einer mobilen App oder einen klassischen Webserver handelt, es gibt eine Vielzahl von Programmiersprachen, die sich gut für die Entwicklung auf Serverseite eignen. Hier werden hauptsächlich Java, C#, Python, PHP und Ruby eingesetzt. Dies gilt sowohl für traditionelle, gehostete Webserver als auch für cloudbasierte Server, die möglicherweise auf den Cloud-Plattformen AWS oder Azure laufen.

Klassische Anwendungen für PCs und Desktop-Computer

Obwohl Java- und Visual-Basic-Anwendungen gelegentlich in Unternehmensumgebungen eingesetzt werden, wurden und werden die meisten Desktop-Anwendungen, die auf PCs laufen, weiterhin in C, C++ oder C# entwickelt. Allerdings gewinnen auch Sprachen wie Python als Skriptsprache zur Automatisierung von Routineaufgaben zunehmend an Popularität, selbst im Desktop-Bereich.

Wissenschaftliches Rechnen

Für die Datenanalyse, Statistik und höhere Mathematik gibt es drei spezielle Programmiersprachen, die häufig verwendet werden: Matlab, Mathematica und R. Allein aufgrund ihrer Popularität hat R in den letzten Jahren die anderen beiden weit übertroffen, daher werde ich im Folgenden nur über R sprechen.

Eingebettete Systeme und das Internet der Dinge

Wenn es um eingebettete Systeme geht, sind C und C++ nach wie vor führend. Dieses Gebiet hat sich in den letzten Jahren sicherlich stark verändert, da immer mehr eingebettete Geräte und IoT-Geräte zu vollwertigen Linux-Computern werden. Dennoch sind C und C++ für die Softwareentwicklung, die sehr nah an der Hardwareebene liegt, sowie für viele Betriebssystemfunktionen und Gerätetreiber weiterhin die beste Wahl, da sie in Bezug auf Leistung, Geschwindigkeit und Effizienz unübertroffen sind.

Datenbankabfragen und Datenmanipulation

Unabhängig davon, welcher der oben genannten Bereiche Sie im Auge haben, benötigen Sie in den meisten Fällen auch Kenntnisse einer Sprache, mit der Sie eine Teilmenge von Daten aus einer Datenbank abfragen können. Während Hadoop/MapReduce und andere Plattformen, die sich auf Big Data konzentrieren, derzeit viel Aufmerksamkeit in den Medien erhalten, gibt es SQL – die strukturierte Abfragesprache – seit den 1970er Jahren und ist nach wie vor die am weitesten verbreitete Datenbankabfragesprache, die von allen wichtigen Datenbankmanagementsystemen unterstützt wird.

Zusätzlich zu SQL empfehle ich, sich auch mit XQuery, der XML-Abfragesprache, auseinanderzusetzen, da heutzutage viele Daten in XML- oder JSON-Formaten verfügbar sind. XQuery ist als funktionale Sprache sehr leistungsfähig, um solche Daten effizient zu verarbeiten. Insbesondere fortschrittliche mobile Tools wie Altova MobileTogether nutzen XQuery, um eine funktionale Programmierung der Datenverarbeitung aus verschiedenen Datenquellen zu ermöglichen, darunter XML, JSON, HTML und SQL-Datenbanken.

Nachdem ich Ihnen einen Überblick darüber gegeben habe, in welchen Regionen einige dieser Sprachen am häufigsten verwendet werden, haben Sie hoffentlich eine Vorstellung davon, welche Sprache für Sie möglicherweise eine gute Wahl für das nächste Lernprojekt wäre. Lassen Sie uns nun die einzelnen Sprachen genauer betrachten und herausfinden, wo Sie sie online lernen können:

C

C und seine Derivate (C++, C#, und Objective-C) sind allgemeine Programmiersprachen, und C erfreut sich seit dem bahnbrechenden Buch von 1978, Die Programmiersprache C von Kernighan und Ritchie, großer Beliebtheit. Wenn Sie eine Karriere in der Informatik anstreben, ist Kenntnisse in C nach wie vor unerlässlich, aber ich würde es nicht als die beste Wahl für Anfänger empfehlen, da es hauptsächlich für Arbeiten im Bereich Hardware oder für andere Anwendungen auf niedriger Ebene verwendet wird. Ursprünglich wurde C für die Verwendung auf dem Betriebssystem UNIX entwickelt und wird heute hauptsächlich für die Implementierung von Betriebssystemen, Gerätetreibern und eingebetteten Anwendungen eingesetzt.

Hier sind einige Orte, an denen man C lernen kann: https://alison.com/courses/Diploma-in-Programming-in-C https://www.udemy.com/c-programming-for-beginners/ http://c.learncodethehardway.org/book/

C++

C++ ist von C abgeleitet und wird ebenfalls schon seit einiger Zeit verwendet. Um die Sprache zu erlernen, sind mindestens grundlegende Programmierkenntnisse erforderlich. C++ bietet imperative, objektorientierte und generische Programmierfunktionen, was es äußerst leistungsfähig macht, aber auch ein Verständnis verschiedener fortgeschrittener Konzepte der Informatik erfordert, um es vollständig zu beherrschen. Diese Sprache wird hauptsächlich für die Entwicklung von Systemsoftware, Videospielen, Anwendungssoftware sowie Client-/Server-Anwendungen und cloudbasierten Serveranwendungen verwendet.

Möglichkeiten, C++ zu lernen, sind unter anderem: http://www.learncpp.com/ http://www.cplusplus.com/doc/tutorial/

C#

C#, ursprünglich von Microsoft im Rahmen ihrer .NET-Initiative entwickelt, wird zur Entwicklung von Softwareanwendungen für Windows-Plattformen verwendet. Da C# ein wesentlicher Bestandteil des .NET-Frameworks ist, ist dies die richtige Sprache für Sie, wenn Sie Software für Microsoft entwickeln möchten. C# ähnelt Java sehr, sodass der Umstieg von einer Sprache zur anderen nicht allzu schwierig ist, wenn man eine davon bereits kennt. Wie Java wurde C# ursprünglich entwickelt, um objektorientierte Programmierkonzepte in eine C-ähnliche Sprache zu integrieren, ohne die Komplexität von C++.

Möglichkeiten, C# zu lernen, sind unter anderem: https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/ https://channel9.msdn.com/Series/C-Fundamentals-for-Absolute-Beginners

Java

Java ist eine objektorientierte Programmiersprache und gehört derzeit zu den am weitesten verbreiteten Sprachen. Programmierer schätzen Java, weil es von Grund auf portabel ist und auf verschiedenen Softwareplattformen gut funktioniert. Java ist eine vielseitige Sprache und kann für die Entwicklung von mobilen Anwendungen, serverseitigen Anwendungen sowie Unternehmenssoftware eingesetzt werden.

Möglichkeiten, Java zu lernen, sind unter anderem: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/ https://www.codecademy.com/edn/courses/learn-java/

R

R ist eine spezialisierte Programmiersprache, die hauptsächlich für statistische Analysen und Datenvisualisierungen verwendet wird, einschließlich bivariate Analysen und Korrelationsberechnungen. Die Popularität von R hat zugenommen, da die Nachfrage nach Datenanalyse sowohl in der akademischen Forschung als auch in der Wirtschaft hoch ist, wo Datenvisualisierung und -analyse entscheidend für den Fortschritt von Projekten sind. R ist eine ausgezeichnete Wahl, wenn Sie ein Datenanalyseprojekt durchführen müssen oder wenn Sie die eingeschränkten Möglichkeiten von Excel als zu einfach empfinden, um komplexe Korrelationen in Ihren Daten vollständig zu analysieren.

Möglichkeiten, R zu lernen, sind unter anderem: https://cran.r-project.org/manuals.html https://www.edx.org/course/r-programming-fundamentals https://www.datacamp.com/courses/free-introduction-to-r

Python

Python, das als eine der einfachsten Programmiersprachen gilt, ist eine vielseitige, hochsprachliche Skriptsprache. Sie wird für die Entwicklung von allem verwendet, von Websites und mobilen Anwendungen bis hin zur Datenanalyse. Python verfügt über eine umfangreiche und umfassende Standardbibliothek. Aufgrund seiner Einfachheit ist Python auch eine der am weitesten verbreiteten Programmiersprachen, die in US-amerikanischen Schulen unterrichtet werden. Wenn Sie neu in der Programmierung sind, ist dies ein ausgezeichneter Ausgangspunkt.

Möglichkeiten, Python zu lernen, sind unter anderem: https://www.python.org/doc/ http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-189-a-gentle-introduction-to-programming-using-python-january-iap-2011/ https://developers.google.com/edu/python/?hl=en

Rubin

Ruby ist eine weitere hervorragende Skriptsprache, die in den letzten 10 bis 15 Jahren an Beliebtheit gewonnen hat, aber in der heutigen Zeit scheinbar an Popularität verliert. Sie wird für die Entwicklung von Websites und mobilen Anwendungen eingesetzt. Diese Open-Source-Sprache verfügt über eine engagierte Community, was das Auffinden von Ressourcen zum Erlernen von Ruby erheblich erleichtert. Ruby wurde Mitte der 1990er Jahre in Japan von Yukihiro Matsumoto entwickelt. Er kombinierte Elemente aus einigen seiner Lieblingssprachen (Perl, Smalltalk, Eiffel, Ada und Lisp), um eine neue Sprache zu schaffen, die von Natur aus objektorientiert und funktional ist.

Folgende Ressourcen bieten Möglichkeiten, Ruby zu lernen:

https://www.ruby-lang.org/en/documentation/quickstart/
https://rubymonk.com/

JavaScript

JavaScript ist eine auf Java basierende Programmiersprache, die häufig verwendet wird, um Webseiten mit HTML-Code programmierbar zu machen. Es ist eine relativ einfache Sprache, die man lernen kann, und im Internet finden sich zahlreiche praktische Anleitungen, die Ihnen den Einstieg erleichtern. JavaScript wird meist innerhalb eines Webbrowsers ausgeführt, obwohl auch andere serverbasierte Anwendungen möglich sind. In den letzten Jahren hat sich JavaScript auch in anderen Bereichen verbreitet, darunter mobile Anwendungen und sogar einige eingebettete Geräte.

JavaScript verwendet ein integriertes Serialisierungsformat, um Objekte aus dem Speicher auf eine Festplatte oder einen Datenstrom zu schreiben. Dieses Format wird als JSON (JavaScript Object Notation) bezeichnet. JSON hat an Popularität gewonnen, um Daten zwischen Computern zu übertragen, ähnlich wie XML. Es ist eine schnelle und effiziente Methode, um Daten zu übertragen. Daher bereitet das Wissen über JavaScript Sie darauf vor, sich mit JSON und JSON Schema vertraut zu machen, beides Voraussetzungen für die Entwicklung von Web- und Web-Service-Anwendungen.

Hier sind einige Ressourcen, wo Sie JavaScript lernen können: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide https://www.codecademy.com/tracks/javascript

SQL

SQL, oder Structured Query Language, ist eine Abfragesprache für Datenbanken, die zur Verwaltung von Daten in relationalen Datenbanken verwendet wird. Wer sollte SQL lernen? Jeder! SQL ist allgegenwärtig, und das Erlernen ist nicht allzu schwierig. Wenn Sie jemals Daten aus einer Datenbank abrufen oder verändern müssen (und seien wir ehrlich, wer würde nicht von dieser Fähigkeit profitieren), ist dies eine ausgezeichnete Sprache, die man lernen sollte.

Ressourcen zum Erlernen von SQL: https://www.codecademy.com/learn/learn-sql http://www.sqlcourse.com/ http://www.w3schools.com/sql/ http://www.tutorialspoint.com/sql/

XQuery

XQuery ist eine funktionale Programmiersprache, die sowohl für die Abfrage als auch für die Transformation von XML- und JSON-Daten entwickelt wurde. Laut dem W3C ersetzt XQuery komplexe Java- oder C++-Programme durch wenige Codezeilen, da es einfacher zu handhaben und leichter zu warten ist. XQuery ist zudem die bevorzugte Sprache für die leistungsstarke Datenmanipulation aus einer Vielzahl von Datenquellen auf mobilen Plattformen, wie beispielsweise Altova MobileTogether. XQuery ist sehr leistungsfähig und keine schwierige Sprache, die man lernen muss.

Ressourcen zum Erlernen von XQuery: https://www.altova.com/training/xquery3/ https://www.w3schools.com/xml/xquery_intro.asp http://www.tutorialspoint.com/xquery/

Zusätzlich zu all diesen Online-Ressourcen gibt es auch viele ausgezeichnete Bücher zu all diesen Sprachen, die auf Amazon erhältlich sind. Achten Sie also auch darauf, diese Bücher anzusehen und lesen Sie vor dem Kauf die Kundenbewertungen, um die richtige Wahl zu treffen.

Es gibt keine schlechte Programmiersprache, die man seinem Repertoire hinzufügen könnte; jede einzelne Sprache wird Ihre Chancen auf dem Arbeitsmarkt nur verbessern. Also, tauchen Sie ein und beginnen Sie diesen Sommer, eine neue Programmiersprache zu lernen!