Kategorien
JS Hero

JS Hero 4.2.0

JS Hero ist in Version 4.2.0 erschienen. Es gibt zwei zentrale Änderungen:

  • Von var zu let: In der ursprünglichen JavaScript-Version von 1995 wurden Variablen entweder ohne Schlüsselwort oder mit dem Schlüsselwort var deklariert. Die Deklaration mit var hat jedoch einige Nachteile. Um diese Nachteile zu beseitigen, wurde 2015 die Deklaration mit let und const eingeführt. Seitdem kann man sowohl var, als auch let und const verwenden. Da man mit let und const klareren Code schreiben kann, wurde die Varaiblendeklaration in JS Hero auf let umgestellt. Lektionen mit const werden folgen.
  • function declaration vs. function expression: Schon in der ursprünglichen Version von JavaScript gab es zwei zentrale Arten, Funktionen zu definieren: function declaration und function expression. Beide Varianten haben Vor- und Nachteile. Da die Funktionsdeklaration stylistisch klarer ist, habe ich mich entschlossen, JS Hero von function expression auf function declaration umzustellen.

Beide Änderungen betreffen nur die Art und Weise, wie Code in JS Hero präsentiert wird. Der Lösungs-Code ist davon nicht betroffen. Lösungen kann man – wie bisher auch – in beliebigem JavaScript schreiben.

Kategorien
Free and Open Source

Bookzilla

Bücher kauft man am besten bei seinem lokalen Buchhändler. Oder – wenn man freie Software liebt – bei Bookzilla. Bei Bookzilla gehen 5% des Kaufpreises an die Free Software Foundation Europe.

Bookzilla ist ein Charity-Projekt der Software-Schmiede Freiheit.com. Es basiert auf einer Platform des Zwischenbuchhändlers Libri GmbH.

Kategorien
JavaScript

JavaScript Quiz

Wer auf lockere Art und Weise seine JavaScript-Kenntnisse testen und verbessern möchte, sollte sich das JavaScript-Quiz von Dr. Axel Rauschmayer nicht entgehen lassen.

Das Quiz ist ein Bonbon zu Axel’s Buch JavaScript for impatient programmers und ist zu 50% als freies Preview verfügbar. Aber schon diese Preview lohnt sich. Über 100 Fragen gehen auf die Geschichte von JavaScript, die Syntax, primitive Werte, den Kontrollfluss und Objekte ein.

Wie die meisten Bücher von Axel richtet sich das Quiz an erfahrene ProgrammiererInnen. Wo genau sollten Semikolons gesetzt werden, wie war das nochmal mit label und was ergibt '122' + true? Das Quiz macht Spaß und schult die vielen Details der Sprache JavaScript.

Kategorien
Mathematik

Mathe im Mai

Alljährlich veranstaltet die gemeinnützige Mathe im Leben GmbH die Mathe-Challenge Mathe im Advent. Angesichts der Corona-Krise gibt es jetzt auch die Mathe im Mai – Challenge.

Gemacht ist die Challenge für Schüler*innen der Klassen 4 bis 9. Vom 4. bis zum 20. Mai wird jeden Wochentag eine Aufgabe gestellt.

Viel Spaß beim Knobeln!

Kategorien
Learn to Code Mathematik

Project Euler

Ist man auf der Suche nach anspruchsvollen, mathematischen Code-Problemen, so sollte man bei Project Euler vorbeischauen. Seit 2001 werden hier Woche für Woche Probleme aus dem Gebiet der Mathematik und der Informatik veröffentlicht. Bis heute haben sich so über 700 Probleme angesammelt.

Gesucht ist immer eine meist sehr große Zahl. Um diese Zahl zu finden, muss man einen passenden Algorithmus entwerfen und diesen in einer beliegiegen Programmiersprache umsetzen. Nach Login kann man seine Lösungszahl auf der Website überprüfen. Neben der algorithmischen Lösung kann man bei einigen Problemen alternativ auch eine passende mathematische Formel finden.

Die erste Project Euler Aufgabe kann man in JavaScript auf JS Hero lösen.

Kategorien
JavaScript

How JavaScript works

Starten möchte ich den JS Hero Blog mit einer Vorstellung des Buchs „HOW JAVASCRIPT WORKS“ von Douglas Crockford.

Seit über 20 Jahren beinflusst Douglas Crockford die Entwicklung von JavaScript. Mit seinem Buch „JavaScript: The Good Parts“ von 2008 zeigte er, dass JavaScript im Kern eine moderne Programmiersprache ist. Beschränkt man sich auf die „Good Parts“, kann man mit JavaScript lesbare, wartbare und fehlerarme Programme schreiben.

Mit „HOW JAVASCRIPT WORKS“ von 2018 setzt Crockford diesen Weg fort. Er unterzieht JavaScript einer akribischen Analyse. In 31 Kapiteln untersucht er die einzelnen Bestandteile von JavaScript. Dabei geht es ihm nicht um die letzten neuen Features. Ganz im Gegenteil. Ihm interessieren die einfachen Dinge. Er untersucht wie Numbers, Strings, Arrays oder Objekte funktionieren. Er zeigt auf, was an ihnen gut und was an ihnen schlecht ist.

Zum Beispiel Zahlen: JavaScript kennt genau einen Zahlentyp: number. Mit diesem Typ kann man in gewissen Grenzen alle Dezimalzahlen darstellen. Andere Programmiersprachen besitzen dafür eine Vielzahl von Datentypen. In Java gibt es byte, short,int und long für ganze Zahlen sowie float und double für Fließkommazahlen. Was ist besser? Crockford ist hier eindeutig: dass JavaScript nur einen Zahlentyp kennt, ist eines seiner größten Stärken. Beim Programmieren muss man sich keine Gedanken machen, welchen Zahlentyp man nehmen soll. Fehler bei der falschen Wahl sowie der Konvertierung zwischen verschiedenen Zahlentypen werden vermieden.

Den Horizont des Buches bildet „The Next Language“. Zentrales Paradigma dieser „Next Language“ wird die eventbasierte, asynchrone, global verteilte Programmierung sein. JavaScript ist nicht „The Next Language“. Aber insbesondere mit der Behandlung von Funktionen und Events kann JavaScript dieser „Next Language“ wichtige Impulse liefern.

„HOW JAVASCRIPT WORKS“ ist ein faszinierendes Buch. Es ist kein Buch für Anfänger und es ist kein Buch, um JavaScript zu lernen. Es wendet sich an erfahrene Programmierer und vermittelt eine Idee davon, wie Programmieren im Großen und im Kleinen funktioniert und funktionieren sollte.

Kategorien
JS Hero

JS Hero Blog

2016 habe ich im Zuge einer Programmierwerkstatt an der Gesamtschule Bremen Mitte das Tutorial JS Hero entwickelt. In den letzten Jahren habe ich dieses Tutorial immer wieder in kleinen Schritten weiterentwickelt. Heute bietet es mit über 100 Lektionen und dazugehörigen Online-Übungen einen Einstiegs ins Programmieren und einen Einstieg in JavaScript.

Dieses Tutorial möchte ich nun mit einem Blog ergänzen. Zu einen sollen Themen von JS Hero, also JavaScript und Learn-to-Code weitergeführt werden. Zum anderen soll das Coden in seiner vollen Bandbreite Thema sein.

Viel Spaß beim Lesen!