pr0gramm

newest / popular

Albtraum devhumor Informatikerg0re Nerdromantik pr0grammieren proesie programmieren rosen sind rot roses are red syntaxfehler Violette sind Blau

Tags: Albtraum devhumor Informatikerg0re Nerdromantik pr0grammieren proesie programmieren rosen sind rot roses are red syntaxfehler Violette sind Blau

Feb 14, 2018 - 02:19 by Gh0stShell

Comments: 93

Feb 14, 2018 - 02:29 by MisterVinni
Scheiß PHP mit seinem . statt dem +
Feb 14, 2018 - 03:03 by 92Garfield
Nicht . anstatt +

In anderen Sprachen sind es auch zwei verschiedene dinge, nur ist meistens beides auf dem + operator, grade bei Sprachen ohen typen problematisch.

Oh 1 + "2", geil 12.

Nein, es ist echt praktisch, das in php . die String Konkatenation ist und + der additions Operator.
Feb 14, 2018 - 03:14 by MisterVinni
"Echt praktisch" als würden andere Sprachen das nicht hinbekommen zwischen zwei Typen zu unterscheiden
Feb 14, 2018 - 06:29 by Korbe
PHP ist mächtig nur diese typenlose scheiße fuckt mich so an, aba naja wenn kein Compiler da ist darf man sich auch nicht aufregen
Feb 14, 2018 - 06:31 by Insax
Wann hast das letzte mal PHP angefasst? 5.6?

Kannst schon längst in PHP mit Types arbeiten.
Feb 14, 2018 - 06:36 by b0hr
Das ist die selbe Geschichte wie mit Java. Ein schlechtes Image kann man wohl nicht so einfach loswerden.
Feb 14, 2018 - 09:29 by LB9999
Eher das gleiche wie mit Marina
Feb 14, 2018 - 09:35 by F0tzenhobel
Java gibt sich aber auch nicht besonders viel mühe...

"Ich bin ein Anfänger und komm deshalb nicht mit Java klar Argumente hier einfügen"
Feb 14, 2018 - 06:34 by Korbe
7.?
Ja klar aber man muss trotzdem immer deklarieren was das für ein Objekt ist bei meinen Klassen zumindest.
Bin von C# zu sehr verwöhnt, diese Hure
Feb 14, 2018 - 06:50 by Servellia
C# ist doch komplett durch typisiert, wenn man Mal von "dynamic" absieht. Oder meinst du die "Type inference", bei der der Compiler verleitet, welchen Typ ein Objekt hat und du einfach nur var Foo= 3 schreiben kannst?
Feb 14, 2018 - 07:24 by Schoppe
var ist der Typeninitialisierer des Teufels
Feb 14, 2018 - 08:22 by maxhigh
Bitte erläutere.
Feb 14, 2018 - 08:48 by Schoppe
https://pr0gramm.com/new/2381299:comment20256068
Feb 14, 2018 - 08:11 by werbemist
Bitte was? var ist das Schlüsselwort das dir am meisten Tipparbeit erspart.
Feb 14, 2018 - 08:43 by str0ke
Bei uns in der Firma ist "var" konvention. Den Typen siehst du ja eh hinter dem "=". Bei der Initialisierung mit einem Konkreten Typ hast du später nur ewig viel aufwand und musst, wenn du Pech hast, bei einer simplen Umstellung von zB. int auf double 200.000 Codestellen anfassen. var erspart dir da viel Arbeit. Intelligentes Umgehen mit den variablen vorausgesetzt.
Feb 14, 2018 - 08:47 by Schoppe
Korrekt, sorgt aber beim Review und späterem Anschauen (wg Fehlersuche o.Ä.) des Codes für unnötige Herleitungsanalysen. Dem Compiler ist es egal, es sorgt eben nur für bessere Lesbarkeit, wenn variablen streng typisiert werden. Wenn du mal mit Node.js ohne Typescript heftig große Serverimplementierungen geschrieben hast, wirst du mich verstehen.
Feb 14, 2018 - 09:11 by werbemist
Wir schreiben in C# "heftig große Serverimplementierungen" und genau deswegen nutzen wir var.

