Frage an die Erfahrenen Entwickler insbesondere C#-Entwickler?

Erst einmal hallo in die Runde und ich hoffe, euch geht es gut.

Vorgeschichte:

Ausbildung im Januar 2024 erfolgreich abgeschlossen als Fachinformatiker für Anwendungsentwicklung, während der Ausbildungszeit keinen Mentor / Ausbilder gehabt, der Fragen beantworten konnte, geschweige denn eingearbeitet hat. Von Tag eins an war mein Job eher im an Druckern stehen (war eine Druckerei) und im Lager Papiere einholen und daneben dann noch Programmieren in C# mit WinForms für die kaufmännischen Abteilungen, um deren Arbeit zu automatisieren. Meistens musste ich die Arbeit mit nach Hause nehmen, mir dort noch Gedanken machen und das lösen und daneben eben auch noch die Ausbildungsthemen aneignen, sei es schulisch die Theorie oder eben für die IHK-Prüfung die Theorie. Das heißt, ich habe von 8 bis 17 Uhr gearbeitet und war dann so gegen 18 Uhr zu Hause, habe geduscht und gegessen und so gegen 19 Uhr angefangen zu lernen bis 22-23 Uhr, dann schlafen und Repeat.

Hätte ich einen Mentor gehabt oder ein Entwicklerteam, würde ich sogar noch sagen, okay, ich habe viel Wissen erlangt in der Zeit, war hart, aber Lehrjahre sind keine Herrenjahre, wie man so schön sagt. Jedoch wurde mir eben nichts gezeigt, es kamen eher Sprüche wie "du bist ja immer noch nicht fertig, du musst doch nur ein paar Buchstaben da rein tippen, so schwer kann es nicht sein" oder alle 10 Minuten stand einer hinter mir und räusperte sich. Ach ja, ich habe in einem Großraumbüro gearbeitet, welches direkt am Lager bei den großen Druckern stand, also durchgehend Lärm wie von einem Rasenmäher, und dann versucht euch mal als Azubi dort zu konzentrieren und alle 10-15 Minuten merkt ihr, dass jemand über die Schulter guckt und ihr wisst genau, die verstehen das sowieso nicht, weil das einfache EDV-Mitarbeiter waren.

Grundlagen in die Programmierung und C# VisualStudio usw. die ganze Welt des Entwicklers musste ich mir eigenständig per w3schools ChatGpt und Google aneignen also das wofür eigentlich eine Ausbildung da gewesen wäre. Meine Aufgaben waren dann, Desktop-Apps zu schreiben für Mitarbeiter, die nicht so fit mit Computern sind. Diese sollten eine Excel/Xml/CSV-Datei einspielen und alles andere sollte dann das Programm erledigen und eine umsortierte und umgemappte Datei wieder ausgeben, womit die Kollegen dann weiterarbeiten können.

Für die Erfahrenen unter euch ist das sicher Kindergartenstoff und ihr kennt LINQ, um so durch Daten zu suchen, Datenbanken mit Entity Framework usw. ABER bedenkt, dass ich ein Azubi war, der nie etwas vom Programmieren wusste, ich muss nun alles ergoogeln und dann ist man eben bei Schleifen und Anweisungen und fängt an, Tabellen mit Schleifen usw. zu durchsuchen, was eine gute Übung ist, keine Frage, jedoch sollte man auch mit der Zeit gehen und wenn man ausbildet, auch dem Azubi sagen, hör mal, mach eine Tabelle so, damit du verstehst, was da wirklich passiert, aber effektiver nutze LINQ oder nutze dies oder das. Aber ich hatte eben keinen. Der Ausbilder, den ich hatte, hat vor über 10 Jahren das letzte Mal in Visual Basic programmiert und die einzige Hilfe, die von ihm kam, war "ja, musst du googeln" und "hier ein VB-Projekt von mir, ist zwar was Kleines, aber C# und VB sind identisch".

Gegenwart:

Da ich so gebrandmarkt war von C#, habe ich irgendwie einen Hass dagegen entwickelt und dachte mir, du fängst jetzt nach der Ausbildung an, neu zu lernen, fang mit HTML, CSS, JavaScript an und dann schaust du dir React an, gesagt, getan. Jedoch ist der Arbeitsmarkt so gesättigt von Junioren und Quereinsteigern, gerade im Frontend-Bereich, dass ich nun weit über 100 Bewerbungen geschickt habe und mangels Erfahrung in praxisnahen Projekten abgelehnt werde oder die suchen Studenten, die im Bachelor oder Master sind.

Eigentliche Frage:

