Welche Programmiersprache für Softwareentwicklung für den PC?

8 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Man kann z.B. die Sprache C# nehmen. Diese ist leicht erlernbar.

Dazu installiert man sich einfach nur Visual Studio. Das besteht aus einem Editor, Debugger, Formdesigner für grafische Programme und einem Compiler der aus dem Programmcode eine EXE-Datei erzeugt: https://visualstudio.microsoft.com/de/vs/community/

Das empfehle ich auch noch: https://wixtoolset.org/releases/ Damit kann man sein in Visual Studio kompiliertes Programm in ein MSI Installationspaket verpacken. Sie benötigen einmal die WiX Toolset build tools und die WiX Toolset Visual Studio Extension. Das ganze funktioniert so: Beim Kompilieren mit Visual Studio wird auch eine Protokolldatei erstellt. Anhand dieser Datei wird dann das MSI Installationspaket gebaut. Das MSI-Format ist windows-zertifiziert.

Damit hat man das ganze professionell.

Man kann in die Sprache C# auch externe Programmbibliotheken einbinden. Es gibt z.B. Bibliotheken für Datenbankanbindungen, Multimediafunktionen, Zugriff auf die Schnittstellen, Netzwerkfunktionen und viele mehr.

Dazu kann ich dieses Buch empfehlen: https://www.rheinwerk-verlag.de/einstieg-in-c-sharp-mit-visual-studio/?gclid=Cj0KCQiA9OiPBhCOARIsAI0y71DlhlOU8R9pB8rYnDU0FnYL1A7THZa-mU8-I5e-iVcSfMD8lSYbwWQaAhbXEALw_wcB Das ist der Einstieg in die C# Programmierung mit Visual Studio. Vorkenntnisse sind nicht erforderlich. Man lernt dort auch anhand von Beispielcodes.

Sinnlos ist, sich z.B. mit einer Datenbank zu verbinden, wenn jeder im Code Passwort o.Ä. der Datenbank einsehen kann. 

wenn man ordentlich programmiert sind die passwörter auch nicht hardcoded....

FANTH0MAS  02.02.2022, 23:16

Wenn man ordentlich programmiert, sind die DB-Zugangsdaten überhaupt nicht im Client-Code vorhanden.

1
FANTH0MAS  02.02.2022, 23:24
@ZaoDaDong

Mit seinem Java-Programm meint er ja eine API. Ich finde den Namen immer etwas verwirrend. Finde den Begriff "Mittelsmann-Server" irgendwie passender.

0
ZaoDaDong  02.02.2022, 23:26
@FANTH0MAS

Sowas läuft dann ja nie bei den Clients. Also kann dann auch kein User das PW sehen.

0
FANTH0MAS  02.02.2022, 23:28
@ZaoDaDong

Trotzdem machen Umgebungsvariablen Sinn. Falls er den Code z.B. mal auf Github hochlädt.

0

Hi,

ein Freund benutzt Python als "Alternative" zu Java. Vielleicht hast du die ja noch nicht benutzt!

Lg

Woher ich das weiß:eigene Erfahrung

Python ist gut um dem Programmieren näher zu kommen. Es ist einfach zu lernen, jedoch nur für Simple Programme. Ich würde entweder mit Python oder mit Java Script anfangen.

Sinnlos ist, sich z.B. mit einer Datenbank zu verbinden, wenn jeder im Code Passwort o.Ä. der Datenbank einsehen kann

Das gilt für alle Sprachen, man kann immer den ConnectionString und/oder Passwörter auslesen. Man könnte es verschleiern, doch das macht es nur schwerer, nicht unmöglich.

Die Alternative: Keine Passwörter im Code.
Ein häufiger Ansatz ist z.B. eine Web-API, auf dem Server läuft die Datenbank und wer an die Daten will, kann nicht auf die DB zugreifen, sondern muss die Web-API nutzen.
So umgehst Du das Problem, ein Passwort im Code zu haben.
Klar, wer die Kontrolle über den Server hat, kann auch wieder leicht das Passwort rausfinden (oder es ist SSPI, dann nicht), aber in dem Fall hast Du sowieso verloren, dann hilft nur noch eins: Server aus :D

Aber ja, Java und auch C# kann man leicht dekompilieren.
Das ist aber eine notwendige Folge für das, was sie als Ziel haben und deshalb sind diese Sprachen auch so viel beliebter (nicht mit "verbreiteter" verwechseln) als C++.

Es gibt allerdings den Themenbereich Obfuskation, allerdings ist das sehr viel komplexer, als man am Anfang denkt und nur dann eine Option, wenn man es auch wirklich braucht und keinen anderen Weg hat.