Anderes (Alternative erwähnen und begründen)

WinForms ist nicht nur veraltet, sondern tot, schon seit vielen Jahren ;)
Ursprünglich wollten sie es nicht mal für .NET Core supporten, haben dann aber dem Druck aus der Community nachgegeben.
Gleiches gilt auch für WPF, auch das ist tot.

Wenn es dir ums Lernen geht, unabhängig von der Langlebigkeit, dann würde ich WPF wählen. Das ist zwar alt, aber es hat Maßstäbe gesetzt, die bis heute noch in vielen Frameworks verwendet werden.

Wenn es dir um Zukunftssicherheit geht, hast Du mehrere Möglichkeiten, je nach Ziel-Technologie.

Aus der Community kenne ich z.B. Avalonia, das war als ein WPF-Klon gedacht und es ähnelt sich auch, aber hinkt in einigen Dingen weit hinter WPF her. Wer aber kleine/einfache Projekt für mehrere Geräte entwickeln will, für den kann Avalonia eine super Wahl sein.

Microsoft entwickelt selber einen quasi WPF-Nachfolger (eigentlich Xamarin-Nachfolger), der hat sicher auch Potential, allerdings auch noch einige Probleme. Ich hoffe, dass Microsoft da etwas mehr Manpower rein steckt, dann könnte es in ein paar Jahren noch richtig interessant sein.

Wirklich die Zukunft sehe ich aber im Web mit Blazor. Auch das hat seine Problemchen, aber die sind weit überschaubarer, als bei MAUI.
In der Web-Entwicklung ist am meisten Bewegung, Du musst allerdings mit HTML/CSS und ein bisschen JavaScript klar kommen. Und Du musst damit leben können, dass Browser gerne mal komische Eigenarten haben - aber die gibt's eigentlich immer. Auf der anderen Seite gibt's auch Frameworks wie Bootstrap, die viel Arbeit abnehmen - im Web ist man ja nicht nur auf .NET beschränkt, die Web-Community ist gigantisch.

Außerdem kann ich Blazor auf Android, iOS, Windows, Linux, im Browser, auf einem Fernseher, etc. zum Laufen bringen. Wenn Du eine gemeinsame Code-Basis dafür haben willst, wird das etwas kompliziert (weil alle Projekt-Typen einen anderen Projekt-Aufbau haben), aber es geht, Blazor bleibt Blazor.

MAUI unterstützt z.B. ein Blazor-Frontend (und das funktioniert auch ziemlich gut), dadurch läuft Blazor auf Mobile- und Desktop-Geräten und auch als Microsoft-Store-App.

Dann gibt's noch Electron, eine alternative Desktop-Lösung für Web-Anwendungen.
Oder Photino.NET, ein kleine, dem Gefühl nach noch nicht ganz ausgereifte, aber sehr viel leichtgewichtigere Alternative zu Electron. Probleme hatte ich damit noch keine, nur eine Unschönheit, dass sie die Logs direkt in die Konsole schreiben.

Oder Du bleibst bei der klassischen Web-Anwendung, Browser gibt's ja auch überall.

Ich arbeite aktuell an einem Projekt, des MAUI (für Mobile), Photino.NET (Desktop) und klassisch Web (Browser/Backend) mit einer gemeinsamen Blazor-Codebasis nutzt. Bedenke aber, dass Blazor-Support auch Nachteile hat, so muss z.B. eine Browser-Engine installiert sein, Electron liefert sie selber mit, Photino.NET sucht eine installierte Engine.

Bedenke aber auch, dass das alles nach viel klingt, aber noch nicht wirklich viel ist. Allein ASP.NET Core und die damit in Verbindung stehenden Extensions-Frameworks hängen Blazor und die UI-Frameworks ab. Wenn Du dann noch Authentifizierung (oder noch schlimmer: Single Sign-on) oder Datenbanken haben willst, kommt nochmal ein großer Berg an Komplexität oben drauf.

Also versuch nicht, direkt nach den Sternen zu greifen. Vielleicht kannst Du damit umgehen (wenn ja, wüsste ich einen Arbeitgeber für dich ;) ), aber wahrscheinlicher ist, dass Du damit ziemlich überfordert sein wirst. Also mach lieber mit WPF weiter, bis die Grundlagen stabil sitzen (auch sowas wie LINQ oder async, damit haben viele Kollegen ihre Probleme), dann kannst Du weiter schauen. Es gibt ja auch noch andere sehr zentrale Frameworks, wie z.B. Entity Framework Core oder diverse Logging-Frameworks, oder Konzepte wie Configuration oder Dependency Injection. Das sind alles Dinge, die brauchst Du in der Web-Entwicklung, da ist es sehr hilfreich, wenn Du damit schon mal im kleineren/einfacheren Rahmen gearbeitet hast.

...zur Antwort

Wie schon hier geschrieben: Absolute Sicherheit gibt es nicht.