Wenn du deine Funktionen und Variablen anständig benennst musst du nichts analysieren. Falls doch gehst du mit der Maus über die Variable und VS zeigt dir den Typ.

var customer = this.customerAccess.GetById(5);
var customerDict = this.customerAccess.GetIdToCustomerDictionary();

vs

Customer customer = this.customerAccess.GetById(5);
Dictionary<long, Customer> customerDict = this.customerAccess.GetIdToCustomerDictionary();

Variante 2 ist für mich Krebs.
Feb 14, 2018 - 09:39 by Schoppe
Da hast du schon recht, ich muss sagen, du hast mich tatsächlich einigermaßen überzeugt. Werde noch ein bisschen zu dem Thema rumrecherchieren und dann ggf. Conventions für die Firma vorschlagen.

Bei Node hingegen sind halt die rückgabetypen auch nicht spezifiziert. Dann kann dir deine IDE auch nicht sagen, was zurückkommt. Auch mit der Namenskonvention muss ich dir recht geben. Beschreibende Kommentare und Naming ist immens wichtig für die Übersichtlichkeit.
Feb 14, 2018 - 10:00 by maxhigh
Logisch, Typsicherheit ist natürlich Voraussetzung.

Naming wird bei uns auch groß geschrieben. Auch wenns gegen den natürlichen Programmiererinstinkt geht, aber da darf ein Funktionsname auch mal aus 10 Wörtern bestehen, solange es dem Verständnis dient. Besser ein Wort mehr lesen, als jedes mal in die Definition zu schauen, was genau da eigentlich abgeht.
Feb 14, 2018 - 16:34 by Ab3bung
1 Funktion, 1 Aufgabe. Wie kommt man dann auf 10 Wörter ?
Feb 14, 2018 - 18:23 by maxhigh
? Je weniger Aufgaben eine Funktion übernehmen soll, desto genauer musst du sie doch definieren. Je allgemeiner sie ist, desto mehr Aufgaben übernimmt sie.

Ich verstehe schon was du meinst. Man sollte natürlich so prägnant wie möglich bleiben. Aber es ist auch nicht immer so einfach.

