Kathrin Passig und Jan Bölsche über das Wesen des Programmierens und wie man auch ohne das Streben nach höheren Weihen erfolgreich sein kann

logo_kolophon_75x75Das Buch “Weniger schlecht programmieren” ist ein Ratgeber für alle, die sich mit der Programmierung von Computern auseinandersetzen, die aber wenig Zeit haben oder investieren wollen, um in dem Feld den schwarzen Gürtel zu machen. Das Buch ist eine umfangreiche Sammlung von praktischen Empfehlungen zu einer Vielzahl von Programmiertechniken, dem Umgang mit Source Code sowie der Selbstorganisation und der Kommunikation mit anderen.
wenschleprogger.s
Im Gespräch mit Tim Pritlove berichten Kathrin Passig (@kathrinpassig | riesenmaschine.de | Zufallsshirttechniktagebuch.tumblr.com) und der zeitweise am Buchprojekt beteiligte Jan Bölsche (@regulargonzales | she.codes), wie sie selbst zum Programmieren gekommen sind und was sie dazu gebracht hat, ein solches Kompendium zu verfassen.

Kapitelliste

00:00:00.000 Einführung
00:01:30.710 Kathrin Passig
00:10:39.136 Jan Bölsche
00:14:14.357 Programmieren
00:28:34.517 An wen sich das Buch wendet
00:31:33.136 Namensgebung
00:38:02.803 Dinge nicht selber machen
00:53:08.127 Testen
00:58:23.458 Kommunikation
01:05:00.713 Dokumentation
01:08:01.362 Feedback

Linktipps:

  • Einen Rückblick auf die #rp14-Session “Programmieren für Nullcheckerbunnys” von und mit Anne Schüssler und Kathrin Passig gibt es hier.
  • Mehr Informationen über den Podcast und einen Überblick über die bisherigen Episoden gibt es hier.

 

 

Usergroups bieten den direkten, persönlichen Austausch über Techie-Themen, oftmals in netter abendlicher Runde bei Vereinen, Firmen oder auch in Kneipen. Hier können Informatiker Gleichgesinnte treffen, sich bei Vorträgen weiterbilden oder sich über den Arbeitsalltag austauschen. Nicht zuletzt sind bereits einige Aufträge oder Stellen über Usergroup-Kontakte vergeben worden.

O’Reilly unterstützt die Usergroups bereits seit vielen Jahren, und gerne stellen wir einige von ihnen an dieser Stelle vor – heute die Köln/Bonner Scala-Usergroup. Dazu habe ich mit dem UG-Mitglied Marius Soutier gesprochen.

Seit wann gibt es jetzt die Scala User Group Köln/Bonn?

Scala hat gerade 10jährigen Geburtstag gefeiert, jedoch wirklich bekannt ist die Sprache erst seit ein paar Jahren. Daher waren wir 2010 im Vergleich auch recht früh dran. Damals waren wir zunächst zwei, dann drei Scala-Interessierte, die sich regelmäßig im McDonald’s am Bonner Hauptbahnhof getroffen haben. Nachdem wir ein paar Mitglieder mehr geworden sind, haben wir die Gruppe nach Köln verlagert, wo wir uns zunächst in Kneipen und später in Büros oder Coworking-Spaces zusammen gefunden haben.

Wieviele Mitglieder gibt es derzeit, und an wen richtet sich die Usergroup?

In der XING-Gruppe, die wir gerade nach meetup.com migrieren, sind inzwischen 60 Mitglieder gelistet. Zu den Treffen kommen üblicherweise zwischen fünf und zehn Personen aus Köln, Bonn, Düsseldorf, und Umgebung.

Scala ist hier leider noch relativ selten anzutreffen, aber das versuchen wir gerade zu ändern. Bei uns ist jeder willkommen, der Interesse an einer Mischung aus objekt-orientierter und funktionaler Programmierung hat, und Spaß daran findet sich mit Gleichgesinnten auszutauschen.

