Welche Sprache



  • audacia schrieb:

    Muetze187 schrieb:

    Wenn z.B. c++ jetzt schon Berg ab geht, wird es nichts nützen es zu lernen.

    Die Bevölkerungszahlen in Deutschland gehen zurück. Deutsch zu lernen nützt doch nichts mehr!

    global gesehen ist es kein grosser nachteil, wenn man kein deutsch kann. und c++ können muss man auch nur, um fremde c++ programme zu lesen.
    🙂



  • Muetze187 schrieb:

    Die Frage ist doch, ob es in 10 Jahren noch jemanden interessiert, ob jemand c++ kann oder nicht, da es jetzt schon Programme gibt die vollkommen webbasiert sind. (Das neue Office glaub ich!?)

    Solange dein Browser noch in C++ geschrieben ist, würde ich mir da keine Sorgen machen 🤡

    Sicherlich gibt es Anwendungsbereiche, in denen C++ immer weniger eingesetzt wird (präsent ist es dennoch sogar in der Webprogrammierung, z.B. mit Wt, tntnet oder IntraWeb). Welcher Sprache du dich zuwendest, würde ich aber davon abhängig machen, in welcher Richtung du zukunftssicher sein willst.



  • Gerade da du ja sagst, dass das Programmieren nur ein Hobby sein soll, würde ich mir um Zukunftssicherheit keine Sorgen machen und einfach die Sprache wählen, die mir am interessantesten erscheint.



  • Servus,

    damit es endlich ein Flameware wird 🙂 sei gesagt, dass keine der genannten Sprachen je aussterben wird. Da kann Microsoft noch so viel Werbung für .NET machen und Sun für Java, das hat keinen Einfluss auf die Verbreitung!

    z.B. hat Fortran noch immer eine Nische und ist in gewissen Bereichen überlegen. Oder, die Entwickler von C konnten sich gar nicht vorstellen, dass diese Sprache jemals einer benutzen würde.

    Für C++ kommt in den nächsten Jahren ein neuer Standard heraus und wird die Sprache der heutigen Einsatzgebiete anpassen. Ich hoffe, dass dieser bald erscheint, da ich bereits auf ein paar Features sehnsüchtig warte.

    Ich bin mit Java eingestiegen und muss sagen "Klasse Sprache mit beeindruckenden Projekten, die alle als OpenSource verfügbar sind". Viele dieser Projekt sind nach C# portiert worden! Mit Java kannst du großartige Server-Orientierte-Anwendungen entwickeln und seit 1.6 bringt Java fast alles mit was du brauchst. Von eingebettete Skriptsprachen, über JavaFX (.NET hat mit XAML etwas ähnliches), Jogl (OpenGL), ..., Echtzeitbibliotheken.

    C# wird von MS entwickelt und vorangetrieben. Daher ist es für Windows designt. Mit dem Mono-Project ist es auch für Linux/UNIX System verfügbar und Wine kann mittlerweile auch schon die .NET 2.0 Plattform (Gold-Status)1 und .NET 3.0 (Bronze)1 auf Linux-Systemen handhaben.
    1 keine Garantie für diese Angaben

    Mein Tipp: Lerne Java, hier bekommst du zwei Klasse IDE's , Netbeans [benutze ich für Java, Fortran und C/C++) und Eclipse. Java ist 95% objektorientiert und hier lernst du das OOP am besten. Zudem gibt es eine AOP-Schnittstelle.

    Wenn du Java in 2-3 Jahren wirklich beherrscht, kannst du dir Gedanken über eine weitere Sprache machen. Vielleicht ist MS pleite und somit Windows + .NET (C#, VB, VC, ...) vom Markt verschwunden. Das sollte man sich immer wieder vor den Augen halten 😉

    Gruß,
    Thomas



  • +fricky schrieb:

    Muetze187 schrieb:

    C# ist doch wirklich nur unter Windows verwendbar oder?

    theoretisch nicht, praktisch aber doch. ich würde sagen, du solltest dir Java vornehmen.
    🙂

    Weder theoretisch noch praktisch.
    Man kann ohne weiteres eine unter Windows kompilierte C#-Anwendung in Linux ausführen und umgekehrt. Oder auch Bibliotheken (DLLs) einbinden.

    Mir ist keine Plattform bekannt, dir derart ausgereift und durchdacht ist wie .NET. Und die Mono-Plattform, als Linux-Portierung von .NET, ist nahezu auf dem aktuellen Stand. Logischerweise hängt Mono etwas hinterher, aber mittlerweile wurden sogar die Neuerungen von Version 3.0 von .NET portiert. Da gab es einige fundamentale Änderungen.



  • Siassei schrieb:

    C# wird von MS entwickelt und vorangetrieben. Daher ist es für Windows designt. Mit dem Mono-Project ist es auch für Linux/UNIX System verfügbar und Wine kann mittlerweile auch schon die .NET 2.0 Plattform (Gold-Status)1 und .NET 3.0 (Bronze)1 auf Linux-Systemen handhaben.
    1 keine Garantie für diese Angaben

    Neee, ganz bestimmt keine "Garantie".

    Was hat Mono mit Wine zu tun? So ein Quatsch!

    Und wie und warum bitte ist C# für Windows designt? Weißt Du eigentlich wovon du sprichst? Kennst du die Spracheigenschaften und intelligenten Neuerungen von C# eigentlich.
    Selbst wenn du eigentlich die enorm umfangreiche Bibliothek gemeint hast: Auch die ist nicht für Windows "designt". Vielleicht war es die Absicht von MS, wer weiß. Dummerweise ist die Plattform dermaßen durchdacht, dass sie sich perfekt portieren lies.



  • (Diese Antwort ist rein auf die Frage, ich habe noch keine anderen Antworten gelesen.)

    Muetze187 schrieb:

    Bin neu im Forum und werfe erstmal ein freundliches "Hallo" in die Runde 🙂

    Hallo Muetze187.

    Ich möchte gerne ein paar Meinungen hören zum Thema Programmiersprachen.
    Ich habe vor evtl. einen SGD Kurs zu belegen um mir eine Programmiersprache anzueignen. Natürlich sollte selbige "zukunftsicher" sein.

    Die Zukunftssicherheit eher ist kein Problem, das Du wirklich beachten mußt. Es sollte ungefähr so ablaufen:

    - Du belegst den SGD-Kurs und lernst Deine erste Programmiersprache. Die SGD-Lernunterlagen sind normalerweise betont anfängerfreundlich gehalten. Und sie sind ausgerichtet auf Leute, die im Beruf stehen und Familie haben, also nicht gerade 38 Stunden pro Woche am Rechner sizten können (oder dürfen), um programmieren zu lernen. Nach Abschluß des Kurses bekommst Du Dein Zertifikat und kannst, sagen wir mal die Hälfte oder zwei Drittel (außer in C++, siehe später). (*Fußnote)

    - Danach lernst du noch selber weiter. Ist jetzt aber viel viel einfacher, weil du den Anfang gemeistert hast. Noch ein halbes Jährchen vielleicht. Du kannst von Anfang an die Sache gut beschleunigen, indem Du in Foren wie hier und dem geschlossenen SGD-Forum mitliest und indem Du dich traust, den SGD-Fernlehrern immer wieder Fragen zu stellen (dafür sind sie doch da).

    - Nun kannst du "programmieren". Und du wirst feststellen, daß du ganz von selber nicht nur in der Anfangssprache programmieren kannst, sondern im Prinzip auch in ganz vielen anderen. Die Konzepte sind nämlich überall gleich. Wenn du zum Beispiel von Java nach C# umsteigen magst, reicht es, wenn du ein paar Tage lang ein C#-Tutorial durcharbeitest und du kannst schon damit gut arbeiten. Natürlich mit einer guten Online-Hilfe, weil man die ganzen Bibliotheksfunktionen nicht auswendig wissen kann. Aber eine gute Onlinehilfe war gleichermaßen für Java ja auch immer dabei, weil man die ganzen Bibliotheksfunktionen nicht auswendig wissen kann.

    - Mit jeder neuen Sprache fällt es Dir noch leichter die nächste zu lernen. Du hast zwar weiterhin Deine "Heimatsprache" (bei mir Basic und C++), aber kannst je nach Bedarf einfach eine ander nehmen.

    Eigentlich würde mich direkt c++ reizen.

    Naja, C++ ist schon eine geile Sprache. Aber die hat viele Fallstricke parat. Das ist sozusagen, mit anderen Sprachen hast du einen Sicherheitsgurt, der dafür sorgt, daß Du bei einem Unfall nicht totgehst, aber C++ hat keinen. Mit C++ kannst du aber manchmal Sachen machen, die in anderen Sprachen nicht gehen, weil der Gurt einen auch mal hemmen kann. C++ tut weh.

    Wenn Du Programmieren um des Programmieren willens lernern willst, wenn Du dir zum Ziel setzt, mal total gut zu sein, dann ist C++ Deine Wahl. Manche C++-Freaks stehen auf dem Standpunkt, daß Pseudosprachen wie Java nur zur Verblödung beitragen.

    Wenn Du schnelle Erfolge und bunte Sachen haben willst, dann ist Visual Basic die Sprache deiner Wahl.

    C# und Java tun sich nichts. Wenn Du eine Abneigung gegen Microsoft hast, kannst du Bill Gates damit bestrafen, daß du Java benutzt. Ansonsten stehen sie zwischen Visual Basic und C++. Mit C# kann man viele windows-spezifischen dinge leichter als mit Java machen.

    Vor allem ist wichtig, daß diese Aufstellung ganz übertrieben und nur für Haarspalter ist, wenn du programmieren kannst, kannst du relativ leicht wechseln, weshalb es nicht so wichtig ist, mit was du anfängst.

    Allerdings bringt der schwere Anfang mit C++ es mit sich, daß Du zu anderen Sprachen sozusagen "herabsteigst". In C++ gibt es Dutzende von schwer zu begreifenden Konzepten, der Umstieg auf eine ander Sprache geschieht dann, indem Du ein paar Konzepte wegläßt. Das ist lecker. 😋
    Allerdings bringt der einfache Anfang mit C#/Java es mit sich, daß du zu C++ sozusagen "herabsteigst". In C++ gibt es Dutzende von schwer zu begreifenden Konzepten, die Du dann noch nachrüsten mußt. Manche gehen runter in Richtung Maschinensprache, daß Du denkst, nur ein Lötkolben könne tiefer sein.
    Aber auch "heraufsteigst". Manche gehen hoch in Richtung Lisp, daß Du denkst, vorher besser Mathematik und Philosophie studiert zu haben.

    Da aber immer mehr Programme webbasiert laufen, denke ich, dass es sinnvoller wäre, Java zu lernen!?

    Schau mal, wieviele Web-Anwendungen in Java programmiert sind. Also wieviele Web-Anwendungen, die Du selber als Kunde benutzt, in Java gebaut sind.

    Oder würdet ihr sagen, dass C# eine echte Alternative darstellt?

    Ja, absolut.

    Da ich keine Asbildung in einem IT Beruf habe, würde ich das Programmieren rein hobbymäßig betreiben bzw. neben meinem Hauptberuf.

    Wenn Dir das Programmieren Spaß macht, kannst Du im Prinzip gar nichts falsch machen.

    Vielleicht ist auch die Betrachtung sinnvoll, daß Du in diversen Foren schaust, welche Unterforen C++/Java/C/Basic/C#/... wieviele Beiträge haben und dem Rudel folgst.

    (*Fußnote)
    Natürlich wirst Du nie ganz und total Programmieren können. Das ist wie beim Schachspiel oder in der Mathematik. Es gibt immer einen, der noch besser ist und man lernt nie aus.



  • C#-Fan schrieb:

    Und wie und warum bitte ist C# für Windows designt? Weißt Du eigentlich wovon du sprichst? Kennst du die Spracheigenschaften und intelligenten Neuerungen von C# eigentlich.

    Selbst wenn du eigentlich die enorm umfangreiche Bibliothek gemeint hast: Auch die ist nicht für Windows "designt".

    C# selbst ist in der Tat plattformneutral. Das .Net Framework wiederum ist (logischerweise) deutlich besser an Windows als an andere Systeme angepasst. Und Mono wird wohl (auch auf längere Sicht) niemals zu den neuen Features von .Net 3.0/3.5 gänzlich kompatibel sein [Speziell spreche ich hier u.a. WPF an, siehe dazu auch ein Hinweis von der Mono-Seite].

    Unsupported technologies

    Some technologies are very hard to implement or are being phased out by new .NET components. So we are not likely going to implement these features.

    ....

    ...There might be some code on SVN but we are not currently planning on implementing:

    • Windows Presentation Foundation (.NET 3.0).
    • Windows Workflow Foundation (.NET 3.0).
    • Code Access Security (.NET 1.0).

    Das man die WF nicht umsetzt ist sogar recht logisch, da diese ohnehin gänzlich für .Net 4.0 neu entwickelt wird (Da auch im Originalframework sehr langsam, man spricht von Performanceeinbusen im Faktor 1:1000!).

    Nichts spricht dagegen unter Mono auf die WinForms zu setzten, aber eine Kompatibilität wird auch in Zukunft nicht "automatisch" existieren (Ich könnte meine Privatprojekte z.B. definitiv nicht portieren, da ich die WPF verwende).

    C#-Fan schrieb:

    Dummerweise ist die Plattform dermaßen durchdacht, dass sie sich perfekt portieren lies.

    Gut, wenn es so "perfekt" portierbar ist, mach dich mal bitte an einen WPF-Port. DirectX existiert nicht unter Linux, man könnte zu teilen vielleicht auf OpenGL austauschen, aber spätestens bei Videowiedergaben etc. möchte ich mal sehen wie du das ohne weiteres umsetzt...

    Meine Meinung
    Mono ist durchaus ausgereift, dennoch ist es Unsinn zu sagen das .Net nicht für Windows konzipiert wurde. Und solange einige Kerntechniken (WPF wird ja als DIE UI der Zukunft gepriesen - was sich durchaus mit meiner Meinung deckt) nicht portiert werden, muss man einfach sagen:

    C# und .Net ist in Teilen portierbar, man muss aber bei der Projektkonzeption aufpassen, welche der Techniken man verwendet.

    Ich halte C# und .Net für durchdachter als Java (logisch, C#/.Net kam ja später und konnte so noch einiges mehr berücksichtigen), nicht desto trotz muss man zumindest mit gewissen Einschränkungen rechnen, wenn man dies portabel verwenden will.

    cu André



  • C#-Fan schrieb:

    Mir ist keine Plattform bekannt, dir derart ausgereift und durchdacht ist wie .NET.

    wie kommst du darauf?



  • 🙂 <-- vergessen



  • Siassei schrieb:

    z.B. hat Fortran noch immer eine Nische und ist in gewissen Bereichen überlegen. Oder, die Entwickler von C konnten sich gar nicht vorstellen, dass diese Sprache jemals einer benutzen würde.

    FORTRAN gibt es seit 1958, C erst seit 1972. K&R kamen aber von ASSEMBLER. Sie und ihre Nachfolger haben die Sache so gut gemacht, dass die meisten FORTRAN-Programmierer auf C, später C++, umgestiegen sind.



  • asc schrieb:

    Ich halte C# und .Net für durchdachter als Java ...

    das merkt man ja schon daran, dass C# pointer und ein 'unsafe' keyword hat.
    🙂



  • berniebutt schrieb:

    K&R kamen aber von ASSEMBLER.

    Schonmal von B und BCPL gehört? Mal ganz davon abgesehen, dass in den 60er Jahren so unbedeutende Sachen wie ALGOL passiert sind.

    Zu dem Rest deines Postings kann ich ohne Recherche nichts sagen, vermute aber nichts gutes :p



  • +fricky schrieb:

    asc schrieb:

    Ich halte C# und .Net für durchdachter als Java ...

    das merkt man ja schon daran, dass C# pointer und ein 'unsafe' keyword hat.
    🙂

    Und warum merkt man daran dann was? Java hat überhaupt keine Pointer und dass C# sie zulässt, sie jedoch weniger zugänglich macht, ist doch gut?



  • LOLAlter schrieb:

    +fricky schrieb:

    asc schrieb:

    Ich halte C# und .Net für durchdachter als Java ...

    das merkt man ja schon daran, dass C# pointer und ein 'unsafe' keyword hat.
    🙂

    Und warum merkt man daran dann was?

    die durchdachtheit von C# zeigt sich dadurch, dass offenbar der bedarf besteht, direkt im speicher rumzuwuseln. aber vielleicht hat C# auch nur pointer, um sich von Java abzuheben.
    🙂



  • C# ist nicht besser durchdacht als Java, nur aufgeblasener. Man hat zwar einige Schwächen von Java nicht übernommen (was gut ist), aber dafür viele neue eingeführt.
    Aber Featureritis gibt es ja auch bei anderen Produkten aus dem Hause MS.



  • +fricky schrieb:

    LOLAlter schrieb:

    +fricky schrieb:

    asc schrieb:

    Ich halte C# und .Net für durchdachter als Java ...

    das merkt man ja schon daran, dass C# pointer und ein 'unsafe' keyword hat.
    🙂

    Und warum merkt man daran dann was?

    die durchdachtheit von C# zeigt sich dadurch, dass offenbar der bedarf besteht, direkt im speicher rumzuwuseln. aber vielleicht hat C# auch nur pointer, um sich von Java abzuheben.
    🙂


    Keines weiteren Kommentares würdig.



  • LOLAlter schrieb:


    Keines weiteren Kommentares würdig.

    aha, LOLAlter hat keine ahnung und findet sich deswegen unwürdig, weitere kommentare zu schreiben. respekt!



  • tfa schrieb:

    C# ist nicht besser durchdacht als Java, nur aufgeblasener.

    Also zumindest von der Installationsgröße her würde ich dem widersprechen - das nimmt sich nicht viel (Ich glaube sogar das .Net 3.5 kleiner ist als ein aktuelles Java).

    tfa schrieb:

    Man hat zwar einige Schwächen von Java nicht übernommen (was gut ist), aber dafür viele neue eingeführt.

    Beide Sprachen haben ihre Schwächen (Ein Fehlgriff von MS war z.B. Worflow Foundation - zumindest in dem aktuelle Stand) und nehmen sich nicht viel (wobei ich C# zumindest in meinen Bereich - hauptsächlich Cliententwicklung unter Windows, für weitaus besser halte).

    cu André



  • tfa schrieb:

    Man hat zwar einige Schwächen von Java nicht übernommen (was gut ist), aber dafür viele neue eingeführt.

    z.b. das eingebaute kryptosystem, im volksmund auch 'operatorüberladung' genannt, macht garantiert jeden obfuscator überflüssig. dagegen kann Java nicht anstinken.
    🙂


Anmelden zum Antworten