Eine Coroutine, die auf das Ende des Frames warten und dann irgendwas tun soll, heisst dann z.B. WaitForEndOfFrameToDoStuff(Stuff stuffToDo)
Feb 14, 2018 - 07:50 by NewGuy
Option Strict ON und Option Infer OFF sind die ersten Einstellungen in VS die ich auf default stelle. Wer mit Strict OFF und Infer ON arbeitet, hat die Kontrolle über seinen Code verloren.
Feb 14, 2018 - 08:18 by Servellia
Sind das nicht Flags, die explizit nur für Visual Basic gelten aus Kompatibilitätsgründen zum alten VB6?
Feb 14, 2018 - 11:27 by NewGuy
Stimmt ... hab mich da gerade n wenig schlau gemacht. Ich hab bis gerade noch gedacht, dass diese Einstellungen auch für C# verfügbar sind. Naja, kommt davon, wenn man in einer Firma ne Ausbildung gemacht hat, in der nur mit VB.NET programmiert wird.
Feb 14, 2018 - 12:33 by Servellia
Es ist halt wirklich ein Unterschied zu C#, VB setzt es ja nach Option als 'object', während C# per se den Typ so genau wie möglich herleitet , ohne Möglichkeit sich künstlich dumm zu stellen.
Wenn ich daran denke, jedes mal den Typ 2 mal schreiben zu müssen, würde ich blöd werden und der Code würde mMn an Leserlichkeit einbüßen. Insbesondere bei Typen wie Expression<Func<T1,T2,T3,TResult>> . Wenn die generischen Datentypen, dann noch sowas wie IDictionary<string, IEnumerable<foo>> sind, kommst du alleine bei der Initialisierung auf 4 oder 5 Zeilen, nur damit man nicht horizontal scrollen muss. Ist zwar ein Worst-Case, soll aber schon vorgekommen sein.
Feb 14, 2018 - 14:25 by NewGuy
Meinst du etwa, dass du in C# die Typen zwei mal schreiben musst?
Gibt es dort nicht auch die Möglichkeit "var foo = new Bar<T1>(T1 baz)"? Somit kann man den Typen doch auch nur ein mal schreiben.
In VB.NET kann man dies stark abkürzen indem man den Typen und den Konstruktor gleichzeitig aufruft "Dim foo as new Bar(of T1)(baz as T1)".
Naja, beides hat seine vor und nachteile, aber am Ende kommt eh das gleiche raus.
Feb 14, 2018 - 21:57 by PHP
Danke. Endlich mal jemand der mich verteidigt.
Feb 14, 2018 - 06:45 by newfag11elf
Wer TypeScript nicht verwendet und stumpf auf JavaScript setzt, hat im Web-Umfeld die Kontrolle über sein Leben verloren...
Feb 14, 2018 - 07:10 by b0hr
Oder noch besser: gar keine Skripte.
Feb 14, 2018 - 08:20 by VladimirObama
Genau, und Layouting macht man am besten mit table!
Feb 14, 2018 - 11:31 by b0hr
Nee, das ist ja Quatsch. Aber Tabellen würde ich tatsächlich mit table machen. Jedes Framework, dass div oder ul nutzt kotzt mich an.
Aber ich kann verstehen, warum Angular so beliebt ist. Ich habe es in den letzten Tag ausprobiert und finde es durchaus angenehm. Abgesehen von dem Code, der am Ende rauskommt. Ich schreibe 100 Zeilen und bekomme kompiliert mehrere tausend raus. Das lässt sich doch wohl optimieren. Vielleicht bin ich auch noch nicht tief genug in der Materie von Angular.
Feb 14, 2018 - 19:03 by newfag11elf
Hm der Fall wäre interessant, warum das so generiert wird.
Wir haben angular im Einsatz,
damit es eben bei größeren Templates nur die korrekten Bereiche nimmt und
nicht alles reinstopft was da ist.
Feb 14, 2018 - 19:00 by newfag11elf
Ohne Scripts kein Tracking, ohne Tracking keine Analysen / Heatmaps.
Kann schnell ins Knie gehen.
Außerdem kannst du dadurch auch Last zum Client schieben und
du sparst auf lange Sicht traffic auf beiden Seiten,
weil du eine schönere Logik erstellen kannst.
Feb 14, 2018 - 07:31 by IchBesteheDarauf
Schätze mal, dass du von Angular redest, oder?
Darf ich grade in meiner Ausbildung lernen. Nicht grade einsteigerfreundlich, aber auf jeden Fall mein Interesse wert.
Irgendwelche Tipps?
Feb 14, 2018 - 08:26 by Servellia
Nicht zwingend. Ich nutze fast nur noch ausschließlich Typescript, egal ob ich ohne Framework arbeite oder mit Angular, ESRI Arcgis JS Api oder was auch immer.

Irgendwann habe ich mir mal ein Projekt-Template erstellt, dass beim Speichern neu transpiliert und Tests ausführt. Das habe ich dann konsequent für alles genutzt und angepasst (git clone sei Dank).

Wenn es um das Lernen von etwas geht im Dev Bereich kann ich Pluralsight.com empfehlen. Mein Brötchengeber bezahlt uns im Team die Jahresabos (afaik ~260€ je nach Wechselkurs). Dort findest du Angular, Javascript, Typescript oder für was auch immer sogenannte Paths / Pfade, die aus mehr oder minder aufeinander aufbauenenden Video Kursen bestehen, die dir alles vom Urschleim auf beibringen. Zu fast jedem Kurs gbit es auch Projektmaterial zum Nachbauen direkt zum runterladen. Ich kann das fast bedingungslos empfehlen und es ist sein Geld absolut wert.

Mir als C#-Schlampe hat es ungemein geholfen Javascript und auch Angular besser zu verstehen.
Feb 14, 2018 - 18:55 by newfag11elf
Hm...zwecks Automatisierung...
- webpack
- JSLint, CSSLint

