Sie sagen es, wir coden es!

Neue Programmiersprachen – welche lohnt es sich zu lernen?

In der sich ständig ändernden Welt der IT werden auch immer wieder neue Programmiersprachen veröffentlicht – die Auswahl ist riesig. Dir fällt es schwer, herauszufinden bei welchen es Sinn macht, sie zu lernen? Deswegen stellen wir dir die am stärksten wachsenden einmal vor.

Was haben die beliebtesten Programmiersprachen Deutschlands gemeinsam?

Je mehr man die neuen Sprachen unter die Lupe nimmt, desto stärker fällt auf: es sind Trends zu beobachten. Entwickler haben keine Lust mehr auf Null-Pointer-Exceptions. Programmiersprachen wie Kotlin, Swift und TypeScript sind alle statisch typisiert und legen ihren Fokus auf Typsicherheit. Im Gegensatz zu der dynamischen Typisierung wird bei der statischen der Datentyp bereits bei der Kompilierung festgelegt. So werden Fehler wie Null-Pointer-Exceptions früher erkannt. Obwohl jedes Projekt ausgiebig getestet werden muss, spart man sich damit einige Zeit.

Die alten Sprachen werden zwar noch regelmäßig aktualisiert, aber die Computerwelt hat sich zu sehr gewandelt, als dass sie noch zeitgemäß sein könnten. Es gibt neue Technologien, Möglichkeiten und Anforderungen, an die sich die Sprachen anpassen müssen. Das bedeutet jedoch nicht, dass die ‘Oldies’ wie C++ und Java heute wertlos sind. Sie werden nämlich weiterhin am meisten verwendet. Selbst angehende Entwickler benutzen noch die selben Technologien wie diejenigen, die seit Jahren berufstätig sind.

Neue Programmiersprachen wollen nicht die alten ersetzen, sie arbeiten vielmehr mit ihnen zusammen und versuchen, sie leichter anwendbar zu machen. Ohne eine Interoperabilität mit den Klassikern des 20. Jahrhunderts zu haben, könnte kaum eine neue Sprache Fuß fassen. Beispielsweise TypeScript würde sich einen großen Nachteil verschaffen, wenn man mit ihr nicht auf die ganzen JavaScript-Frameworks und -Libraries zurückgreifen könnte.

Rust

Bis jetzt waren Sprachen wie C und C++ in der Entwicklung von Betriebssystemen und leistungskritischen Anwendungen die Führer. Als neuer Konkurrent kommt jetzt Rust ins Spiel und hat, dadurch, dass es die beliebteste Programmiersprache 2018 ist, auch gute Chancen, um bald vorne mit dabei zu sein. In 2009 begann ein Angestellter von Mozilla sie zu entwickeln. Er wurde später von dem Unternehmen unterstützt und veröffentlichte sie vor circa vier Jahren.

Rust wird zum Maschinencode kompiliert und ermöglicht dadurch den direkten Zugriff auf die Hardware. Gleichzeitig wird aber auch darauf geachtet, dass, wie in Java und C#, Speicherzugriffe nicht zu Sicherheitslücken führen. So füllt sie den Zwischenraum zwischen niederen und höheren Programmiersprachen. Rust eignet sich gut, um parallele und nebenläufige Anwendungen zu entwickeln, da hier ebenfalls keine der oben erwähnten Null-Pointer-Exceptions aufkommen können. Die Ausführungsgeschwindigkeit entspricht der von Softwares, die mit C und C++ programmiert wurden.

Kotlin

Kotlin, die 2016 veröffentlichte Sprache, die die zweitbeliebteste des letzten Jahres war, ist zwar noch recht jung, hat aber viele moderne und vielversprechende Features zu bieten. Ursprünglich wurde sie für die Java Virtual Machine (JVM) entwickelt. Dadurch können die Programme, die in Kotlin geschrieben sind, in Bytecode übersetzt werden, der dann von der JVM gelesen werden kann. Die Sprache kann also ohne Probleme Java-Klassen aufrufen und umgekehrt, sodass man, bereits in Java geschriebene Programme, nach und nach in Kotlin umschreiben kann.

Mittlerweile gilt sie auch als offizielle Android-Sprache. Aktuell ist noch dazu die Ergänzung Kotlin/Native in der Entwicklung, mit der sie dann auch für MacOS, iOS und Windows verwendet werden kann. Die neue Programmiersprache hat eine schlaue Syntax für Lambda Ausdrücke – so wird ein deutlich kürzerer Code als bei Java ermöglicht.

Swift

Der Nachfolger von Objective-C kam 2015 raus und nennt sich Swift. Die Sprache wird hauptsächlich für Apples Betriebssysteme iOS und OS X verwendet und überzeugt durch eine sehr übersichtliche Syntax. Dadurch ist sie auch attraktiv für Anfänger und sogar technisch interessierte Kinder. Apple bemüht sich sehr darum, dass jedem ermöglicht wird, mit der iPad-App ‘Swift Playgrounds’ selbst programmieren zu lernen. Die Entwicklungssprache ist Open Source, was es interessant für viele Developer macht, sich am Fortschritt und den Veränderungen zu beteiligen. Eine Portierung auf den Raspberry Pi hat so schon funktioniert. Die Performance von Swift ist erwiesenermaßen besser als die von Objective-C.