An die C#-Entwickler: Der .NET-Kosmos ist ja riesig und WinForms ist veraltet, eigentlich hätte man mir in der Ausbildung sagen sollen, mach es mit WPF, aber die kannten das nicht und es hieß, wir haben schon immer damit Programme erstellen lassen, das bleibt so. Würdet ihr sagen, ich soll mich erneut an C# setzen?

Ich bin auch mit Personaldienstleistern in Kontakt und die sagen auch, Frontend Web ist überfüllt und du hast viele Konkurrenten, bleib bei C#. Und wenn ja, was wäre so das Sinnvollste in diese Richtung, sicher nicht WinForms.

Mein Ranking wäre:

  • Grundlagen nochmal auffrischen und festigen
  • LINQ
  • ASP .NET Core
  • Entity Framework

Falls ihr aber sagt, lass die Finger von C#, fang mit Python an, weil auf dem TIOBE-Index ist das immer auf Rang 1 und immer mehr Unternehmen gehen dahin, oder mach Java, dann bin ich auf eure Begründungen gespannt.

Eigentlich wollte ich mich kurz fassen, aber ich denke, so hat man etwas mehr Einsicht, in welcher Lage ich mich befinde. Eventuell ist ja jemand einen ähnlichen Weg gegangen, ich bin für jede Antwort dankbar.

programmieren, Java, Anwendungsentwicklung, berufseinsteiger, C Sharp, Python, Softwareentwicklung
Bash Script um DNS umzustellen?

Habe einmal ein Bash Script und eine .Desktop Verknüpfungen auf meinem Arch KDE und wollte bei Doppelklick auf die Verknüpfungen zb Updaten oder DNS auf 8.8.8.8 oderr Automatisch Umstellen.

(Ich kann auch via KDE Connect das ganze Starten und ohne EIngabe abschließen mit sudo pacman -Syu --noconfirm && yay -Syu --noconfirm)

Aber bei toggle_dns funktioniert das leider nicht mit dem gelieferten Code von ChatGPT (siehe Unten) und ich kann garkein Bash, nur "normale" programmiersprachen wie JavaScript oder PHP. Mit Python würde ich es vielleicht hinkriegen aber das ist doch viel aufwendiger jetzt die IDE erneut zu installieren als mit Bash.

Wenn es das gibt wollte ich eine KDE eigene Benachrichtigung in welchen Modus es jetzt gewechselt ist zb : DNS auf Automatisch umgestellt oder DNS auf 8.8.8.8 Umgestellt statt ein Terminal was ich dann noch per hand schließen muss.
Kann mir jemand weiterhelfen den Code zu reparieren ?

toggle_dns.sh :

#!/bin/bash

# Datei und Schnittstelle für die DNS-Konfiguration
RESOLV_CONF="/etc/resolv.conf"
INTERFACE="Netzwerkschnittstelle_von_euch"

# Funktion zum Setzen des DNS-Servers auf 8.8.8.8
set_dns() {
  echo -e "nameserver 8.8.8.8\noptions edns0" | sudo tee $RESOLV_CONF > /dev/null
  sudo systemctl restart NetworkManager
  notify "DNS wurde auf 8.8.8.8 gesetzt."
}

# Funktion zum Zurücksetzen des DNS-Servers auf automatisch
reset_dns() {
  sudo rm -f $RESOLV_CONF
  sudo systemctl restart NetworkManager
  notify "DNS wurde auf automatisch gesetzt."
}

# Funktion zum Senden einer KDE-Benachrichtigung
notify() {
  message=$1
  kdialog --passivepopup "$message" 5
}

# Überprüfen, ob der DNS-Server bereits auf 8.8.8.8 gesetzt ist
if grep -q "8.8.8.8" $RESOLV_CONF; then
  echo "DNS ist derzeit auf 8.8.8.8 gesetzt. Umschalten auf automatisch."
  reset_dns
else
  echo "DNS ist derzeit automatisch konfiguriert. Umschalten auf 8.8.8.8."
  set_dns
fi

Bild zum Beitrag
PC, Server, Computer, Internet, Windows, WLAN, Technik, Linux, IT, programmieren, Java, JavaScript, Ubuntu, Cplusplus, Bash, C Sharp, DNS, Gnome, Informatik, KDE, Programmiersprache, Python, Script, Shell, Arch Linux, Rust, Debian, PowerShell, KDE Plasma, node
PaperMC startet nicht mehr?

Warum startet mein PaperMC server (seit 2 Stunden) nicht mehr? Wenn ich Probiere, den Server zu starten, kommt das: Starting org.bukkit.craftbukkit. Main