Löst eigentlich recht gut alle Fehler auf und
letztere können auch sehr auf den Code-Style achten.
D.h. in den *.css irgendwelche properties in der falschen Reihenfolge reichen aus,
um eine Warnung oder z.B. einen Fehler zu werfen.
Vorallem ist webpack verdammt flott, wenns um das neu Bauen von templates geht.
Dann muss da nichts neugestartet werden.
Feb 14, 2018 - 18:58 by newfag11elf
Hm naja...
Ist zwar richtig, dass man mit angular schon TypeScript verwendet,
aber TypeScript geht auch ohne angular.
Naja, es mag zwar nicht zwingend einsteigerfreundlich sein,
bedingt durch angular, aber an sich ists schon cool,
weil du dann wirklich keine Anfängerfehler begehst.
Das Beispiel mit der Konkatenation z.B. wäre in JS möglich,
in TypeScript sollte es durch die Definition der unterschiedlichen Typen allerdings fehlschlagen.
Außer jemand misshandelt mal wieder was.
Feb 14, 2018 - 07:19 by Eiferkeule
Das ist keine willkürliche Ersetzung des Pluszeichens. Addition und Konkatenation sind zwei verschiedene Dinge, deshalb hat PHP einen anderen Operator für die Konkatenation.
Feb 14, 2018 - 06:27 by B1rn3
Reine Gewöhnungssache.
Feb 14, 2018 - 21:56 by PHP
Selber du Hurensohn
Feb 15, 2018 - 00:10 by s0nny
Statt des +
Der Dativ ist dem Genitiv sein Tod
Feb 14, 2018 - 14:42 by swivvtey
Dann wirst du LUA lieben.
Feb 14, 2018 - 02:30 by Gh0stShell
Oh ja xD
Bin trotzdem gezwungen es in der Schule zu "lernen"
Feb 14, 2018 - 06:28 by TehFocus
Sei froh, bei uns gab es Informatik nicht. Jetzt sitz ich im Informatik Studium und muss von 0 anfangen
Feb 14, 2018 - 06:46 by knarz
Warum hast du dich nicht vorher privat damit beschäftigt?
Feb 14, 2018 - 07:13 by TehFocus
Hab ich, doch das kannst du schlecht mit 3 Jahre Informatik LK in Abi vergleichen.
Feb 14, 2018 - 07:22 by Schoppe
Hängt stark vom Lehrer und der Sprache ab. Wenn du einen 60 Jahre alten Cobol-Programmierer als Lehrer hast, der sich nie weitergebildet hat, kannst du halt auch nicht erwarten, etwas über Objektorientierung zu lernen.
Feb 14, 2018 - 08:34 by LadyFireClay
Cobol - erstmal nen gefühlt halben Roman schreiben für eine "Hello World" Ausgabe. Hach, Nostalgie.
Feb 14, 2018 - 08:32 by Robinatus
Boah Cobol. Was ein Dreck. Habe einen Bekannten aus meiner ehemaligen Berufsschulklasse, der im Betrieb damit arbeiten muss. Armes Schwein.
Feb 14, 2018 - 09:11 by woifiii
Arm sicher nicht, wenn man den Gerüchten glauben mag.
Feb 14, 2018 - 09:18 by Robinatus
Touché. Tauschen würde ich mit ihm trotzdem nicht. Egal wie viel ich dafür kriege. Er hatte mir ein Beispielprogramm gezeigt mit 22k Zeilen Variablendeklarationen.
Feb 14, 2018 - 09:15 by XE
Das ist wirklich ausgemachter Quatsch. Du wirst buchstäblich niemals jemanden treffen, der zum einen wirklich gut ist und dir andererseits sagt, er hätte seinen Scheiß in der Schule gelernt. Ich würde sagen, Informatik in der Schule ist bestenfalls dafür geeignet, bei Leuten ein gewisses Interesse zu erregen, das war's dann aber auch. Eine schulische Ausbildung in IT in etwa so viel wert wie der CPR Kurs in der Fahrschule in einer medizinischen Karriere.
Feb 14, 2018 - 09:33 by Moraelyn
Bei den meisten Schulen vielleicht, auf meinem Gymnasium (allgemeinbildend, kein Technikgymnasium / BBS mit Oberstufe o.Ä.) war Informatik aber wirklich Informatik, und nicht Excel, Word und co.
Bei uns ging es von Java-Grundlagen über OOP, Kryptographie und theoretischer Informatik zu Webentwicklung und Datenbanktheorie und -praxis. Dazu kam eine Facharbeit über Mikrocontroller, C(++) und Kommunikationstechnik, bei mir mittels LWL und Laser realisiert. Diese zwei Jahre Leistungskurs haben mir die ersten drei Semester Informatik sehr vereinfacht, was das Lernen und Aufpassen in Vorlesungen angeht. Deswegen würde ich schon sagen, dass - vernünftiger Lehrplan + Lehrer vorausgesetzt - eine schulische IT-"Vorbildung" funktionieren kann.