Was Swift noch nicht liefern kann, ist eine Binärschnittstellen-Stabilität mit früheren Versionen der Computersprache. Will man nämlich eine, mit einer älteren Version erstellte App, mit der neusten Version der Sprache weiter programmieren, muss man das Ganze nochmal von vorne anfangen. Das soll sich mit dem Release von Swift 5 ändern.

Fazit

Obwohl die Oldies noch immer die am häufigsten verwendeten Programmiersprachen sind, machen die Neuen ihnen langsam Druck. Die Sprachen wachsen mit hoher Geschwindigkeit, beispielsweise Kotlin hat im vergangenen Jahr seine Nutzerzahl fast verdreifachen können. Die Klassiker des 20. Jahrhunderts sind von der IT-Welt noch nicht wegzudenken und dürfen nicht außer Acht gelassen werden. Wer aber experimentierfreudig ist oder sich eine anwenderfreundlichere Programmierung wünscht, sollte definitiv mal die oben vorgestellten Sprachen genauer unter die Lupe nehmen.

Side-Note: Es kann aber auch sinnvoll sein, ganz veraltete Programmiersprachen zu lernen: einige Firmen verwenden noch so alte Programme, dass es nur wenige Entwickler gibt, die dessen Sprachen überhaupt noch beherrschen. Die NASA sucht beispielsweise aktuell Developer, die Sprachen wie Fortran und Assembler aus den 1970er Jahren beherrschen. Dies ist zwar eine mühsame Tätigkeit, aber so ist man für den Arbeitgeber natürlich unentbehrlich.

Du bist auch interessiert daran, dich in der </CODING>-Welt auszutoben und dein theoretisches Wissen in der Praxis anzuwenden? Wir sind stets auf der Suche nach talentierten und motivierten Softwareentwicklern, die unsere Community bereichern. Ihr könnt Teil davon werden, Ideen von Startups und KMU zu verwirklichen und bestehende Prozesse effizienter zu gestalten. Dabei profitiert Ihr von fachlichem Austausch und der Möglichkeit eines flexiblen Nebenverdiensts mit breitem Erfahrungsspektrum.

Progressive Web Apps – was, wie, wer, warum?

Was sind Progressive Web Apps (im Späteren auch als PWA bezeichnet) eigentlich überhaupt und wieso hört man auf einmal überall von ihnen? Damit beschäftigen wir uns heute und erklären, warum sie genau für deine Firma das Richtige sein könnten.

PWA, der Untergang aller Apps?

PWA sind im Einfachen Websites, die die Eigenschaften einer nativen App besitzen aber über Internetbrowser laufen. Genauer haben wir dies bereits in einem anderen Blogeintrag erklärt, den Sie am besten vorab lesen.

Das relativ neue Modell, bei dem aus Website und App ein Hybrid geschaffen wird, gewinnt aktuell immer stärker an Beliebtheit und wird vermehrt von Firmen eingesetzt. IT-Analysten von Gartner prognostizieren sogar, dass bis 2020 die Hälfte aller mobilen Apps durch PWA ersetzt werden. Ob sich diese Vorhersage bestätigen wird, gilt es noch zu beobachten.

Das Bedürfnis nach diesem Websitemodell rührt von einer gewissen App-Müdigkeit her – die Leute wollen nicht für jeden Anlass eine App herunterladen, die sie dann wahrscheinlich nur einmal nutzen werden und danach vergessen. PWA geben dem Nutzer die User-Experience einer nativen App aber nehmen ihm den Umweg über den App Store. Von großem Vorteil ist es, dass man diese Websites auf seinem Desktop oder Homescreen hinterlegen kann und über die im Hintergrund agierenden Skript Dateien, namens ‘Service Worker’, Inhalte cachen kann. Dadurch bekommt der Nutzer die gleiche Erfahrung wie bei einer App, ohne ihn durch die Speicherbelastung und den Download-Umweg einzuschränken.

Doch noch sind sie nicht ganz bei uns angekommen: es gibt beispielsweise keinen Ort, an dem man eine Sammlung aller verfügbaren Seiten dieser Art findet und auf sie zugreifen kann wie bei einem App Store. Zwar laufen sie mittlerweile über alle Browser (Safari und Opera sind kürzlich dazugekommen) aber zum Beispiel bei Safari werden Push-Notifications noch nicht erlaubt. Insgesamt ist PWA momentan der Zugriff auf Kontakte, Kalender und Telefonie-Funktionen verwehrt.

Was Google sich von ihnen erhofft

Immer mehr hört man Google und Microsoft „Progressive Web Apps!“ aus dem Walde schreien. Besonders Google fördert sie – natürlich, denn alles was über das Worldwide Web läuft, bringt ihnen etwas in Bezug auf Google Analytics und Werbung. Noch dazu hilft es ihnen, da ihre Chromebooks häufig in der Web-Entwicklung ignoriert werden und durch die PWA laufen die Seiten auf allen Plattformen automatisch.