Ich kann ein Programm schreiben, das alle Mausbewegungen und alle Tastendrücke mitschreiben kann. Und auch wenn Du ein externes Gerät verwendest, das z.B. über USB angeschlossen wurde, kann dessen Kommunikation mitgelesen und simuliert werden. Oder ein Programm, das deinen Monitor abfilmt? Und deine Zwischenablage kann man auch mitschreiben, man kann alles auslesen, was dein PC oder welches Gerät auch immer irgendwo irgendwie tut.

Du kannst beliebig viele und komplexe Sicherheitsvorkehrungen treffen und es wird immer möglich sein, sie zu knacken oder zu umgehen.

Aber für sowas braucht man Kontrolle über dein Gerät, also entweder man sitzt direkt davor oder hat z.B. mit Hilfe einer Sicherheitslücke oder eines Virus' bereits ausreichend Kontrolle darüber erlangt. Auch das ist möglich und einen Schutz davor gibt es nicht, Virenscanner auch nicht.

Aber Normalsterbliche wie wir müssen uns darum eigentlich keine Sorgen machen. Die größte Gefahr geht von "Massen-Viren" aus, die bekannte Sicherheitslücken oder meine/deine Dummheit ausnutzen wollen, oder andere Tricks, wie z.B. Phishing. Danach kommt sehr lange nichts und ganz zum Schluss kommt eine kleine Menge Menschen, die das nötige KnowHow haben und auch die Arbeit machen, aktiv bestimmte Sicherheitsvorkehrungen zu knacken/umgehen. Wenn so jemand es auf dich abgesehen hat, hast Du vermutlich verloren. Aber warum sollten sich so jemand für dich interessieren, wenn bei irgendeinem Konzern viel mehr zu holen ist?

Was davon könnten gewiefte Passwort-Hacker nachvollziehen?

"Normale" Passwort-Hacker tun nichts davon.
Die greifen sich z.B. eine Passwort-Liste und probieren durch.
Oder sie bauen eine Phishing-Seite oder -Email und greifen so das Passwort ab.
Ist viel einfacher, als die ganzen technischen Möglichkeiten auszureizen und vor allem funktioniert es bei sehr vielen Menschen.

...zur Antwort

Theoretisch ja, praktisch macht das keinen Unterschied und wäre sogar hinderlich.

Man könnte den PasswortManager (bzw. dessen Verschlüsselung) knacken und deine Passwörter abgreifen.

Praktisch ist das bei einem guten Master-Passwort eine ziemliche Herausforderung.

Und natürlich wäre es hinderlich, weil Du für jedes Konto ein anderes Passwort nutzen und andere Stellen (sonst wäre es reproduzierbar) einzelne Zeichen entfernen müsstest, womit Du wieder das gleiche Problem hättest: Niemand merkt sich 100e (Stellen in) Passwörter(n).

Wenn Du einen Online-PasswortManager nutzt und Sorge hast, dass dessen Server geknackt wird (was durchaus angebracht sein kann), dann nutze einen eigenen PasswortManager. Es gibt ein paar Alternativen, mein Bitwarden-Server läuft bei mir im lokalen Netzwerk auf einem RaspberryPi.

Um deinen PasswortManager dann noch knacken zu können, müsste derjenige in dein Netzwerk gelangen und das fordert min. besondere Fähigkeiten, die man sich nicht "mal eben so" ergoogeln kann. Natürlich gibt es Leute, die das können, aber die kümmern sich normalerweise nicht um irgendwelche Normalsterblichen wie dich und mich.

Mit einem PasswortManager (Online oder selber gehostet - je nach dem, was dir lieber ist) bist Du eigentlich schon sehr gut dabei, solange das Master-Passwort gut ist und Du keine fahrlässigen Dinge tust, wie z.B. fremde Personen unbeaufsichtigt an deinen PC mit entsperrten PasswortManager lassen.

Absolute Sicherheit gibt es nicht und wird es auch nie geben. Das einzige, was dich im Internet wirklich absolut zuverlässig schützt, ist das vollständige Entfernen deines Internet-Zugangs - bei allen Geräten, also auch Smartphones.

...zur Antwort
  • Dein PC
  • Die Hardware von deinem Provider
  • Ggf. noch weitere Stellen unterwegs
  • Die Hardware vom Provider des Ziel-Servers
  • Der Ziel-Server

Das alles ist nötig, um eine Email zu versenden, das alles braucht Strom, Kühlung, ggf. Ersatz-Hardware, Personal, etc.

Und das alles sorgt direkt oder indirekt zu einer steigenden CO²-Bilanz.

Die Alternative, alles per Post zu verschicken, wäre aber noch weit schädlicher, insofern ist die Email schon eine ganz gute Option.

...zur Antwort

Word kann PDF-Dateien einlesen und ein Word-Dokument daraus machen, aber ob das bei einem eingescannten Dokument (dahinter steht ggf. nur ein Bild) wirklich brauchbar funktioniert, kann ich dir nicht sagen.