Nur Mathe kotzt weiterhin an.
Feb 14, 2018 - 10:25 by Kinimod69
Der Stoff, den du da gerade erwähnt hast, hat aber (bis auf oop und theoretischer Informatik) nix mit dem zu tun, was dann in der Abiprüfung geprüft wird. Habe mein Abi vor Zehn Jahren gemacht und zumindest damals lag der Schwerpunkt sehr auf theoretischer Informatik und in der Klausur wurde in der Regel ein c-ähnlicher pseudo-code angewandt, außer es wurde explizit nach einer Lösung unter Nutzung von oop verlangt. Das meiste, was im Alltag genutzt wurde, habe ich mir selbst beigebracht. Nur die theoretische Informatik, Elektrotechnik und alles was damit zusammenhängt hätte ich wohl vermutlich erst sehr viel später für mich entdeckt. Insofern hat der lk schon viel gebracht und auch eben mein Interesse für mir damals eher unbekannte Felder geweckt.
Das was du alles erwähnst hätte ich damals an meiner Schule gefeiert!
Feb 14, 2018 - 16:49 by Moraelyn
Ich hab mein Abi 2016 geschrieben, und ja, das was wir hatten ist alles andere als Standard, selbst im gleichen Bundesland gibt es himmelweite Unterschiede, trotz "Zentral"abi. Deswegen bin ich auch froh, auf diese Schule gegangen zu sein anstatt auf eines der anderen Gymnasien, da diese den Schwerpunkt auf Kunst o.Ä. gelegt hatten und immer noch haben.

In unserem Abi konnten wir uns als Sprache zwischen Java und Pascal entscheiden, wobei natürlich Java angeraten wurde (kann Pascal überhaupt OOP?). Die Aufgaben gingen von simpler Implementierung über Klassendiagramme und Komplexitätsanalyse zu Datenbanken und Verschlüsselung, effizienter Datenspeicherung, Codierung und Redundanzen zur Fehlerkorrektur bei Datenübertragungen.
War, was Informatik angeht, schon wirklich ein Luxusabi, sowohl von der Vorbereitung als auch von den Aufgaben und deren Vielfalt. Dafür kam keine Elektrotechnik außerhalb der Facharbeit dran, da das auch nicht offiziell auf dem Lehrplan für Informatik stand, wir jedoch sowohl in Informatik als auch bei der Facharbeit den selben Lehrer hatten. Somit hatten wir dort auch zumindest ein erweitertes Grundwissen.
Feb 14, 2018 - 12:52 by brinkz
Was für theoretische Informatik wird denn im Abi gemacht?
Feb 14, 2018 - 16:36 by Moraelyn
Mealy- und Moore-Automaten, (Nicht-)deterministische endliche Automaten, (Nicht-)deterministische Kellerautomaten (also mit Stack zum speichern). Sprachen der Chomsky-Typen 1, 2 und 3, wobei Typ 1 nur bei Ableitungsgraphen verwendet wurde und wir nicht die Turingmaschine besprochen haben.
Was davon genau in der Abiprüfung alles abgefragt wurde, keine Ahnung. Hab ich schon verdrängt. Das war aber auf jeden Fall der Lernstoff.
Feb 14, 2018 - 11:09 by felixp
Leistungskurs Informatik bereitet ziemlich gut auf das Bachelor-Studium vor. In Kombination mit Leistungskurs Mathematik sollte das Studium nicht sonderlich überraschend sein.
Feb 14, 2018 - 10:32 by fanish
Wie @Schoppe schon gesagt hat hängt es stark vom Lehrer ab, wobei ich sogar sagen würden, dass dir der Informatik Schulunterricht sowieso n scheiß gebracht hätte. Ich hatte Informatik belegt und wir hatten auch eine recht gute Lehrerin die auch Java unterrichtet hat, wobei ich privat trotzdem schon weiter war.
Und selbst das, was wir in der Schule hatten, wird bei meiner Ausbildung (ja 'nur' eine Ausbildung) als so simpel angesehen, dass ich nur mit dem Schulwissen gar nicht hätte antanzen brauchen.
Feb 14, 2018 - 10:39 by Schoppe
Man kann es ja als Initiator einer privaten Interessenentwicklung betrachten, in der Schule. Das, was man da lernt, reicht natürlich nicht, um adäquat gute Software zu entwickeln, aber es ist eben wichtig, dass man es nicht grundlegend falsch oder veraltet beigebracht bekommt. Naming etc. sollten einen aktuellen Stand haben, sonst versaut man die Schüler schon am Anfang
Feb 14, 2018 - 11:57 by GuenterMueller
Hab ne Ausbildung als FA AE und studiere jetzt. Nach der Ausbildung kann man auf jeden Fall besser Programmieren als nach dem Bachelor an meiner Uni. Mach dich nicht selbst runter, weil du eine Ausbildung hast. Ich finde die meisten Studenten (wie TehFocus) bilden sich was auf ihr scheiß Studium ein und heulen die ganze Zeit rum, sobald es etwas unangenehm wird.
Feb 14, 2018 - 10:52 by Ascendeath
Also ich hatte Informatik in der Oberstufe, und das Ergebnis ist, dass du in der Hochschule ein Fach ignorieren kannst (Programmieren Grundlagen) und in jedem anderen schonmal die Begriffe gehört hast.