Warum sie Programmierern das Leben erleichtern

Auch Coder freuen sich über die wachsende Beliebtheit der Progressive Web Apps. Sie sind nämlich deutlich zeitsparender in der Programmierung, wenn man sie mit nativen Apps vergleicht. Denn eine App muss erst zur Produktversion kompiliert, dann der Private Key erstellt und die App signiert werden und kann dann erst Live gehen. Bei den PWA hat man hingegen den Vorteil, dass nur die Web-App gebaut und dann auf den Server hochgeladen werden muss. Noch dazu spart man sich bei Letzterem die separate Programmierung für Android und iOS und es ist insgesamt weniger fehleranfällig.

Das Win-Win für dein Unternehmen

Mit PWA sparen Sie nicht nur einiges an Entwicklungs- und Erhaltungskosten, Statistiken belegen sogar, dass ihre Push-Notifications häufiger angeklickt werden, die Seiten interaktiver genutzt werden und dass die Konversionen steigen. Am besten eignen sich die Web-Apps wenn deine Dienstleistung größtenteils von Gelegenheitsnutzern verwendet wird. Dann greift der User aufgrund der angenehmen UX lieber auf ihr Angebot zurück, ohne eine schnell in Vergessenheit geratene App auf dem Gerät installieren zu müssen. Obwohl der Bekanntheitsgrad des Ganzen aktuell noch nicht explodiert ist und man nicht direkt umsteigen muss, lohnt es sich dennoch bereits, eine PWA für den Online-Auftritt deines Unternehmens in Erwägung zu ziehen.

Wir von we {code} it stehen dir gerne bei der Beratung zur Seite und helfen dir, deine Eigene PWA zu konzipieren und umzusetzen.

Hast du noch Fragen zu der Programmierung und den Vor- und Nachteilen von Progressive Web Apps? Melde dich gerne über unser Kontaktformular.

Framework – Das Gerüst der Softwareentwickler

Für Informatiker stehen neben der Programmiersprache auch die Programmierumgebung, die sehr umfangreich und damit für den Anfang auch etwas komplex ist, im Mittelpunkt. Wer sich in die Programmierung von Code einarbeitet, stößt recht schnell auf den Begriff „Framework“.

Zunächst wollen wir eine ausführliche Beschreibung des Begriffs geben sowie die wichtigsten Eigenschaften von Frameworks nennen. Anschließend erläutern wir in welcher Hinsicht we {code} it Informatikstudenten bei der Praxiserfahrung unterstützt und was diese bei uns lernen können.

 

Framework! Was ist das, wer braucht das?

Ein Code setzt sich aus vielen kleinen Bausteinen zusammen. Um das Coden bequemer zu machen und Zeit zu sparen, gibt es sogenannte Frameworks.

Ein Framework ist eine Vorprogrammierung, die dem Programmierer als Grundstruktur für die Entwicklung von Softwareanwendungen dient. Es bildet eine Grundlage, auf der Softwareentwickler Programme für eine bestimmte Plattform erstellen und wiederverwenden können. Beispielsweise kann ein Framework vordefinierte Funktionen oder abstrakte Klassen enthalten, mit denen Eingaben vorbereitet, die Designstruktur bestimmt und Softwaresysteme integriert werden können. Einige Anwendungsbeispiele sind: grafische Editoren, dynamische Webseiten, Buchhaltungsprogramme und Online-Shops.

Der Entwicklungsprozess wird um ein Vielfaches vereinfacht, da Coder das „Rad“ nicht jedes Mal neu erfinden müssen, wenn sie eine Anwendung entwickeln. Entscheidend ist: Das Framework an sich ist kein eigenständiges Programm, sondern nur ein Entwurfsmuster. Ein Framework ähnelt einem Application-Programming-Interface (API, dt. Schnittstelle zur Anwendungsprogrammierung), obwohl technisch gesehen ein Framework eine API beinhaltet. Ein Framework dient als Basis für die Programmierung, während eine API anderen Programmen den Zugriff auf die vom Framework unterstützten Elemente ermöglicht.

Frameworks können Sammlungen von Bibliotheken, einen Compiler oder andere Basisbausteinen beinhalten, die im Softwareentwicklungsprozess verarbeiten werden. In vielen Fällen wird ein Framework nativ von einem Betriebssystem unterstützt. Beispielsweise läuft ein für das Android-Framework geschriebenes Programm auf einem Android-Gerät, ohne dass weitere Dateien installiert werden müssen. Einige Anwendungen benötigen jedoch ein spezielles Framework, um laufen zu können. Während sich Frameworks im Allgemeinen auf breite Software-Entwicklungsplattformen beziehen, kann der Begriff auch verwendet werden, um ein bestimmtes Framework innerhalb einer größeren Programmierumgebung zu beschreiben – so können mehrere Java-Frameworks wie Spring, ZK und das Java Collections Framework (JCF) verwendet werden, um Java-Programme zu erstellen. Der eine oder andere ist sicherlich schon auf den Begriff .NET Framework gestoßen. Das ist das Framework für Microsoft-Anwendungen. Microsoft .NET ist notwendig, um eine Vielzahl von Microsoft-Programmen nutzen zu können. Des Weiteren hat Apple mehrere spezielle Frameworks entwickelt, die auf die OS X-Programme zugreifen können.

 