Windows 11 bringt das Snipping Tool mit, einfach mit der Druck-Taste oder SHIFT+WIN+S einen Screenshot von dem eingescannten Dokument machen und dann auf die Vorschau klicken. Dadurch öffnet sich der Screenshot im Snipping Tool und das hat mittig oben die Funktion "Textaktionen", das erkennt dann den Text im Bild.

Ansonsten gibt's noch diverse andere Tools, einfach mal nach "OCR" suchen.

Ggf. kann das auch dein Smartphone, aber der Scanner wäre mir da lieber, dann habe ich es direkt am PC.

In jedem Fall darfst Du aber kein perfektes Ergebnis erwarten, OCR ist ziemlich komplex, rechenintensiv und fehleranfällig. Zum große Mengen Text einlesen taugt es, wenn der Text hinterher aber fehlerfrei sein soll, müsst Ihr nochmal Korrektur lesen und einiges aufräumen.

Ich würde dazu raten, das Word-Dokument neu aufzubauen und dann Absatz für Absatz aus den Screenshots die Texte herauszukopieren. So hast Du viel Kontrolle, es geht nicht so viel unter und Word macht keine komischen Dinge, beim Versuch, Formatierungen zu übernehmen.

...zur Antwort
Ich möchte folgendes dazu sagen:

Endlich mal eine nicht völlig verblendete Frage zu dem Thema :D

Meine Antwort darauf: Chance *und* Büchse der Pandora

Was wir heute KI nennen, das hat nicht sonderlich viel mit "echter" KI zu tun, davon sind wir noch meilenweit entfernt. Der richtige Begriff ist z.B. im Fall von ChatGPT "Large Language Model", wobei da mehrere Systeme (es gibt verschiedene Arten von KI) zusammenarbeiten, ganz so einseitig ist es also auch nicht.

Das Gerede, dass KI uns gefühlt übermorgen ausrotten wird, ist also Müll.

Die Sorge, dass KI uns unsere Jobs wegnimmt, hat aber einen wahren Kern, da es einige Jobs gibt, die aktuelle Systeme gut ersetzen können. Allerdings gab es die gleiche Entwicklung schon mehrfach, bestes Beispiel: Beginn der Industrialisierung, Dampfmaschine, Nähmaschine, massig Jobs sind dadurch flöten gegangen. Heute interessiert das kaum jemanden mehr, weil im gleichen Zuge sich auch neue Jobs entwickelt haben. Der Arbeitsmarkt ändert sich und KI hat das Potential, einen ähnlichen Impakt auf den Arbeitsmarkt zu haben, wie die Dampfmaschine. Wer sich mit dem Arbeitsmarkt bewegt und anpasst, wird auch weiterhin Arbeit finden, vielleicht sogar mehr, immerhin bergen solche Entwicklungen auch ein enormes wirtschaftliches Potential. Wer das aber nicht tut, bleibt unter Umständen auf der Strecke.

Und ja, dein Thema ist auch wichtig, aber nicht erst, seitdem es ChatGPT gibt. Solche KIs gibt's schon seit einigen Jahren, immer wieder sind gefälschte Bilder oder Anderes aufgetaucht, schon gefühlt ewig werden auf diversen Plattformen Beiträge oder Produkt-Bewertungen gefälscht und ein großer Teil davon ist vermutlich automatisiert entstanden. Das Thema ist relativ alt, es wurde auch immer wieder darüber berichtet, aber seit ChatGPT ist es der breiten Masse bewusst(er) geworden.

Das ändert natürlich nichts am Problem und es ist ein großes Problem, wo ich auch keine Lösung habe. Die EU versucht es mit dem "AI Act", der sicherlich nicht perfekt ist, aber ebenfalls Potential hat, vorausgesetzt, die EU ruht sich nicht darauf aus, sondern überarbeitet ihn, wenn es nötig wird. Das löst das Problem natürlich auch nicht, aber es verringert es zumindest im legalen Raum etwas. Und parallel dazu wird an KI-Systemen gearbeitet, die KI generierte Inhalte erkennen können, was natürlich auch nur ein Katz-Maus-Spiel ist.

Gleichzeitig bedeutet KI aber auch ein enormes Potential. Es kann viele Arbeit deutlich effizienter lösen, was gut für die Wirtschaft ist, oder es bietet für Probleme bessere Lösungen, für die wir bisher keine, oder nur schlechte Lösungen haben. Z.B. der Aufbau des Stellarator (Konzept/Reaktor für Kernfusion) wurde Großteiles mit Hilfe von einem eigens dafür entwickelten KI-System entworfen, dessen Ziel es war, die komplexen benötigten Magnetfelder ohne einen Längsstrom aufrecht zu halten. Ohne KI wäre das nicht möglich gewesen.

