Ankündigung

Einklappen
Keine Ankündigung bisher.

Unterschiede zwischen den verschiedenen Programmiersprachen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Unterschiede zwischen den verschiedenen Programmiersprachen?

    Was sind denn die größten Unterschiede zwischen den verschiedenen Programmiersprachen (C, C#, C++, C+, Delphi, Basic, Visual Basic...)? Welche sind miteinander verwandt? Und gibt es sowas wie "Wenn du Programmiersprache A kannst hast du es leichter Programmiersprache B zu erlernen" ?

    Sebian

  • #2
    Puh... Die Sprachen die du ansprichst basieren auf drei verschiedenen "Ursprachen": BASIC (Beginners All-Purpose Symbolic Instruction Code), Pascal und C.

    Wie der Name schon sagt ist BASIC am einfachsten zu erlernen, bietet aber auch am wenigsten Möglichkeiten. Pascal ist etwas komplizierter aufgebaut -- dafür aber auch ordentlicher. Während man in BASIC einfach "drauf los programmieren" kann muss man sich bei Pascal schon um mehr kümmern (hauptsächlich Kleinigkeiten wie Variablen zu deklarieren, jeden Befehl mit einem Strichpunkt abschließen usw.). Die C-Sprachen sind auf den ersten Blick noch bedeutend verwirrender und IMHO zum Einstieg nicht gerade geeignet.

    Miteinander verwandt sind
    • die diversen BASIC-Arten, von GWBASIC und QBASIC bis zu VBA (Visual Basic für Applications) und Visual Basic.
    • die verschiedenen Pascal-Dialekte wie Turbo Pascal, Borland Pascal und Delphi
    • die diversen C-Arten, also C, C++, Visual C++, C# usw.
    Ursprünglich waren die meisten Sprachen für DOS konzipiert. Visual Basic 1.0 gab es auch noch für DOS, prinzipiell sind aber sowohl Visual Basic als auch Delphi eben die Windows-Versionen der entsprechenden Programmiersprachen.

    Ich habe selber nur Erfahrung mit VB2, VB3, VB5 und Delphi 1, inzwischen programmiere ich eigentlich wenn überhaupt nur noch in PHP (also für Internetseiten). Visual Basic und Delphi sind sich dabei relativ ähnlich und IMHO beide für den Einstieg geeignet. Bei beiden lassen sich normale Windows-Programme relativ leicht erstellen: Die Benutzeroberfläche wird quasi "hingemalt" (also die Steuerelemente mit der Maus in den Fenstern positioniert), die Eigenschaften der Elemente lassen sich über eine Dialogbox komfortabel ändern und programmiert wird dann das Verhalten bei bestimmten Ereignissen.

    Ich persönlich würde zum Einstieg Delphi empfehlen: Wer erstmal in BASIC programmiert gewöhnt sich automatisch einen relativ schludrigen Programmierstil an, da der eben auch toleriert wird. Gerade wenn du vorhast später evtl. auf C oder auch PHP umzusteigen ist es IMHO sinnvoll, viele Sachen gleich "richtig" zu lernen. Mit einem guten Buch kann man sich die Sprache eigentlich problemlos selber beibringen
    ...aber gut, dass wir darüber gesprochen haben.

    MfG Hannes Griepentrog (siehe auch planetweizen.de und griepentrog.org)
    » TT werbefrei? » Ränge? » Altersstruktur bei TT? » Smilies?

    Kommentar


    • #3
      Original geschrieben von Weizen
      Miteinander verwandt sind
      • die diversen BASIC-Arten, von GWBASIC und QBASIC bis zu VBA (Visual Basic für Applications) und Visual Basic.
      • die verschiedenen Pascal-Dialekte wie Turbo Pascal, Borland Pascal und Delphi
      • die diversen C-Arten, also C, C++, Visual C++, C# usw.
      Das kommt darauf an, wie man es sieht. Verwandt heißt nicht unbedingt dem gleichem Paradigma gehorchend.
      Ich würde heute - auch wenn es ein steiniger Weg ist - mit OO-Programmiersprachen anfangen. Ein Umstieg zwischen Programmiersprachen innerhalb des gleichen Paradigmas ist aus meiner Erfahrung einfacher, weil man dann die Denkweise nicht ändern muß.

      MfG
      bimmelbommel
      Zuletzt geändert von bimmelbommel; 14.09.2003, 19:07.
      Es ist besser seinen Mund zu halten, um für einen Narren gehalten zu werden als den Mund aufzumachen, um alle Zweifel zu beseitigen.

      Kommentar


      • #4
        Re: Unterschiede zwischen den verschiedenen Programmiersprachen?

        Original geschrieben von Sebian
        Und gibt es sowas wie "Wenn du Programmiersprache A kannst hast du es leichter Programmiersprache B zu erlernen" ?
        Ja. Kannst du eine kannst du alle.
        Nicht, dass sich wirklich alle Sprachen von der Syntax her ähneln würden aber die Denkweise die dahintersteckt ist bei allen die gleiche.

        Ich hab mit Basic auf dem C64 angefangen, dann Pascal und Delphi gemacht, C++ gelernt und grade bin ich bei PHP dran.
        Fazit: Alles Mist

        Entweder du kannst gut logisch denken oder nicht. Bei mir ist das nicht der Fall. Ich zerbrech mir da den Kopf für Kleinigkeiten. Ist genau wie in Mathe. Die einen können es, die anderen raffen es nie.

        Ich würde C/C++ oder was auch immer lernen. Scheint zwar kompliziert aber ähnelt anderen Sprachen wie Java ziemlich. Sollte ne gute Basis sein.

        -SF³

        Kommentar


        • #5
          Re: Re: Unterschiede zwischen den verschiedenen Programmiersprachen?

          Original geschrieben von SiemensFreak³
          Ja. Kannst du eine kannst du alle.
          Nicht, dass sich wirklich alle Sprachen von der Syntax her ähneln würden aber die Denkweise die dahintersteckt ist bei allen die gleiche.
          Das ist mit Verlaub Unsinn. Wenn ich mal ein paar geflügelte Worte zu Hilfe ziehen kann:

          Eine Programmiersprache die nicht deine Art zu denken beeinflusst, ist es nicht Wert gelernt zu werden.

          bimmelbommel (geiler Nick *G*) spricht einen wichtigen Punkt an: Paradigma. Die Verwandschaft in der "Art zu programmieren" ist bei Java und C++ sicherlich näher als bei C und C++. Natürlich kann man jede Sprache "vergewaltigen" und im gleichen (BASIC?)-Stil programmieren, aber dann verschenkst du sehr viele Möglichkeiten und handelst dir viele Nachteile ein. Jede Programmiersprache "fördert" eine bestimmte Art zu programmieren, und darauf sollte man sich einlassen, wenn man sie lernen will.

          Andererseits ist es auch wichtig sich klar zu machen warum man programmieren lernen will. Will man es nur um ein paar Kröten zu machen, oder will man sich wirklich mit der Materie auseinandersetzen, weil es einem Spaß macht. Falls ersteres, dann würde ich die wohl eine der weiter verbreiteteren OO-Sprachen empfehlen: Java oder Python wären ganz gut.
          Falls letzteres würde ich dir eher zu den exotischeren Sprachen raten. LISP (+Dialekte) ist bspw. eine Sprache die eine ganz besondere Eleganz mitbringt, weil sie nicht so endlos mit Syntax zugekleistert ist, es gibt einem einen sehr interessanten Blick auf die zugrundeliegenden Probleme.
          Python kommt dem auch noch relativ nahe, und bringt viele Bibliotheken etc. mit, die einem bei vielen praktischen Problemen entgegenkommen.

          Um deine Frage konkret zu beantworten: Man kann mit ein bisschen Syntax umlernen von einer in die andere Sprache umsteigen und irgendwie was zu Stande bringen. Aber für ein halbwegs durchschnittliches Verständnis/Können, musst du dich mit jeder Sprache gesondert auseinandersetzen.
          Viele Menschen denken, dass sie denken, wenn sie auch lediglich ihre Vorurteile umorganisieren
          - William James

          Kommentar


          • #6
            Re: Re: Re: Unterschiede zwischen den verschiedenen Programmiersprachen?

            Original geschrieben von popostoepsel
            Das ist mit Verlaub Unsinn. Wenn ich mal ein paar geflügelte Worte zu Hilfe ziehen kann:
            Entweder ist SF³ Multitalent oder hat nie lange in einer Sprache programmiert...
            Andererseits ist es auch wichtig sich klar zu machen warum man programmieren lernen will. Will man es nur um ein paar Kröten zu machen, oder will man sich wirklich mit der Materie auseinandersetzen, weil es einem Spaß macht. Falls ersteres, dann würde ich die wohl eine der weiter verbreiteteren OO-Sprachen empfehlen: Java oder Python wären ganz gut.
            IMHO hat der OP den Vorteil, noch ganz "unbelastet" zu sein. Somit würde ich - wie gesagt - auch zu OO-Sprachen tendieren. Ich bin durch lange Jahre imperatives Programmieren "geschädigt". Ein Umstieg auf Beta und dann C++ hat mich doch vor einige Probleme gestellt: Da war es nicht damit getan, mal eben statt writeln printf zu tippen....
            Wenn, dann würde ich aber eher zu einer "richtigen" Sprache wie Java oder C++ und nicht zu sogennanten Skriptsprachen wie TCL raten (Arraygrenzen zur Laufzeit verändern... Zwar ungeheuer praktisch, aber letztendlich versaut man sich damit einen vernünftigen Stil).
            [...]
            Ganz Deiner Meinung.

            MfG
            bimmelbommel
            Es ist besser seinen Mund zu halten, um für einen Narren gehalten zu werden als den Mund aufzumachen, um alle Zweifel zu beseitigen.

            Kommentar


            • #7
              Re: Re: Re: Re: Unterschiede zwischen den verschiedenen Programmiersprachen?

              Original geschrieben von bimmelbommel
              Entweder ist SF³ Multitalent oder hat nie lange in einer Sprache programmiert...
              Um genau zu sein: Beides. Aber das erste nicht im Bereich Programmieren also triffts das letztere

              -SF³

              Kommentar


              • #8
                prinzipiell ist es immer leichter, eine andere Sprache zu lernen, wenn man schon in einer vertraut ist. Denn das grundlegende Konzept ist sich doch meist ähnlich (Schleifen, Bedingungen, Funktionen, etc).
                Ich hatte arge Bedenken beim (verordneten) Umstieg von VB auf C#, und es ging doch besser als gedacht, auch wenn beide kaum miteinander verwandt sind.
                Deutlich einfacher wird aber z.B. der Umstieg von Java auf C oder umgekehrt, da hier sehr viel ähnlich ist. Ich konnt mich mit Java nie wirklich anfreunden, aber nachdem ich nun erste Erfolge mit C# habe, geht auch Java plötzlich viel einfacher.

                d@niel

                Kommentar


                • #9
                  Ja und genau das meinte ich mit meinem Posting. Danke fürs Backup

                  -SF³

                  Kommentar


                  • #10
                    ...und genau das stimmt nicht. Es gibt nämlich durchaus noch weitere Sprachen, die alle "Standard"-Konzepte (damit meine ich die am weitesten verbreiteten) auf den Haufen werfen. Zu nennen wären da z.B. das Konzept der "Logischen Programmierung" mit Prolog. Da gibt es z.B. keine Schleifen. Die Struktur sieht völlig anders aus. Rekursion ist hier das Stichwort. Oder LISP. Wenn ihr euch die mal genauer anguckt, werdet ihr feststellen, dass das etwas ganz anderes ist. Da hilft so gut wie kein Vorwissen durch C o.ä.

                    Aber ich muss zugegeben, dass das meist Exoten sind. Dennoch macht mir Prolog sehr viel Spaß. Auch wenn ich gerade erst vor kurzem damit angefangen habe.
                    www.korelstar.de | Fischbeker Heidbrook
                    HowTo: Java auf dem P800
                    Saufkollege (für das P800), SaufkollegeME (für J2ME-Handys)

                    Kommentar


                    • #11
                      ... und ausserdem ist es eine Frage des Programmdesigns. Umsteiger von prozeduralen Sprachen passiert es auch oft, dass sie in C++ oder Java oder anderen objektorientierten Sprachen zunächst verkappte prozedurale Programme schreiben (etwas vereinfacht ausgedrückt: ein class um das prozedurale Programm aussenrum, fertig).

                      Ich würde auf jeden Fall empfehlen, mit einer objektorientierten Sprache anzufangen, um sich die Denkweise von Grund auf anzugewöhnen. Wenn's rein zu Lernzwecken ist, wäre z.B. Eiffel denkbar, oder gar Sather. Als verbreitetere Sprache würde ich vielleicht Java oder C# empfehlen, C++ ist nicht wirklich einsteigerfreundlich (hat die ganzen Fallstricke von C, und noch eine Menge neue dazu :-)).
                      History: Motorola e930, t720, RAZR V3, MOTORAZR maxx V6, MOTOROKR Z6, MOTOROKR E8, MOTOZINE ZN5, Samsung S8000 Jet

                      Kommentar


                      • #12
                        sehr richtig. Wenn es ein Einstieg sein soll und was ernsthaftes werden soll, dann besser gleich "richtig" objektorientiert, wie eben in Java oder C#.
                        Wie Michael schon sagt, hat man sonst beim Umstieg auf eine objektorientierte Sprache das Problem, dass man eben doch nicht wirklich objektorientiert programmiert. So ging und geht es mir zum Teil noch. Und wenn man langfristig und proffesionell programmieren möchte, wird man derzeit ums objektorientierte kaum rumkommen. Schlimmstenfalls wird man (wie ich) fast dazu gezwungen

                        d@niel

                        Kommentar


                        • #13
                          Also ich habs mir zugetreaut und hab nach einigen kleinen Startprogrammen(3D-Spiele in Blitz3D) gleich mit c++ angefangen.
                          Dort habe ich mir dann die Dos Kenntnisse angeeignet und hab mich dann immer mal kurz mit anderen Sprachen beschäftigt(es waren alle kein Problem mehr).
                          Ich war dann bei einigen Basic Sprachen, wie VB, VBS. Da mich keine so wirklich für das was ich machen wollte begeistern konnte bin ich wieder zu c++ und hab mir Windows und DirectX Kenntnisse angeeignet.(Das kann man aber als Hobbyprogrogrammierer nur anwenden, wenn man jeden Tag programmiert. Es gibt dort solch umfangreiche funktionen und an manchen Stellen wird sehr Hardwarenah proogrammiert. Bsp: Query-Performance-Timer) Ich würde mir zwar zutrauen ein Spieleprojekt zu verwirklichen, würde dabei aber keine knappe Zeit einplanen. Außerdem wäre ich ohne Buch ndem ich alles nachlesen kann verloren.
                          C ist IMHO schon sehr schwer aber auch sehr flexibel. Ich bin damit zufrieden.
                          Danach war ich dann mal kurz bei C#. Da hab ich grad auch wieder Lust drauf.
                          Und jetzt bin ich bei Basic for M68000, JS,Java und PHP

                          Bye Ls4
                          Wär Rächtsräibphähler phindet darf sich phreuen

                          Kommentar

                          Skyscraper

                          Einklappen
                          Lädt...
                          X