Scala hat viele Konzepte aus anderen Sprachen übernommen, z.B. Haskell, ML, Erlang, und Java. Somit kann so ziemlich jeder Entwickler einen Bezug dazu herstellen. Besonders spannend ist es dann, über den Tellerrand hinauszublicken und mit den noch fremden Konzepten zu experimentieren. Bei uns wird viel über das Für und Wider der jeweiligen Ansätze diskutiert und so lernt man bei jedem Treffen dazu.

Wie häufig trefft Ihr Euch, gibt es thematische Schwerpunkte?

Üblicherweise treffen wir uns ein mal im Monat an der Bottmühle bei Railslove. Gelegentlich werden Vorträge gehalten, z.B. über Tools und Frameworks im Bereich Scala wie Akka, Playframework, oder sbt. Ansonsten diskutieren wir in offener Runde über aktuelle Entwicklungen oder auch grundsätzliche Themen, z.B. Software-Architektur, objekt-orientiert vs. funktional, Patterns – oder einfach was uns im Augenblick beschäftigt.

Marius während eines Vortrags auf dem UG-Treffen

Marius während eines Vortrags auf dem UG-Treffen

Was ist in der nahen Zukunft geplant? Gibt es besondere Themenabende oder Vorträge?

Zunächst möchten wir den Zuwachs, den wir jetzt erfahren haben, weiter ausbauen. Wir hoffen zudem auf ein regelmäßigeres Beisteuern von Vorträgen. Dabei sind auch Lightning Talks oder Erfahrungsberichte von Einsteigern sowie Profis immer willkommen.

Langfristig möchten wir dann auch Hackathons anbieten und die Zusammenarbeit mit Firmen, die Scala einsetzen, intensivieren. Dazu haben wir auch schon mit Typesafe gesprochen, die dann auch Vortragende vorbeischicken werden.

scala_ugAn wen können sich Interessierte wenden, wo kann man Euch treffen?

Am besten registriert Ihr Euch auf unserer Meetup-Seite (http://www.meetup.com/Scala-User-Group-Koln-Bonn/), auf der dann auch die kommenden Treffen eingestellt werden. Eine Kontaktaufnahme ist auch über Twitter möglich (@scalacgn). Über einen Vortrag würden wir uns natürlich besonders freuen!

 

Marius, ich danke Dir für das Gespräch.

Wenn Ihr also hier in unserer Hood – in oder um Bonn und Köln lebt, schaut doch mal bei der Scala UG vorbei. Oder gründet Eure eigene UG in Eurer Umgebung ;-)

Bisher sprachen wir in dieser Reihe mit:

PHP Usergroup Berlin  |   Frankfurt Perl Mongers  |  NoSQL Usergroup Köln | PHP Usergroup Frankfurt/Main

Möchten Sie Ihre Usergroup auch hier im Blog vorstellen? Senden Sie uns eine Mail an ug@oreilly.de

 

Nein, heute ist nicht nur Fußball in Berlin ;-)

Ab heute und bis Donnerstag findet in der Kulturbrauerei das Open Knowledge Festival statt. Um 18 Uhr – Fanmeile vorher ist also durchaus drin – startet das #OKFest14 mit Ausstellung und Eröffnungsveranstaltung. Mittwoch und Donnerstag warten dann spannende Vorträge. Wir unterstützen das #OKFest14 und werden Euch in Kürze an dieser Stelle noch mehr berichten.

okf14

Anlässlich des OKFests stand gestern abend erst einmal der Launch der Code for Germany-Initiative auf dem Plan. @Codeforde hat bereits in vielen deutschen Städten, u.a. Berlin, Hamburg, Köln und Stuttgart einzelne “OK Labs” initiiert bzw. mitgetragen. Hier treffen sich regelmäßig – zweiwöchentlich, manche sogar wöchentlich – Leute, um über Open Data bzw. konkrete Projekte, die aus offen zugänglichen Daten entwickelt werden können, zu diskutieren. Und natürlich auch, um diese umzusetzen.