Und es gibt noch massig andere Beispiele, wo KI hilft, effizientere Methoden für bestehende Technologien zu finden, es könnte aber z.B. auch die Raumfahrt revolutionieren, da dort oben im All extrem viel schief gehen kann und beachtet werden muss, eine KI vor Ort könnte da viel besser und vor allem schneller reagieren.

Also ja, KI ist in gewisser Weise eine Büchse der Pandora, es ist gleichzeitig aber auch eine riesige Chance für uns alle.

Die Risiken, die es dadurch für uns gibt, sind aber auch keine neuen Probleme, die haben wir schon, seit es sowas wie Politik gibt. Überall wird gelogen und betrogen, KI ist nur ein neuerer und effizienterer Weg, um zu lügen und zu betrügen. Die KI ist also nicht unser Problem, das sind wir selber. Wenn wir unsere eigenen Probleme in den Griff kriegen, treffen uns auch die Risiken von KI nicht und wir können voll und ganz von den Vorteilen profitieren.

...zur Antwort

Das Spray kannst Du verwenden, bedenke aber, dass da ggf. brennbare Gase drin sind und nicht nur Luft.

Außerdem steht der Inhalt - wie der Name schon sagt - unter Druck, das heißt, wenn das Gas entweicht, sinkt dessen Temperatur schlagartig, was ggf. zu Kondensation der Luftfeuchtigkeit führt. Auch das ist kein Problem, aber halte das Spray einfach nicht zu dicht an die Komponenten und lass Kondenzwasser trocknen, wenn Du welches bemerkst.

Du kannst aber auch einen Staubsauger benutzen, damit verteilst Du den Staub nicht nur, sondern saugst ihn auf und hast kein Problem mit brennbaren Gasen oder Kondensation.

Beides kann aber dazu führen, dass sich die Lüfter im System sehr stark drehen. Das kann die Lüfter und - da Elektromotoren bei falscher Richtung wie ein Generator wirken - einen Strom induzieren, der dann im Mainboard zu einem Kurzschluss führen kann.

Also: Unbedingt Lüfter festhalten odef fixieren, sie dürfen sich nicht mitdrehen.

...zur Antwort

Fahr mal nach Russland und versuch die festzunehmen.

Ich könnte mir vorstellen, dass Du das ziemlich schnell ziemlich doll bereuen wirst ;)

Außerdem wirst Du damit vermutlich einen diplomatischen Vorfall auslösen, in der aktuellen Zeit ziemlich riskant.

Wenn man sie hier aufgreift, kann man sie einsperren, aber dann wird Russland was dagegen haben und Druck ausüben oder z.B. einen Austausch anbieten.

Sowas ist ein Thema für die Politik, insbesondere Außenpolitik, nicht für die Polizei.

...zur Antwort

Das juckt deinen Laptop nicht.

Er stinkt halt nach Rauch und mit den Jahren lagert sich Nikotin ab, das sollte sich mit etwas Fingerspitzengefühl aber reinigen lassen.

Die Feuchtigkeit sollte auch kein Problem darstellen, Kondenzwasser ist nur ein Problem, wenn die Hardware selber deutlich kühler ist und das erreicht man eigentlich nur mit Extreme-Overclocking - normalerweise ist die Hardware deutlich heißer, als die Raumtemperatur.

...zur Antwort

Indem Du dich von "profitabel" verabschiedest.

Es geht nicht darum, ein paar Befehle auswendig zu lernen, das wäre utopisch.
Es geht darum, Zusammenhänge zu verstehen, Hintergründe zu erkennen, ein Gefühl für die Technologie zu entwickeln, etc.

Das kann man nicht erzwingen oder beschleunigen.
Und eine bestimmte Struktur gibt es auch nicht, die findest Du für dich selber.

Ich habe das meiste durch Neugierde gelernt, weil mich irgendetwas interessiert hat und ich mich dann darin eingegraben habe, um es zu verstehen. Das heißt: Doku lesen, fremden Code lesen, Blogs lesen, in Foren lesen und helfen, viel experimentieren, viel Übung.
Das ist aber weder profitabel noch schnell, doch dafür bin ich bei meinem Arbeitgeber einer von denjenigen, die man fragt, wenn Andere nicht mehr weiter wissen.

Nützliche Seiten:

  • https://mycsharp.de/
  • https://github.com/
  • https://source.dot.net/ (.NET Source Code)
  • https://regex101.com/ (Für Regex, super nützlich, aber schwer)
  • https://sharplab.io/ (Aktuell leider ein bisschen broken, aber das fixen die hoffentlich bald)
ich nicht in einer Woche Windows auf die Beine stellen werde

Eher ein paar Jahrzehnte ;) Und auch nicht mit C# alleine.

...zur Antwort
Platform für Debatten?

Ich stelle mir folgendes vor (Gibt es etwas vergleichbares?) :

- Streitfragen werden als Mindmaps dargestellt

- Argumente werden erst aufgenommen, wenn es in der Community eine gewisse Anzahl an Leuten gibt, die das Argument für wichtig halten

