Dies sind die wichtigsten Begriffe der Informatik, die Sie kennen sollten, wenn Sie neu in der Programmierung sind

Entscheidende CS-Terminologien und -Konzepte werden in einfachem Englisch erklärt

Da mich viele Freunde und Familienmitglieder mit Nicht-CS-Hintergrund nach unterschiedlichen Terminologien und Konzepten fragen, werde ich versuchen, die folgenden Informatikkonzepte in einer möglichst einfachen Sprache zu erklären.

In dieser Kurzanleitung erfahren Sie, was jeder Begriff / jedes Konzept bedeutet und warum es wichtig ist :

  • Backend-Entwicklung
  • Frontend-Entwicklung
  • Programmiersprachen
  • Algorithmen
  • API
  • Fehler
  • Open Source
  • Crowdsource

Am Ende dieses Artikels werde ich auch einige Ressourcen für Sie freigeben, um mehr zu erfahren!

Backend-Entwicklung

Vielleicht haben Sie den Begriff „Backend-Entwicklung“ schon ziemlich oft gehört. Vor allem, wenn Sie bei LinkedIn rumhängen.

"Backend" bezieht sich in diesem Fall auf eine Schicht des Technologie-Stacks. Dies umfasst hauptsächlich das Schreiben oder Verwalten eines Webdienstes mit einer Datenbank zum Speichern von Daten.

Oft ist die Backend-Entwicklung mit Technologien wie Java, Scala, Python, DynamoDB, MongoDB, NodeJS, MySQL, MapReduce und vielen, vielen mehr verbunden.

Dies steht im Gegensatz zur Front-End-Entwicklung, die sich häufig auf die Benutzeroberfläche (UI) oder die kundenorientierte Seite eines Features bezieht.

Warum ist das wichtig

Wenn Sie die Unterschiede zwischen Frontend- und Backend-Entwicklung kennen, wissen Sie, über welche Komponenten Sie nachdenken sollten, bevor Sie in Zukunft mit der Entwicklung einer App beginnen.

Frontend-Entwicklung

Bei der Frontend-Entwicklung wird häufig an kundenorientierten Funktionen wie einer Webseite oder einer iOS / Android-App gearbeitet.

Hierbei handelt es sich um verschiedene Arten von Technologien wie HTML, CSS, JavaScript, jQuery, React, Angular, Swift usw.

Der Grund, warum ich sie als Technologien und nicht als Programmiersprachen bezeichne, liegt darin, dass einige davon Frameworks sind, die Ihnen beim Einrichten Ihrer Basen und beim Programmieren helfen, aber keine Programmiersprachen an sich sind. Beispiele hierfür sind React und Angular.

Eine Programmiersprache ist einfach eine Möglichkeit für Menschen, mit Computern zu kommunizieren. Einige mögen argumentieren, dass HTML eine Programmiersprache ist… Ich denke, das ist ein Thema für einen anderen Tag. ?

Warum ist es wichtig?

Die Frontend-Entwicklung bestand früher nur aus HTML, CSS und JavaScript. Heute ist es ein ganzes Biest für sich mit einem eigenen Technologie-Stack und Build-Tools. Die Frontend-Technologie schreitet blitzschnell voran. Ich empfehle dringend, Frontend-Tools zu lernen, damit Sie verstehen, was in der heutigen Programmierwelt passiert.

Programmiersprache

Ein Computer kann die ihm gegebenen Befehle sehr gut ausführen. Damit wir Menschen mit einem Computer kommunizieren können, benötigen wir eine Reihe gemeinsamer verständlicher Sprachen - eine Reihe von Anweisungen, auf die sich sowohl Menschen als auch Computer einigen und mit denen sie kommunizieren können.

In der menschlichen Welt verwenden wir Sprachen wie Englisch, Mandarin, Spanisch usw., um zu kommunizieren.

Wenn es um Computer geht, nennen wir es eine Programmiersprache . Eine Programmiersprache ermöglicht die Kommunikation zwischen Mensch und Computer . Beispiele für Programmiersprachen sind Java, C ++, Python und viele mehr.

Warum ist es wichtig?

Wenn Sie eine Programmiersprache lernen, können Sie verstehen, wie etwas, das Sie im Internet sehen, unter der Motorhaube funktioniert - es ist, als ob Sie wissen, wie und warum Ihr Auto fährt. Mit etwas Ellbogenfett können Sie Ihre eigenen Apps wie Candy Crush oder Twitter erstellen.

Algorithmen

Ein Prozess oder ein Satz von Regeln, die bei Berechnungen oder anderen Problemlösungsvorgängen zu befolgen sind, insbesondere von einem Computer. - Google :)