So konnte ein Lab bereits freie Kindergartenplätze in eine entsprechende Stadtkarte einbinden und mit den jeweils wichtigen Kontaktinfos verbinden. Andere versuchen, die Ergebnisse aus Ratssitzungen in Maps einzutragen – so kann dann jeder Bürger auf einen Blick sehen, ob in der eigenen Nachbarschaft Entscheidungen anstehen. Dieses Tool wird jeder lieben, der schon einmal versucht hat, individuell relevante Informationen aus “Ratsinformationssystemen” herauszufiltern.

Und falls jemand vermutet bzw. kritisiert, dass hier Entwickler für lau Anwendungen erstellen, die ja eigentlich ausgeschrieben und von Unternehmen gegen entsprechendes Honorar gebastelt werden sollten: Die OK Labs verstehen sich vorrangig als Ideengeber und Inititatoren, als Schnittstelle zwischen Behörden, Unternehmern und Bürgern.

Das OK Lab Köln besuchen wir in Kürze – und berichten Euch dann ganz konkret, was man am Rhein vorhat. In das OK Lab Eurer Stadt könnt Ihr selbst hereinschnuppern, hier findet Ihr alle bestehenden Labs auf einen Blick. Willkommen sind übrigens Informatiker genauso wie Sozialwissenschaftler. Und jede Bürgerin, jeder Bürger.

Wir grüßen jetzt nach Berlin zum #OKFest14 & wünschen Euch eine tolle Veranstaltung!

 

 

6 Tiger, 3690g, 11,5 cm und 2040 Seiten – zusammengefasst sind das die beiden neuen Java-Bücher von O’Reilly: Java-Programmierung – Das Handbuch zu Java 8 (5,9 cm mit 1080 Seiten) und Java – Der umfassende Programmierkurs (5,6cm mit 960 Seiten). Ein großer Batzen Wissen rund um die erfolgreiche Programmiersprache, durch den man sich erst einmal durcharbeiten muss. Lohnt sich aber – denn: Was wären Programmierer heute ohne Java?

Java_2

Ein ganzer Haufen Java

Die Entwicklung von Java war eher Zufall: Als Java-Vater James Gosling, unterstützt von etwa 30 Kollegen, mit der Entwicklung begann, sollte eigentlich eine Software zur Haushaltsgerätekommunikation entstehen. Die ewige Vision vom selbst einkaufenden Kühlschrank und dem sprechenden Toaster schwebte der Sun-Entwicklergruppe vor (Sun wurde 2010 von der Oracle-Gruppe aufgekauft, der Java heute gehört). Zunächst galt es, eine gemeinsame Sprache für völlig verschiedene Geräte zu finden. Heraus kam dann aber auch eine Technologie, mit der zum Beispiel interaktive Inhalte ins Web gebracht werden konnten. Java hat das bis dahin statische Web so erst lebendig und interaktiv gemacht. Erinnert Ihr Euch noch an die kleinen Java-Spielchen der 90er, bei denen nicht selten der Rechner kapitulierte? (Heute sind wir an dynamische Websites gewöhnt, die ständig neue Inhalte nachladen.)

Write once, Run Anywhere

Webseiten sollen für alle gleich sein: Für Mac-Fans wie für Windows-User und Linux-Anhänger sollen sie von unterschiedlichen Betriebssystemen aus nutzbar sein. Java gelangte aus der Wohnküche ins World Wide Web, indem es genau diesen Vorteil bot: Seine Anwendungen laufen innerhalb der (vorab zu installierenden) Java Virtual Machine (JVM) und damit unabhängig von Rechnertyp und Betriebssystem. Diese “Plattformunabhängigkeit” wird heute als selbstverständlich angesehen, war damals aber eine große Herausforderung. Damit haben die Java-Programmierer einen Standard gesetzt, die Regel “Write Once, Run Anywhere” wurde zu ihrem Motto.