- Dopplungen werden unbedingt vermieden, Variationen werden als Varianten in der Map dargestellt. Es gibt eine KI Löszng die automatisch prpft ob es sich vermutlich um eine Dopplung handelt

- Zu jedem Argument wird markiert ob es Gegenargumente gibt und es wird versucht anzugeben ob das jeweilige Argument dadurch entkräftigt wird oder nicht

- Logische Fehlschlüsse können markiert werden mit einer Liste vorgefertigter Bezeichnungen, die direkt auf die jeweiligen Definitionen verlinken

- Belege für Argumente können direkt mit angegeben werden und es wird markiert, in wieweit ein Argument bereits wissenschaftlich gedeckt ist und ob die Art von Argument überhaupt falsifizierbar ist etc.

- Es gibt die Möglichkeit, Kommentare abzugeben für die gevotet werden kann

---------

Insgesamt geht es also eine graphische Darstellung von intellektuellen Fragestellungen die sicherstellen soll, den Überblick zu bewahren und das 100 fache diskutieren der gleichen Themen unterbinden soll.

Sodass entweder eindeutig die richtige Seite festgestellt oder eindeutig die unentscheidbaren Argumente festgestellt werden kann.

(Ich finde wissenschaftlichen Diskurs zu untransparent für Außenstehende / und Debatten zu intransparent, redundat und unwissenschaftlich)

...zur Frage

Wüsste nicht, dass es sowas gibt.

Allerdings ist mir auch nicht klar, was der Mehrwert sein soll. Ja, dann hast Du zwar eine Mindmap, aber Du weißt immer noch nicht, was am Ende der richtige Pfad ist. Außerdem wird - insbesondere bei wissenschaftlichen Debatten - die Mindmap schnell enorm komplex, was die Übersicht zunichte machen würde. Du darfst ja nicht vergessen, dass wissenschaftliche Arbeiten häufig auf tausende Jahre alter Forschung aufbauen, was würdest Du denn in deiner Mindmap darstellen, wenn plötzlich jemand mit einer uralten Theorie bricht und eine Alternative vorstellt?

Außerdem klingt deine Idee nach einem enormen zusätzlichen Aufwand, nur um die Mindmap zu pflegen. Klar, teilweise kann das eine KI-Lösung übernehmen, aber die hat auch Schwächen und muss kontrolliert werden.

Und zum Schluss verlierst Du in so einer Mindmap die Variationen, die in einem sorgfältig ausgearbeiteten Text möglich sind. Z.B. bei Argumenten, die nur teilweise übereinstimmen, hast Du weitreichende Auswirkungen auf die Mindmap - oder Du lässt die Detail-Unterschiede unter den Tisch fallen, was aber selten eine gute Idee ist.

Aber es kann natürlich sein, dass deine Idee trotzdem funktioniert und ich es falsch einschätze. Wenn Du davon überzeugt bist, kannst Du dich ja in die Themen einarbeiten und einen Prototypen auf die Beine stellen. Wenn es einen Markt dafür gibt, werden sich auch Nutzer dafür finden und dann ist auch die Finanzierung realistisch.

...zur Antwort

Mitarbeitergespräch.
Sprich dort die Probleme an, mit konkreten Verbesserungsvorschlägen. Zusätzlich zu den Verbesserungsvorschlägen sind aber auch konkrete Beispiele hilfreich, achte aber darauf, dass Du keine Kollegen "an den Pranger" stellst, sonst leidet deren Beziehung untereinander. Und gib dem Mitarbeiter genug Raum, selber zu reden und die eigene Meinung kund zu tun (frage ggf. danach), denn nie ist das Problem 100% einseitig, es gibt eigentlich immer irgendeine Ursache.

Bleibe dabei aber diplomatisch, ganz egal, wie der Mitarbeiter sich verhält. Für den Mitarbeiter ist das eine gewisse Stress-Situation und wenn Du dich dabei falsch verhältst, verschlimmerst Du die Lage nur noch. Das betrifft auch dich, wenn der Mitarbeiter dich kritisiert, häufig ist es nämlich auch so, dass der Mitarbeiter nicht immer "bockig" war, sondern es tiefer liegende Probleme (ggf. mit dir) gibt, die über Kurz oder Lang zu diesem Verhalten geführt haben. In solchen Fällen musst Du nach allen Regeln der Kunst mit der Kritik umgehen und natürlich auch an dir arbeiten.

Und bleibe bei deiner Kritik am Mitarbeiter in der Ich-Form.
Sage nicht: "Du hörst nie zu und machst immer, was du willst."
Sage stattdessen: "Ich fühle mich manchmal übergangen, wenn Entscheidungen getroffen werden, ohne sie mit dem Team abzusprechen."
Das wird nicht so schnell anklagend aufgefasst und Du vermeidest, dass der Mitarbeiter in eine Art Abwehrhaltung geht und vielleicht sogar noch mehr dagegen hält, dann hast Du ganz verloren.