Der Entwickler von heute codet seine eigene App. Wie kann we {code} it helfen?

Im Informatikstudium bekommt man einen riesigen Haufen Theorie eingeimpft. Man darf dann ein paar Mal für eine Übung etwas programmieren und am Ende kann man doch noch nicht so richtig coden. Die Motivation, sich mit Frameworks auseinanderzusetzen, sollte nicht durch zu viel Theorie gebremst werden. Mit Framework kann man in die richtige Richtung gelenkt werden und vom Wissen anderer profitieren. Man kann aber auch so am Framework vorbei programmieren, sodass anschließend gar nichts mehr passt. we {code} it hilft. Um die eigenen Programmierfähigkeiten zu verbessern, bieten wir Schulungen in Form von Praktika oder Projekten für Informatikstudenten an. Als ITler bekommst du die Möglichkeit zu lernen, wie Ressourcen und Grundlagen aus der Universität in Praxis umgesetzt werden können, selbstständig eine Lösung zu erarbeiten und das Know-how in ein konkretes Projekt zu gießen. Einige unter euch haben sicherlich konkrete Anforderungen, also Projekte oder eigene Ideen, die ihr mitbringt und mit anderen Entwicklern teilen wollt. In diesen Fällen ist das Einsteigen mit einem Framework zweifellos nicht zu verachten.

Bist du etwas fitter im Programmieren, dann kannst du abwechslungsreiche und herausfordernde Aufgaben ebenso spannende Projekte für unsere Kunden und Partner übernehmen. Dabei arbeiten wir mit unterschiedlichen Frameworks – wobei Symfony am häufigsten eingesetzt wird. Das Framework Symfony zählt zu den bekanntesten PHP-Frameworks, das als Basisgrundlage zur Entwicklung von Webanwendungen verwendet wird. Du kannst Symfony kostenfrei aus dem Internet heruntergeladen und zum Programmieren nutzen. Wir helfen dir Entwicklungen mit der Fülle von Leistungsmerkmalen effizient und möglichst komfortabel aufzustellen.

Schlussendlich ist Programmieren eine Mischung aus Lesen, Austausch mit anderen und Erfahrung.

 

Info:
Ihr wollt mehr über Framework erfahren?
Dann könnt ihr zunächst unter Frontend Frameworks – Teil 1 nachlesen, auf welche Faktoren es bei der Auswahl eines Frameworks ankommt und wie ihr das Richtige für euch speziell ermitteln könnt. Als Coding-Beginner und Berufseinsteiger kann es sich lohnen, sich auf Frontend Frameworks – Teil 2 über gängige und alternative Möglichkeiten zu informieren. Auch für Programmierer mit Berufserfahrung gibt es hier viel zu entdecken: Frontend Frameworks – Teil 3 stellt die anspruchsvolleren Frameworks vor, die für die erfahrenen Coder unter euch interessant sein könnten.

The Changing World of Retail – Kaufen wir in Zukunft nur noch digital ein?

Während Verbraucher im Zeitalter des E-Commerce vermehrt bequem von zu Hause aus unendlich viele Angebote durchstöbern und virtuelle Supermärkte betreten können, befindet sich der stationäre Handel im Umbruch. Unschlagbare Preiseangebote, eine breite Auswahl, uneingeschränkte Verfügbarkeit – das alles können uns die Onlinehändler bieten. Datenbasierte Analysen versuchen schon lange Kontaktpunkte zu Kunden herzustellen. Sie übernehmen die Vorauswahl potentieller Angebote und finden durch methodisches Erfragen die Kundenbedürfnisse und Vorlieben heraus. Gezielt das passende, preiswerteste und zudem auch bestbewertete Gut zu erwerben, lässt sich fortan nun noch schneller und einfacher gestalten.

Wie wir in Zukunft einkaufen.

Werden wir eigentlich Verkaufstheken, wie wir sie heute kennen, zukünftig noch vorfinden? Entsprechende Visionen zum Thema „Handel im Umbruch“ gibt es genügend. Die Frage ist doch, wollen wir alles bequem von der Couch aus bestellen oder selbst die Oberflächen von Produkten ertasten, bevor wir sie tatsächlich erwerben? Das Internet macht dem stationären Handel Konkurrenz. Der ganze Kaufprozess dürfte online nur noch einige Minuten oder gar Sekunden dauern.

In Zukunft zahlen wir, ohne zu zahlen. Kassen werden irgendwann überflüssig sein.