Exception in thread "ServerMain" java.lang. UnsupportedClassVersionError: org/bukkit/craftbukkit/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0

 at java.base/java.lang. ClassLoader.defineClass1(Native Method)

 at java.base/java.lang. ClassLoader.defineClass (ClassLoader.java:1012)

 at java.base/java.security. SecureClassLoader.defineClass (SecureClassLoader.java:150)

 at java.base/java.net. URLClassLoader.defineClass (URLClassLoader.java:524)

 at java.base/java.net. URLClassLoader$1.run (URLClassLoader.java:427)

 at java.base/java.net. URLClassLoader$1.run (URLClassLoader.java:421)

 at java.base/java.security. AccessController.doPrivileged (AccessController.java:712)

 at java.base/java.net. URLClassLoader.findClass (URLClassLoader.java:420)

 at java.base/java.lang. ClassLoader.loadClass (ClassLoader.java:587)

 at java.base/java.lang. ClassLoader.loadClass (ClassLoader.java:520)

 at java.base/java.lang. Class.forName0(Native Method)

 at java.base/java.lang. Class.forName (Class.java:467)

 at io.papermc.paperclip. Paperclip.lambda$main$0(Paperclip.java:38)

 at java.base/java.lang. Thread.run (Thread.java:842)

Drücken Sie eine beliebige Taste...

Java, Minecraft, Minecraft Server
Java Programmier Hilfe?

Hey, mir war neulich langweilig und da habe ich mir etwas für ein Spiel, welches ich öfters spiele ausgedacht um mir mein Leben ein Stück weit einfacher zu machen:
Es gibt in dem Spiel Charaktere mit Eigenschaften, (Damage, Cool down, Range).
Diese können mit "Traits" verändert werden: z.B. ein Trait mit einem "namen" verändert den Schaden um 10%.

Jetzt wollte ich mir ein Rechner bauen in dem ich sozusagen vorher sagen kann, wie genau sich meine Stats am ende verändern.

Ich hab nach ein Paar Versuchen einen kleinen Rechner gebaut, wobei ich leider immer eine neue Methode für ein jeweiliges Trait gebaut habe.

Jetzt hab ich mir Gedanken gemacht und bin auf die Idee gekommen, dass ich anstatt für jedes Trait eine eigene Methode zu bauen doch einfach die im Rechner benutzen Werte mit den jeweiligen Traits verändern kann, z.B. so:

System.out.println(dpsCalc(DPS,CD,PlacementCap,"trait"));

wobei bei "trait" das jeweilige Trait einfach eingesetzt wird und somit die Werte mit "trait" verändert werden (damage, cool down, range).
Ich hab zuerst an Objekte gedacht und mir überlegt, ob ich nicht einfach ein Objekt von dem Typ "Trait" benutzen kann bei dem vorher festgelegt wurde, was es für Eigenschaften (dmgAmplifier, cdAmplifier, rangeAmplifier) hat, die am Ende in der Rechnung eingesetzt werden.

Jetzt bin ich leider an meine Grenzen als Anfänger gekommen und wollte fragen, wie genau ich das Problem löse bzw. ob es überhaupt geht.
--> Ein "trait" als Übergabe Wert einer Funktion die aufgerufen werden kann um die Rechnung in Abhängigkeit des Traits zu verändern.

Java, Objekt
Spigot start.bat funktioniert nicht?

Hallo ich wollte mir einen Spigot Server der version 1.20.4 für Testzwecke aufsetzen doch die start.bat datei funktioniert nicht, ich habe schon sämtliche codes probiert doch nichts klappt.

Mein code lautet:

java -Xms1024M -Xmx1024M -jar spigot.jar nogui

pause

Wenn ich die batch Datei starte wird angezeigt:

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/bukkit/craftbukkit/bootstrap/Main has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0

       at java.lang.ClassLoader.defineClass1(Native Method)

       at java.lang.ClassLoader.defineClass(Unknown Source)

       at java.security.SecureClassLoader.defineClass(Unknown Source)

       at java.net.URLClassLoader.defineClass(Unknown Source)

       at java.net.URLClassLoader.access$100(Unknown Source)

       at java.net.URLClassLoader$1.run(Unknown Source)

       at java.net.URLClassLoader$1.run(Unknown Source)

       at java.security.AccessController.doPrivileged(Native Method)

       at java.net.URLClassLoader.findClass(Unknown Source)

       at java.lang.ClassLoader.loadClass(Unknown Source)

       at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

       at java.lang.ClassLoader.loadClass(Unknown Source)

       at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)´

Danach wollte ich die OpenJDK 17 Datei installieren doch ich finde nirgends den Ordner ´´C:\java\openjdk´´

Hier ein Link zur Seite: https://java.tutorials24x7.com/blog/how-to-install-openjdk-17-on-windows

Jetzt habe ich keine ahnung mehr was ich machen sollte ich hoffe mir kann jemand weiterhelfen.