Es kann natürlich auch sein, dass der Mitarbeiter emotional reagiert, vielleicht hat er Angst um seinen Job und hat gerade finanzielle Schwierigkeiten, etc. In solchen Fällen musst Du natürlich deutlich machen, dass das Gespräch kein "5 vor 12"-Gespräch mit drohender Kündigung ist.

Das Ziel von so einem Gespräch ist nicht, eine Kündigung zu rechtfertigen. Das Ziel ist viel eher, den Mitarbeiter zu halten und damit das gelingt, die Probleme zu identifizieren und Lösungswege zu erarbeiten. Da es aber meistens Probleme auf beiden Seiten gibt, ggf. auch erst durch falsches Verhalten des anderen, kann das ggf. schwer werden, zu einem positiven Ergebnis zu gelangen. Deshalb ist es wichtig, dass man ruhig und sachlich bleibt und auf keinen Fall anklagend reagiert oder formuliert. Wenn dem Mitarbeiter das nicht gelingt, musst wenigstens Du ruhig bleiben, denn Du bist "der Chef" und hast damit eine gewisse Verantwortung.

Und natürlich kann auch eine neutrale dritte Person helfen, um dann z.B. Überreaktionen rechtzeitig abzufangen und ggf. zu vermitteln.

Es kann auch helfen, wenn Ihr am Ende eine Art Ziele-Plan erarbeitet, indem Ihr beide aufschreibt, was Ihr euch an Verbesserungswünschen vornehmt. Nach ein paar Wochen bis Monaten setzt Ihr euch dann wieder zusammen und besprecht diesen Plan, was Ihr erreicht habt, was nicht und wie es weitergehen soll.

Und überlege dir auch, welche Dinge Du als Grundvoraussetzung (quasi Anweisungen) aufführen willst, z.B. sowas wie das pünktliche Erscheinen zu gemeinsam vereinbarten Meetings. Das sind dann so Punkte, die Du als notwendig und nicht diskutabel siehst. Sei damit aber vorsichtig, da sie, wenn sie zu streng sind, auch zu Unmut führen können.
Ich würde z.B. nicht aufführen, dass der Mitarbeiter immer und um jeden Preis zu jedem Termin, den ich einstelle, pünktlich erscheinen muss. Ich würde aber aufführen, dass er, wenn er den Termin nicht pünktlich einhalten kann, mich möglichst früh darüber informiert, damit ich ggf. umplanen kann. Und ich würde für mich als Grundvoraussetzung aufnehmen, dass ich feste Termine immer vorher mit dem Mitarbeiter abspreche, um sicherzustellen, dass es für uns beide gut passt.

Aber wenn das alles zu nichts führt oder erarbeitete Verbesserungen nicht umgesetzt oder eingehalten werden, dann bleibt am Ende natürlich noch die Kündigung.

Sei mit Kündigungen aber vorsichtig. Neben den generellen Nachteilen einer Kündigung verschenkst Du dir damit aber auch persönliches Potential. Wenn zwei Personen so eine schwierige Phase durchstanden haben und dabei gelernt haben, wie man mit dem Anderen richtig umgeht und dass man auch offen miteinander reden und Probleme ansprechen kann, dann kann das auch zu einem gewissen Gefühl der Verbundenheit führen.

PS:

Mache dir vorher Stichpunkte.

...zur Antwort

Ja, willkommen in der Realität ;)

Nicht böse gemeint, ist aber einfach so: Im "reinen" Studium lernst Du das nicht.
Wenn Du Programmierung und später Softwareentwicklung lernen willst, musst Du das selber lernen, auf eigene Kosten in deiner Freizeit. Oder Du suchst dir andere Wege, ggf. mit anderen Studenten zusammen ein gemeinsames Projekt.

Das mit Abstand wichtigste ist Erfahrung, Erfahrung, Erfahrung und Erfahrung.
Also eigene Projekte entwickeln, eigene Ideen, Fehler, etc. machen und daraus lernen.
Das kann dir aber kein Studium beibringen und sowas wie Framework-Kenntnisse auch nicht, da das alles meistens ziemlich schnell im Fluss ist und sich ständig ändert.

Das ist aber auch nicht schlimm, denn der Job ist genau so: Ständig musst Du was neues lernen, tust Du das nicht, bleibst Du auf der Strecke. Wenn Du Glück hast, arbeitest Du in einer Firma an einem Projekt, wo Du dich in eine spannende Technologie während der Arbeitszeit einarbeiten kannst, oder die Firma bietet dafür explizit "Frei"zeit an - Letzteres habe ich aber noch nie gesehen. Viel wahrscheinlicher ist, dass die Firmen auf irgendeinem älteren Stand hängen (paar Monate bis Jahrzehnte) und wenn Du aktuelle Technologien lernen willst, in deiner Freizeit lernen oder den Arbeitgeber wechseln musst. Das heißt, insofern lernst Du jetzt eine sehr wichtige Lektion: Ständiges Lernen nebenbei ist essenziell, um gut zu werden und zu bleiben.

