POPULARITY
Willkommen in der C-Familie. In dieser Folge nehmen wir euch mit auf eine Reise durch die drei Generationen von C, C++ und C# – jede mit ihren ganz eigenen Stärken. Vom Hardware-nahen C, das als Systemprofi den direkten Speicherzugriff beherrscht und Pointers wie kein anderer zu nutzen weiß, über C++, das seine Objektorientierung entfaltet und die Basis für viele Spiele-Engines legt, bis hin zu C#, der modernen, automatisierten Wunderwaffe für App- und Webentwicklung. Außerdem klären wir einige Begriffe wie Betriebssystem, Systemprogramm, Terminal, Shell und API. Also für Aha-Momente und nerdige Pointer-Programmier-Details ist gesorgt! Welches „C“ wird eure persönliche Heldin? Setzt die Kopfhörer auf und findet es heraus!
Das dominierende Programmierparadigma ist nach wie vor die Objektorientierung, die Konzepte wie Vererbung, Delegation und Aggregation umfasst. In dieser Episode werden die verschiedenen Ansätze der Objektorientierung diskutiert und aufgezeigt, wie unterschiedlich sie umgesetzt werden kann – insbesondere auf der Ebene der objektorientierten Programmierung. Links JAX Microservices Camp Software Architektur als Beruf Folge zu taktischem Domain-driven Design Episode Funktionale Programmierung, DDD und Architektur mit Mike Sperber Episoden zu funktionaler Programmierung Abstract Data Type bei Wikipedia Circle Ellipse Problem bei Wikipedia Command Query Separation CQS bei Wikipedia Folge zu Wiederverwendung Nikolaus Wirths Paper zu Komplexität Vortrag Beten wir Komplexität an? Wirth über das Problem der populären Programmier-Sprachen Interview mit Adele Goldberg
Ein wesentliches Merkmal der Objektorientierung ist die sogenannte Vererbung. Eine Bezeichnung, die etwas unglücklich gewählt ist, zumal Java selber das Schlüsselwort "extends" verwendet. Es ist verständlicher, von der Klassenerweiterung zu sprechen. In dieser Episode bekommen Sie einen sehr technischen Einblick in die Klassenerweiterung, was Ihnen aber hilft, Java in seinem Objektmodell zu verstehen. Dafür muss man wissen, dass es zwei Kernklassen gibt, Object und Class, die man (streng genommen) immer mitdenken muss. Der Foliensatz zur Episode: https://drive.google.com/file/d/1opUgTTgBygXcfnjEkHy--h6MvH9VbFYW/view?usp=sharing
Wir erstellen unsere ersten drei Klassen! Sie lernen dabei den Unterschied von Klassen- und Objektvariablen kennen und den von Klassen- und Objektmethoden. Dazu kommt noch der Konstruktor (auch eine Art Methode) und die Repräsentationsmethode toString. Damit haben Sie die wichtigsten Bausteine zum Aufbau von Klassen zur Hand. Der Link zum Foliensatz: https://drive.google.com/file/d/1GPr4PZKWwKM9x-vyjtT4Mm3eqq_OzQyI/view?usp=sharing Der Link zum Code: https://gist.github.com/denkspuren/3834dbd504c055bf811753da47c35d3e
Um den Buchclub zu Funktionale Programmierung in Java geht es in der einhundertachtundfünfzigsten Episode des IT-Berufe-Podcasts. Inhalt Die folgenden Inhalte werden im Buch besprochen. Meiner Meinung nach sollte jeder Azubi zum Fachinformatiker Anwendungsentwicklung diese Begriffe wenigstens einmal gehört haben, besser noch sie mit eigenen Worten erklären können. Die funktionale Programmierung ist neben der Objektorientierung heutzutage... Der Beitrag Buchclub: Funktionale Programmierung in Java von Herbert Prähofer – IT-Berufe-Podcast #158 erschien zuerst auf IT-Berufe-Podcast.
Um Möglichkeiten, Abhängigkeiten in Tests loszuwerden, geht es in der einhundertdreiundvierzigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Vorweg: Automatisierte Tests gibt es nicht nur für objektorientierte Software, sondern natürlich auch für funktionale, prozedurale usw. Die folgenden Inhalte beziehen sich aber ausschließlich auf die Objektorientierung. In anderen Paradigmen haben die genannten Begriffe evtl. andere Bedeutungen oder die vorgestellten... Der Beitrag Mocks, Stubs, Fakes, Dummies und Test Doubles – Anwendungsentwickler-Podcast #143 erschien zuerst auf IT-Berufe-Podcast.
Eine Einführung in die wichtigsten Begriffe rund um Programmierung und Objektorientierung gibt es in der einhundertzweiundvierzigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Compiler und IDE Was ist ein Compiler? Ein Compiler übersetzt Sourcecode (z.B. for (int i: numbers)), den ein Mensch schreibt, in Maschinencode (z.B: 00011010 00011010), den ein Computer ausführen kann. Dafür muss der Sourcecode absolut... Der Beitrag Einführung in die Programmierung und Objektorientierung – Anwendungsentwickler-Podcast #142 erschien zuerst auf IT-Berufe-Podcast.
Getter und Setter, ein vernünftiges Klassendesign und Enumerations sind die Themen der fünfundvierzigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Getter und Setter Wie steuert man den Zugriff auf Instanzvariablen? Über dafür vorgesehene Methoden: Getter und Setter. Was sind Getter und Setter? Methoden zum Setzen und Lesen von Instanzvariablen. Welchen Vorteil haben Setter im Vergleich zu public Attributen?... Der Beitrag Objektorientierung Teil 3 (Lernzielkontrolle zu Getter/Setter, Klassendesign, Enumerations) – Anwendungsentwickler-Podcast #45 erschien zuerst auf IT-Berufe-Podcast.
Sichtbarkeitsmodifizierer und Konstruktoren sind die Themen der vierundvierzigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Konstruktoren Was macht das Schlüsselwort this? Referenz auf das aktuelle Objekt. Was ist die Aufgabe eines Konstruktors? Ein Objekt zu erzeugen und es in einen gültigen Zustand zu versetzen. Wie definiert man einen Konstruktor? In Java: Methode ohne Rückgabewert und dem gleichen Namen... Der Beitrag Objektorientierung Teil 2 (Lernzielkontrolle) – Anwendungsentwickler-Podcast #44 erschien zuerst auf IT-Berufe-Podcast.
Die grundlegenden Begrifflichkeiten rund um Klasse und Objekt sind die Inhalte der dreiundvierzigsten Episode des Anwendungsentwickler-Podcasts. Inhalt Objektorientierung Was ist eine Klasse? Eine Klasse ist ein Bauplan für Objekte. Sie definiert alle Attribute und Methoden ihrer Objekte. Was ist ein Objekt? Ein Ding der realen Welt, das Eigenschaften und Funktionen besitzt. Was ist eine Instanz?... Der Beitrag Objektorientierung Teil 1 (Lernzielkontrolle) erschien zuerst auf IT-Berufe-Podcast.
In der zehnten Episode meines Anwendungsentwickler-Podcasts beende ich meine Reihe zu häufigen Fragen im Fachgespräch rund um die Objektorientierung mit dem Thema Polymorphie. Inhalt Polymorphie (oder auch Polymorphismus) heißt Vielgestaltigkeit. Polymorphie ist ein Konzept der Objektorientierung, das zwei konkrete Ausprägungen hat: Variablen können unterschiedliche Datentypen annehmen. Überall wo eine Basisklasse oder ein Interface erwartet wird... Der Beitrag Häufige Fragen im Fachgespräch – Polymorphie – Anwendungsentwickler-Podcast #10 erschien zuerst auf IT-Berufe-Podcast.
In der achten Episode meines Anwendungsentwickler-Podcasts setze ich meine Reihe der häufigsten Prüfungsfragen im Fachgespräch fort. Das Thema ist dieses Mal die zweite „Säule“ der Objektorientierung, die Vererbung. Beantwortung der Frage im Fachgespräch Klassen können Attribute und Methoden von anderen Klassen übernehmen, indem sie von ihnen erben. Die vererbende Klasse heißt Basisklasse (auch Eltern- oder... Der Beitrag Häufige Fragen im Fachgespräch – Vererbung – Anwendungsentwickler-Podcast #8 erschien zuerst auf IT-Berufe-Podcast.
In der sechsten Episode meines Anwendungsentwickler-Podcasts setze ich meine Reihe über häufige Fragen im Fachgespräch fort. Dieses Mal geht es um die Kapselung im Rahmen der Objektorientierung. Beantwortung der Frage im Fachgespräch Objekte bilden Dinge der realen Welt ab. Sie haben Eigenschaften und Funktionen. Beispiel: Person mit Eigenschaft Geburtstag und Funktion gruesse(). In der Objektorientierung... Der Beitrag Häufige Fragen im Fachgespräch – Kapselung – Anwendungsentwickler-Podcast #6 erschien zuerst auf IT-Berufe-Podcast.
In der zweiten Episode des Anwendungsentwickler-Podcasts geht es um eine der häufigsten – wenn nicht die häufigste – Frage im Fachgespräch: Was ist Objektorientierung? Mit der Antwort auf diese Frage kann man ohne Weiteres 10 Minuten und mehr füllen, daher gebe ich ein paar Tipps, wie man sinnvoll mit dieser Frage umgeht. Allgemeines zu Prüfungsfragen... Der Beitrag Häufige Fragen im Fachgespräch – Objektorientierung – Anwendungsentwickler-Podcast #2 erschien zuerst auf IT-Berufe-Podcast.
Gerne wird Klassenbasierung mit Objektorientierung verwechselt. Dabei existiert auch noch das System der Prototypen. Hier werden nicht statische Klassen als Vorlagen für Instanzen verwendet, sondern Instanzen aus anderen kopiert und zur Laufzeit verändert. Dabei ist es erforderlich, Methoden und Ivars nachträglich hinzufügen zu können. Session 4, Samstag, Großer Saal, Macoun 2011
Nach einigen Grundlagen zeigen wir die Objektorientierung, was sie bedeutet und zeigen dazu einige Beispiele Mehr auf: http://www.tch-support.de/cs
Ruby hat sich in den letzten Jahren den Ruf einer der beliebtesten Programmiersprachen verdient und hat nachweislich die Anwendungen innovativer Webanwendungen spürbar nach vorne gebracht. Vor allem das Framework Ruby on Rails hat der Sprache viele neue Freunde eingebracht. Im Gespräch mit Tim Pritlove berichtet Martin Wöginger von seiner Liebe zu und seinen Erfahrungen mit Ruby und Ruby on Rails und stellt Eigenschaften, Vor- und Nachteile der Entwicklungsumgebung vor. Themen: Geschichte und verwandte Programmiersprache; Designprinzipien von Ruby; Syntax Sugar; Sprachkonzepte, Objektorientierung und Modularisierung; Erweitern von Basisklassen; Kontrollstrukturen und Closures; Eingebaute Datentypen; Vor- und Nachteile von Ruby; Implementierungen; Ruby on Rails; ORM und ActiveRecord; das Model-View-Controller-Modell; Hosting von Ruby-Anwendungen; Paketmanagement; Setup on Rails-Anwendungen; Programmieren mit Tests und Behaviour-driven Development; Anlegen und Migrieren von Datenbanken; Scaffolding; Restful Programming; Sicherheitsaspekte; Resourcen; Ruby und der Mac.
Tim Janik und Sven Herzberg sind Entwickler der GTK+ und Gnome Community. Im (sehr technischen) Gespräch mit Tim Pritlove stellen sie die Geschichte und Hintergründe der beiden Systeme vor. GTK+ (Gimp Toolkit) ist eine freie graphische Benutzerschnittstelle, Gnome das darauf aufsetzende Desktop-System für freie Betriebssysteme. Im Podcast geht es um die Details: die Objektorientierung in GTK+, die Portierung von GTK+ auf andere Betriebssysteme, was das GTK+ Projekt gerne von Mac OS X abkucken möchte, die Notwendigkeit eines Bruchs mit der Vergangenheit zur Implementierung neuer Fähigkeiten, wo die Grenze zwischen GTK+ und GNOME liegt und wie sie sich über die Zeit verschiebt, die gemeinsame Arbeit an Desktop-Features im Projekt freedesktop.org und den Wert von Real-Life-Treffen für Entwickler von Freier Software.
Programmiersprachen gibt es viele. Methoden der Vorgehensweise beim Programmieren wie Sand am Meer. Mit der Zeit stellen sich einige Modelle aber als überlebenswürdiger heraus an andere. Den größten Auftrieb hat dabei seit langem das objekt-orientierte Programmieren. Darüber worum es sich bei "Objektorientierung" tatsächlich handelt gehen die Meinungen und Einsichten aber weit auseinander.