Computer können Anweisungen hervorragend ausführen, und als Softwareentwickler schreiben wir Anweisungen für die Ausführung der Computer. Ein Algorithmus ist eine Liste von Schritten oder Anweisungen, die mit oder ohne Computer ausgeführt werden können, um ein bestimmtes Problem zu lösen.

Eines der ersten Probleme, die wir als Informatikstudenten lernen, ist das Problem des Sortierens. Das Wesentliche dabei ist, ein Set oder eine Sammlung von Elementen auf die effizienteste Weise zu sortieren.

Es gibt viele Sortiermöglichkeiten. Eine beliebte ist Bubble Sort, auch bekannt als "Vergleichssortierung". Es geht darum, das größere von zwei Elementen zu vergleichen und auszuwählen und es für alle anderen Elemente zu wiederholen, bis schließlich alles sortiert ist. Andere sind Insertion Sort, Merge Sort und viele, viele mehr!

Ich empfehle Ihnen dringend, sie zu erkunden, da dies eine faszinierende Einführung in Algorithmen ist. In diesem Youtube-Video erfahren Sie mehr über Sortieralgorithmen.

Warum ist es wichtig?

Algorithmen sind der Kern der Informatik. Wenn Sie verstehen, was Algorithmen sind und wie sie funktionieren, werden Sie zu einem besseren Softwareentwickler. Zeitraum.

API

API, auch bekannt als Anwendungsprogrammierschnittstelle, auch bekannt als Informationsquelle. Stellen Sie sich konkreter vor, Sie hätten eine Limonade gut zu Hause. Ihre Nachbarn wollen einen Schluck Limonade, aber Sie möchten nicht, dass der Brunnen verschmutzt wird. Was machst du dann?

Sie haben beschlossen, einen Schlauch zu bauen, der an einen kleinen Schlauch außerhalb Ihres Hauses angeschlossen wird. Alle Ihre Nachbarn, die einen Vorgeschmack auf Ihre magische Limonade wünschen, stellen sich auf und öffnen den Schlauch, um Zugang zu Ihrer Limonade zu erhalten. All dies, ohne jemals in die Nähe Ihres Brunnens zu kommen, und Sie können auch steuern, wann Sie die Limonade pumpen, die Limonade austauschen, wenn Ihr Brunnen eines Tages trocken läuft, oder vielleicht Leute belasten, die viel Limonade trinken.

Dies ist die Idee, die heutzutage hinter vielen Unternehmen steckt - diese Unternehmen bauen eine „Quelle“ wertvoller Daten auf und verkaufen sie dann an andere, die über eine API auf diese Daten zugreifen möchten.

Warum ist es wichtig?

Das Internet setzt heute auf eine nahtlose Kommunikation zwischen verschiedenen Diensten. Auf diese Weise können wir Tools / Websites erstellen, die miteinander kommunizieren. Die API ist die grundlegende Schicht, auf der die gesamte Kommunikation stattfinden kann. Deshalb ist es wichtig zu wissen, wie und was das Internet zur Kommunikation verwendet.

Bug?

Möglicherweise haben Sie das folgende Mem auf Social Media-Websites gesehen und möglicherweise nicht verstanden, was es wirklich bedeutet.

Ein Fehler ist ein Fehler in einem Computerprogramm , der verhindert, dass das Programm wie erwartet ausgeführt wird.

Angenommen, Sie haben eine iOS-Anwendung heruntergeladen, bei der es sich um eine Art Computerprogramm handelt, das die lokale Wettertemperatur in Fahrenheit anzeigen soll. Die iOS-Anwendung zeigt jedoch möglicherweise nur die Temperatur in Celsius an, anstatt der erwarteten Fahrenheit.

In einem solchen Fall funktioniert das Programm nicht wie erwartet (sollte Fahrenheit und nicht Celsius anzeigen), und Sie würden den Fehler als Fehler bezeichnen.

Dies ist in der Branche so verbreitet, dass Softwareentwickler daraus einen Insider-Witz machten, daher das Meme: „Es ist kein Fehler, es ist eine Funktion“.

Warum ist es wichtig

Fehler passieren die ganze Zeit. Wenn Sie dies wissen, können Sie im Internet navigieren und darauf hinweisen, wenn etwas nicht richtig funktioniert. Das nächste Mal nennst du es richtig "Fehler" und nicht "das Ding dort schwebt nicht richtig".

Open Source

Ich werde versuchen, Open Source mit einer einfachen Analogie zu erklären, die ich mir ausgedacht habe :)

