Welche Progammiersprache wird denn heutzutage in der Schule im Fach Informatik verwendet?



  • Moin,

    ich hab auch für nächstes Jahr Informatik gewählt. An meiner Schule wird Delphi (version 7) verwendet. Ich hab mal nen Infolehrer gefragt, er sagte:

    Wir verwenden Delphi, weil

    die Typisierung strenger ist als z.B. in C/C++
    es realtiv einfach zu lernen ist
    es von der Syntax "umgangssprachlicher" ist(z.B. begin & end statt {}...)

    Das war's, was mir zum Thema einfällt...



  • Kennst Du denn C/C++?



  • Mein Vater verwendet Java.



  • Rhombicosidodecahedron schrieb:

    player4245 schrieb:

    Rhombicosidodecahedron schrieb:

    reer schrieb:

    Ich habe auch viel von Java gehört, das ist das Basic der Neuzeit.

    👍 [Warning Flamewar approaching]
    (Nein wirklich, das ist nicht ironisch gemeint, ich stimme den Kommentar wirklich zu!)

    Kapier ich nicht. Was ist damit gemeint?

    Ganz Objektiv ist "Ich habe auch viel von Java gehört, das ist das Basic der Neuzeit." eine Aussage, welche gerade wegen der Kürze und Prägnanz zu aufordert kommentiert zu werden, obgleich dieses als Beweis einhergeht, dass der Autor sich über das Thema seiner Aussage, nicht in einem ausreichenden Maße Erfahrungen oder Meinungen, um den Eindruck von Wissen vorzutäuschen, weiß, was dazu führt, dass dieser Ausspruch den böswilligen Anschein erweckt, die aktuelle Disskusion, welche sich selbst auch schon vom Diskusionsthema weit entfernt hat, dadurch zu attackieren, dass sich die einzelenen Vertreter verscheider Subjektiver Meinungen gegeneinader "argumentieren", wobei nicht zu vergessen ist, dass diese "Argumentation" weder mit Argumenten noch mit Logik in Verbindung gebracht werden sollte, wodurch ich geschlossen habe, dass dieser Beitrag ein sogenannter "Trollpost", also einen für die Fortsetzung dieses diskusionsähniches Gespräches, ist, auf den nur auf eine richtige Weise reagiert werden kann, nämlich ignorieren, was ich aber nicht tat, da ich aus subjetiven Gründena auf dieser Aussage, auch auf die oben genannte Gefahr, einging und dieses ernsthaft, da normalerweise, falls ein sollcher Beitrag in einer Diskusion ignoriert oder auf ironische Weise gelobt oder anderweitig für andere Gesprächsteilnehmer als solcher tituliert wird, um Missverständnissen vorzubeugen, zugestimmt, was auch an der Einfachheit, (inhaltichen) Prägnanz des Satzes und meiner subjektiven Überzeugung liegt.

    Versuchs mal mit nem Punkt. Bandwurmsätze sind nicht cool und wirken auch nicht schlau. Außerdem werden vermutlich die hälfte aller Kommas/Kommata? falsch gesetzt sein.

    class Iwas
    {
        public static void main(String args[])
        {
            System.out.println("Hallo Welt");
        }
    }
    

    Also wenn das nicht einfach ist, was dann?

    Zu lernen ist das OOP von Java jedenfalls leichter als das von C++.
    Bei PHP kann man machen was man will und es "funktioniert".
    Bzw macht erfolgreich was es will. Also Basic der neuzeit ists wohl nicht.

    Zum Thema.
    Wir haben
    1. Jahr C
    2. Jahr Java
    3. Jahr PHP + SQL gemacht

    Ist eigendlich Zeitverschwendung. Wenn man etwas lehren möchte, sollte man eine sprache richtig machen, und nicht von allem nen bischen, und am ende kann ich dennoch nicht vernünftiges Zaubern.
    Beispielsweise haben wir in Java keine vererbung gemacht. Dann kann man sich das auch spaaren. Weil Java ohne OOP ist so gut wie C.

    Ich denke mal in Java kann man in 3 Jahren Schule einfach das meiste schaffen.
    Und java kann auch SQL nutzen. Dafür brauch man nicht unbedingt PHP.
    PHP wie mans in der Schule lernt kann man sich in 5 min selber beibringen.
    Und wer kann schon Quallitativ hochwertigen Code in PHP schreiben, besonders in sicherheitskritischen bereichen.



  • Es heißt Kommata. 😃

    und ich bin raus...



  • Moin,

    volkard schrieb:

    Kennst Du denn C/C++?

    Ja, ich lerne es gerade :). Hab mich aber ein bisschen vertan 🙄 .

    Es war auf die Ausgabe bezogen:

    int x = 5;
    std::cout << "x enthält " << x;
    

    Bei cout musst du ja nur alles aneinander hängen, bei Delphi/Pascal explizit umwandeln:

    writeln ("x =" + IntToStr(x))
    


  • In Pascal hat man writeln('x = ', x); geschrieben. Mit strenger Typisierung hat das aber alles so gut wie gar nichts zu tun.



  • Moin,

    ok, ich zieh meine Aussage bezüglich der Typisierung zurück. Sie stammte ja auch nicht von mir, sondern von einem (studierten) Informatiklehrer.



  • Die Aussage ist ja auch richtig (oder zumindest kann man darüber diskutieren), nur das Beispiel nicht 🙂



  • johannes-h schrieb:

    Sie stammte ja auch nicht von mir, sondern von einem (studierten) Informatiklehrer.

    Einem, der noch Dephi lehrt. löl.
    Das mit der Typisierung war vom Lehrer ein typischer Angriff gegen die böse böse böse C++-Sprache. Man findet etwas Ungünstiges in C, hier die Abstürze bei falschen Formatstrings (bei alten Compilern?, wie effektiv sind die Prüfungen heute?), schiebt es einer nicht existierenden Sprache C/C++ unter und beweist damit, daß die eigene Sprache besser als C/C++ ist.
    Das Muster findest Du hier im Forum einmal pro Woche.
    Bei C/C++ mußte ich doch mal nachfragen, denn da zweifle ich automatisch an der Fachkundigkeit. Außerdem ist "strenge Typisierung" ja nicht automatisch ein Vorteil.

    Aufklärung naht von http://docwiki.embarcadero.com/RADStudio/de/Datentypen,_Variablen_und_Konstanten

    Delphi ist eine streng typisierte Sprache. Sie unterscheidet eine Vielzahl unterschiedlicher Datentypen, die nicht immer durch andere Typen ersetzbar sind. Diese Einschränkung ist normalerweise von Vorteil, da sie dem Compiler eine "intelligente" Datenbehandlung und eine gründliche Überprüfung des Quelltextes erlaubt, wodurch sich die Gefahr schwer diagnostizierbarer Laufzeitfehler verringert. Wenn Sie in bestimmten Fällen mehr Flexibilität benötigen, lässt sich diese strenge Typisierung mithilfe besonderer Techniken umgehen. Dazu gehören die Typumwandlung, Zeiger, Varianten, variante Teile in Record-Typen und die absolute Adressierung von Variablen.

    Alles klar? Mir nicht.



  • Umgehen ist sehr leicht:

    program Project3;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils;
    
    type
      range = 0..10;
    
    var
      input : integer;
      x : range;
    
    begin
      try
          Read(input);
          x := input;
          Writeln(x);
          Read(input);
      except
        on E: Exception do
          Writeln(E.ClassName, ': ', E.Message);
      end;
    end.
    

    Kommt nichtmal eine Exception, wenn der Input über 10 ist. *gg*



  • Zeus schrieb:

    program Project3;
    
    {$APPTYPE CONSOLE}
    
    uses
      SysUtils;
    
    type
      range = 0..10;
    
    var
      input : integer;
      x : range;
    
    begin
      try
          Read(input);
          x := input;
          Writeln(x);
          Read(input);
      except
        on E: Exception do
          Writeln(E.ClassName, ': ', E.Message);
      end;
    end.
    

    Was ist denn das für eine hässliche Excel Tabelle?? 😕



  • Alles klar? Mir nicht.

    Was ist Dir denn nicht klar? Es stimmt doch was da steht 😕



  • Sqwan schrieb:

    class Iwas
    {
        public static void main(String args[])
        {
            System.out.println("Hallo Welt");
        }
    }
    

    Also wenn das nicht einfach ist, was dann?

    Naja, zB sowas wie

    println("Hallo Welt");
    

    ?

    Stimmt schon, dass in java viel drumherum ist. Klar kann man nem schüler sagen "akzetpiert das class und das static void main einfach". Irrititionen dürfte dann aber auch das System.out auslösen. Nicht zu vergessen, dass das einlesen nochmal zusätzlichen aufwand bedeutet. Wenn ich in jeder zweiten zeile sagen muss "akzeptiert das einfach so", dann ist das kaum förderlich für den lerneffekt.
    Man darf nicht vergessen, dass in der schule hauptsächlich eben keine angehenden informatiker sitzen. Java, C++ und co sollten wenn dann etwas für den informatik LK sein. Den es aber wohl leider nur an sehr wenigen schulen gibt...



  • Sqwan schrieb:

    Ist eigendlich Zeitverschwendung. Wenn man etwas lehren möchte, sollte man eine sprache richtig machen, und nicht von allem nen bischen, und am ende kann ich dennoch nicht vernünftiges Zaubern.

    ACK

    Beispielsweise haben wir in Java keine vererbung gemacht. Dann kann man sich das auch spaaren. Weil Java ohne OOP ist so gut wie C.

    Eigentlich nicht.
    Java ohne OOP ist schlimmer als C, weil es einem nur Steine in den Weg legt und für die rein funktionale Programmierung in strikter Pascal Manier eher ungeeignet ist.

    Ich denke mal in Java kann man in 3 Jahren Schule einfach das meiste schaffen.
    Und java kann auch SQL nutzen. Dafür brauch man nicht unbedingt PHP.

    Das sehe ich anders.

    In Java kann man z.B. externen Geräte nur bedingt mit großen Einschränkungen ansteuern, wenn du aber C kannst, eine Sprache der Systemprogrammierung, dann kannst du z.B. deine Treiber selber schreiben.

    Das dürfte z.b. an einem technischen Gymnasium von Vorteil sein, denn da kann es durchaus vorkommen, daß man auch Elektrotechnik als Hauptfach hat und nun was Bauen will. Z.B. nen Mikrocontroller ansteuern.
    Was willst du da mit Java?

    Richtig ist lediglich, daß auf der Anwendungsebene Java leichter mehr Möglichkeiten öffnet. Das ist richtig.
    Seine Webpräsenz wird wohl kaum einer mithilfe von C realisieren.

    Und wer kann schon Quallitativ hochwertigen Code in PHP schreiben, besonders in sicherheitskritischen bereichen.

    Ich befüchte das ist unmöglich, dafür ist PHP nicht geeignet.
    Dann schon lieber Python nehmen.



  • Ihr redet hier von sachen wie "sicherheitskritische bereiche" und "treiberprogrammierung". Ich hatte beim ursprungsposting das ganze eigentlich als frage nach der sprache im normalen informatikunterricht verstanden. Und da kommt nichtmal annäherend sowas wie "treiberprogrammierung" dran.
    Man sollte vielleicht auf dem teppich bleiben.



  • Affenzahn schrieb:

    Eigentlich nicht.
    Java ohne OOP ist schlimmer als C, weil es einem nur Steine in den Weg legt und für die rein funktionale Programmierung in strikter Pascal Manier eher ungeeignet ist.

    prozedural
    Eine von den wenigen wirklich wichtigen Unterscheidungen.



  • KörperKlaus schrieb:

    Andere Programmiersprachen, und sei es nur ein bisschen,
    wären mir lieber gewesen, als eben nur eine.

    Aber was will man machen ... 😞

    Nicht in die Schule gehen. Da lernt man eh fast nur unsinniges Zeug. Egal wo. Echt arm.

    (Ausgenommen hochspezialisierte Institute)



  • Hier an der Universität Zürich:

    Im 1. Semester Java, ab 2. Semester dann C++. Wobei dies nur die Grundlagen sind; was nachher kommt hang von dir ab^^



  • Affenzahn schrieb:

    Sqwan schrieb:

    Ist eigendlich Zeitverschwendung. Wenn man etwas lehren möchte, sollte man eine sprache richtig machen, und nicht von allem nen bischen, und am ende kann ich dennoch nicht vernünftiges Zaubern.

    ACK

    Beispielsweise haben wir in Java keine vererbung gemacht. Dann kann man sich das auch spaaren. Weil Java ohne OOP ist so gut wie C.

    Eigentlich nicht.
    Java ohne OOP ist schlimmer als C, weil es einem nur Steine in den Weg legt und für die rein funktionale Programmierung in strikter Pascal Manier eher ungeeignet ist.

    Ich denke mal in Java kann man in 3 Jahren Schule einfach das meiste schaffen.
    Und java kann auch SQL nutzen. Dafür brauch man nicht unbedingt PHP.

    Das sehe ich anders.

    In Java kann man z.B. externen Geräte nur bedingt mit großen Einschränkungen ansteuern, wenn du aber C kannst, eine Sprache der Systemprogrammierung, dann kannst du z.B. deine Treiber selber schreiben.

    Das dürfte z.b. an einem technischen Gymnasium von Vorteil sein, denn da kann es durchaus vorkommen, daß man auch Elektrotechnik als Hauptfach hat und nun was Bauen will. Z.B. nen Mikrocontroller ansteuern.
    Was willst du da mit Java?

    Richtig ist lediglich, daß auf der Anwendungsebene Java leichter mehr Möglichkeiten öffnet. Das ist richtig.
    Seine Webpräsenz wird wohl kaum einer mithilfe von C realisieren.

    Und wer kann schon Quallitativ hochwertigen Code in PHP schreiben, besonders in sicherheitskritischen bereichen.

    Ich befüchte das ist unmöglich, dafür ist PHP nicht geeignet.
    Dann schon lieber Python nehmen.

    Ein normales Gymnasium hat aber keine technischen Geräte.
    Wir brauchten es allerdings für Micro-Controller. Haben mit dem R8C gearbeitet.
    Treiber programmieren kann ich aber glaube ich nicht ^^
    So viel wars dann nicht. Also nichts wirklich Systemnahes im bezug auf den "Computer".

    MasterK schrieb:

    Ihr redet hier von sachen wie "sicherheitskritische bereiche" und "treiberprogrammierung". Ich hatte beim ursprungsposting das ganze eigentlich als frage nach der sprache im normalen informatikunterricht verstanden. Und da kommt nichtmal annäherend sowas wie "treiberprogrammierung" dran.
    Man sollte vielleicht auf dem teppich bleiben.

    Wir haben Micro-Controller Programmiert.
    Ich würde sagen, das ist auf dem Teppich.
    Und wenn man 3 Jahre hat, ist das mehr als ausreichend um Java zu lernen.
    Und zwar mit Vererbung. Und Vererbung ist an für sich was ganz tolles.
    Auch die Interfaces sind ne super sache.
    Parametrisierte Klassen sind eine feine sache.
    Habe ich alles in einem Semester an der FH gelernt.
    Dann wird es doch wohl möglich sein, einem Schüler in 3 Jahren java beizubringen, und auf Sicherheitskritische Sachen hinzuweisen.

    import java.util.Scanner;
    
    public class WtfTopic 
    {	
    	private static Scanner in;
    
    	public static void main(String args[]) 
    	{
    		in = new Scanner(System.in);
    		int i = 0;
    
    		System.out.println("Geben Sie eine Ganze Zahle ein.");
    		i = in.nextInt();
    		System.out.printf("Sie haben %d eingegeben!",i);
    	}
    }
    

    Also wenn das jetzt schwer ist weiß ich auch nicht.
    Java ist ganz Billig.
    Anfangs muss ein anfänger nicht wissen wofür System.out gut ist.
    Versteht ja auch keiner was bei cout<< passiert.
    Und noch weniger was bei cin>> passiert.

    Wenn man so wie oben ein bischen prozedurales lehrt, und dann in OOP einsteigt, versteht man auch schnell was System.out macht.

    C ist vllt für den Anfang nicht schlecht um hintergründe zu kennen zu lernen.
    Weil C ja schon sehr Flach ist.

    C++ ist kacke für Anfänger. Das können ja nicht mal profis vernünftig.

    GUI ist außerdem sowohl in C als auch in C++ ein grauen. Gibts da eigentlich einen Unterschied ob C oder C++? Im endeffekt brauch man doch immer ne API oder so?

    Java hats da leichter.

    class Main extends JFrame
    und schon habe ich quasi ein fenster.
    Diverse Layout-Manager erleichtern einem die arbeitet.

    Ich denke das spricht alles für Java als Anfänger-Sprache in einem Gymnasium.
    Will ja auch nicht jeder Gymnasiast danach was technisches machen.
    Also ist System-Nahe anwendung auch nicht sooo wichtig.

    So... Hoffe mal das stimmt so alles ^^
    Hab die Codes nicht getestet und bin kein Java-Entwickler.


Anmelden zum Antworten