Produkte, darunter auch Lebensmittel, im Internet kaufen? Sehr wohl, Online-Shops blühen regelrecht auf! Da ist es nur verständlich, dass sich Supermärkte sehr große Mühe geben, um für Verbraucher immer noch attraktiv zu erscheinen. Viele neue Erfindungen im stationären Ladengeschäft könnten uns in Zukunft erwarten: Supermärkte ohne Kassen oder digitale Assistenten.

Unser Einkaufserlebnis wird immer cleverer.

Im Supermarkt der Zukunft läuft man nur noch mit dem Smartphone oder Tablet herum. Man packt alle Produkte, die man einkaufen möchte in den Warenkorb und verlässt den Laden, ohne überhaupt an der Kasse zu stehen. Ein intelligentes Gerät, wie der moderne Einkaufswagen, würde zukünftig direkt die Ware scannen, die der Kunde mitnehmen möchte. Es erkennt, welches Produkt der Kunde in den Wagen legt und überträgt sofort einen Einkaufsbeleg auf das Smartphone. Allerdings: Die Produkte in seinen Einkaufswagen legen, muss man immer noch selbst.

Kassenloser Einkauf noch nicht greifbar.

Einige der Techniken werden schon heute ausprobiert. Trotz dessen kann die Markteinführung von Innovationen wie den digitalen Einkaufswagen oder kassenloses Einkaufen noch Jahrzehnte dauern. Das hat vor allem einen Grund: die neuen Techniken sind schlicht und einfach teilweise noch sehr teuer.

Ganzheitliches Shopping-Erlebnis

Die zunehmende digitale Vernetzung sollte vor allem von kleinen und mittelständischen Einzelhandelsunternehmen nicht als Gefahr sondern vielmehr als Herausforderung und neues, potenzielles Marktsegment betrachten werden.

Wir denken, dass der heutige stationäre Handel auch in Zukunft bestehen kann, solange er gewillt ist sich anzupassen und erneut zu reformieren. Wenn beide Einkaufsmärkte – online und offline – kollaborieren und voneinander lernen, profitieren beide Welten voneinander. Der Verbraucher kann ein ganzheitliches Shopping-Erlebnis geboten bekommen. Nur wer es versteht automatisierte Prozesse gezielt einzusetzen, kann einen gewinnbringenden Mehrwert für den Kunden schaffen.

Genau an dieser Stelle greifen wir als junges und zugleich innovatives IT-Startup ein. Wir unterstützen Unternehmen bestehende Geschäftsprozesse effizienter zu gestalten um sich so dem wandelnden Markt stetig anpassen und entsprechend auf die Umgebung reagieren zu können. Diese Herausforderung bedingt ein aufeinander abgestimmtes Produkt- und Qualitätsmanagement, das eine strukturelle Abbildung aller Vorgänge ermöglicht.

Programmieren – Bei der Studienwahl an morgen denken

Früher reichte eine solide Ausbildung – heute ist ein Studium oftmals Pflicht für jeden, der in Wirtschaft und Industrie Fuß fassen möchte. Die Zahl der passenden Bachelor-Studiengänge ist in den letzten Jahren stark angestiegen. Neben den theoretischen Kenntnissen und persönlichen Interessen ist es sinnvoll, sich über vielfältige Berufsperspektiven nach der Uni-Zeit zu informieren. Es entwickelten sich einige Studienabschlüsse, die auf dem zukünftigen Arbeitsmarkt stärker an Bedeutung gewinnen als andere.

BWL, Medien- und Kommunikationswirtschaft liegen voll im Trend.

Nach wie vor ist Betriebswirtschaftslehre einer der beliebtesten Studiengänge. Die Zahl der Absolventen ist hoch – genau wie die Nachfrage nach ihnen auf dem Arbeitsmarkt. Nachwuchs an BWL-Spezialisten ist also weiterhin sehr gefragt.

Durch die sich ständig ändernde Entwicklung der Medientechnik und Vernetzung durch das Internet hat sich der Bereich der Kommunikation weiter durchsgesetzt und vielfältig erweitert. Gerade hier ist der Trend zu beobachten, dass die Nachfrage nach Studienabschlüssen stetig zunimmt. Allerdings steht nicht nur Kommunikationswissenschaften und das klassische BWL-Studium im Fokus der Anwärter. Wissenschaftliche Studiengänge, die sich beispielsweise mit zukünftigen Hightech Innovationen insbesondere im Energie- und Umweltbereich beschäftigen, werden begehrter.

Die Welt ist „grüner“ geworden:
Technik verstehen. Programmieren lernen. Umwelt verantwortungsbewusst gestalten.

Neben der Ökonomie gehört der Leitbegriff Nachhaltigkeit in das Konzept vieler Unternehmen. Das Bewusstsein für Ökoenergie, Nachhaltigkeit und Natur hat sich in den vergangenen Jahren in der Gesellschaft stärker veranlagt. Die Umweltwirtschaft ist eine sehr technische Branche – dabei kombinieren Studiengänge oft Themen wie Umwelt und Hightech. Es braucht also viel mehr Ingenieure und IT-Spezialisten, die am besten Falle einen klaren Umweltbezug haben. Mit einem modernen Studiengang ist man am Puls der Zeit. Es werden Skills und Kompetenzen erlernt, die vor allem in Zukunft immer bedeutender werden und daher stärker gefragt sind. Jeden Tag nutzen wir elektronische Geräte. Es entstehen ständig neue Technologien, die unser Leben vereinfachen und effizienter gestalten. Mit Studienfächern wie Informatik oder Elektrotechnik bietet sich die Gelegenheit, ganz vorne mit dabei zu sein und wegweisende Neuerungen mitzugestalten.

