Ein Irrglaube ist ja, dass man in C++ mit "Pointer inklusive deren Dereferenzierung" arbeiten muss.
Man kann komplette c++ GUI Anwendungen schreiben, ohne damit überhaupt direkt in Berührung zu kommen und ohne das zwingend verstehen zu müssen.
Ein Irrglaube ist ja, dass man in C++ mit "Pointer inklusive deren Dereferenzierung" arbeiten muss.
Man kann komplette c++ GUI Anwendungen schreiben, ohne damit überhaupt direkt in Berührung zu kommen und ohne das zwingend verstehen zu müssen.
Neuen Code würde ich nicht in C++ schreiben. Nicht ganz kleine Klitschen wie Google verabschieden sich davon, weil die Speichersicherheit nicht garantiert werden kann.
Didaktisch halte ich C++ aber auch für Schüler für eher ungeeignet. In dem Zusammenhang sind besonders Pointer inklusive deren Dereferenzierung für Neueinsteiger eher im Bereich "Raketenwissenschaften" anzusiedeln.
Warum zitiert du nicht vollständig?
"A large-scale rewrite of all existing C++ code into a different, memory-safe language appears very difficult and will likely remain impractical."
Es gibt eben Bereiche, da gibt es kaum eine Alternative. Zum Beispiel bei den Programmen, die ich schreibe. Da kommt es in erster Linie auf Geschwindikeit an und in zweiter Linie brauche ich ein GUI.
Im Bereich Speichersicherheit und Geschwindigkeit würde sich für mich zum Beispiel Rust anbieten. Praktisch nutzen kann ich es aber nicht, weil es für Rust noch keine guten Bibliotheken gibt, mit deinen man ein GUI schreiben kann. Es gibt zwar andere Sprachen, die das bieten, dort mangelt es dann aber oft an Geschwindigkeit, Speichersicherheit oder die Programme lassen sich nicht auf den "großen" Betriebsystemen kompilieren.
Ich würde daruf tippen, dass in den nächsten 10 bis 20 Jahren evtl. Rust erstmal die meisten C Programme ersetzen wird. Und dann, evtl. in 30 bis 40 Jahren die C++ Programme. Das wird dauern. C/C++ ist und bleibt gute Grundlage für die nächsten Jahre.
Es gibt Steigerungen. Ich denke da an Forth, Prolog oder Lisp.
Dann hätte ich eher Rust als Steigerung genannt.
c++ ist definitiv meine Lieblingssprache. In der Sek. I komme ich aber im Grunde nie bis zur Objektorientierung. Evtl. mache ich die "Basics" einfach zu ausführlich? Ich habe dieses Jahr mal wieder vor mit Arduinos zu arbeiten. Hat den schönen motivierenden Teil Technik/Physik gleich mit dabei. Macht es aber auch wieder schwieriger, weil die Schüler auch mit der Physik "kämpfen" müssen. Mal gucken wie es dieses Jahr laufen wird.
PS: Beim ersten Satz habe ich einen kurzen Moment überlegt was genau gemeint ist. a) Es steht noch eine Leistung aus und egal was ich mache, ich habe es geschafft. Oder b) Es sind alle Leistungen abgegeben worden und alle waren unzureichend.
Manchmal ändern sich Begriffe auch total. Da werden "postitive" Wörter plötzlich "negativ" und umgekehrt.
Selbst in der Fachsprache Mathe ändern sich Begriffe. Wenn man vor ~100 Jahren in Mathe von "rationalen" Zahlen gesprochen hat, dann waren damit (oft/immer/teilweise?) nur "ganze" Zahlen gemeint und nicht das, was wir heute unter "rationale Zahlen" verstehen.
Ich denke, du meinst den Vokalbuchstaben?
Erst gemeinte Frage (Ich bin ja kein Deutschlehrer). Nachdem ich den Link gelesen habe:
Y ist also ein Vokal? Mach ja Sinn, wundert mich nur etwas, weil ich den Buchstaben irgendwie gar nicht auf dem Schirm hatte. Habe ich das damals nur nicht gelernt oder wieder vergessen?
Wenn es nur im Browser dargestellt werden soll und die Bögen mittig unter den Silben sein sollen, dann könnte man es mit MathML als "Formel" setzen. Vorteil: Keine zwei Zeilen und proportionale Schrift möglich. Nachteil: Man kann das nicht in seine Textverarbeitung kopieren (kommt evtl. noch irgendwann) und Nutzer mit veralteten Webbrwosern können es nicht richtig sehen.
hmm... Ich befürchte, dass kann dann nur über 2 Zeilen und nicht proportionaler Schrift gelöst werden. Dafür gibt es meines Wissens nach ansonsten keine Möglichkeit beim Schreiben. Evtl., wenn man es als mathematische Formel in TeX setzt, aber in HTML kenne ich dafür gerade keine Möglichkeit.
Und farbig dann so:
Ge͜schich͜ten
Oder eine nicht proportionale Schrift nehmen und dann in einer zweiten Zeile darunter die Bögen mit anderen Zeichen setzen. Dann sieht es vermutlich etwas schicker aus, aber hat als Nachteil die zwei Zeilen und nicht proportionale Schrift.
In HTML könnte man es so schreiben:
Ge͜schich͜ten
Nein, warum sollte man das als erstes lesen.
Ich muss zugeben, dass ich dort auch zuerst nur "schich" gelesen haben. Aber ich denke das machen evtl. nur "Schnellleser". "Normale" Leser bzw. Anfänger fangen vermutlich bei dem ersten Buchstaben an. Grund dafür ist einfach die fabliche Hervorhebung. Ich lese üblicherweise nicht mehr Buchstabe für Buchstabe, sondern "sehe" komplette Wörter und Sätze. Einzelne falsche Buchstaben oder Silben fallen mir oft gar nicht auf.
Interessantes Tool. Ich frage mich gerade, wie die Silbenerkennung programmiert wurde. Ich dachte erst, das Programm prüft einfach alle mögliche Silben. Aber es scheint irgendwie anders zu gehen. Wie genau?
(Ich habe spaßeshalber nämlich einfach irgendeinen unsinn eingegeben und war überrascht, welche Silben da so gefunden werden). (Wenn ich z.B. folgendes eingebe: vfklagoagkdfhzatüoihnvfkoäghatüoiwehägoheruoihbgvföldkhfgigweuaiofnkgvjbhipsdyfujbnvöoghföo)
Ich hatte es die Woche angefangen, aber dann abgebrochen. Da waren wieder so ein paar Formulierunge bei, bei denen ich nicht wußte wie es gemeint war. Je nachdem hätte ich das genaue Gegenteil ausgewählt. Habe daher die Umfrage abgebrochen, weil die Fragestellung, (insbesondere für Programmierer!) einfach nicht eindeutig genug ist.
Wie Untis mit den "Min resting hours" umgehen kann weiß ich nicht. Kann Untis das mitlerweile? Ich benutze ein anderes Programm dafür. Bei dem Programm ist es so, das mit dem Datum absolut kein Problem ist, weil es sich auf die Stunden im Plan bezieht. Sprich, wenn mein Stundenplan z.B. Stunden von 08:00 Uhr bis 22:00 Uhr hat und ich sage, dass "Min resting hours" 1 sein soll, dann belegt es maximal die letzte Stunde ODER die erste Stunde am Folgetag. Aber nicht beides. Effektiv hat man damit dann 10 "echte" Stunden + 1 Schulstunde frei. Macht man dass mit dem Wert 2, dann hat man in dem Fall mindestens 10 "echte" Stunden + 2 Schulstunden + Pause zwischen den Stunden frei.
Naja, gut ist immer relativ. Vor 20 Jahren dachten viele Leute auch, dass sie einen sehr gute Computer haben. Wenn man denen heute so eine Kiste hinstellen würde, dann würde von denen keiner mehr von sehr gut sprechen. Man erkennt immer erst den Unterschied, wenn man sich mal die Alternative angeguckt hat. Damals dachten auch alle Untis macht gute Pläne, bis ich den mal die Pläne gemacht habe. Danach fand die Leute Untis gar nicht mal so toll (und dass, obwohl sich viele Leute mit z.T. jahrelanger Erfahrung mit Untis gegen mich angetreten sind.)
Das ist manchmal zwangsläufig so, wenn die vielfachen Einschränkungen sonst dafür sorgen, dass es gar keine Lösung geben würde. Untis liefert dann halt dennoch Lösungen, die zumindest nahe an den Vorgaben sind, anstatt schlicht keine mehr zu liefern.
Ja, dass ist mir auch klar. Das Problem ist aber, dass man so nicht eindeutig erkennen kann woran es liegt und wie man es lösen kann. Es ist auch nur eine Variante von sehr vielen. Insofern keine gute Lösung.
Wesentlich besser ist es, wenn man schon vorher sehen kann, dass es nicht geht und man sich schon vorher Gedanken macht wie das Problem zu lösen ist. Ist gibt ja nicht nur eine Möglichkeit das Probelm zu umgehen. Untis wählt dann einfach willkürlich. Besser ist es, wenn der Mensch das Problem versteht und dann entscheidet, welche von den vielen Alternativen eine gute Möglichkeit zur Verhinderung ist.
Und das ist der große Nachteil bei Untis. Das rechnet dann über viele Stunden und liefert einem eine Lösung mit einem dicken Konflikt, den es irgendwie willkühlich umgangen hat. Als Stundenplaner kann man dann nur sagen "ja, ist so, weil Untis das nicht besser konnte". Eine schlechte und sehr lang dauernde Lösungsmöglichkeit.
Besser ist es, wenn das Stundenplanungsprogramm schon möglichst früh (am besten sofort) sagt, dass es nicht lösbar ist und man sich dann überlegt warum das so ist. Dann kann man gezielt das Problem umgehen. Vorteil: Das berechnen der Lösung ist so viel viel schneller, weil der Computer nicht mehr versucht über Stunden etwas unlösbares zu lösen und/oder einfach irgendwie willkürlich das Problem löst. Vorteil: Die Stundenplanung ist nicht nur viel schneller, sondern der Plan ist auch noch besser und man kann gezielt begründen, warum etwas unmöglich war und warum es wie gelöst wurde. Spart enorm viel Zeit, ist nachvollziehbar und besser.
Untis ist ist jetzt nicht super schlecht. Aber bei der Stundenplanung von sehr gut weit entfernt. Selbst wenn man bei Untis eine Einschränkung auf die höchste Priorität stellt, kann es vorkommen, dass einem Lösungen mit einem solchen Konflikt berechnet. Da habe ich Programme lieber, die das nicht machen. Klar, man muss dann ggf. einen Moment nachdenken, warum das nicht geht. Aber wenn man sich diese Bedenkzeit am Anfang nimmt, spart man hinten heraus extrem viel Zeit, weil man a) seinen Plan richtig verstehen kann und so bessere Lösungen finden kann; b) man den Kollegen auch Begründet sagen kann, warum mal etwas nicht funktioniert hat. Bei Untis lief das immer nur darauf hinaus "Keine Ahnung warum es nicht geht. Untis hat das nicht lösen können.". Jetzt kann ich immer ganz gezielt sagen, warum es nicht geht und welche Alternativen mir zur Verfügung standen. Und c) es einfach viel schneller geht. Man spart extrem viel Zeit bei der Stundenplaerstellung.
Kommt auf die größe eurer Schule an. Bei kleinen Schulen kann man es ggf. noch als Mensch überblicken. Bei größeren aber nicht. Wenn man dort die Stunden per Hand am Anfang fixiert, dann muss man aber damit rechnen, dass man ggf. keinen guten Plan erhält, weil bessere Lösungsmöglichkeiten durch das manuelle fixieren am Anfang ausgeschlossen werden.
Wenn ihr natülich einen festen Tag für einen Abendunterricht blockiert und man an diesem Abendunterricht auch die letzte Stunde hat, dann kann man es auch gerne fest blockieren.
Ich kenne es von Schulen eher so, dass sie eine Auswahl an möglichen Tagen für Abendunterricht "anbieten", damit es nicht mit besonderen Freizeitaktivitäten kollidiert. Also zum Beispiel "Donnerstags ist Sport, also Montags bis Mittwochs als möglicher Abendtag". Das Stundenplanungsprogramm kann sich dann daraus einen beliebigen Tag aussuchen. Der nächste Tag wird morgens nur dann blockiert, wenn der Abend auch wirklich genommen wurde und man dort auch wirklich die letze(n) Stunde(n) unterrichtet hat.
Die Einschränkung nennt sich "Min resting hours". Das muss nicht eine Stunde sein. Man kann dort auch 2 oder mehr eintragen. Wenn ich dort z.B. 5 Eintrage, dann habe ich mindestens 5 Stunden am Ende des "ersten Tages" oder am Anfang Folgetages frei. Entweder Morgens oder Abends oder Kombination. Man kann es auch so machen, dass es gezielt nur morgens oder nur abends ist. Kann man alles sehr genau vorgeben ohne einen explizieten Tag zu nennen. Dadruch hat das Stundenplanungsprogramm viel mehr Planungsmöglichkeiten und kann oft wesentlich bessere Ergebisse finden, als wenn man schon im Vorfeld einen fixen Tag vorgibt und dann im schlimmsten Fall auch noch blockiert, obwohl gar nicht blockiert werden muss.
Eine einzelne Stunde deswegen zu blockieren ist doch unsinning. Dafür müsste man wissen, an welchem Tag das ist. Aber das weiß man ja vorher nicht. Gute Programme haben selbstverständlich eine Einschränkung dafür, die auch immer eingehalten wird. Da muss man nichts manuell per Hand blockieren oder nachträglich verbessern.
Untis habe ich schon viele Jahre nicht mehr benutzt. Ist das inzwischen besser geworden?
Wenn ich Stundenplanvorgaben mache, dann werden die zu 100% eingehalten und nicht so wie (zumindest damals bei Untis), dass er dann Lösungen mit "Fehlern" ausspuckt.
Ja, ich verstehe, dass es ärgerlich für einen Kunden ist. Zeigt aber auch, dass du die Ursache immer noch nicht ganz verstehst.
Das Programm hat wenige Kunden, die Kunden zahlen kaum. Wie soll der Test finanziert werden? Irgendwann reicht das Geld für weitere Tests nicht mehr aus, weil es in Programmen tausende Fehlermöglichkeiten geben kann. Man müsste einen weiteren Programmier einstellen und/oder mehr zum Testen haben. Ich weiß es nicht von dem Programm, aber ich kenne mehrere Programme aus dem Schulberich, wo es nur einen Programmierer/Tester gibt und dieser eine Programmierer/Tester wirtschaftlich davon gar nicht leben kann und es das Programm nur in Teilzeit erstellen kann, weil er ansonsten von Sozialhilfe leben müssten. Die haben also teilweise noch "richtige" Jobs um überhaupt zu überleben. Selbst große Aktienkonzerne, die wesentlich besser finanziert werden, schaffen es nicht fehlerfreie Programme auszuliefern.
Ich kenne jetzt nicht den konkreten Fehler, aber ich kann dir sagen, dass es nicht unbedingt der direkte Fehler des Programmierers sein muss. Man nutzt als Programmierer heute Bibliotheken, und dort habe ich dann auch schon mehrfach Fehler gemeldet, die gar nicht von mir sind. Die Leute dachten aber, dass ich einen Fehler gemacht hätte und ich es direkt gelöst hätte. Dabei bin ich als Programmierer nur davon ausgegangen, dass die Bibliothek immer richtig funktioniert und habe dann, wenn ich Fehlermeldungen bekommen habe diese nur an die Programmierer der Bibliothek weitergeleitet und/oder ein "Workaround" geschrieben, um die Fehlerhate Funktion zu umgehen oder nachträglich zu verbessern.
Es zeigt einfach wieder nur, dass zu wenig Geld zum Testen zur Verfügung steht und wie wenig Verständis Kunden dafür haben.
Es wäre in etwa so (nicht ganz vergleichbar), als wenn dich jedes Mal die Eltern direkt anrufen würden, wenn du mal in einer Arbeit eine Aufgabe aus versehen falsch bewertet hattest oder die Punkte falsch zusammengezählt hattest. Wir sind Menschen und machen Fehler. Sollst du dann auch immer telefonischen Support leisten und sollen sich die Eltern dann immer maßlos Ärgern?
Werbung