Auf der Uni ungefähr das gleiche.

Mehr hilft das nicht, nach dem ersten Semester bist du auf dem Stand wie alle anderen
Feb 14, 2018 - 10:53 by Ascendeath
Und mein Informatiklehrer war so ziemlich der beste den es gab (Weil auch noch Informatik Prof an der TU)
Feb 14, 2018 - 14:23 by DoktorSeltsam
Also mit dem Interesse, was ich als Kind in Sachen Informatik hatte, habe ich definitiv ein Vielfaches zuhause gelernt wie dann irgendwann im Lk Informationstechnik. Da ging es los mit so Sachen wie "welche Komponenten stecken in einem PC?" und das bisschen Java gegen Ende war ein Witz für diejenigen, die vorher zuhause schon programmiert haben.
Mag an anderen Schule oder bei anderen Lehrern natürlich anders sein.
Feb 14, 2018 - 10:26 by GuenterMueller
Du warst nur zu faul ganz einfach. Ich bin mit 13 angefangen zu programmieren
Feb 14, 2018 - 12:07 by ThroZn
Krasser Typ
Feb 14, 2018 - 14:17 by TehFocus
Was für ein Hurensohn bist du denn bitte? Nicht jeder entscheidet sowas so früh
Feb 14, 2018 - 14:22 by GuenterMueller
Hättest trotzdem während der Schulzeit privat Programmieren lernen können. Ansonsten ist das Argument, dass Deine Schule keine Informatik anbot, hinfällig.

Das ignorieren faule Menschen gerne ;-)
Feb 14, 2018 - 07:46 by twingoman
Bei uns gab es Informatik, allerdings brachte man mir dort nur bei, wie man DOS nutzt um Verzeichnisse zu erstellen, löschen und ganz interessant, wie man sieht was in den Verzeichnissen drin ist. Da war Pluto aber auch noch ein Planet.
Feb 15, 2018 - 09:16 by Gh0stShell
Naja, ich lerne es in der Ausbildung in der Berufsschule. Auf der Arbeit nutzen wir Java xD
Und wenn ich auf ner Seite mal mehr als nur HTML und (S)CSS brauche, nutze ich JS.
Feb 14, 2018 - 07:06 by Schoppe
Als ich in der Schule war, wollte ich Informatik lernen (Auch, wenn sie "nur" in Turbopascal Programme zusammengeklimpert haben), stattdessen haben sie mich in einen Französischkurs gesteckt. Jetzt bin ich Softwareentwickler. Danke, Bildungssystem.
Feb 14, 2018 - 11:49 by sharkymoto
also mir wär php bedeutend lieber gewesen als turbopascal. mit php kannste heut zu tage wenigstens was anfangen.