Nach dem Bachelor: Arbeiten oder weiter studieren?

Diese Frage stellen sich viele Informatikstudenten. Zunächst hängt es von jedem einzelnen ab, ob man als Informatiker in der Forschung tätig sein möchte oder eher an den Bereichen Kundenbetreuung und Projektarbeit interessiert ist. Ein höherer Abschluss bringt in den meisten Fällen einen leichteren Berufseinstieg sowie bessere Karrierechancen im Unternehmen mit sich. Jedoch haben Arbeitgeber heutzutage sehr hohe Ansprüche an Berufseinsteiger: Nicht nur der akademische Abschluss und Fachkompetenz ist von Bedeutung, gefragt ist vor allem Praxis!

Die Unternehmen wollten junge Talente, die digital denken und erste praxisbezogene Erfahrungen mit sich bringen.

Als etabliertes Software Development Startup helfen wir Informatikstudenten während des Studiums Praxiserfahrung zu sammeln, in der IT-Branche wichtige Kontakte zu knüpfen und einen ersten Vorgeschmack auf die Berufswelt zu geben. Nach dem Praktikum oder einem Nebenjob kann anschließend der Berufseinstieg angestrebt oder gezielt ein Master-Programm ausgewählt werden.

Die Angst um das Ende von React bringt alte Bekannte zurück: Angular vs. Vue.js vs. Ember

Python, JavaScript, PHP, Java, C# – die Wahl der richten Programmiersprache und der passenden Frameworks stellt für Entwickler in manchen Augenblicken die Qual der Wahl dar. So gibt es für unterschiedliche Anforderungen und Schwerpunkte bestimmte Sprachen und Programme, die dafür am besten geeignet sind. Nichtsdestotrotz existieren einige Top-Acts, die die Liste anführen. So hat IT-Gigant IBM JavaScript zur besten Erlern-Programmiersprache 2017 gekürt.
Doch auch da ist die Auswahl für Frameworks riesig. Nachdem nun React für manche mehr oder weniger abgehakt werden kann – siehe dazu unseren letzten Blogbeitrag – wollen wir euch nun drei Alternativen dazu vorstellen. Diese lauten Angular, Vue.js und Ember.

Wer sind sie?

Alle drei Frameworks sind clientseitig, basieren auf dem MVVM (Model View ViewModel) Model, werden für das Erstellen von SPAs (Single Page Applications) verwendet und sind (mehr oder weniger) in JavaScript geschrieben. Angular wurde von Google entwickelt und gehört mit seiner Vorgängerversion AngularJS zu den am meisten verwendete JS Framework für SPAs. Angular 2 ist in Typescript geschrieben, das auf JavaScript, Java und C# basiert. Seit Ende März ist Version 4 auf dem Markt. Vue.js ist ein relativ junger Newcomer, der vorgibt, das Beste aus Angular und React herauszuholen. Ember wurde 2015 als das beste JavaScript Framework angepriesen und findet zum Beispiel bei Netflix, Yahoo und LinkedIn Verwendung.

Was können sie?

Bei allen drei Frameworks fällt durch das MVVM die Controller Einheit weg und es wird stattdessen eine Verbindung der Darstellungs- und Logikebene hergestellt. Interaktionen können so schneller und einfacher umgesetzt werden. Angular wird vor allem aufgrund der Einfachheit der Nutzung von den Entwicklern präferiert. Es kann somit mit WordPress’ Konzept verglichen werden – sehr einfach zu verwenden, aber in der technischen Umsetzung nicht so extravagant. Bei Vue.js lag der Fokus darauf ein schnelles und schlankes Frontend Framework zu entwickeln. Ähnlich wie bei React wird hier eine virtuelle DOM Implementierung genutzt, die die Rendering Geschwindigkeit und den Speicherverbrauch laut Entwicklern um bis zu das Vierfache verbessert haben soll. Vue.js lässt ebenso dem Programmierer die Wahl zwischen Templates und JSX/Hyperscript. In Version 2 gibt es zusätzlich eine Redone-Rendering Schicht, die für eine bessere Performance sorgen soll. Ebenso ist das Framework mit der neuen Version auch (besser) auf die Entwicklung von mobilen Apps ausgerichtet. Ember folgt dem DRY Prinzip und ist nach dem Grundsatz data down, actions up aufgebaut. Das Framework nutzt Web Compoments, und will langfristig die Controller und Templates durch diese ersetzen.

Wie gut sind sie?