Stellen Sie sich vor, Sie besitzen einen Limonadenstand und besitzen ein spezielles Rezept für die Herstellung der besten Limonade der Stadt. Sie teilen das Geheimrezept mit niemandem, weil Sie befürchten, dass jemand anderes es nimmt und Ihre Kunden stiehlt. Ihr geheimes Rezept wird in diesem Fall als "geschlossene Quelle" betrachtet, auf die nur Sie Zugriff haben.

Stellen Sie sich alternativ vor, Sie teilen Ihr Limonadenrezept frei online und nutzen die Möglichkeiten des Internets, um es zu verbessern, damit jeder die bestmögliche Limonade genießen und davon profitieren kann. In diesem Fall wird Ihr Rezept als „Open Source“ betrachtet, da es frei verfügbar ist und andere dazu beitragen, es verwenden und / oder ändern können.

Dieser Begriff ist mit dem Aufstieg von Facebook und der Welle von Technologieunternehmen, die die Internet-Community ermutigen, sich an der Entwicklung neuer und aufregender Technologien zu beteiligen, viel beliebter geworden.

Warum ist es wichtig?

Das Internet hat sich in den letzten Jahren aufgrund von Open Source viel schneller entwickelt. Es ist eine Revolution, und jeder sollte wissen, warum es Sinn macht, Dinge kostenlos zu machen und sie mit der Welt zu teilen.

Crowdsourcing

Crowdsourcing - Erhalten (Informationen oder Eingaben in eine bestimmte Aufgabe oder ein bestimmtes Projekt) durch Inanspruchnahme der Dienste einer großen Anzahl von bezahlten oder unbezahlten Personen, normalerweise über das Internet.

Crowdsource ist die Idee, eine große Gruppe von Menschen dazu zu bringen, zu einer gemeinsamen Sache beizutragen.

Nehmen wir an, Sie betreiben wieder denselben Limonadenstand. Ihre Kunden sagen, dass Ihre Limonade einen neuen Geschmack braucht. Sie erkennen, dass Sie mit der Kraft des Internets die Leute bitten können, Ihnen beim Brainstorming des besten Limonadenrezepts zu helfen.

Sie können dann ein Twitter-Konto eröffnen und die Leute dazu bringen, ihr bestes Limonadenrezept aus der ganzen Welt beizusteuern. Dies wird als Crowdsourcing bezeichnet. Dies ist der Vorgang, bei dem Menschen dazu gebracht werden, zu einer gemeinsamen Sache beizutragen (in diesem Fall zur Herstellung von Limonade).

Warum ist es wichtig?

Das Internet hat es der gesamten Bevölkerung ermöglicht, sich zu vereinen und ihr bestes Gehirn hinter einige der schwierigsten Herausforderungen der Welt zu stellen. Crowdsourcing hat es uns ermöglicht, dies nahtlos über das Internet zu tun. Ich denke, das ist ein großer Schritt vorwärts für die Menschheit.

Empfohlene Ressourcen

  • Stanfords Online CS 101 - Der Kurs bietet Ihnen einen grundlegenden Überblick über CS-Terminologien, die Funktionsweise des Internets, die Erstellung und Verarbeitung digitaler Bilder usw. Das Beste ist, dass er KOSTENLOS ist!
  • Python-Crash-Kurs - Eine der besten Ressourcen, um mit der Python-Programmierung zu beginnen. Wenn Sie sich beim Programmieren die Hände schmutzig machen möchten, empfehle ich, mit Python und dem folgenden Buch zu beginnen.
  • Python, Praktischer Leitfaden - Dies ist ein interessantes Buch, nachdem Sie mit dem Python-Crash-Kurs fertig sind. Ich kann mir vorstellen, dass Sie die meisten Dinge hier ohne das Buch erledigen können, aber es gibt Ihnen detailliertere Schritt-für-Schritt-Anweisungen, wie es geht. Ideal für Leute, die lieber mit gutem Beispiel lernen.
  • Einführung in Algorithmen - Wenn Sie mehr über Algorithmen erfahren möchten, die ein Grundprinzip der Informatik sind, ist dieses Buch sehr zu empfehlen. Dies ist DAS Lehrbuch für viele CS-Kurse.
  • Acing the Coding Interview - Dies ist mein persönlicher Coaching-Kurs, in dem ich Ihnen zeige, wie ich mich auf meine Interviews vorbereitet habe, meine Tipps und Tricks für das Coding-Interview und vieles mehr.

Zhia Chong ist Softwareentwicklerin bei Twitter. Während er keinen Code schleudert, spielt er Tennis, schreibt Artikel oder macht Youtube-Videos.

Wenn Ihnen dieser Artikel gefallen hat und Sie eine Kopie davon als PDF erhalten möchten, sollten Sie meine Mailingliste abonnieren, auf der ich Branchennachrichten, Programmier-Leckerbissen, Interviewnotizen und vieles mehr teile!