wobei man auch ganz ehrlich sagen muss, dass es angenehmere sprachen gibt, die weniger zickig sind.

heute sollte man warscheinlich sowas wie c# lehren, da kann man linear programmieren und dann mit relativ wenig lernaufwand auf objektorientierte programmierung wechseln.
Feb 14, 2018 - 12:29 by Gh0stShell
Naja, ich brauche jetzt für die UE4 C++. Obwohl ich auch einfach mit den Blueprints arbeiten könnte...
Feb 14, 2018 - 04:02 by fs0c
*Hier generischen früher war alles besser, scheiß Promium/Invite system Kommentar einfügen*
Feb 14, 2018 - 06:26 by Iyann
Semantik Fehler sind viel schlimmer als Syntax Fehler, auf letzteres wird man zumindest hingewiesen.
Feb 14, 2018 - 10:50 by Ascendeath
Ich weiß auch nicht wer immer über Syntaxfehler heult, wahrscheinlich die ganzen Lappen in der vierten Stunde Java Grundlagen die keine IDE benutzen dürfen.

Ansonsten ist Syntax doch lächerlich.
Vor allem wenn ein } fehlt, da geh ich einfach von unten nach oben durch bis da wo die roten Kringel unterm Code aufhören und denk dann 5 Sekunden nach.
Feb 14, 2018 - 16:47 by Reschlaxx
Mittlerweile schreit dich doch jeder Compiler bei Syntaxfehlern an. Selbst wenn du auf der Console mit vim programmierst und anschließend den gcc als Compiler drüberlaufen lässt im Fall C bzw. C++.
Da sind Semantikfehler viel unschöner. Vorallem dann, wenn sie nur bedingt auftreten und das vorzugsweise dann, wenn der Professor oder später Kunde die Software mal ausprobieren darf. Dann stehst du dumm da.

Ich hatte zum Beispiel mal eine von mir verkorkste Version von Djikstra implementiert. Bei meinen Tests hat er die korrekten Routen herausgefunden. Der Prof hat die Route mal umgedreht und getestet und auf einmal kam eine falsche Kilometeranzahl heraus. Abnahme des Praktikums hat sich dann erstmal eine Woche verzögert und das kurz vor den Klausuren für die die Praktika als Vorleistung fungierten. Heißt ohne alle Praktika, keine Klausurteilnahme.
Feb 14, 2018 - 08:24 by Aarivex
Aber die Datei endet doch bei Zeile 24. :/
Feb 14, 2018 - 07:58 by Xigmatek
Kann das jemand erklären damit auch ein Laie etwas versteht?
Feb 14, 2018 - 08:28 by CJtheTiger
In der Programmierung wird der vom Menschen geschriebene Programmcode (der sprachliche Wörter wie "if", "for", "click" etc. enthält) durch einen sog. Compiler in Maschinencode übersetzt (damit auch der Computer den Code versteht).

Mit geschweiften Klammern werden in einigen Programmiersprachen Code-Blöcke bzw. sog. "Scopes" definiert. Eine öffnende geschweifte Klammer "{" signalisiert, dass hier ein Scope beginnen soll, wohingegen eine schließende geschweifte Klammer "}" den Scope wieder abschließt. Dinge innerhalb dieses Scopes existieren auch nur innerhalb dessen.

Setzt man nun eine öffnende geschweifte Klammer an eine Stelle, an der kein Scope definiert werden kann, erhält man einen Fehler wie "Unexpected '{' on line x".

Das ist ein Anfängerfehler, genauso wie das berühmt berüchtigte fehlende Semikolon ";" am Ende einer Anweisung in einigen Sprachen. Jeder moderne Compiler hat eine aussagekräftige Fehlermeldung dafür, sodass der Fehler genausoschnell behoben ist wie er kam.

