Heute noch C++ für Unternehmenssoftware



  • rapso schrieb:

    ich denke z.b. dass man endlich in compiler einbauen sollte, dass boundchecks, refcounted-ptr usw. per flag eincompiliert werden. software die man seperat besorgen muss und auch noch so suckt wie z.b. "boundschecker" ist echt keine akzeptable loesung.

    also los, nicht dagegenlabern sondern konstruktiv sein 🙂

    Ich hoff ich start damit nicht einen C++ VS Sprache X - Flame, aber das was du beschreibst ist doch ziemlich genau das, was mit D gemacht wurde. Ich muss sagen dass mich die Sprache immer mehr reizt, und bei naechster Gelegenheit werd ich mir die Sprache genau deswegen ansehen.

    Ich glaub ein Hauptgrund liegt auch daran, dass heute an Unis Java dominiert (und ich vermut auch an den meisten anderen Ausbildungsorten). Und wo's mehr Arbeitskraefte gibt... na ja. Klar, die Profs denken sich "wenn ich denen noch erklaeren muss, was Pointer sind, komm ich nie zum richig wichtigen Stoff", und die Studis denken sich "wozu ein C++ Kurs, ist eh nur viel zu kompliziert".
    Ich sag damit nicht dass der Java-Hype in den Ausbildungsorten angefangen hat, aber das Ganze ist doch eine ziemliche Todeschraube: es gibt immer weniger gut ausgebildete C++er aber immer mehr Javianer, und CPU-Zyklen sind zumindest auf PCs doch ueberhaupt kein Argument mehr, Entwicklungszeit schon, und da schlaegt Java im Durchschnitt C++ ganz klar (IMO).



  • Also zumindest an einer Universität sollte der Professor nicht nach "das ist zu kompliziert" unterrichten... *hope so*

    MfG SideWinder



  • SideWinder schrieb:

    rapso schrieb:

    ich finde es sehr gut webanwendungen zu haben, wobei ich persoenlich nicht unbedingt moechte das sie sich nur im browser aufhalten (bzw im browserfenster).

    Das ist imho ganz groß im Kommen. Allerdings glaube ich nicht, dass das Internet in absehbarer Zeit so leistungsstark wird, dass der Client zum reinen Terminal mutiert (Raubkopien wären dann endgültig Geschichte *g*).

    doch, es ist leistungsstark, nur sollte man sich "terminal" als client-server loesung vorstellen, nicht als reine serverloesung die dann quasi nur text bzw graphik uebermittelt.
    aber wenn du dir z.b. VNC anschaust, oder xwindow oder windows-remote, dann siehst du dass es stark genug ist.

    falls du nun die serverlast meinst, ist das auch nicht so kritisch, weil server eigentlich nur fuer das datenhalten waeren, heute reicht jede billigcpu (semptron mit 2GHz) um die rechenlast zu uebernehmen, das laeuft wirklich gut bei Outlook.live

    Ich glaube uach das DAS das wirkliche fuer V-DSL usw. waere, statt die voll bescheuerte nummer zu fahren "trippleplay: dsl+telefon+movies" als grund fuer 50MBit zu nennen... als ob sich jemand von uns 50HD-movies auf einmal anschauen weurde 🙄
    wuerde T-Online gleich dazu z.b. ne 1TB festplatte vermieten, dann haette ich V-DSL jetzt wohl schon.

    ich glaube, das es deswegen irgendwie leicht vorherzusehen ist wie die zukunft sein wird. manche unternehmen meussen nur staerker darauf hingewiesen werden *hehe*
    Sun war damit mit Java (und ihren slimclient) weit der zeit voraus.



  • Andererseits möchte ich ja gewisse Daten auf jeden Fall lokal halten, da wärs dann natürlich umständlich wenn der Player meiner CDs eine Serveranwendung ist. Aber eine gewisse Kooperation ist natürlich für den Kunden praktisch und für die Unternehmen ja auch (zentrale Patcheinspielung, Kontrolle, tolle EULA-Möglichkeiten (Wiederverkauf von Software kann man dann ganz vergessen, etc.))

    MfG SideWinder



  • Blue-Tiger schrieb:

    es gibt immer weniger gut ausgebildete C++er aber immer mehr Javianer, und CPU-Zyklen sind zumindest auf PCs doch ueberhaupt kein Argument mehr, Entwicklungszeit schon, und da schlaegt Java im Durchschnitt C++ ganz klar (IMO).

    seh ich aber als ganz legitim an. viele haben nunmal ihr 2GHz monster wo frueher ihr 33MHz 386 stand und starten immer noch nur ihr office. Sie erwarten dann nicht dass ein button 10mal schneller geklickt ist, wohl aber das 10 (oder 100)mal mehr funktionalitaet enthalten ist. viele menschen haben geradezu ein gutes gefuehl wenn sie merken ihr PC nutzt wirklich 70% von dem zur verfuehgung stehendem aus, selbst wenn dabei nicht viel mehr rumkommt als vor 10 jahren.
    da sind die entwicklungskosten doch sehr wichtig.

    schade find ich nur, dass sowas zwangsweise den preis druecken wird (bzw das gehalt). viele firmen stellen nunmal nur noch fachinformatiker statt studierte ein. mag auch sein das sie am ende genausoviel leisten, aber was nunmal tatsache ist, ist dass ihr gehalt viel niedriger ist.

    SideWinder schrieb:

    Also zumindest an einer Universität sollte der Professor nicht nach "das ist zu kompliziert" unterrichten... *hope so*

    doch, wenn das nicht der punkt ist.
    wenn du verkettete listen, binaere baeume usw. lernen sollst, nimmt ein prof Java zum unterrichten, damit man lernt worum es geht und nicht c++ debuggen. das bringt dann natuerlich weniger praxis in c++, ....



  • SideWinder schrieb:

    Andererseits möchte ich ja gewisse Daten auf jeden Fall lokal halten, da wärs dann natürlich umständlich wenn der Player meiner CDs eine Serveranwendung ist. Aber eine gewisse Kooperation ist natürlich für den Kunden praktisch und für die Unternehmen ja auch (zentrale Patcheinspielung, Kontrolle, tolle EULA-Möglichkeiten (Wiederverkauf von Software kann man dann ganz vergessen, etc.))

    welche daten willst du denn lokal haben, und wozu?
    falls du antworten solltest "source code"

    wuerd ich vorschlagen das die lokale platte eher wie ein mirror zu sehen ist bzw. so wie heutzutage schon mit svn/cvs/perforce/sourcesafe .



  • Als Studierter Informatiker kann es aber nicht schaden theoretisch zu wissen was eine Referenz überhaupt darstellt und wo der Unterschied zu BuiltIns ist.

    viele firmen stellen nunmal nur noch fachinformatiker statt studierte ein.

    Wie ich immer wieder betone ist Programmieren auch nur noch ein Handwerk wie Tischlerei (die Ausbildung heißt halt derzeit noch Fachinformatiker). Aber ein Fachinformatiker wird niemals systemnahe Prozesse verstehen oder die auszuprogrammierenden Algorithmen finden. Da setzt der studierte Informatiker an.

    MfG SideWinder



  • rapso schrieb:

    SideWinder schrieb:

    Andererseits möchte ich ja gewisse Daten auf jeden Fall lokal halten, da wärs dann natürlich umständlich wenn der Player meiner CDs eine Serveranwendung ist. Aber eine gewisse Kooperation ist natürlich für den Kunden praktisch und für die Unternehmen ja auch (zentrale Patcheinspielung, Kontrolle, tolle EULA-Möglichkeiten (Wiederverkauf von Software kann man dann ganz vergessen, etc.))

    welche daten willst du denn lokal haben, und wozu?
    falls du antworten solltest "source code"

    wuerd ich vorschlagen das die lokale platte eher wie ein mirror zu sehen ist bzw. so wie heutzutage schon mit svn/cvs/perforce/sourcesafe .

    Ich will eine in den PC eingelegte DVD ansehen können ohne 4GB auf den Server übertragen zu müssen. Die Leitungen die dafür flächendeckend benötigt werden kann ich mir noch nicht vorstellen.

    MfG SideWinder



  • SideWinder schrieb:

    Diese ganze Anpassung von C++ auf den Consumer-Markt mit Bla und Blubb komplett vergessen. GUI gehört auch nicht nach C++. Wer Frontends basteln will nimmt Java/C#.

    Ich finde die beiden letztgenannten Sprachen auch nicht besonders geeignet dafür. Das ist sowieso etwas, was mich sehr irritiert. Ich bin der Meinung, man sollte für alles eigene Sprachen machen. Eine Sprache, die sehr flexibel ist (als Sprache) und dazu dann hundert Bibliotheken finde ich eher schlecht. Das trifft jetzt auch Java und C# genauso zu wie auf C++.

    Es gibt Beispiele, wo für-alles-eine-eigene-Sprache IMHO sehr gelungen ist. Zum Beispiel Shader-Programme müssen für jeden Pixel oder Vertex ausgeführt werden, Millionen mal pro Frame. Und jetzt kann man sich ansehen, wie zum Beispiel HLSL daran angepasst ist: Hoch parallel, keine Synchronisation, nur readonly shared memory, eingebaute Datentypen wie float4x4 (4x4 Matrix), es ist perfekt geeignet ... Was zum Teufel nützt mir eine hochflexible Sprache wie C++ oder auch C#, mit der ich eigene Matrix-Klassen scheiben kann, fertig mit Operator-Überladung, impliziten Typumwandlungen usw. das ist doch alles Dreck! Würdet ihr die Shader-Programmierung als C++-Lib haben wollen? Eine eigene Sprache dafür zu erschaffen war die einzige gute Lösung. Und diesen Ansatz muss man IMHO noch stärker verfolgen.

    Und C#/Java ist auch keine gute Lösung für GUI, aus den selben Gründen. Natürlich wird es benutzt weil es nichts besseres gibt, aber zum Beispiel finde ich dass XHTML und XAML deutlich eher in die richtige Richtung geht. Und die g'schaftlige Business-Logik kann man dann wieder in Java schreiben.



  • Für alles eine eigene Sprache ist imho verdammt umständlich zu warten. Das beginnt schon bei dem Ankauf von IDEs für ein Unternehmen. Man kann ja jetzt nicht von Eclipse ausgehen...

    BTW: Hab ich schon erwähnt, dass ich seit gestern stolzer Besitzer von MyEclipse bin? 👍 👍

    MfG SideWinder



  • SideWinder schrieb:

    Für alles eine eigene Sprache ist imho verdammt umständlich zu warten.

    Diese ganzen Sprachen sind natürlich automatisch viel einfacher gestrickt, weil sie sich für weniger Anwendungsbereiche eignen. Deshalb denke ich, dass der Tool-Support dafür auch kein großes Problem wäre. Sieht man doch jetzt schon ganz klar: Je einfacher die Sprache, desto mehr und bessere Tools gibt es dafür.



  • Artchi schrieb:

    naja, mit Unreg-Feiglingen diskuttier ich nicht.

    Und die unregs die was sinnvolles schreiben einfach mal übersehen.
    Was unterscheidet denn die meisten registrieren von den unregs? Sie posten meistens mit dem gleichen namen, aber mehr weiß man auch nicth über sie.

    Für die Serverseite würde ich auch Java nehmen, weil da der Speicherverbrauch nicht so wichtig ist. Außerdem hat Java alle benötigten Funktionen dafür im Standard.
    Für nen Desktoprechner würde ich bei C++ bleiben, außer man hat nen Rechner mit mehreren GB RAM.



  • 4444444444444 schrieb:

    Für die Serverseite würde ich auch Java nehmen, weil da der Speicherverbrauch nicht so wichtig ist. Außerdem hat Java alle benötigten Funktionen dafür im Standard.
    Für nen Desktoprechner würde ich bei C++ bleiben, außer man hat nen Rechner mit mehreren GB RAM.

    Hmmm. Ich habe hier 512 MB RAM und nutze Java in Form von IDEs, eigenen Programmen, Maple 11 und so weiter. Mit meinem Rechner kann man diese Anwendungen alle sinnvoll nutzen. Ich denke zwar auch daran, mehr Arbeitsspeicher zu kaufen, aber aus völlig anderen Gründen. Insofern sehe ich nicht so ganz, warum man für Desktop-Java unbedingt mehrere GB Arbeitsspeicher haben muss.

    ...abgesehen davon kommen heutige Rechner oft schon mit einigen GB an Arbeitsspeicher. Insofern entspricht Deine Forderung durchaus der heutigen Technik und nicht einer Technik der fernen Zukunft.



  • hi,

    rüdiger schrieb:

    Unternehmenssoftware schreibt man in COBOL. 😉

    (sorry, dass ich so ein "altes Post" nochmal vorkrame - gestern musste ich schnell weg)

    Das finde ich gar keinen so dummen Beitrag. Ich kann mir vorstellen, dass Java Cobol noch viel stärker das Wasser abgräbt als C++ (ähhhh ... "als Java C++ abgräbt"). Wenn ich mir ansehe, was heutzutage mit Java und "Web" so gemacht wird, dann ist das tatsächlich im Wesentlichen das, was man früher mit Cobol gemacht hat: Letztlich komfortable Pflege einer ServerDB vom schmalen Client aus. 😉
    Ich sehe da wirklich keinen prinzipiellen Unterscheid zwischen heutigen "Webanwendungen" und dem, was man noch vor ein paar Jahren mit Cobol/Terminal-Emulation gemacht hat.
    (ich wollte gestern "richtige Programme" noch konkretisieren, schaffte das aber nicht nehr, deswegen hier) Aber im Bereich "Arbeitssoftware" wie professionelle Recordingsoftware, wissenschaftliche Simulationen, Infrastrukturkomponenten, .... wird doch wohl eher wenig in Java oder Webtechnologie geschrieben.
    "Consumersoftware" (wie Office-Produkte) sind das so auf der Grenze ... da weiß ich noch nicht so richtig, ob die wirklich den "Web-Sprung" schaffen.

    Kurz gesagt: Wo immer ein wenig "Datenschaufelei" (wie schon bei Cobol) oder ConsumerMultimedia (neu) im Vordergrund steht, hat heute Java bestimmt die Nase vorn (und IMO auch zu Recht) - aber wo immer "die CPU richtig arbeiten muß", wird sich IMO Java auch weiterhin nicht durchsetzen (z.B. gibt es kaum noch Leute, die glauben, dass im "Batchgeschäft" Java&Co noch eine Chance haben werden).

    Dass in der aktuellen Wahrnehmung so viel Java auftaucht, hat aber IMO seinen Grund darin, dass Ersteres im Augenblick stark boomt (Zusammenspiel Internet/Webtechnologie/Java/Hype/Preisverfall) ... weniger darin, dass Letzteres unwichtiger geworden oder ebenfalls "mitübernommen" worden wäre.

    Gruß,

    Simon2.



  • 4444444444444 schrieb:

    ...
    Was unterscheidet denn die meisten registrieren von den unregs? Sie posten meistens mit dem gleichen namen, aber mehr weiß man auch nicth über sie....

    Das macht einen Riesenunterschied ! Bei Regs kann der Leser viel besser einschätzen, wie die "so ticken" und was sie draufhaben.
    Wenn ein Registrierter mal ironisch ist, kann ich das erkennen, weil ich aus vorigen Posts weiß, was seine eigentliche Einstellung ist. Ebenso weiß ich vielleicht, dass sich unter einer "rauen Schale ein sanfter Kern" verbirgt - wo ein unreg einfach nur beleidigend rüberkommt. Ich weiß, ob er fachlich ordentlich was auf dem Kasten hat, oder nur ein wenig vom Hörensagen aufgeschnappt hat. Ich kenne seine Vorlieben, Stärken, Schwächen und weiß, in welchem Fachgebiet er sich üblicherweise rumtreibt. ....
    (gilt natürlich nur für öfter auftretende User, aber bei Unregs habe ich diese Chance gar nicht !)

    Von den 90% nonverbaler Kommunikation fallen im Internet sowieso schon 50% weg ... bei unregs sinkt das auf 80%, was Mißverständnisse, Streit, .... so wahrscheinlich und deswegen Diskussionen oft so unerquicklich macht.
    Es gibt Unregs, bei denen das nicht so ins Gewicht fällt, weil sie ausführlich, eindeutig, höflich kommunizieren ... aber eben auch genug, die nur mal kurz "ins Forum ka**en" und sich dann zurückziehen.

    Bei Dir kann ich z.B. nicht einschätzen, als welchem Erfahrungshintergrund Du Deine Meinung gebildet hast, .... womit sie für mich schwer einzuschätzen und deswegen irrelevanter ist.

    Gruß,

    Simon2.



  • Hallo,
    ich würde mal sagen, dass Unregs und auch Regs teilweise nur provozieren und "einen Schmarn" schreiben.
    Dennoch sollte man beide respektieren und ernst nehmen, solange sie sich (das gilt besonders für Unregs) entsprechend verhalten, d.h. sachlich und freundlich bleiben und auch nur über Themen reden/diskutieren, die wirklich relevant für sie sind.
    Natürlich schreiben Unregs meistens den größten Teil der sinnlosen Forenbeiträge, da sie ja "anonym" sind. Aber das ist kein Grund zu pauschalisieren!

    Und zum eigentlichen Thema (die Quotes sind aus dem ersten Beitrag):

    C++ scheint nur im Bereich von Unternehmenslösungen und Informationssystemen im allgemeinen den Kampf langsam aber doch sicher zu verlieren.

    Das ist Fakt.

    Was ich hierbei nur noch nicht ganz verstanden habe, warum wird C++ in diesen Bereichen kaum noch verwendet?

    Gute Frage: Ich glaube, inzwischen auch sehr gut beantwortet.

    Wie seht ihr das, würdet ihr bei einer Neuinvestition heute noch auf C++ setzen?

    Er fragt nach Meinungen, um sich selbst eine zu bilden bzw. seine zu "erneuern".

    Ich schreibe bei solchen Fragen ehrlich meine Meinung und belasse es dabei. Man muss niemanden von seiner Meinung überzeugen.
    Dennoch gibt es Leute, die nach Meinungen fragen, um ihre eigene Meinunge zu bestätigen. Wenn die Meinungen nicht übereinstimmen fangen diese Leute an, die anderen von ihrer Meinung zu überzeugen. Dann würde ich einfach lächeln :D, mir meinen Teil denken und nicht mehr weiter diskutieren. Würden das alle machen, gäbe es sicherlich nicht soviel Schrott in den Foren im Internet..

    Und für alle die sich jetzt furchtbar über diesen Beitrag aufregen: Ich bin ein völliger Noob und werde erst am 4. April anfangen C++ zu lernen (denn da erscheint ein Lehrbuch). Deshalb können diese sich stolz auf die Brust klopfen und sagen "Ich habe viel mehr Erfahrung, also weiss ich es besser."

    MfG, Max



  • ripmav schrieb:

    ...

    C++ scheint nur im Bereich von Unternehmenslösungen und Informationssystemen im allgemeinen den Kampf langsam aber doch sicher zu verlieren.

    Das ist Fakt....

    Sagt wer ?

    Ich vermute ja auch, dass es so ist, halte es aber für zu weit aus dem Fenster gelehnt, so etwas als "das ist Fakt !" abhaken zu wollen.
    Wenn Du einen seriöse Quelle haben solltest: Immer her damit.

    ripmav schrieb:

    ...Ich ... werde ... am 4. April anfangen C++ zu lernen ...

    Viel Vergnügen wünscht, (ganz unironisch und ernst)

    Simon2.



  • Java hat im Desktop-Markt doch so gut wie keine Bedeutung. Höchstens für spezial Software (wie Uni-Zeugs, Programmier-Zeugs oder Firmeninternes-Zeugs (also Unternehmenssoftware)).

    Vielleicht ist Java im Bereich "Unternehmenssoftware" mittlerweile sehr wichtig. Das kann ich schlecht beurteilen, da ich den Bereich nicht kenne ("Unternehmenssoftware ist eh *gähn*" ;)). Aber da unterscheiden sich C++ und Java eben. C++ ist viel vielseitiger Einsetzbar, weshalb es eben in zahlreichen Bereichen von Embedded über Numbercrunching bis hin zu Unternehmenssoftware eingesetzt wird. Vielleicht kann man mit Java schneller "Unternehmenssoftware" schreiben (kann ich nicht beurteilen. Ich kenne Java nur als Programmiersprache für Handy-Spielchen), aber das heißt nicht, das Java in anderen Bereichen geeignet ist.

    Bei normalen Desktop-Anwendungen ist zum einen eine gute Integration in die Umgebung des Benutzers wichtig. Da kann Java nicht mithalten. Java ist eben unter jeder Umgebung fremd. Außerdem hat Java einen ganz klar höheren Speicher-Verbrauch und teilweise ein langsames verhalten. So sind zumindest meine Erfahrungen und wenn ich auf einem 1GB-Rechner warten muss, bis sich ein Dialog aufgebaut hat und ich ihn wegklicken kann, ist das sehr schlecht. Oder die ganzen VM-Installations Angelegenheiten. Das ist eben nichts für DAUs. Daher wird sich Java wohl nie im Desktop-Bereich durchsetzen.

    Von Embedded muss man ja gar nicht erst anfangen.

    Blue-Tiger schrieb:

    Ich glaub ein Hauptgrund liegt auch daran, dass heute an Unis Java dominiert (und ich vermut auch an den meisten anderen Ausbildungsorten). Und wo's mehr Arbeitskraefte gibt... na ja. Klar, die Profs denken sich "wenn ich denen noch erklaeren muss, was Pointer sind, komm ich nie zum richig wichtigen Stoff", und die Studis denken sich "wozu ein C++ Kurs, ist eh nur viel zu kompliziert".

    Äh, ich weiß nicht wie du Unis/Profs erlebst bzw. erlebt hast. Aber für einen Prof sind Pointer vielleicht ein bis zwei Vorlesungs-Stunden. Verstehen musst du es. Und wer es nicht schafft Pointer zu verstehen sollte eh kein Informatik studieren. JoelOnSoftware meinte sogar, das es gut ist so ein Thema zu nehmen, weil man damit viele Leute aussortieren kann.

    Außerdem hoffe ich mal, dass es keine Uni gibt, wo man beim Informatik-Studium mit nur einer Programmiersprache durchkommt!



  • rüdiger schrieb:

    Außerdem hoffe ich mal, dass es keine Uni gibt, wo man beim Informatik-Studium mit nur einer Programmiersprache durchkommt!

    Bei uns kommst Du ohne durch. 🙂 Zumindest theoretisch.



  • Hallo,

    rüdiger schrieb:

    C++ ist viel vielseitiger Einsetzbar, weshalb es eben in zahlreichen Bereichen von Embedded über Numbercrunching bis hin zu Unternehmenssoftware eingesetzt wird.

    Java ebenso, hast du sogar eben selber gesagt 👍

    Bei normalen Desktop-Anwendungen ist zum einen eine gute Integration in die Umgebung des Benutzers wichtig.

    mit verlaub, nein ist es nicht. das erkennst auch du wenn du dir mal alle möglichen neuen unterschiedlichen applikationen anschaust. im moment hab ich hier 6 applikationen laufen, davon "integriert" sich nur eine gut in den desktop ein, und das ist eclipse 👍

    Außerdem hat Java einen ganz klar höheren Speicher-Verbrauch und teilweise ein langsames verhalten. So sind zumindest meine Erfahrungen und wenn ich auf einem 1GB-Rechner warten muss, bis sich ein Dialog aufgebaut hat und ich ihn wegklicken kann, ist das sehr schlecht.

    Sorry, das ist das typische anti java gelaber, das jeder dau von sich gibt nachdem er den utnerschied zwischen c++ und java gepeilt hat. von dir hab ich eigentlich sowas nicht erwartet. soviel zum thema regs/unregs 👎

    Oder die ganzen VM-Installations Angelegenheiten. Das ist eben nichts für DAUs.

    DAUs sind auch schlau genug flash zu installieren. was ist an der vm installation kompliziert?

    Von Embedded muss man ja gar nicht erst anfangen.

    aha, deine oben genannten handy spielchen sind also nicht embedded? 👍

    gruß,
    ein freundlicher gast,
    der c# programmiert, aber solch dummes gelaber nicht ausstehen kann 👍


Anmelden zum Antworten