Programmiersprachen - Diskussion in Hinsicht auf Berufliche Zukunft und Anwendungsfall

  • Seid gegrüßt liebe AutoIt-Community.


    Wie einige vielleicht mitbekommen haben, habe ich vor nicht alt zu langer Zeit einen Thread zum Thema SAP eröffnet, und bin quasi immer noch auf der Suche nach Gründen, die mir eine Entscheidung leichter machen könnten, welche Programmiersprache ich lernen möchte. Grund dafür ist folgender:


    Ich arbeite derzeit mit den Sprachen: (HTML), Perl, AutoIt, JavaScript/JQuery, C/C++, PHP.
    Ich interessiere mich für den Bereich Webprogrammierung genauso wie beispielsweise der Bereich SAP, was natürlich unter anderem an der Bezahlung im Berufsleben einen Ausschlag geben kann.


    SAP kann ich mir abschminken privat zu lernen - kleinste/günstigste Entwicklungsumgebung für ABAP rund 120.000€ (mein Kenntnisstand).


    Nun dachte ich okay, was gibt es noch was mir einen beruflichen Vorteil erschaffen könnte. Java/C#? Ich habe auch schon einige Debatten bei Google gelesen aber selten etwas informatives über die berufliche Zukunft („Sicherer“ Job, gut bezahlt?). Daher mal meine Frage hier an euch, hat zufällig jemand über den Beruflichen Bereich einige Informationen?


    Ich werde (und habe schon immer) das machen, was mir zusagt. Angenommen alle sagen nun Java, wenn es mir nicht gefällt, bringt es mir nichts damit später bis zur Rente arbeiten zu müssen. Aber rein vom Pro/Contra, was würdet ihr sagen?


    Ich habe bisher gelesen, dass Java ...
    ...einfach zu lernen ist.
    ...OS-unabhängig ist.


    Nun scheint es mir als ob viele Firmen mit C# arbeiten. Daher wäre der zweite Teil der Debatte der Anwendungsfall. Wozu nimmt man eher Java/C#? Ich bin z.B. nicht der Typ der gerne Compiler schreiben würde :P Nicht vom Aufwand abhngig, aber ich bevorzuge es direkte Anwendungsprogramme/Webprogrammierung zu tätigen ^^


    So, dann würde ich mich mal über eure Meinungen und (hoffentlich) beruflichen Erfahrungen inspirieren lassen :)

  • http://www.somethingofthatilk.com/comics/135.jpg :rofl: :rofl:


    HTML sollte jeder ansatzweise können, ist aber keine Programmiersprache.


    Es hängt halt alles davon ab, was du machen willst.
    PHP, MySQL, Javascript, flash, Python (Django) sind als Web-Entwickler wichtig.


    Python ist für den Bereich Linux wohl unverzichtbar, weil man von kleinen Skripts bis zu komplexen Programmen alles auf einfache Weise machen kann und einen enormen Umfang an libraries hat.


    C++ hat den Vorteil, dass es verhältnismäßig große Übersichtlichkeit und Wiederverwertbarkeit bei guter Laufzeit und Hardwarenähe hat. Richtiges C++ ist plattformunabhängig. Da nach einer Langen Dürreperiode (seit 1998 kaum Neuerungen) 2011 ein komplett anderer Standard herausgekommen ist, könnten sich in Zukunft wieder mehr Firmen überlegen, für neue Projekte doch wieder C++ zu verwenden.
    C muss man zwar nicht programmieren können, aber es hat große Vorteile, es gut lesen zu können, weil ein Großteil alter Programme und Algorithmen in C geschrieben ist, und C auch der historische Schnittpunkt vieler anderer Programmiersprachen ist.



    Java ist quasi die Standardsprache und es kann nicht schaden, sie zu können. Java ist meistens plattformunabhängig, hat ein GUI-framework, bei Android (leider) die einzige Sprache, die direkt auf das Userinterface zugreifen kann. Dafür ist Java langsam, hat Designfehler (wird nicht umsonst gehasst) und viele Sicherheitslücken.
    Die meisten Studenten lernen Java, aber das kann auch Nachteile haben, z.B. hat sich ein Arbeitskollege meines Vaters (Druckmaschinenbau) mal beschwert, dass alle jungen Leute nur noch Java könnten und es kaum mehr gebe, die sich um die alten Programme, die z.T. auch auf Treiberebene arbeiten müssen, kümmern können.


    C# steht irgendwo zwischen Java und C++. Es läuft hauptsächlich auf Windows, die Algorithmen durch Mono auch woanders, aber GUI und andere Funktionen sind auf die WinAPI zugeschnitten. Es ist einfach zu verwenden, der Benutzer braucht keine Runtime library bzw. diese wird mit Windows geupdatet. Es ist übersichtlich, verhältnismäßig sicher (gegen Memory leaks und Abstürze und auch keine solche Virenschleuder wie Java), aber immernoch annehmbar schnell.
    Gerade Firmen, die Windows als einzige Plattform haben, werden wohl C# vorziehen, allerdings lässt sich die Entwicklung schwer abschätzen, weil Microsoft sich nicht mehr um C# kümmert und jetzt ihren Metro-Modern-UI-rechteck-pseudo-html5-kack abzieht.


    Objective C scheint irgendwo zwischen C++ und C# zu sein, wird aber nur für Apple verwendet.


    Assembler lohnt sich wohl aus beruflicher Seite erstmal nicht.


    Haskell könnte mal interessant werden, aber ist es zur Zeit noch nicht. Es hat ein gänzlich anderes Konzept und wird zur Zeit noch als Akademikersprache belächelt, aber das höhere Abstraktionslevel verringert die Fehlerzahl und überlässt dem Compiler mehr Denkarbeit. Da sich Compiler laufend verbessern, könnte es sein, dass sie irgendwann besseren Code generieren als ein durchschnittlicher C++-Programmierer könnte, so wie es zur Zeit auch mit C/C++ und Assembler ist.



    Das ist aber nur, was ich so einschätze. Was die Firmen wirklich wollen, kann ich nicht sagen, denn ich bin noch nicht berufstätig. Es lässt sich für die Zukunft nur schwer abschätzen, denn während es zwischenzeitlich so aussah, als würde irgendwann außer OS, Treiber und Spiele alles Java sein, nimmt die Zahl zur Zeit eher ab und es gibt doch erstaunlich viele Firmen, die anderes verwenden.


  • hier mal eine Übersicht was gerade angesagt ist.
    http://www.tiobe.com/index.php…paperinfo/tpci/index.html


    Diese Seite stellt aber nicht genau dar, was in der Industrie verwendet oder gefragt wird. C ist nunmal historisch gesehen die Grundlage der meisten Programmiersprachen, z.B. printf war in dieser Form, wie es auch heute noch in den meisten Programmiersprachen existiert (StringFormat in AutoIt) in C zum ersten Mal da.
    Die meisten Interfaces zwischen Funktionen sind in C, z.B. die exportierten Dll-Funktionen werden nach außen alle als C deklariert, damit sie einfach gefunden und geladen werden können, auch wen Rückgabewerte, Aufrufbedingungen etc. in C++ geschrieben ist.
    C++, GLSL, OpenCl, HLSL sind alles Abwandlungen von C und Java, C#, Objective C, D, Vala sind Abwandlungen von C++. Man kommt also um C fast nicht herum, auch wenn man in anderen Sprachen schreibt.


    Dadurch kommt es, dass C so extrem wichtig ist, aber ich bezweifel doch sehr, dass Firmen noch viel nach C-Programmierern suchen, sondern ihre Projekte mit anderen Sprachen entwickeln.

  • Hallo,


    Ich bin, ob ihr es glaubt oder nicht, immer noch sehr von AutoIt überzeugt. Gerade mit der neuen Version die bald folgen wird. So habe ich z.B. gerade mehrere Projekte am Laufen die ich in reinem AutoIt programmiere, als Beispiel: Eine Ladesäule für Elektroautos, die auch schon funktioniert und getestet wird. Ich habe die Software mit AutoIt geschrieben, weil ich diese Sprache immer noch am besten beherrsche und einfach immer wieder über die Simpelheit dieser Sprache begeistert bin (wie schnell man große Programme erstellen kann und wie einfach man sie praktisch on the fly anpassen kann.)


    Trotzdem muss ich natürlich auch sagen, irgendwann hört es auf! Meine Ladesäulensoftware muss z.B. ISO 9001 Norm entsprechen, und das tut sie allein schon nicht weil ich es mit AutoIt programmiere. Und natürlich darf der Sourcecode unter keinen Umständen irgendwie entschlüsselt werden, was man bei AutoIt nie garantieren kann.


    Also bei mir siehts meistens so aus: Erst schreibe ich das Programm in AutoIt, bis es flüssig und zuverlässig läuft und es allen Ansprüchen genügt, und wenn der Kunde dann noch gewisse Normen haben möchte, oder es wirklich um nanosekunden geht, schreibe ich es um in C. Java ist mir zu langsam und C++ zu viel Blabla drum herum ;-)


    Letztendlich kommt es nicht drauf an, in welcher Programmiersprache du arbeitest, sondern mit welcher du am besten zu recht kommt und natürlich wie gut du in ihr bist. Mit z.B. AutoIt kann man alles machen, was man mit C/Java/... auch machen kann. (Außer natürlich: Platformunabhängigkeit)


    Gruß,
    Spider

  • Soweit schon mal danke für die bisherigen Antworten.
    Ja dass niemand sagen kann mach dies mach das ist mir halt klar. Ich bin von meinen Interessen sehr hin- und hergerissen, und versuche mich irgendwo zu finden, wo ich mir vorstellen kann, dass ich dort bleibe. Für mich ist es aber wichtig realitätsnah zu bleiben. Wenn ich sage ich will gute Berufschancen später, kann ich wahrscheinlich einen Großteil nehmen, allerdings denke ich auch daran was es zu hauf gibt. Ich meine die Web-Entwickler Branche ist meiner Meinung nach sehr überschwemmt zumal da viel unter der Hand gemacht wird von Hobbybastlern. Daher dachte ich an Java/C# da ich denke dies hat beruflich gesehen eine größere Chance erfolgreich zu sein. Nein ich denke nicht an ne Million, aber später einen sicheren Job zu haben

  • Hi,

    Zitat

    Mit z.B. AutoIt kann man alles machen, was man mit C/Java/... auch machen kann. (Außer natürlich: Platformunabhängigkeit)

    das mit der Plattformunabhängigkeit ist das größte Märchen seit Erfindung der Programmiersprachen!
    Es heisst immer, lerne Sprache xyz, denn die ist plattformunabhängig und portierbar.
    Sobald man sich mit diesem Thema ernsthaft beschäftigt wird einem klar, alles gelogen.
    Portiere mal ein größeres Softwareprojekt von Windows nach div. Linux/Unix-Derivaten oder umgekehrt oder von ARM nach x86. Einer meiner früheren Kunden war von einem großen Softwareunternehmen als Berater zu diesem Thema eingestellt. Ergebnis in 99% aller Fälle: Neuschreiben, da portieren technisch unmöglich oder so aufwendig ist, dass es wirtschaftlich uninteressant wird.
    Wer davon träumt, den Sourcecode einfach auf der anderen Plattform durch den Compiler zu nudeln und alles läuft......der träumt^^


    Zitat

    hier mal eine Übersicht was gerade angesagt ist.

    so ist es...gerade angesagt.
    Wir befinden uns in einem Zeitalter, in dem Produktzyklen in Monaten gerechnet werden und in Zukunft werden diese mit Sicherheit NOCH kürzer werden und da fragt ihr, was die "Sprache der Zukunft" ist^^
    Ich denke, wesentlich sinnvoller als sich auf eine (oder zwei) Sprachen einzuschiessen wird sein, flexibel für die anstehenden Probleme das richtige (passende) Werkzeug zu finden!
    Wenn einer heute davon ausgeht, mit der Sprache xyz deckt er 90% aller programmiertechnischen Probleme ab, dann hat er nicht begriffen, dass derjenige den Auftrag bekommt, der das Problem am schnellsten und am preiswertesten mit den einfachsten Mitteln löst. Und das ist seltsamerweise nicht die Sprache xyz. Denn wenn das so wäre, gäbe es die von Marthog aufgezählten plus gefühlten hundert weiteren Programmiersprachen nicht!
    Wenn es einen Hype gibt, sei dabei, sahne ab und springe schnell genug wieder auf den nächsten auf^^


    Weiterhin wächst durch die Vernetzung und Globalisierung der Druck gerade aus der 2. und 3. Welt. Wir sind alle ehrlich, programmieren kann jeder Idiot lernen! Und mittlerweile werden Projekte schon deshalb ans andere Ende der Welt vergeben, weil dort die Kosten noch niedriger sind als hierzulande....
    Wieso hier in Deutschland x-tausend Euros für einen Programmierer ausgeben, wenn man irgendwo auf der Welt einen besseren für die Hälfte des Geldes bekommt?
    In Indien werden zzt. im EDV-Bereich Jobs gewechselt wegen 50 Euro Differenz...nicht im Stundenlohn, sondern im Monat! :wacko:


    Zitat von GtaSpider

    Meine Ladesäulensoftware muss z.B. ISO 9001 Norm entsprechen, und das tut sie allein schon nicht weil ich es mit AutoIt programmiere.

    Willkommen in Deutschland! Wieso haben wir hier eigentlich keine Bill Gates, Larry Page, Steve Jobs oder Andreas von Bechtolsheim?
    Die Jungs von SAP lasse ich mal aussen vor, alles IBM-Gewächse^^ (wenn IBM etwas innovativer gewesen wäre, hätten die nicht eine eigene Firma aufmachen müssen^^)
    Wenn Mark Zuckerberg seine Idee hierzulande hätte verwirklichen wollen, würde er immer noch an irgendwelchen Internetprojekten rumklimpern (übrigens wäre es völlig unerheblich, welche Programmiersprache er verwenden würde^^)
    Denkt mal darüber nach, bevor ihr eure Zukunft mit der nächsten Wahl am 22. September beeinflusst ;)

  • Für mich ist es aber wichtig realitätsnah zu bleiben.


    Welches realitätsnah? Meinst du, dass du nur programmieren willst und das war es? Dann bekommst du zwar einen Job, aber nicht unbedingt gut bezahlt. Wenn man etwas kompliziertere Arbeit will, entwickelt man halt entweder Algorithmen (erstmal theoretisch und dann programmiert) oder leitet ein Projekt. Bei beiden arbeitet man auch realitätsnah, denn man bringt schließlich einen Algorithmus zu Papier, der später (von anderen oder einem selbst) implementiert wird und so ein bestimmtes Problem löst.


    Ich selber werde beim Studium als Nebenfach Bioinformatik haben und ich denke, dass man in dem Gebiet (nach der Uni) auch nicht so viel mit programmieren zu tun hat, sondern eher mit planen. Programmiersprachen lerne ich nicht gezielt (außer Haskell), sondern dann wenn ich sie brauche. Ich habe mir Grundlagen für Python angeeignet und kann jetzt gut abschätzen, wann ich das brauche und kann C++ und AutoIt gut (soweit man bei C++ von gut sprechen kann). Lua habe ich mal nebenher gelernt, weil ich es einfach für ein Projekt brauchte.

  • Realitätsnah im Sinne von eine Sprache die beruflich eine Zukunft bieten kann. Klar kann das Web-Programmierung auch, aber ich glaube es ist riskanter darauf zu hoffen als wenn du z.B. SAP kannst ;) SAP wäre eig. mein Favorit, aber das kann ich mir jetzt nicht beibringen und muss/werde ich dann im Betrieb lernen.


    Größtes Problem für mich ist die Vorstellung, das man mit C# Homepages schreiben kann und mit Java z.B. auch Verwaltungssoftware. Das sind die Informationen die ich atm habe, also Java halt für Andriod und Web, und C# für Verwaltungssoftware mit Datenbanken.....

  • Zitat von Marthog

    ...aber ich bezweifel doch sehr, dass Firmen noch viel nach C-Programmierern suchen...


    Das stimmt so nicht. In der Webentwicklung um die es hier vor allem geht, werden sicherlich nicht viele einen C-Programmierer suchen. Haben Sie aber auch noch nie. Sobald es aber z.B. um Embedded Systeme geht kommst du um C nicht mehr herum. Klar sind diese heutzutage sehr leistungsfähig und man kann auch ein Linux (und kommt mir jetzt hier nicht mit Embedded Windows :D) drauf laufen lassen, aber in der Industrie wird das wahrscheinlich (Ich habe zu wenig Erfahrung um mich hier festzulegen) zu Teuer. Ich arbeite selber momentan rein mit C und in Bereichen in denen Gescheindigkeit gesucht wird oder bei denen man auf Stromverbrauch/Kosten achten muss ist C meiner Meinung nach immer noch die erste Wahl. Und vor allem im bereich der Elektronik wird sich das meiner Meinung nach auch so schnell nicht ändern.


    EDIT: Ach ja falls du mal in die Forschung willst, sollte man Mathlab nicht vergessen. Das ist dort ein sehr verbreitetes Tool wenn es beispielsweise um den Test von Algorithmen geht.


    Gruss Shadowigor

  • Es heisst immer, lerne Sprache xyz, denn die ist plattformunabhängig und portierbar.
    Sobald man sich mit diesem Thema ernsthaft beschäftigt wird einem klar, alles gelogen.
    Portiere mal ein größeres Softwareprojekt von Windows nach div. Linux/Unix-Derivaten oder umgekehrt oder von ARM nach x86. Einer meiner früheren Kunden war von einem großen Softwareunternehmen als Berater zu diesem Thema eingestellt. Ergebnis in 99% aller Fälle: Neuschreiben, da portieren technisch unmöglich oder so aufwendig ist, dass es wirtschaftlich uninteressant wird.

    Dem möchte ich dezent widersprechen, denn es kommt eigentlich darauf an, wie man die Grundzüge eines Programms aufbaut. Und wenn man von vorne herein weiß, dass das Projekt in andere Systeme portiert werden soll, dann muss man auch von vorneherein dementsprechend arbeiten. Beispiel C++: Wenn es sich z.B. um ein Serverprogramm handelt, dass es über die Konsole Ausgaben gibt, dann ist die Portierung eigentlich relativ gut machbar. Komplizierter wirds bei GUIs.. Zudem gibt es zahlreiche Frameworks, die das entwickeln plattformunabhängiger Software unterstützen. Klar ist irgendwo der Punkt, wo man Teile neu schreiben muss, aber man muss deshalb doch nicht alles neuschreiben. Man erstellt (gerade in C/C++) #defines mit denen beim Code je nach Plattform unterschieden wird und lagert das halt demendsprechend aus.
    Und im Fall Java (so übelst Java begeistert bin ich zwar auch nicht) kann man tatsächlich sagen, dass man plattformunabhängig programmieren kann, da man das Programm ja gar nicht erst portieren muss.


    Es kommt natürlich immer drauf an, was genau man tun möchte. Wenn ich jetzt einen Treiber für ein Produkt schreibe, dann kann ich mir gut vorstellen, dass ich den Treiber für jedes System neu schreiben muss und nicht einfach portieren kann, weil dies bezüglich die Systeme wahrscheinlich sehr unterschiedlich arbeiten. Aber so ganz aus der Luft gegriffen ist dieser - wie du ihn nennst - "Traum" vom "Sourcecode einfach auf der anderen Plattform durch den Compiler nudeln und alles läuft" definitiv nicht.
    Wollte ich nur mal so am Rande erwähnt haben...

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Hi,

    Zitat

    Und wenn man von vorne herein weiß, dass das Projekt in andere Systeme portiert werden soll, dann muss man auch von vorneherein dementsprechend arbeiten.

    Wenn man von vornherein weiss, dass man auch für andere Systeme schreiben muss nennt man das nicht portieren, sondern auch für andere Systeme programmieren.
    Portieren bzw. Migration heisst auf andere wie für das entwickelte Systrem anpassen.
    Du könntest jetzt sagen, "na dann entwickeln wir vornherein direkt für alle Plattformen"!
    Richtig, dann hättest du den Vorteil bei der Ausschreibung eines Projektes der einzige zu sein, der für alle Plattformen die Software anbietet, aber du bekommst den Auftrag nicht, weil der ARM-Spezialist deinen Preis für das ARM-System unterbietet, der Windows-Programmierer deinen Preis unterbietet und der Linuxer sowieso nichts von Windows hält und sich mit dem Ballast demnach garnicht abgibt und deshalb (obwohl teurer als ARM- und Windows-Fuzzi zusammen) immer noch billiger ist als deine "Ich kann für alle"-Lösung.
    Und imho wird sich diese Lage eher verschärfen als verbessern...


    Als Sun mit den ersten Java-Ideen anfing, war ich völlig begeistert! Endlich eine Sprache, die von der Taschenuhr, über Mikrowelle und PC auf jedem System lauffähig ist! Was daraus geworden ist, ist bekannt :rolleyes:
    Erinnert mich vom Konzept an den Microchannel von IBM. Die hatten auch eine evolutionäre Idee und haben sich selbst abgeschossen ;(

  • Wenn man von vornherein weiss, dass man auch für andere Systeme schreiben muss nennt man das nicht portieren, sondern auch für andere Systeme programmieren.

    Nundenn, wenn ich ein Programm unter Windows entwickle, dabei ein Framework für die GUI benutze (z.b. sowas wie GTK+), weil ich die Absicht verfolge, das ganze später nach Linux zu portieren, dann habe ich das Programm doch im Endeffekt trotzdem portiert und nicht für mehrere Systeme entwickelt? Und dann haut das mit dem "alles durch einen Compiler nudeln" hin.
    Meine Kritik ging hauptsächlich gegen deine Aussage, es sei gelogen, dass es sich lohne, Programmiersprachen zu lernen, die Plattformunabhängig sind, weil dieses Feature am Ende eh nichts nütze. Es gibt wie gesagt viele gute Frameworks und daher stört mich die Formulierung, dass es alles gelogen sei. Vielleicht wird es höher gepriesen, als es eigendlich ist, aber so ziemlich unsinnig finde ich das deshalb nicht und würde daher auch empfehlen, sich nicht auf Sprachen zu beschränken, die nur auf einem System laufen.

    "Je mehr Käse, desto mehr Löcher; je mehr Löcher, desto weniger Käse. Ergo: Je mehr Käse, desto weniger Käse. 8| "
    "Programmers never die: they just GOSUB without RETURN"
    "I tried to change the world but I couldn't find the source code."

  • Der Aspekt der beiden Sprachen sie seien einfach ist übrigens kein Problem, wie gesagt programmiere ich schon eine weile und sehe keine Probleme in der schwierigkeit.


    Aber zu den eigentlichen von euch genannten Themen kann ich noch nicht so viel sagen. Ich meine ich habe mit Perl dinge auf Windows zum laufen bringen müssen ... Gott sei dank gab es fertige Tools zum erstellen einer executable. Ich google derzeit noch ein wenig über die Aufgaben der jeweiligen Entwickler. Um zu versuchen ein relativ klares Bild zu bekommen und mich einfacher entscheiden zu können.


    An der Stelle auch noch mal ein wenig Lob, die bisherigen Foren die man bei Google auf den ersten zwei Seiten findet haben mit Argumenten wie "Java ist doof - hihihi" argumentiert. Zeigt ein mal wieder die Qualität dieses Forums :) Sehr beeindruckend. Daumen hoch!


    Edit: Auch wenn ichdie C-Sprachen im großen und ganzen aufgrund ihrer Schreibweise hässlich finde, hab ich grad mal mit C# angefangen. Ich baue mal mein letztes AutoIt Projekt damit nach. Mal schauen wie ich vor ran komme...

    Grüße Yaerox


    Grüne Hölle

    Einmal editiert, zuletzt von Yaerox ()

  • Hi,

    Zitat

    ...und daher stört mich die Formulierung, dass es alles gelogen sei. Vielleicht wird es höher gepriesen, als es eigendlich ist, aber so ziemlich unsinnig finde ich das deshalb nicht ...

    Unter uns, sei froh, dass du dein Geld nicht damit verdienen musst was du schreibst ;-)
    Wenn solch ein Satz in einer Antwort auf eine Ausschreibung verwendet wird und du ggf. bei einer Submission solche Äußerungen zu hören bekommst, dann garantiere ich dir, du wirst niemals einen einzigen Auftrag bekommen!
    Ich weiss ja nicht wie viele gewerbespezifische "Spezialsoftware" du jemals portiert hast, aber letztendlich zählt nur eins, die Software muss auf dem System X genauso laufen wie vorher auf dem System Y. Inclusiver sämtlicher extern verwendeter Module (bspw. dll´s von Drittanbietern ) Treiber und anderer Systemsoftware! Und kein einziger Auftraggeber zahlt eine müde Mark für eine "Portierung" die darin besteht, einen Sourcecode "nur" durch einen anderen Compiler zu jagen.


    Zitat

    Nundenn, wenn ich ein Programm unter Windows entwickle, dabei ein Framework für die GUI benutze (z.b. sowas wie GTK+), weil ich die Absicht verfolge, das ganze später nach Linux zu portieren,

    Und dann? Dann hast du eine GUI, die auch unter Linux "schick" aussieht. Programme bestehen aber nicht nur aus der GUI, sondern größtenteils aus ganz anderen Elementen.
    Und wenn derjenige, der das Windowsprogramm geschrieben hat, kein GTK benutzte? Und vielleicht bei bestimmten Berechnungen die Endianess garnicht beachtet hat? Dann kann man trotzdem das Programm portieren....ist halt aufwendiger und sehr zeitintensiv und teuer...


    Und was ist, wenn man ein Macintosh-Programm auf Windows "portieren" möchte? Und die Firma, die dieses Programm vor 2 Jahren geschrieben hat, war damals total auf dem MAC-Trip und Windows war nie ein Thema? VIEEEEL SPASS damit!
    DirectX-Spiele auf Mac nativ? :rock:
    Und Hardware ansprechen, die auf dem einen System völlig selbstverständlich ist aber auf dem anderen garnicht existiert? ;(
    Nur zum Verständnis, alle genannten Beispiele sind mit modernen Programmiersprachen geschrieben, die ALLE für sich beanspruchen, Plattformunabhängig zu sein, und es auch sind!


    Frag mal die Leute von Apple, wieso die damals von Motorolaprozessoren auf Intel umgeschwenkt sind....Microsoft wollte unbedingt das Officepaket funktionierend auf den PowerPC-Mac "portieren", und dieses Projekt war mit Sicherheit eines der größten in der Softwaregeschichte. BTW. funktioniert es (trotz geänderter Hardware) heute immer noch nicht, auf dem Apple-Unix wird ein Windows "emuliert" bzw. in einer VM geladen (dann spart man sich das portieren :rofl: ). Von VBA, ActiveX und weiteren "inkompatibilitäten" und (bis auf Office2011) völlig anderem look and feel mal abgesehen.
    Die weltgrößten Softwarekonzerne schaffen es nicht mal, ihre "Brot und Buttersoftware" auf andere Systeme zu "portieren" und du kommst mit plattformunabhängig :thumbsup:


    Zitat

    An der Stelle auch noch mal ein wenig Lob, die bisherigen Foren die man bei Google auf den ersten zwei Seiten findet haben mit Argumenten wie "Java ist doof - hihihi" argumentiert.

    Es ist immer einfacher, auf den anderen rumzuhacken als es besser zu machen ;-)

  • Es ist schon eine riesige Arbeit ein großes (aus meiner Sicht "groß", aus Firmensicht mini) Projekt zu einem anderen Compiler zu portieren.. Und eine Portierung von Windows zu Linux hab ich immer frühzeitig abgebrochen weil ich gemerkt hab, dass trotz "gleicher" Frameworks immer noch alles umgeschrieben werden muss für "Linux-DLLs". Rate mal warum es 1. Wine gibt und 2. Wine nicht bei allem funktioniert.. Und da Java eine riesige Virenschleuder ist, hoffe ich mal, dass wenige Firmen dass weiterhin verwenden. Denn viel mehr als GUIs kann man damit auch nicht ohne aufwendige Portierung hinkriegen. (Geschweige von der langsamen Laufzeit etc.)


    PS: Ich weiß, dass wenige Firmen auf IT-Sicherheit achten. Bis jetzt sind kaum Firmen und Webseiten positiv aufgefallen. Die meisten Meldungen von Sicherheitlücken werden ignoriert und runter gespielt.. Und Facebook ist ein weiteres mal das schlimmste das geht. Sie stellen einen "kopfgeld"betrag auf Sicherheitslücken und zahlen dann das Geld nicht aus und beachten die Lücke ggf. auch nicht.


    Ich hoffe mit dem Trend der staatlichen Komplettüberwachung ändert sich das ganze ein wenig..
    Und für alle die etwas verpasst haben: JA, WIR WERDEN GESETZWIDRIG ABGEHÖRT!! (nicht nur vom Staat)

  • Ich setze derzeit mein letztes AutoIt Projekt in C# um damit ich zum einen etwas hatte was ich programmieren kann, und zum anderen damit ich mal einen Eindruck davon kriege. Ich werde danach C# mal nutzen um im Bereich Webentwicklung eine Homepage mit .Net und ASP zu entwickeln, und danach ggf. mal Java unter die Lupe nehmen und schauen wie ich damit zu recht komme.


    Meine bisherigen C# Eindrücke: - Das arbeiten mit C# in Visual Studio macht enormen Spaß wenn man begriffen hat, wie der Hase läuft. Es ist erstaunlich (für mich zumindest) wie verhältnissmäßig schnell ich mein altes AutoIt Projekt umsetzen konnte, wo ich zumal dachte Windows.Forms-Designer ist bestimmt so ranzig, dass man es besser von hand schreibt was unmenschlich aufwendig ist. Aber bisher bin ich von dem WF-Designer echt begeistert. Ich hatte bisher bis auf ein Instanzproblem und hier und da ein Problem mit Funktionen und deren "speziellen" Parametern keine Schwierigkeiten. Ich habe noch zwei Probleme an denen ich gerade dran bin und dann werd ich mal schauen wie es sich mit der AutoIt Variante schlägt. Lasse dann beide parallel laufen. Eig. dürfte es dann keine unterschiedlichen Ergebnisse geben. Wir werden sehen ^^

  • Ja C# kann am Anfang evtl. noch begeistern.. aber sobald du ein Spiel o.ä. programmieren willst verzweifelst du ^^ (so war es jedenfalls bei mir).
    Bis heute weiß ich nicht wie man Tastendrücke abfragt oder ohne das Programm zu stoppen eine endlose Schleife zum Spiel updaten hinkriegt ^^ (Obwohl ich könnte mir vorstellen, dass man auch in dem Fall irgendwie den WM_TIMER benutzen könnte)

  • Spieleentwickler wollte ich immer werden, aber ohne n Privatstudium kannste das bestimmt ehh knicken. Hab mich schon mit mehreren Unis unterhalten und ich weiß nicht ob das etwas für mich ist. Ich mag es nicht etwas "dummes/sinnloses" programmieren zu müssen. Auch wenn es nunmal Grundlage ist und man es verstanden haben muss...da sind mir bis dato Anwendungssoftwares im Verwaltungsbereich und in der automatisierung lieber :/ ... leider ... naja mal schaun was wird ^^