Java ist überall

Das Baukastenprinzip der objektorientierten Programmierung, mit dem sich viele Entwickler zunächst schwer taten, hat sich durchgesetzt. Aber nicht nur für die Webprogrammierung ist Java nützlich. Umfangreiche Bibliotheken und zahlreiche Werkzeuge machen es zu einer vielseitig einsetzbaren Programmiersprache, mit der auch komplexe Programme geschrieben werden können.

Seit 1999 gibt es Java in drei verschiedenen Ausführungen: der Enterprise Edition (Java EE), der Standard Edition (Java SE) und der Micro Edition (Java ME). Aufwendige Client/Server-Anwendungen können über Java EE realisiert werden. Java SE dient als Grundlage sowohl für Java EE als auch für Java ME. Java ME ist für kleinere Geräte konzipiert, die Software von 3 Milliarden Mobiltelefonen weltweit basiert derzeit auf Java. Jedes Gerät mit einem Mikroprozessor ist Java-fähig, von PCs und PDAs über Fernseher und Autoelektronik – bis hin zu Küchengeräten.

Im Januar 2013 wurden Sicherheitslücken in Java 7 bekannt, woraufhin zuerst die c’t, dann auch das BSI zur Deinstallation riet. Mit den außerplanmäßigen bzw. vorgezogenen Java Updates 11 bis 13 wurden diese Sicherheitslücken behoben und die Warnung aufgehoben. Mit der aktuellen Version 8, die im März 2014 erschien, nahm man weitere Verbesserungen in der Sicherheit vor.

Java_1

Java Programmierung – Das Handbuch zu Java 8 für Programmierer mit Java-Erfahrung zum Vertiefen und Nachschlagen, Java – Der umfassende Programmierkurs, das Einstiegswerk für Java-Neulinge in der basics-Reihe

Und wie geht es weiter? Java hat zwar schon länger Konkurrenz bekommen – etwa Microsofts .NET-Technologie – doch haben beide ihre Vorzüge und Nachteile, Stärken und Schwächen und können sich im Konkurrenzkampf weiterentwickeln und somit reifen. Und Java beweist dies eindrücklich: Aus ursprünglich 30 Java-Entwicklern ist heute ein 9 Millionen Programmierer zählendes Netzwerk geworden, das Java ständig weiterentwickelt. 

Nachtrag: Der Artikel war zunächst etwas missverständlich, das haben wir dank unseres Lesers Benjamin Wagener (siehe Kommentare) nun angepasst. Danke!

 

Ein Gastbeitrag von Stephan Czysch

Wie schafft man es, mit den eigenen Inhalten in Suchmaschinen gut gefunden zu werden? Die Antwort auf diese Frage lautet „Suchmaschinenoptimierung“ (SEO). Warum Sie dabei heute nicht mehr auf die kostenlosen Webmaster Tools von Google (und Bing) verzichten sollten, erklärt Stephan Czysch, Geschäftsführer der Berliner SEO-Agentur Trust Agents.

“Ich möchte besser gefunden werden“ ist der Gedanke, der Webmaster dazu veranlasst, Suchmaschinenoptimierung zu betreiben. Denn Suchmaschinen bieten ein nahezu perfektes Werbeinstrument: Über die von den Suchenden eingegebenen Begriffe lassen sich ihre aktuellen Bedürfnisse und Fragen identifizieren. Wenn man es schafft, für die Begriffe gefunden zu werden, die zur eigenen Website passen, erhält man „hochwertige“ – da interessierte – Besucher auf dem eigenen Webauftritt. Doch genau dieses „Gefundenwerden“ ist die große Kunst.

