Probleme beim Einloggen

Modern C++

JOBS IM MARKTPLATZ oder/und unter https://bit.ly/2DSIASE POSTEN! Hier geht es um C++, Modern C++ & die neuen Standards > C++11.

Nur für XING Mitglieder sichtbar Lambda-Ausdrücke in C++11
Nachdem ich nun bei einem neuen Projekt C++11 erstmals produktiv einsetzen durfte, stieß ich unter anderem auch auf Lambda-Ausdrücke.
Für mich stellt sich nun die Frage, inwieweit Lambda-Funktionen die Qualität des Codes tatsächlich steigern ?
Einerseits ist es sehr einfach nun Code an die Stelle zu schreiben, an der er auch
tatsächlich verwendet wird. D.h. bei der späteren Wartung von Code ist es einfach
die Funktionsweise zu erkennen.
Auf der anderen Seite kommen mir Bedenken ob Lambda-Funktionen nicht dazu verleiten redundanten Code zu schreiben (die gleiche Funktionalität wird z.B. an mehreren Stellen mehrfach implementiert)
Wie sind Eure Erfahrungen ?
Frank Zingsheim Jens Weller
+13 weitere Kommentare
Letzter Kommentar:
Stefan Lang
Hallo,
ich nutze dieses Sprachfeature aktuell sehr häufig für Callbacks und asynchrone Programmierung. Ich kann alles an Ort und Stelle implementieren, wodurch ich meinen Code um einiges leserlicher und verständlicher gestalten kann. Ein weiterer großer Vorteil ist, dass Lambdas ja Closures sind, dh. sie Speichern die Daten ihres Aufrufkontextes. Ebenfalls ist es möglich Lambda's weiter geben, wodurch Kapselung von Algorithmen und Daten ebenfalls gewährleistet ist. Nachteilig ist, dass wenn man diese exzessiv einsetzt, man schnell wieder "Spagetti-Code" erzeugt, welcher schwierig zu debuggen/warten ist.
Volker Hillmann C++ Builder XE3/64bit mit CLANG- Backend, Gespräch von David I mit Bjarne Stroustrup über C++11
Hallo,
letzte Woche ist (nach einiger Wartezeit) der 64bit C++- Compiler von Embarcadero endlich fertig geworden. Nun wurde im Vorfeld viel versprochen und auch einiges gehalten. Eigentlich das meiste. Das Backend basiert auf CLANG, die wichtigsten notwendigen Erweiterungen für die Delphi- Frameworks VCL und FireMonkey in dieses ergänzt. Dadurch ist eine sehr hohe Umsetzung des Standards erreicht, und ich habe jetzt 8 Tage mit dem Teil "gespielt" und einiges an Spaß gehabt. Der CLANG- Compiler liegt gut versteckt in der IDE, die wie von Borland / Codegear und später Embarcadero gewohnt, einen runden, wenn auch nicht perfekten Eindruck hinterlässt. Es ist eben ein Werkzeug, und jeder wird da sicher kritische Punkte finden. Und CLANG ist ja nicht nur ein C++- Compiler.
Embarcadero beginnt damit fast pünktlich zum Beginn des 0. Maja- Jahres einen neuen Weg, denn auf Basis dieser Umsetzungen sollen bald weitere folgen, so verspricht man für 2013 einen Compiler für iOS und einen für Android. Auch der alte 32bit Compiler soll abgelöst werden, und MacOS 64bit, wer weiss. Einige spekulieren sogar über das Ziel, Linux mit zu unterstützen. Das John JT Thomas, der Produktmanager bei Embarcadero, vorher bei RIM war, lässt auch Raum für Spekulationen, schließlich erscheint das neue BlackBerry- Betriebssystem, auf Basis von QNX im ersten Quartal 2013 mit einigen neuen Ideen.
Aber nach Microsoft und anderen schwenkt auch Embarcadero zurück. So steht in einem Blog "C++ is back". Auf einer anderen Folie stand "C++ is everywhere", denn das haben die meisten aktuellen Systeme schließlich gemeinsam, einen Kern aus C und C++.
Letzte Woche dann auch ein weitere Überraschung von Embarcadero. Während man bei Borland / Codegear und Embarcadero eigentlich immer Delphi im Fokus hatte (so wie MS ja C#, ... wie war das mit dem Wasser und dem Wein?), und der C++ Builder eher am Rand stand, wurde eine eigene CodeRage für den C++ Builder und C++ gemacht. Drei Tage Web- Vorträge, unter anderem ein Talk von David I. mit Bjarne Stroustrup über den Stand und die Zukunft von C++ und C++11.
Gerade im hinteren Teil sind doch enige sehr interessante Aussagen zum Thema Objektorientierung und Zukunft von C++.
In den nächsten Tagen werden sicher weitere Veröffentlichen von der Coderage kommen, besonders auf die Beiträge von JT freue ich mich, seine Begeisterung für C++ im allgemeinen, den neuen C++11 Standard und natürlich die Umsetzung der eigenen Firma waren sehr deutlich zu spüren.
Auch in Deutschland hat es in den letzten Tagen zum C++Builder XE3 Webinare gegeben.
Leider ist es immer schwer, seine Begeisterung bei einem Webinar zu zeigen, wenn man quasi in einer stillen Kammer mit dem Computer redet. Und die Vorbereitungszeit war dieses Mal auch extrem kurz. Aber der aktuelle Embarcadero- Compiler ist seit vielen Jahren der beste Embarcadero (Borland / Codegear) Compiler (klar, er kann C++11 ;-) ), läuft stabil und mit der IDE und den 3 dazu gehörenden Compilern kann man jetzt für Win32, endlich Win64 und Mac OSX 32bit Programme schreiben. Und es gibt klare Ziele, die jetzt auch wieder kommuniziert werden. Und das nächste Jahr kann da nur spannend werden. Vielleicht ist ja an dem Maja- Kalender wirklich etwas dran ;-).
Schöne Grüße aus Berlin
Volker
Volker Hillmann
+4 weitere Kommentare
Letzter Kommentar:
Volker Hillmann
Hallo,
natürlich ist dieses Thema immer noch aktuell. Der neue C++ Builder XE3 bringt in der 64bit Version sehr viel C++11 mit einer gewohnt leistungsfähigen IDE. Damit kann man C++11 fast vollständig nutzen (die einzigen Abstriche, die mich bisher gestört haben, sind wirklich die futures und die Methode async. Aber es macht immer noch so viel Spass, wie im Dezember, mit dieser IDE, Clang und C++11.
Nun kann man es auch live erleben, denn Embarcadero geht wieder auf Tour, in der ertsen Runde in Bonn, Halle (Saale), Fürth (bei Nürnberg) und in Salzburg. Genauere Informationen auf der Internetseite:
Die Verantsaltung kostet 30Euro, dafür gibt es aber reichlich zu essen und zu trinken. Am Rande kann man Fragen stellen, auch mal genauer auf Themen eingehen. Es ist eine gute Gelegenheit, eine kommerzielle IDE mit Clang und C++11 einmal live zu sehen.
Schöne Grüße
Volker Hillmann
Stefan Wörthmüller Ein Facebook Software Engineer bekommt in USA $113,740/Jahr durchschnittlich
Auf Glasdoor.com, ist das aktuelle Ranking für den beliebtesten Arbeitgeber in den USA erschienen. Das gehört zwar nur am Rande in dieses Forum - ist aber doch etwas interessant.
Am Beliebtesten ist der Arbeitgeber Facebook, Google ist auf Platz 6. Beide sind ja stark in C++ engagiert.
Nebenbei enthält das Ranking einen umfangreichen Gehaltsspiegel:
Software Engineer Facebook (443 Salaries in US)
Avg. $113,740 Range $44k - $203k
Software Engineer Google (2,735 Salaries in US)
Avg. $112,910 Range $50k - $275k
In Deutschland kann man von derartigen Gehältern meist nur Träumen, zumindest wenn man heise.de glaubt:
http://www.heise.de/jobs/artikel/Wer-verdient-wie-viel-Teil-1-Angestellte-1230028.html?artikelseite=4
Dem zu Folge verdient ein Anwendungsentwickler im Durchschnitt 48.694 Euro/Jahr Das sind derzeit ca. 63.774 US $ und damit ca. 56% dessen, was facebook zahlt. Über 100.000 Euro (130.000 US $) kommen weniger als 3 % der ITler in Deutschland
http://www.heise.de/jobs/artikel/Wer-verdient-wie-viel-Teil-1-Angestellte-1230028.html?artikelseite=2;view=zoom;zoom=2
Wahrscheinlich wird Chrome deshalb hier entwickelt, weil Deutschland aus dieser Perspektive ein Billiglohnland ist.
Jens Weller
+2 weitere Kommentare
Letzter Kommentar:
George Kotorlis Taskbasierte Programmierung mit C++
Hallo,
in den letzten Jahren habe ich daran geforscht, wie man auf einfache Weise hochskalierbare Anwendungen entwickeln kann. Ein erstes Ergebnis war das "Fiber Pool"-Framework, mit dem ich z.B. LAME MP3 bzw. FLAC parallelisieren konnte. Allerdings war die Implementierung nicht gerade einfach.
Nach ein paar weiteren Jahren der Forschung und mit dem neuen C++-Standard denke ich, dass es mir gelungen ist, ein dafür geeignetes Programmierparadigma zu entwickeln - mit dem Namen "Taskbasierte Programmierung".
Nun, den Begriff "Taskbasierte Programmierung" gibt es bereits und er wird überall dort verwendet, wo es um Parallelisierung mithilfe von Tasks geht (TBB, TPL). Allerdings handelt es sich dort dabei um einen Optimierungsprozess und nicht um ein Programmierkonzept.
Taskbasierte Programmierung als Paradigma laut meiner Definition verfolgt dagegen den entgegengesetzten Ansatz: "Programmiere taskbasiert und Du erhältst automatisch eine skalierbare Anwendung".
Ich habe dazu rudimentär eine Website http://ct.thinkmeta.com ins Netz gestellt, in der das Paradigma beschrieben wird. Anhand eines kleinen Beispiels zeige ich dort auch, wie durch sauberen, taskbasierten Code einfach eine skalierbare Anwendung entstehen kann.
Euer Feedback dazu würde mich sehr interessieren, zumal ich kein Autor bin und nicht weiss, wie verständlich das Ganze ist, das ich zudem in einer mir fremden Sprache verfasst habe.
Viele Grüße
George
Rainer Grimm George Kotorlis Jens Weller
+18 weitere Kommentare
Letzter Kommentar:

Moderatoren

Infos zu den Moderatoren

Über die Gruppe "Modern C++"

  • Gegründet: 28.11.2007
  • Mitglieder: 5.950
  • Sichtbarkeit: offen
  • Beiträge: 3.171
  • Kommentare: 2.392
  • Marktplatz-Beiträge: 31