Wer auf diesen Fehlern rumreitet und auch noch denkt es sei ein guter Upload, ist nur eine kleine Fagbook-Hure die auf Klicks mit billigen Sprüchen aus ist und kein Herz für die Programmierung hat. Ist ungefähr vergleichbar damit, wenn man etwas aus Holz baut, und ein Teil zu kurz gesägt hat. Das ist eben ein kleines Problem, aber schnell aus der Welt geschafft. Kein Grund so einen hirnlosen Upload dazu zu machen.
Feb 14, 2018 - 12:48 by Yunka
Hi...dein Vergleich zwischen dem genannten Programmierfehler und die Sache mit dem Holz ist m.E. etwas unzutreffend. Wenn du etwas "zu kurz" sägst, dann ist es weit aus ein größerer Fehler, verglichen zu dem Fehlen einer Klammer, einem Semikolon, usw.

Wenn man sich "versägt" und ein Holzstück zu lang ist - wäre in diesem Fall treffender. Diese Problemstellung wäre schnell aus der Welt geschafft.

LG Yunka
Feb 14, 2018 - 08:29 by VladimirObama
Stell dir vor keiner würde deine Kommentare lesen können, wenn du Satzzeichen falsch setzt oder ein Wort falsch schreibst.

Genau so ist das beim Programmieren. Der Computer versteht dich einfach nicht, wenn du bspw. eine Klammer im Programmcode falsch setzt oder vergisst.

Viele Pseudoprogrammierer hier meinen, dass sowas ganz ganz schlimm ist und einen in die Verzweiflung treiben würde. In Wirklichkeit werden solche Fehler von gängigen IDEs (das sind quasi Programme mit denen man programmiert) schnell identifiziert.

Wesentlich komplexer sind jedoch (wie auch von vielen festgestellt) semantische Fehler im Programmcode. Also am Beispiel von eben sinnhafte Fehler im Satz. "Morgens ist es kälter als draußen." Der Satz ist zwar syntaktisch richtig, aber semantisch falsch.
Feb 14, 2018 - 08:35 by wshwsh
Der untere Teil heißt "unexpected bracket on line thirty two" und beschreibt einen Fall den du beim Programmieren haben kannst. Klammern öffnen und schließen den Körper einer Funktion. Beispiel wäre
NameDerFunktion{ Inhalt der Funktion }

Wenn du beim Programmieren eine Klammer zu viel schreibst dann meckert deine Entwicklungsumgebung wenn du versuchst der Programm auszuführen. Das ist jetzt hoffentlich nicht zu technisch. An alle die jetzt Fehler in der Erklärung suchen und finden, es geht mir nicht darum es technisch alles korrekt zu erklären.
Feb 14, 2018 - 06:16 by Bastercall
Klammer Fehler sind doch okay.

Der Alptraum, Fehler in einer geschlachteten sehr tiefen Rekursion zu finden ist für mich real.
Feb 14, 2018 - 06:32 by Korbe
Re was wasch dir mal den Mund. Bevor man sowas macht sollte man sich bewusst sein dass man den Teufel beschwört.
Feb 14, 2018 - 08:30 by CJtheTiger
Und deswegen haben gute IDEs die Möglichkeit, Code-Blöcke in neue Funktionen auszulagern.
Feb 14, 2018 - 09:14 by woifiii
Das ist ja schwul.
Feb 14, 2018 - 13:14 by Burgerboss
Informatikerg0re
Feb 14, 2018 - 02:26 by maculator
Bin kein Programmierer, aber bei meinen kleineren privaten Exkursionen habe ich festgestellt, dass das wirklich oft passiert. Vor Allem mir. Sehr oft.
Feb 14, 2018 - 02:28 by Gh0stShell
Ja, es ist echt erschreckend. Vor allem wenn die IDE sagt, dass der Fehler in einer anderen Zeile liegt.
Feb 14, 2018 - 06:31 by Korbe
Ich hab komischerweise oft das Problem dass er meint, ich habe irgendwo > vergessen bzw zuviel dabei liegt der Fehler daran, dass es eine aufgerufene Funktion nicht gibt.
Die IDE zeigt mir das aber nicht an.
Total merkwürdig
Feb 14, 2018 - 10:48 by Ascendeath
Welche IDE benutzt du?
Manche sind da echt inkompetent
Feb 14, 2018 - 11:43 by Korbe
Phpstorm