Hilfen zur Erreichung einer besseren Position in den Suchergebnissen gibt es viele – vom entsprechenden Google Guide über kostenpflichtige Tools hin zu Fachliteratur. Relativ wenig beachtet bleiben häufig die kostenlos von Suchmaschinen angebotenen „Webmaster Tools“. Zu Unrecht – diese Tools sollten vielmehr die erste Anlaufstelle bei der Suchmaschinenoptimierung sein, denn nur über sie sind Informationen zum eigenen Webauftritt direkt vom Suchmaschinenkonzern erhältlich. Andere Tools bieten zwar ebenfalls Handlungsempfehlungen – aber eben basierend auf eigenen Annahmen und Daten.

Vielleicht nutzen Sie bereits Google Webmaster Tools bereits – doch kennen Sie die wichtigen Vorzüge der Webmaster Tools und nutzen Sie sie optimal?

Google Webmaster Tools: Suchbegriffe sind oft nur hier sichtbar

Der Blick in Webanalyse-Software wie Google Analytics auf aktuelle Daten ist meist längst nicht mehr so aufschlussreich wie noch vor wenigen Jahren: Wo früher einzelne Begriffe aufgelistet waren, über die eine Website in der unbezahlten Suche gefunden wurde, erscheint nun häufig die Anzeige „not provided“. Zum stärkeren Auftreten von „not provided“ hat eine Änderung Googles geführt: Um Nutzerdaten besser zu schützen, wird die exakte Suchanfrage in den allermeisten Fällen nicht mehr an die besuchte Website übertragen. Nur bei wenigen (Software-)Konfigurationen findet heute noch eine Übertragung der Suchanfrage statt.

google-webmaster-tools-suchanfragen2

Google Webmaster Tools Suchanfragen

Die aus vielen Gründen sehr interessanten Informationen stehen also nicht mehr in Webanalyse-Software zur Verfügung – wohl aber weiterhin in den Google Webmaster Tools. Der Suchanfragenbericht, zu finden unter Suchanfragen, sagt Ihnen, an welchem Tag Sie zu welchen Suchbegriffen gefunden wurden (wenn auch nicht, zu welcher Uhrzeit ein Zugriff über ein bestimmtes Suchwort auf Ihre Website erfolgt ist; aber immerhin). Dank Filtermöglichkeiten können Sie mit dem Bericht zudem analysieren, ob die Suchanfrage von mobilen Endgeräten wie Smartphones oder über stationäre Computer gestellt wurde.

Duplikate mit der URL-Parameterfunktion verhindern

Sicher haben Sie schon von „Duplicate Content“ gehört, dem Schreckgespenst der Suchmaschinenoptimierung. Von Duplicate Content wird gesprochen, wenn ein Inhalt unter verschiedenen Adressen zur Verfügung steht. Dies ist für Suchmaschinen suboptimal, da diese davon ausgehen, dass auf jeder Adresse ein anderer Inhalt zur Verfügung steht. Eine Adresse, ein Inhalt, ein (inhaltsbeschreibender) Seitentitel gepaart mit einem passenden Beschreibungstext („Meta Description“) – das ist die Idealvorstellung von Suchmaschinen.

Die Google Webmaster Tools helfen Ihnen mit den HTML-Verbesserungen, Duplikate zu entdecken. Hier werden URLs aufgelistet, die sich denselben Seitentitel teilen und womöglich vollständige Duplikate sind. Duplikate entstehen häufig beim Einsatz von URL-Parametern (den über „?“ abgetrennten Teil einer Webadresse, z.B. /adresse?quelle=facebook), da über den Parameter und dessen Wert zwar einzigartige Adressen erzeugt werden, diese aber häufig bereits bekannte Inhalte anzeigen. Suchmaschinen stoßen zu 99% über Verweise auf neue Adresse – und werten sie zeitgleich als wertvolle Signale.