Wie Du das jetzt am besten machst ... gute Frage. Du wirst wohl deine Freizeit opfern, oder Du gehst auf eine Firma explizit zu und verkaufst nicht dein Studium (das interessiert die nur peripher), sondern dein Interesse an der Thematik, deine Lernbereitschaft und dein Potential (und warum). Viele Firmen schauen zwar auf die blanken Qualifikationen, sie schauen aber auch, ob es da ggf. verstecktes Potential zu finden ist. Es gibt nur wenige gute Entwickler, wenn sie also glauben, dass Du den initialen Aufwand wert bist und mit ihrer Anleitung genau das werden kannst, was sie suchen, dann hast Du deutlich bessere Chancen. Natürlich darfst Du keine riesigen Gehälter erwarten, stapel also lieber zu tief, als zu hoch.

Ansonsten kannst Du auch zusätzlich noch eine Ausbildung hinter schieben, das wäre dann das Optimum: Theorie aus dem Stuidium + Praxis aus der Ausbildung. In der Ausbildung lernst Du auch kein Programmieren, aber Du lernst wie der Beruf funktioniert, Du hast mehr Zeit für eigene Projekte (z.B. in der Berufsschule - die ist Pillepalle) und Du hast Kollegen mit jahrelanger Praxis, die dir Tipps geben und deutlich mehr relevantes KnowHow haben, als Du im Studium je zu Gesicht bekommen wirst.
Ich würde zwar sagen, dass erst Ausbildung und dann Studium besser wäre, aber hinterher wird das vermutlich eher zweitrangig sind, womit Du begonnen hast.

Das sage by the way nicht nur ich, die Aussage, dass Ausbildung+Studium das Optimum eines Berufseinsteigers ist, habe ich von Personalverantwortlichen, Firmen und Beratern gehört. Das tiefe theoretische Wissen aus dem Studium + die praktische Erfahrung aus der Ausbildung.

Du darfst danach dann nur nicht mit der Einstellung "ich kann jetzt alles" in den ersten Job gehen, denn nein: Kannst Du nicht ;) Nach der Ausbildung kannst Du gerademal so viel, dass Du zumindest handlungsfähig bist.

Aber das ist alles normal, der Job ist kompliziert und schwer und das wissen die Firmen auch. Wichtig ist, dass Du dein Geld wert bist oder zeitnah wert sein wirst und dass Du kontinuierlich besser wirst und dich permanent weiterentwickelst.

denn ich hasse es, stumpf und chronologisch Theorie zu lernen

Ich glaube, ich habe in meiner ganzen Laufbahn noch nie stumpf chronologische Theorie gelernt :D Und mir geht's da wie dir: Ich hasse es.

Ich lerne meistens, indem ich fremden Code lese und hinterfrage, in Foren mit lese und ggf. helfe, Blog-Artikel lese und - ganz wichtig - eigene Ideen ausprobiere und technisch experimentiere.

Die Basics von Java habe ich ja mittlerweile drauf. Ein bisschen Python kann ich auch.

Vorsicht: Niemand interessiert sich für Java *und* Python. Die meisten Firmen/Projekte vordern eines von beiden, ggf. noch ein Web-Frontend und SQL, aber selten Java *und* Python.

Es bringt dich also nicht weiter, beides ein bisschen zu lernen, stattdessen solltest Du dir eine Sprache suchen und damit richtig gut werden. Es kann natürlich trotzdem helfen, andere Sprachen zu lernen, aber glaube nicht, dass dir das beruflich irgendetwas bringt, außer dass Du etwas über den Tellerrand hinaus schauen kannst.

Die Firmen haben in der Regel genug Leute, die die Basics kennen, aber die Leute, die wirklich ins Detail gehen können und dann in aller Regel den weniger stark aufgestellten Kollegen quasi als "Backup" dienen und "den Karren aus dem Dreck ziehen" können, die sind selten. Das heißt natürlich nicht, dass Du jetzt alles andere weg werfen sollst, stattdessen solltest Du dich aber auf eine Richtung fokussieren und der Rest läuft wie so eine Art Allgemeinwissen nebenbei mit, damit Du es mal gesehen/gehört und ggf. andere Lösungswege gelernt hast.

...zur Antwort

"App" ist die Kurzform von "Application", das kann alles sein.

Aber überleg dir nicht, ob Du Desktop- oder Web- oder Mobile-Apps entwickeln willst, sondern entscheide lieber zwischen Game- und Nicht-Game-Development. Game-Development ist ganz anders, als der Rest. Oder Du beschäftigst dich mit so akademischen Themen wie Machine Learning, das ist auch nochmal was ganz anderes.

