GET /api/v2/video/1423
HTTP 200 OK Vary: Accept Content-Type: text/html; charset=utf-8 Allow: GET, PUT, PATCH, HEAD, OPTIONS
{ "category": "PyCon DE 2012", "language": "German", "slug": "funktionale-programmierung-mit-python", "speakers": [ "Mike M\u00fcller" ], "tags": [ "closure", " funktional", " generator", " iterator", " itertools", " paradigma", " verz\u00f6gerte auswertung" ], "id": 1423, "state": 1, "title": "Funktionale Programmierung mit Python", "summary": "In den letzten Jahren hat die funktionale Programmierung wieder mehr\nAufmerksamkeit erhalten. Das Vorurteil nur f\u00fcr akademische Nutzer interessant\nzu sein hat sich stark abgeschw\u00e4cht. Haskell, Erlang und F# sind funktionale\nProgrammiersprachen, die verst\u00e4rkt f\u00fcr praktische Zwecke zum Einsatz kommen.\n\nPython unterst\u00fctz mehrere Programmierparadigmen. Neben der prozeduralen und\nobjektorientierten unterst\u00fctz es auch wichtige Konzepte der funktionalen\nProgrammierung. Der Vortrag zeigt wie sich diese Merkmale wie Funktionen als\nObjekte erster Klasse, Funktionsabschl\u00fcsse (Closures), Funktionen ohne\nSeiteneffekte, Currying, verz\u00f6gerte Auswertung, Vermeidung ver\u00e4nderlicher\nDatenstrukturen und Einsatz von Iteratoren, Generator und Comprehensions\nanstatt von Schleifen nutzen lassen. Beispiele verdeutlichen die Vor- und\nNachteile des funktionellem Ansatzes f\u00fcr verschiedene Aufgaben.\n\nDer Aufbau eines Programms mit funktionalen Ansatz kann sich stark von dem\neines objektorientierten unterscheiden. Beispiele zeigen wie mit Python Teile\neines Programms die Vorteile der funktionalen Programmierung nutzen k\u00f6nnen und\nsich schrittweise funktionale Prinzipien in objektorientierte Programme\neinbeziehen lassen.\n\nDer Vortrag verdeutlicht wie das Modul itertools die verz\u00f6gerte Auswertung\nunterst\u00fctzt. Mit den Funktionen dieses Moduls lassen sich Algorithmen oft\nkurz, gut lesbar und effizient umsetzen. Auch hier ist eine Integration in\nsonst nicht-funktional geschriebene Programme einfach m\u00f6glich.\n\n", "description": "", "quality_notes": "No audio until 10:10.", "copyright_text": "", "embed": "<object width=\"640\" height=\"390\"><param name=\"movie\" value=\"http://youtube.com/v/2c0TTt48ir4?version=3&amp;hl=en_US\"></param><param name=\"allowFullScreen\" value=\"true\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://youtube.com/v/2c0TTt48ir4?version=3&amp;hl=en_US\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"390\" allowscriptaccess=\"always\" allowfullscreen=\"true\"></embed></object>", "thumbnail_url": "http://i3.ytimg.com/vi/2c0TTt48ir4/hqdefault.jpg", "duration": null, "video_ogv_length": null, "video_ogv_url": "", "video_ogv_download_only": false, "video_mp4_length": null, "video_mp4_url": "http://s3.us.archive.org/nextdayvideo/pyconde/pyconde2012/Vortrag_Funktionale_Programmierung_mit_Python.mp4?Signature=Dbnfql17863Wk8wpbrfxlcmvzuM%3D&Expires=1351786192&AWSAccessKeyId=FEWGReWX3QbNk0h3", "video_mp4_download_only": false, "video_webm_length": null, "video_webm_url": "", "video_webm_download_only": false, "video_flv_length": null, "video_flv_url": "", "video_flv_download_only": false, "source_url": "https://www.youtube.com/watch?v=2c0TTt48ir4", "whiteboard": "", "recorded": "2012-10-30", "added": "2012-11-01T11:49:33", "updated": "2014-04-08T20:28:26.939" }