Angular stellt die beste Option für Unternehmensbasierte Apps und Programmierlandschaften mit hohen Lesbarkeits-Standards dar. Die bessere Wahl für die schnelle Entwicklung von betriebssystemübergreifenden Lösungsansätzen ist jedoch Vue.js. Das Framework punktet zudem durch eine einfache Handhabung. Ember wird demgegenüber vornehmlich für komplexe Webapplikationen und Websites mit vielen Features verwendet. So sind dynamische Apps und Websites bei Ember gut aufgehoben. Es ist das Framework, das einen, wenn man es verstanden hat, dazu befähigen kann, sehr produktiv zu sein. Jedoch heißt dies, dass die Lernkurve auch sehr hoch ist und es somit gleich zu Beginn viel zu lernen gibt.

Fazit

Alle drei Frameworks können zwar als Konkurrenten angesehen werden, jedoch besitzt keines davon einen signifikanten Vorteil gegenüber den anderen. Alle besitzen die gleiche Grundlage – sie sind ein JavaScript Framework. Das bedeutet im Endeffekt mehr Effizienz, Sicherheit und weniger Kosten als ohne Framework. Egal ob durch Angular, Vue.js oder Ember – Programmierarbeiten können zeitsparender und strukturierter umgesetzt werden und haben gleichzeitig bessere Sicherheitsbestimmungen. Zudem sind alle Frameworks Teil einer Open Source Software – und anders als React von Facebook – auch wirklich frei zugänglich.

Ist das das Ende für React?

Die JavaScript Bibliothek React von Facebook gehörte bisher zu den beliebtesten Tools zur Erstellung von interaktiven Websites. Jetzt kann React den Programmierern jedoch zum Verhängnis werden. Denn die Lizenz-Situation und Nutzungsbedingungen des eigentlich als Open Source ausgelegten Tools sind heikel geworden. Zu Open Source gehören Softwares, deren Quelltext öffentlich eingesehen, genutzt und verändert werden darf. Eigentlich.

 

Was steckt dahinter?

React, welches erstmals 2013 mit einer Open Source Software herausgegeben wurde, dient dazu, Anwendungen sehr flüssig darzustellen, selbst bei großen Datenbanken. Der Vorteil von React ist, dass dort ein virtuelles DOM vorliegt, welches einfacher zu manipulieren ist und die Bibliothek so in der Lage ist, Interaktionen schneller umzusetzen. Gleichzeitig nimmt React die Komplexität aus dem View-Layer. Demnach ist das Tool besonders nützlich, wenn eine Website viel Interaktivität fordert.
Jedoch steht die Verwendung von Facebook‘s Open Source Software, darunter eben auch genannte Bibliothek React, unter einer BSD Plus Lizenz. BSD (Barkeley Software Distribution) heißt, dass die Software nur kopiert, verändert und verbreitet werden darf, wenn das Copyright Vermerk des ursprünglichen Programms nicht entfernt wird. So weit so gut. Nun hat Facebook vor einigen Wochen eine weitere Klausel zum Lizenzrecht ihrer Software hinzugefügt. Diese sagt aus, dass jedem die Nutzungsrechte für eben jene Open Source Software entzogen werden, wenn mit der Nutzung in irgendeiner Weise Konkurrenz-Ansprüche zu Facebook entstehen. Weiterhin geht aus der Klausel hervor, dass durch eine Klage gegen Facebook die Lizenzrechte ebenfalls entfallen. Im Original heißt dies:

„The license granted hereunder will terminate, automatically and without notice, if you […]take a direct financial interest in[…] any Patent Assertion against Facebook […]“

Open Source Software mit BSD Plus Lizenz – heißt konkret?

Facebook‘s Technik-Direktor Adam Wolff begründet diese Entscheidung damit, dass Facebook die Balance halten möchte, weiterhin Open Source Software zur Verfügung zu stellen, gleichzeitig aber das eigene Unternehmen vor teuren Rechtsstreitigkeiten schützen will.
Die Website React-etc empfiehlt in dieser Hinsicht gar einen Anwalt heranzuziehen, wenn React weiter benutzt werden möchte. Ebenso rät ein Entwickler der Apache Foundation , dass Startups möglichst nicht React benutzen sollten. Dies könnte mögliche Firmenübernahmen gegebenenfalls verhindern. Die Apache Foundation, eine Gemeinschaft von Entwicklern, die an Open Source Software Projekten arbeiten, hat nun sogar die Verwendung der Open Source Software von Facebook ihren Programmierern untersagt. Diese Entscheidung wird damit begründet, dass diese Lizenz ein Risiko an den Konsumenten weiterreichen würde und dieses Risiko deutlich stärker zu Lasten der Anwender ausfallen würde. Außerdem würde dies die Apache-Richtlinien verletzen, die unter anderem diktieren, ein universeller Spender zu sein.

React – das trojanische Pferd unter Open Source?