Außerdem liegt die Zukunft im Web, zumindest für "klassische" Apps. Desktop-Apps, Mobile-Apps, alles wird mehr und mehr ins Web getragen, einfach weil das die einfachste/günstigste Art für 100% cross-plattform Apps ist. Das heißt nicht, dass "klassische" Desktop- oder Mobile-Entwicklung tot ist, es gibt immer noch viele Projekte, die im Web nicht (so gut) funktionieren, aber es wird weniger. Desktop-Apps mit Web-Frontend (ohne Server dahinter) wird aber auch immer beliebter.

Und mach nicht den Fehler, dich auf eine Technologie zu versteifen, streck auch mal die Fühler in andere Richtungen aus.

...zur Antwort

Das liegt an der Art und Weise, wie C# intern arbeitet.

Es wird nicht erst die Variable als float deklariert und dann berechnet, sondern umgekehrt: Erst wird berechnet und danach die Variable deklariert und zugewiesen.

Das heißt, deine Berechnung sieht effektiv "int / (int * int)" und das Ergebnis davon ist auch ein int. Erst danach wird die Variable zugewiesen.

Du hast also mehrere Möglichkeiten: Mach die "difficulty"-Variable als float, oder rechne "10F" durch das Quadrad von "difficulty". Das "F" hinter der 10 sagt dem Compiler ("D" für double), dass die 10 als float betrachtet werden soll und nicht als int. Oder Du castest in der Berechnung auf float.

Immer wenn ein Teil einer Berechnung einen anderen Typ hat, als der andere Teil, versucht C# eine implizite Konvertierung. Bedenke dabei aber, dass auch die Berechnung aus mehreren Schritten bestehen kann. In deinem Fall wäre das erst die Multiplikation (da sie in Klammern steht), danach die Division. Das sind zwei Rechenschritte, für die die gleichen Regeln gelten.

...zur Antwort

Die im Video angesprochene Technologie ist nicht neu und funktioniert auch, nur werden ein paar wesentliche Details verschwiegen:

  • Die Energie "steckt" nicht im Wasser. Man muss Energie (also Strom) zuführen, um den Wasserstoff aus dem Wasser herauszutrennen, damit man den Wasserstoff nutzen kann. Und woher kommt diese Energie?
  • Man braucht auch einen Motor, der mit dem Wasserstoff etwas anfangen kann, herkömmliche Verbrenner können damit ziemlich sicher nicht umgehen.
  • Der Wirkungsgrad ist furchtbar schlecht.

Man kann natürlich Strom aus einer Batterie her nehmen, damit Wasser aufspalten und aus dem Wasserstoff wieder Strom gewinnen und damit einen Elektromotor betreiben, aber wozu? Warum nicht einfach direkt den Elektromotor betreiben?

Was tatsächlich auch so genutzt wird, sind reine Wasserstoff-Autos. Die werden dann mit Wasserstoff betankt und mit Sauerstoff und Wasserstoff wird wieder Strom gewonnen, der einen Elektromotor betreibt. Das gibt es, hat sich aber wegen der schwierigen Lagerung von Wasserstoff und dem eher schlechten Wirkungsgrad nie durchgesetzt.

Die Aussage, dass man einfach Sprit durch Wasser ersetzen könnte und alles dafür im Baumarkt findet, ist also völliger Unfug.

...zur Antwort

Nur das:

https://www.amazon.de/Visual-Studio-2019-Objektorientierung-Programmiertechniken/dp/3836264587

Ich hab den Vorgänger von 2010 gelesen.
Allerdings ist das kein explizit für Fortgeschrittene zugeschnittenes Buch, sondern ein Komplett-Paket, das bei 0 anfängt, aber auch fortgeschrittene Themen behandelt.

Allerdings wirfst Du mit deiner Themen-Auflistung auch mehrere Dinge in einen Topf, die eigentlich völlig verschiedene Technologien sind, damit meine ich den FileDialog und die ToolBox-Elemente. C# ist sehr viel komplexer, als nur Methoden, Klassen und Vererbung und der FileDialog oder ToolBox-Elemente (vermutlich Windows Forms?) sind nur ein kleiner Teil einer sehr veraltetet UI-Technologie.

Kauf dir das Buch, aber verschaffe dir auch einen Überblick über die MSDN-Doku. Zum Beispiel könntest Du dir die Historie der C#-Sprachversionen sowie die Funktionen anschauen und genauer betrachten. Aber auch WPF ist ein guter Punkt, das ist zwar ebenfalls sehr alt, hat aber weit reichende Maßstäbe gesetzt, die man bis heute noch merkt. Moderner ist MAUI, die Zukunft liegt aber in der Web-Entwicklung mit ASP.NET Core und damit im Zusammenhang stehenden Technologien wie Blazor.

...zur Antwort

Gar nicht.

Edge muss installiert sein, damit Microsoft selber und auch andere Firmen, die Software für Windows anbieten, darauf zurückgreifen können. Früher war das der InternetExplorer, heute ist es der Edge bzw. dessen Runtime.

Du kannst es natürlich manuell suchen und löschen, riskierst damit aber Fehler im Windows oder anderen Programmen.

...zur Antwort