Menü×

Der IT-Thread

  • Mod/RDW
    #1421 BigBANG 11 Sep. 2022, 23:49

    Zitat von: Hexley

    Das schon ein bisschen Quatsch. Eigentlich ein bisschen arg viel Quatsch. Ich habe auch Leute gesehen, die statt in Java lieber in C++ entwickelt haben, und die waren keine Boomer. Berufscoder sind die meisten hier. Und aus meiner Erfahrung raus werden meisten werden keine Neuentwicklung aus dem Boden stampfen, sondern an bereits bestehender Software entwickeln. Und da ist die Programmiersprache dann fix. Wenn man Angestellter ist, und der Chef dann sagt er braucht jemanden um eine alte C++ Software anzupassen, dann ist man auch gebunden. Ich hab noch keinen Arbeitsvertrag gesehen, der explizit die Programmiersprache und evtl. Frameworks vorgibt.

    Mich würde mal die Zahl an Videocodecs interessieren, die in C# geschrieben wurden. Oder die Zahl der Kompressionsalgorithmen die in anderen Sprachen als C und C++ geschrieben wurden. Gibt es eine C# Bibliothek für lineare Algebra, die tatsächlich genutzt wird, und im Hintergrund nicht auf C oder C++ zurückgreift?
    Wenn ich Angestellter bin und mein Chef mir sagt ich muss C++ coden, weil er irgendeinen stinknden Legacycode in der Sockenschublade gefunden hat, dann kündige ich, anstatt mich damit zu quälen.
    C++ ist cool, aber sehr spezialisiert.
    Es macht nur Sinn, wenn es um performancekritische Dinge geht. Oder um Embedded Devices, wo nichts anderes als C/C++ läuft.
    Für allgemeinere Probleme gibt es höhere Sprachen, mit denen man schneller zum Ziel kommt.

    Ich hab C++ auch geliebt, aber es ist halt keine Sprache, bei der die Wahrscheinlich hoch ist, dass du viel über Design Patterns und Best Practices lernst, weil du meistens Legacy Code warten musst, der vor 20 Jahren geschrieben wurde.
    Es gibt auch keine große Community, die hyped ist neue Architekturen, Design Patterns und Frameworks zu testen.
    Das macht z.B. C# für mich so besonders.
    Denke andere höhere Sprachen haben ähnliche Communities (python, JavaScript, …).
    C++ ist da etwas „trockener“.

    Dieser Beitrag wurde von BigBANG am 11.09.2022 23:57:15 bearbeitet.
  • #1422 pump3 12 Sep. 2022, 00:01

    Zitat von: BigBANG

    Wenn ich Angestellter bin und mein Chef mir sagt ich muss C++ coden, weil er irgendeinen stinknden Legacycode in der Sockenschublade gefunden hat, dann kündige ich, anstatt mich damit zu quälen.
    C++ ist cool, aber sehr spezialisiert.
    C++ ist überall. C++ ist die Grundlage der IT Welt.
    DU NIMMST DAS JETZT ZURÜCK;OK?!?!

    Zitat von: BigBANG
    Es macht nur Sinn, wenn es um performancekritische Dinge geht. Oder um Embedded Devices, wo nichts anderes als C/C++ läuft.
    Für allgemeinere Probleme gibt es höhere Sprachen, mit denen man schneller zum Ziel kommt.
    C++ Macht immer Sinn, vor allem seit C++11 und C++17!!!

    Zitat von: BigBANG
    Ich hab C++ auch geliebt, aber es ist halt keine Sprache, bei der die Wahrscheinlich hoch ist, dass du viel über Design Patterns und Best Practices lernst, weil du meistens Legacy Code warten musst, der vor 20 Jahren geschrieben wurde.
    Es gibt auch keine große Community, die hyped ist neue Architekturen, Design Patterns und Frameworks zu testen.
    Diese Community nennts sich JavaScript Community
    Zitat von: BigBANG
    Das macht z.B. C# für mich so besonders.
    Denke andere höhere Sprachen haben ähnliche Communities (python, JavaScript, …).
    C++ ist da etwas „trockener“.
    Du hast "besser" falsch geschrieben!

    Junga, Junge, Junge, wie besoffen bist du grade im Moment???

  • Mod/RDW
    #1423 Sylvester 12 Sep. 2022, 00:48

    Zitat von: BigBANG

    Wenn ich Angestellter bin und mein Chef mir sagt ich muss C++ coden, weil er irgendeinen stinknden Legacycode in der Sockenschublade gefunden hat, dann kündige ich, anstatt mich damit zu quälen.
    Und wenn er stattdessen C#-Code von 2001 (so alt ist die Sprache auch schon) rausholt, dann freust du dich? Und die Meisten die ich kenne und kennengelernt habe würden halt nicht einfach kündigen, weil sie eine andere Programmiersprache anwenden müssen.

    Zitat von: BigBANG
    C++ ist cool, aber sehr spezialisiert.
    Es macht nur Sinn, wenn es um performancekritische Dinge geht. Oder um Embedded Devices, wo nichts anderes als C/C++ läuft.
    Für allgemeinere Probleme gibt es höhere Sprachen, mit denen man schneller zum Ziel kommt.
    Das klingt für mich als würde in C# die Performance gar keine bzw. untergeordnete Rolle spielen. Dann würde ich lieber zu Rust greifen, die versuchen sicheren Code und Performance unter einen Hut zu bringen.

    Zitat von: BigBANG
    Ich hab C++ auch geliebt, aber es ist halt keine Sprache, bei der die Wahrscheinlich hoch ist, dass du viel über Design Patterns und Best Practices lernst, weil du meistens Legacy Code warten musst, der vor 20 Jahren geschrieben wurde.
    Es gibt auch keine große Community, die hyped ist neue Architekturen, Design Patterns und Frameworks zu testen.
    Das große Thema in C++ lautet immer Metaprogrammierung und Compile-Time-Code-Generation. Das sind dann die C++ Design Patterns, die man in anderen Sprachen gar nicht hinkriegt. Bibliotheken wie Boost.HANA zum Beispiel: https://boostorg.github.io/hana/
    Ich würde mal behaupten du lernst in C++ mehr als in C#, wenn du bereit bist in den "Kaninchenbau zu klettern" wie Alice im Wunderland. Die Lernkurve ist zur Zeit wahrscheinlich sehr steil. Aber dafür ist man einer von wenigen die das beherrschen.

    Zitat von: BigBANG
    Das macht z.B. C# für mich so besonders.
    Denke andere höhere Sprachen haben ähnliche Communities (python, JavaScript, …).
    C++ ist da etwas „trockener“.
    Javascript ist wirklich Rotze, darum gibt es so Sprachen wie Typescript die man dann zu Javascript transpilen kann.

    Und die Python-Community gibt es so wie in deiner Vorstellung wohl gar nicht. Da sind wohl viele Leute aus anderen Wissenschaftsbereichen die mit Programmierung nur am Rande in Kontakt kommen um ein Problem zu lösen. Die scheren sich einen Dreck um Designpatterns, die wollen nur ihr spezifisches Problem lösen. Eleganz spielt da gar keine Rolle. Und hier kommt auch der Plotttwist: der größte Teil von Code, der von Python aus ausgeführt wird, ist in C oder C++ geschrieben. Alles was mit Machinelearning zu tun hat, z.B. numpy, scikit-learn, Tensorflow, ...

  • #1424 Rollatormann 12 Sep. 2022, 00:57

    Nutze auch nur C++, selbst in meiner Freizeit. Wenn ich's kann - warum nicht.
    Im Beruf hardwarenah, verschiedene Plattformen und auf Performance getrimmt, daher geht nichts anderes.


    Ist die Tage live btw

  • #1425 Pedder 12 Sep. 2022, 01:07

    Muss tatsächlich auch sagen, dass ich bis jetzt noch keine Sprache gefunden habe, die mir mehr taugt als C++. Das war halt die erste Sprache mit der ich richtig größere Projekte angefangen und abgeschlossen habe. Hab an sich aber nichts gegen Javascript, C# oder Python, verwende die halt seltener.

  • #1426 Hias 12 Sep. 2022, 10:13

    Ich glaube sogar aus verschienen Gründen das C++ bald einen immensen re-hype erleben wird.
    Nichts gegen Python. Ich mag Python immens. Alles an Python, aber vor allem die Möglichkeit, dass an sich jeder, der sich fürs coden interessiert dadurch Zugang erhält. Trotzdem bleibt die Sprache für mich in erster Linie interessant für wissenschaftliche und IT Sec relevante Anwendungen.
    Wobei - ich hol jetzt mal eine Aussage, welche so vom CCC sein könnte raus - wirkliche Hacker sich immer am Eisen auskennen müssen.

    C++ wiederrum rockte die Vergangenheit und wird auch die Zukunft rocken.

    Eine der größten gesellschaftlichen Herausforderungen in der nahen Zukunft wird sein, die Nutzung von Ressourcen durch die am höchstmöglich erreichbare Effizienz zu beschränken und da wird vor allem die genutzte Programmiersprache ein Werkzeug sein, welches in Betracht gezogen werden muss.
    Klima und globale wirtschaftliche Abhängigkeiten als 2 Beispiele genannt.

    2. großes Thema ist die nächste industrielle Revolution der Automatisierung. Smart City Projekte. Es wird also nicht nur mehr um ein AI Framework gehen - nennt mir mal ein AI Framework, welches nicht in C++ programmiert wurde - sondern die Programmierung muss meiner Meinung nach eine Renaissance am Eisen erleben.

  • Mod/RDW
    #1427 Sylvester 12 Sep. 2022, 10:38

    Ich denke mal es wird interessant wie die neuen Features, die mit C++20 in die Sprache kamen angenommen werden.

    • Modules sollen die alten #include Direktiven ersetzen. Das war meiner Meinung nach schon lange überfällig.
    • Concepts soll Programmierung mit Templates vereinfachen und übersichtlicher machen. Hätte schon in den Sprachstandard 2011 einfließen sollen, kam aber erst ~10 Jahre später
    Ansonsten gibt es noch Rust. Die Sprache scheint auch sehr viel Aufwind zu haben.

  • #1428 Rollatormann 16 Sep. 2022, 14:55

    Manchmal hasse ich Software Entwicklung ja schon.
    Sage seit 12 Monaten die benötigte Arbeit für etwas wird zwischen 2 und 3 Monaten liegen.
    Chefs gaben mir nun Resourcen / Leute für 2-4 Wochen und sagen mir nun nach 2 Wochen dass die verbleibende Arbeit alarmierend sei.

    ygAGRiK.png


    Ist das überall so?

  • #1429 Gelöschtes Mitglied 755 16 Sep. 2022, 15:00

    Echte Männer Programmierer verwenden (Objektorientiertes) COBOL.

    visual-cobol.jpg

  • Mod/RDW
    #1430 BigBANG 16 Sep. 2022, 15:00

    Dies ist nun ein C++ Thread.

  • #1431 pump3 16 Sep. 2022, 15:40

    Zitat von: BigBANG

    Dies ist nun ein C++ Thread.
    Ich fange mal an, mit einer FizzBuzz Impplementierung komplett in Template Metaprogramming:
    #include <iostream> #include <cxxabi.h> struct fizz; struct buzz; struct fizz_buzz; template <int Number> struct num : public std::integral_constant<int, Number> { }; template <typename...Types> struct list { }; template <template <typename> class Function, typename TypeList> struct map; template <template <typename> class Function, typename...Types> struct map<Function, list<Types...>> { using type = list<typename Function<Types>::type...>; }; template <typename Number, bool Fizz = (Number::value%3)==0, bool Buzz = (Number::value%5)==0> struct fb_impl { using type = Number; }; template <int Number> struct fb_impl<num<Number>, true, true> { using type = fizz_buzz; }; template <int Number> struct fb_impl<num<Number>, true, false> { using type = fizz; }; template <int Number> struct fb_impl<num<Number>, false, true> { using type = buzz; }; template <typename Number> using fb = fb_impl<Number>; template <typename Type, typename TypeList> struct cons; template <typename Type, typename...Types> struct cons<Type, list<Types...>> { using type = list<Type, Types...>; }; template <int First, int Last, template <int> class Type> struct generate { using type = typename cons<Type<First>, typename generate<First + 1, Last, Type>::type>::type; }; template <int Number, template <int> class Type> struct generate<Number, Number, Type> { using type = list<>; }; template <typename Type> const char *demangled_type_name() { int status; return abi::__cxa_demangle(typeid(Type).name(), 0, 0, &status); } template <typename TypeList> void print_type_list() { using list_type = TypeList; std::cout << demangled_type_name<list_type>() << std::endl; } int main(int argc, const char * argv[]) { using numbers_list = typename generate<1, 256, num>::type; using fizz_buzz_list = typename map<fb, numbers_list>::type; print_type_list<fizz_buzz_list>(); return 0; }

  • Mod/RDW
    #1432 Sylvester 16 Sep. 2022, 15:44

    ok, was ist mit dem Code Highlighting hier kaputt?

  • #1433 Rollatormann 16 Sep. 2022, 15:46

    Zitat von: pump3

    Ich fange mal an, mit einer FizzBuzz Impplementierung komplett in Template Metaprogramming:
    #include <iostream> #include <cxxabi.h> struct fizz; struct buzz; struct fizz_buzz; template <int Number> struct num : public std::integral_constant<int, Number> { }; template <typename...Types> struct list { }; template <template <typename> class Function, typename TypeList> struct map; template <template <typename> class Function, typename...Types> struct map<Function, list<Types...>> { using type = list<typename Function<Types>::type...>; }; template <typename Number, bool Fizz = (Number::value%3)==0, bool Buzz = (Number::value%5)==0> struct fb_impl { using type = Number; }; template <int Number> struct fb_impl<num<Number>, true, true> { using type = fizz_buzz; }; template <int Number> struct fb_impl<num<Number>, true, false> { using type = fizz; }; template <int Number> struct fb_impl<num<Number>, false, true> { using type = buzz; }; template <typename Number> using fb = fb_impl<Number>; template <typename Type, typename TypeList> struct cons; template <typename Type, typename...Types> struct cons<Type, list<Types...>> { using type = list<Type, Types...>; }; template <int First, int Last, template <int> class Type> struct generate { using type = typename cons<Type<First>, typename generate<First + 1, Last, Type>::type>::type; }; template <int Number, template <int> class Type> struct generate<Number, Number, Type> { using type = list<>; }; template <typename Type> const char *demangled_type_name() { int status; return abi::__cxa_demangle(typeid(Type).name(), 0, 0, &status); } template <typename TypeList> void print_type_list() { using list_type = TypeList; std::cout << demangled_type_name<list_type>() << std::endl; } int main(int argc, const char * argv[]) { using numbers_list = typename generate<1, 256, num>::type; using fizz_buzz_list = typename map<fb, numbers_list>::type; print_type_list<fizz_buzz_list>(); return 0; }
    krass

  • #1434 pump3 16 Sep. 2022, 16:17

    Zitat von: Hexley

    ok, was ist mit dem Code Highlighting hier kaputt?
    Alles.cpp

  • Mod/RDW
    #1435 Sylvester 16 Sep. 2022, 19:13

    Nein, es geht (wieder)

    C++:
    #include <iostream>
    #include <cxxabi.h>
    
    struct fizz;
    struct buzz;
    struct fizz_buzz;
    
    template <int Number>
    struct num : public std::integral_constant<int, Number> { };
    
    template <typename...Types>
    struct list { };
    
    template <template <typename> class Function, typename TypeList>
    struct map;
    
    template <template <typename> class Function, typename...Types>
    struct map<Function, list<Types...>> {
        using type = list<typename Function<Types>::type...>;
    };
    
    template <typename Number, bool Fizz = (Number::value%3)==0, bool Buzz = (Number::value%5)==0>
    struct fb_impl {
        using type = Number;
    };
    
    template <int Number>
    struct fb_impl<num<Number>, true, true> {
        using type = fizz_buzz;
    };
    
    template <int Number>
    struct fb_impl<num<Number>, true, false> {
        using type = fizz;
    };
    
    template <int Number>
    struct fb_impl<num<Number>, false, true> {
        using type = buzz;
    };
    
    template <typename Number>
    using fb = fb_impl<Number>;
    
    template <typename Type, typename TypeList>
    struct cons;
    
    template <typename Type, typename...Types>
    struct cons<Type, list<Types...>> {
        using type = list<Type, Types...>;
    };
    
    template <int First, int Last, template <int> class Type>
    struct generate {
        using type = typename cons<Type<First>, typename generate<First + 1, Last, Type>::type>::type;
    };
    
    template <int Number, template <int> class Type>
    struct generate<Number, Number, Type> {
        using type = list<>;
    };
    
    template <typename Type>
    const char *demangled_type_name() {
        int status;
        return abi::__cxa_demangle(typeid(Type).name(), 0, 0, &status);
    }
    
    template <typename TypeList>
    void print_type_list() {
        using list_type = TypeList;
        std::cout << demangled_type_name<list_type>() << std::endl;
    }
    
    int main(int argc, const char * argv[]) {
        using numbers_list = typename generate<1, 256, num>::type;
        using fizz_buzz_list = typename map<fb, numbers_list>::type;
        print_type_list<fizz_buzz_list>();
        return 0;
    }

  • #1436 Fisimatenten 16 Sep. 2022, 21:15

    WEIL IHR HÄÄÄÄÄÄÄÄGD

  • Mod/RDW
    #1437 Sylvester 17 Sep. 2022, 07:57

    Zitat von: Rollatormann

    Manchmal hasse ich Software Entwicklung ja schon.
    Sage seit 12 Monaten die benötigte Arbeit für etwas wird zwischen 2 und 3 Monaten liegen.
    Chefs gaben mir nun Resourcen / Leute für 2-4 Wochen und sagen mir nun nach 2 Wochen dass die verbleibende Arbeit alarmierend sei.

    ygAGRiK.png


    Ist das überall so?
    Ne, nicht unbedingt überall so. Aber trotzdem ist sowas häufig anzutreffen. Kommt auf die Branche an, würde ich sagen.

  • #1438 Pedder 17 Sep. 2022, 20:18

    Es ist mal wieder so weit, ein Bot auf Twitter, der via GPT-3 Antworten generiert, lässt sich ein bisschen manipulieren:

    EwKRccz.png

    X7lHO93.png

    2KbNdor.png

    0n0IoYm.png

  • Mod/RDW
    #1439 ProfHase 19 Sep. 2022, 16:45

    60397c52ba7e8db4.jpg

  • #1440 KippmKauBoi 19 Sep. 2022, 17:02

    Zitat von: Hexley

    Anrufe einfach so aufzuzeichnen ohne die Erlaubnis vom Gesprächspartner ist auch in der BRiD gar nicht erlaubt.

    Jaaaa, wie viele fahrn mit ner Dashcam rum. Ist auch verbotne weche Datnschutz un so weider.