{"id":228,"date":"2025-07-23T18:38:45","date_gmt":"2025-07-23T16:38:45","guid":{"rendered":"http:\/\/r25.herdsoft\/cms\/?page_id=228"},"modified":"2025-08-06T14:52:18","modified_gmt":"2025-08-06T12:52:18","slug":"pc-software","status":"publish","type":"page","link":"http:\/\/r25.herdsoft\/cms\/pc-software\/","title":{"rendered":"PC-Software"},"content":{"rendered":"\n<p>Moderne PCs bieten eine enorme Ver\u00adarbeitungs\u00adleis\u00adtung und einen riesigen Funktionsumfang, der weit \u00fcber das hinaus geht, was man von einem Mikrocontroller und seiner Firmware erwarten kann.<\/p>\n\n\n\n<p>Dementsprechend lassen sich PCs schneller und ele\u00adgan\u00adter programmieren. Aber es wird auch mehr von ihnen erwartet.<\/p>\n\n\n\n<p>So entstanden dann im Laufe von Jahren Programme mit teilweise \u00fcber einer halben Million Programm\u00adzeilen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Programmiersprachen und Werkzeuge<\/h2>\n\n\n\n<p>Obwohl ich auch schon Programme in anderen aktuellen Sprachen wie Java oder PHP geschrieben habe und viel mit heute veralteten Sprachen wie COBOL, Pascal oder Delphi gearbeitet habe, ist mein bevorzugtes Werkzeug C++ in Kombination mit <a href=\"https:\/\/www.wxwidgets.org\/\">wxWidgets<\/a>.<\/p>\n\n\n\n<p>In jedem Falle ist es mir wichtig, Software so zu schreiben, dass sie nicht zu sehr von einem einzigen Betriebssystem abh\u00e4ngig ist. Typisch ist neben Windows auch die Unterst\u00fctzung von <a href=\"https:\/\/www.debian.org\/\">Linux<\/a>. Gelegentlich habe ich auch schon f\u00fcr MacOS X, Solaris, HP-UX, Solaris und OS\/400 entwickelt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SIMD<\/h2>\n\n\n\n<p>C++ (und C) erlauben direkt die Programmierung mit Single Instruction Multiple Data-Techniken moderner CPUs wie <a href=\"https:\/\/de.wikipedia.org\/wiki\/Advanced_Vector_Extensions\">AVX-2<\/a>. Dort, wo Rechenleistung f\u00fcr hohe Echtzeit-Performance wichtig ist, setze ich diese SIMD-Techniken gezielt zur Optimierung einzelner Funktionen ein.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Multithreading<\/h2>\n\n\n\n<p>Je nach Projekt hat Software von mir schon eine Milliarde Pixel je Sekunde in einem System mit harten Echtzeit\u00adanforderungen verarbeitet.<\/p>\n\n\n\n<p>Dies gelingt nat\u00fcrlich nur, wenn die Software die verf\u00fcgbaren Prozessorkerne klug auslastet. Dabei m\u00fcssen viele Fallstricke der Nebenl\u00e4ufigkeit ber\u00fcck\u00adsichtigt werden, die andernfalls zu Fehlfunktionen f\u00fchren k\u00f6nnten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Versionskontrollsysteme<\/h2>\n\n\n\n<p>Als Versionskontrollsysteme, auch zur Kooperation mit den Entwicklern von Kunden und anderen beauf\u00adtragten Dienstleistern, setze ich gerne CVS oder GIT ein, insbesondere in Kombination mit ssh und ggf. openvpn.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Siehe auch<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"\/cms\/skills\/\" data-type=\"page\" data-id=\"525\">F\u00e4higkeiten<\/a><\/li>\n\n\n\n<li><a href=\"\/cms\/aeltere-projekte\/\" data-type=\"page\" data-id=\"401\">\u00c4ltere Projekte<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Moderne PCs bieten eine enorme Ver\u00adarbeitungs\u00adleis\u00adtung und einen riesigen Funktionsumfang, der weit \u00fcber das hinaus geht, was man von einem Mikrocontroller und seiner Firmware erwarten kann. Dementsprechend lassen sich PCs schneller und ele\u00adgan\u00adter programmieren. Aber es wird auch mehr von ihnen erwartet. So entstanden dann im Laufe von Jahren Programme mit teilweise \u00fcber einer halben [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":33,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-228","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"http:\/\/r25.herdsoft\/cms\/wp-json\/wp\/v2\/pages\/228","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/r25.herdsoft\/cms\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/r25.herdsoft\/cms\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/r25.herdsoft\/cms\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/r25.herdsoft\/cms\/wp-json\/wp\/v2\/comments?post=228"}],"version-history":[{"count":48,"href":"http:\/\/r25.herdsoft\/cms\/wp-json\/wp\/v2\/pages\/228\/revisions"}],"predecessor-version":[{"id":953,"href":"http:\/\/r25.herdsoft\/cms\/wp-json\/wp\/v2\/pages\/228\/revisions\/953"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/r25.herdsoft\/cms\/wp-json\/wp\/v2\/media\/33"}],"wp:attachment":[{"href":"http:\/\/r25.herdsoft\/cms\/wp-json\/wp\/v2\/media?parent=228"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}