Java, Minecraft, Minecraft Server, Spigot
Als Anfänger Chat-App programmieren aka (Facebook)?

Eigentlich wollte ich eine vereinfachte Uber-App versuchen nachzubauen, habe aber in der ersten Frage viele Antworten bekommen, dass es zu schwer für einen Anfänger ist und z.B. eine Chat-App etwas einfacher wäre.

Deswegen will ich in drei Monaten mein erstes großes Projekt anfangen zu bauen und zwar so eine Chat-App, wo man mit Freunden schreiben und Fotos teilen kann. Also so eine Art Facebook (aber sehr sehr vereinfacht!).

Ich habe gestern auch den Film "The Social Network" nochmal geguckt und jetzt will ich noch mehr die App bauen.

Jetzt die Frage: Hat jemand schon von euch Erfahrung mit einer Chat-App?

Was müsste ich alles wissen (Webentwicklung)?

Und wie viele Stunden brauche ich circa für die einzelnen Themen, um sich an dieses Projekt zu trauen?

Ich finde, dass man beim Learning-by-doing sehr gut lernt und deswegen will ich auch nicht nur lernen, sondern einfach versuchen, auch etwas zu bauen und wenn ich nicht weiterkomme, dann kurz nachschauen, versuchen zu verstehen und zu lernen, was ich machen muss und dann umsetzen, usw..

Auch wenn es ein mega Fail und die App am Ende nicht gut wird, habe ich trotzdem dann viel gelernt und werde es beim nächsten Mal besser machen.

Also zwei Fragen: Was müsste ich alles dafür können und wie viele Stunden Lernzeit ungefähr braucht man dafür, um damit anfangen zu können?

Computer, Software, App, Chat, Programm, HTML, Webseite, Programmierer, programmieren, CSS, Facebook, Java, JavaScript, Android, Informatik, Programmiersprache, Softwareentwicklung, Webentwicklung
revolutionäres Minecraft Server Business?

Hey Leute. Ich bin ein absoluter Minecraft Fan und bin auch seit einigen Jahren an dem Spiel hängen geblieben, auch wenn es Phasen gibt, in denen ich mich weniger mit dem Spiel beschäftige.

Mein größter Traum dahingehend ist es, schon seit Jahren, meinen eigenen Minecraft Server zu erstellen und groß zu veröffentlichen.

Es soll kein 0815 Server werden, den man schon kennt und ich habe auch schon sehr starke Ideen und Konzepte worum es sich dabei dreht, wie es funktionieren soll, grundlegend Marketing usw. Dabei sind denke ich viele revolutionäre Ideen, die wenn sie richtig vermarktet werden, auch meiner Meinung nach krass einschlagen können.

Dass ich mich sehr für Programmierung interessiere passt dabei dann noch perfekt.

Allerdings machen mir dabei einige Dinge immer wieder einen Strich durch die Rechnung.

Zum einen bin ich noch Schüler, was mich relativ viel Zeit kostet (Schule, lernen usw). Nebenbei führe ich auch bereits ein Business, was derzeit anläuft.

Dementsprechend bleibt mir keine Zeit mehr, mich selbst um den gesamten Aufbau des Servers zu kümmern, programmierung usw.
und selbst in der Zeit, wo ich mich selbst an der Programmierung versucht habe, bin ich irgendwann an meine Grenzen gestoßen, weil mir auch da die Zeit und motivation gefehlt hat, mich eingehend mit dem Thema weiterhin auseinanderzusetzen. Oft haben auch einfach Quellen im Internet gefehlt und ich bin einfach nicht weitergekommen und konnte mich nicht weiterentwickeln in dem Gebiet.

Trotzdem habe ich aber immer wieder Lust an dieser Vision irgendwie weiterzuarbeiten und halte mich nun schon mindestens 3 Jahre an diesem Traum fest.

Ich will ihn unbedingt verwirklichen, aber wie gesagt, fehlt es mir an allem.

Zeit, Wissen über Minecraft und Programmierung und auch an finanziellen Mitteln, um diese Arbeit abzugeben.

Mir würde wahrscheinlich noch gerade genug Zeit bleiben, um das Projekt zu koordinieren aber ohne finanzielle Mittel oder irgendwas, wird das wahrscheinlich nichts werden.

Selbst wenn ich es selbst versuchen würde, müsste ich mich wahrscheinlich erstmal wieder 1 Jahr lang täglich 8 Stunden mit dem Lernen von der Programmierung dafür beschäftigen, bevor ich überhaupt mit der Entwicklung des Projektes anfangen kann.

Ich weiß einfach nicht weiter. Hat irgendjemand Ahnung und kann mir irgendwie helfen?

App, Java, Minecraft, Minecraft Server

Meistgelesene Beiträge zum Thema Java