Diese Entscheidung stellt nun ein großes Problem für Entwickler dar, die unter Apache arbeiten, da sie React an vielen Stellen verwendet haben. Am meisten jedoch stört sie die unethische Einstellung von Facebook gegenüber einer Open Source Software. React sei, so die Entwickler, ein trojanisches Pferd in der Open Source Community und diese Verhaltensweise sei kein Beispiel dafür, wie Open Source funktionieren sollte. Adam Wolff gibt zu, durch diese Entscheidung einige Nutzer zu verlieren, jedoch stehe der Schutz des Unternehmens an erster Stelle. Er argumentiert, dass Facebook die Software auch ganz vom öffentlichen Markt hätte nehmen können.

Also, ihr lieben Programmierer unter euch, passt auf, wenn ihr React benutzen wollt – Alternativen dazu stellen beispielsweise das Webframework vue.js, die Programmiersprache Elm oder die Bibliothek Riot.js dar.

Wann Coder in 24 Stunden mehr Innovation hervorbringen können, als in einem ganzen Arbeitsmonat

24 Stunden Coden am Stück
Programmierer Mararthons, die sich aus dem Wort „Hacking“ und „Marathon“ zusammensetzen, sogenannte Hackathons, sind Coding Events, bei denen es hauptsächlich um eines geht: In einem aufgesetzten Zeitrahmen von mindestens 24 Stunden bis hin zu 48 Stunden werden Lösungen zu einer vorgegebenen Thematik programmiert. Teilnehmer sind Coder aus Leidenschaft mit Spaß an der Sache. Die genaue Fragestellung wird normalerweise erst vor Ort verraten, damit niemand vorarbeiten kann. In der Realisierung sind die Coder üblicherweise sich selbst überlassen, d.h. Programmiersprache, Lösungsansatz und die Plattform, mit der die Lösung umgesetzt wird, sind vollkommen frei wählbar.

Die Gründe für eine Teilnahme an solchen Programmierer Marathons sind verschieden: Durch eine erfolgreiche Teilnahme kann der ein oder andere einen weiteren Erfolg auf seinem Karrierekonto verbuchen. Manche Hobby-Coder möchten ihr Können in einem direkten Wettbewerb testen oder sich von anderen Teilnehmer etwas abschauen, um dazu zu lernen. Wenn man sein Wochenende sowieso mit Coden verbringt, kann man dies zudem im Rahmen eines vorgegebenen Projekts tun. Natürlich werden die fleißigen Programmierer über die Dauer des Events verpflegt, damit jeder bei Energie und guter Laune bleibt.

Wer liebt, was er tut, wird keinen einzigen Tag in seinem Leben arbeiten
Es sollte selbsterklärend sein, dass jeder, der mit Talent und Leidenschaft an etwas arbeitet, dies leichter und erfolgreicher tut als jemand, der sich mit Mühe und Anstrengung durchbeißen muss und für den die Arbeit nahezu eine Nötigung ist.

Ein Programmierermarathon vereint eine Ansammlung an Codern, die ihre liebste Freizeitbeschäftigung in einem Wettbewerb als gefragte Fähigkeit unter Beweis stellen. Hackathons ergeben somit eine ultimative Win-Win-Situation, die ein Event selten so zielführend und effizient hervorbringen kann: Der Veranstalter des Hackathons erhält vielfältige und frische Lösungsansätze, die Teilnehmer erhalten meist ein attraktives Preisgeld oder eine andere Form von Gewinn, die einen Anreiz schaffen soll. Je nach AGBs wird das Endprodukt oder der Code entweder allgemeingültig zugänglich oder der Coder selbst wird für die Nutzung seines Codes explizit entlohnt. So oder so wird eine Innovation entwickelt, die jedem zugute kommt und auf die der Entwickler stolz sein kann.

Spaß entlastet den versteiften Arbeitsalltag
Firmen, die nach Fortschritt, Wandel oder Neustrukturierung auf digitaler Basis suchen, sollten diese Art von Eventveranstaltung durchaus in Erwägung ziehen. Frischer Wind beflügelt die Kreativität. Hackathons werden zwar auch intern organisiert, es könnte aber von Vorteil sein diese auch extern oder in Kooperation mit anderen Partnern zu gestalten. Manchmal sind die eigenen Mitarbeiter der IT Abteilung unter dem Arbeitspensum des Alltags stark vereinnahmt. Da ist es nur verständlich, dass einem oftmals die Zeit oder Energie fehlt, um an Innovationen herumzufeilen, wenn das Alltagsgeschäft mit anderen Anforderungen ruft. Oft ist eine außenstehende Perspektive genau das, was man benötigt.

Die Thematik eines Hackathons kann jedes noch so kleine oder überwältigende Problem, von dem man denkt, dies digital gar nicht lösen zu können, letztendlich doch klären. Von einem neuen Ausgangspunkt aus kann das Unternehmen nun weiterentwickeln und hat sich mit einem zweitägigen Event so manchen stressvollen Arbeitsmonat gespart. Zudem kann der IT-Nachwuchs der Zukunft in ihren Kinderschuhen entdeckt und beäugt werden.

Wer interessiert an unserem Hackathon powered by we {code} it selbst ist, soltle sich schnell bewerben, bevor die Plätze weg sind: https://www.eventbrite.de/e/hackathon-frankfurt-2017-start-up-ecosystem-registrierung-36061362506