Wenn sich Signale eigentlich auf denselben Inhalt beziehen, aber auf unterschiedliche Adressen verweisen, ist das ein Problem. Denn durch eine Kombination der Signale auf eine Adresse ist es in der Regel möglich, eine weit bessere Platzierung zu erzielen. Das folgende Beispiel veranschaulicht das Problem in vereinfachter Form. Hier wird angenommen, dass /unterseite und /unterseite?track=1 denselben Inhalt anzeigen und mit /wettbewerber im Ranking konkurrieren.

Adresse Eingehende interne Links Eingehende externe Links Links insgesamt

/unterseite

15

2

17

/unterseite?track=1

7

1

8

/wettbewerber

18

2

20

Durch die Streuung der Signale auf unterschiedliche URLs hat der Wettbewerber die Nase vorne – anders würde es aussehen, wenn sich die Signale auf einer Adresse vereinigen würden.

Adresse Eingehende interne Links Eingehende externe Links Links insgesamt

/unterseite

15

2

17

/unterseite?track=1

7

1

8

Kombiniert

22

3

25

/wettbewerber

18

2

20

Doch wie erreicht man das? Neben dem Einsatz des sogenannten „Canonical-Tag“, das Suchmaschinen anweist, Signale von einem Duplikat auf die Originalversion zu übertragen, ist auch die URL-Parameterfunktion der Google Webmaster Tools perfekt dazu geeignet, Suchmaschinen über den Umgang mit Parametern zu informieren.

Wenn Sie Google über diese Funktion darüber informieren, dass der Parameter „track“ keine neuen Inhalte erzeugt, werden die auf die oben genannte URL verweisenden Signale auf der Adresse /unterseite kumuliert. So lässt sich das Ranking mit einer sehr einfach durchführbaren Optimierung verbessern.

Mit dem SEO-Analysator von Bing Onpage-Potenziale entdecken

In Bing Webmaster Tools steht mit dem „SEO-Analysator“ eine Funktion bereit, die Sie noch genauer auf Onpage-Optimierungspotenzial hinweist, als das bei Google der Fall ist. Der SEO-Analysator untersucht – analog zu den Suchmaschinencrawlern, also den Analyseprogrammen der Suchmaschinenkonzerne – den Quelltext einer Seite und weist Sie auf Optimierungspotenziale hin.

bing-seo-analysator-beispiel-mit-details_2

Der Bing Seo Analysator

Da die Vorschläge direkt auf der Seite dargestellt werden, lassen sie sich leicht identifizieren und umsetzen.

Fazit

Lassen Sie sich die Hinweise und Daten der Webmaster Tools von Google und Bing auf keinen Fall entgehen. Ob Performancedaten, technische Konfiguration, strukturierte Datenauszeichnungen oder interne sowie externe Links – die Bandbreite an Informationen, Daten und Konfigurationsmöglichkeiten ist groß. Mit der richtigen Anwendung ist es möglich, den SEO-Erfolg deutlich zu steigern.

PrintMehr wertvolle Tipps, Hintergrundinformationen sowie konkrete Anwendungsfälle beim Einsatz von Google und Bing Webmaster Tools finden Sie im neuen Fachbuch Suchmaschinenoptimierung mit Google Webmaster Tools der O’Reilly Basics Reihe, das ab sofort erhältlich ist.

Stephan Czysch ist geschäftsführender Gesellschafter der Online Marketing Agentur Trust Agents (www.trustagents.de). Die Berliner Agentur mit dem Schwerpunkt SEO unterstützt namhafte Unternehmen dabei, ihre Reichweite im Internet zu erhöhen.

Der studierte Informationswissenschaftler arbeitete vor Gründung der Trust Agents im Online-Marketing Team der Rocket Internet GmbH (unter anderem Zalando, eDarling, Groupon) und unterstützte dabei viele Beteiligungen bei der Konzeption und Umsetzung von SEO-Strategien. Stephan Czysch lehrt Suchmaschinenoptimierung an der Hochschule Darmstadt und veröffentlicht regelmäßig Fachbeiträge in einschlägigen Medien. Zudem ist er als Referent auf Online-Marketingkonferenzen aktiv.