Welche Programmiersprache/Programm?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
(...) und möchte jetzt aber gerne "echte" Anwendungen machen.

Sofern du darunter Anwendungen mit grafischer Oberfläche verstehst, könntest du an sich auch bei Lazarus/Free Pascal bleiben oder ebenso zu Delphi wechseln. Beide Entwicklungsumgebungen sind immerhin explizit darauf ausgerichtet.

Ein paar andere Programmiersprachen mit gutem Support für GUI-Anwendungen sind:

  • C# (WPF; Visual Studio)
  • C++ (Qt; QtCreator)
  • Dart (Flutter; Android Studio / Visual Studio Code)
  • Java (JavaFX; IntelliJ IDEA)
  • JavaScript (Electron, HTML/CSS; Visual Studio Code)
  • Swift (Swift UI; Xcode; generell nur für Apple OS)

In Klammern habe ich jeweils eine passende Technologie angeheftet, die für die Entwicklung der grafischen Oberfläche zum Einsatz kommen kann sowie einen Vorschlag, welche Anwendung ein gutes Entwicklungsumfeld bieten würde. Anwendungen wie Visual Studio, QtCreator, IntelliJ oder Xcode beinhalten auch Visual Designer Tools.

(...) ich denke VS Code und Visual Studio sind die bekanntesten (...)

VS Code (bzw. Visual Studio Code) ist ein bekannter Code-Editor, der ziemlich flexibel mit verschiedenen Plugins erweitert und somit angepasst werden kann.

Visual Studio ist eine IDE, die vorrangig auf die Entwicklung mit .NET ausgelegt ist. Daher beinhaltet sie von sich aus bereits Entwicklungswerkzeuge wie Buildtools (Compiler, etc.), Debugger, Projekttemplates oder Visual Designer für dieses Entwicklungsfeld.

Ich möchte (...) z.b. einen simplen Virus + Antivirus als Demozweck für eine Projektarbeit (...)

Für simple Testviren wären Skriptsprachen (aufgrund ihrer Kürze und Einfachheit) am geeignetsten, sofern sie Systemzugriff haben (also Daten lesen/schreiben können). Durchaus gibt es da eine große Auswahl: AppleScript, Bash, Perl, Python, Ruby, ... doch eigentlich würde es vollkommen genügen, auf deine bestehenden Kenntnisse in PowerShell oder Lua zurückzugreifen, da sie ebenso in diese Kategorie gehören. Da braucht es nicht einer anderen/neuen Sprache. Für PowerShell kannst du die PowerShell ISE als Entwicklungswerkzeug nutzen, für Lua ist Visual Studio Code (mit dem lua-language-server-Plugin) oder das ZeroBrane Studio passend.

Ein Programm, welches diese Viren erkennt, könnte man an sich mit der gleichen Sprache zusammenbauen. Für eine einfache grafische Oberfläche könnte man in vielen Fällen (Lua, Perl, Python, Ruby) ein tk-Binding nutzen. PowerShell wiederum hat Zugriff auf .NET-Bestandteile, darunter auch WPF.

optischTV 
Fragesteller
 06.05.2023, 18:19

Alles klar vielen Dank. Also aktuell bin ich am schwanken zwischen C# und Python. Kennst du vllt. gute Seiten/Video-Reihen wo man Python/C# in Verbindung mit GUI (in visual studio) lernen kann? Ich sehe zwar tutorials über das programmieren an sich aber nichts über das GUI.

0
regex9  06.05.2023, 19:01
@optischTV

Also zuerst einmal würde ich davon abraten, mit GUI-Programmierung direkt anfangen zu wollen. Vor allem bei C#/WPF wäre es wichtig, zuvor mit Grundlagenthemen (darunter fällt OOP, das Verständnis von Events, u.ä.) sicher vertraut zu sein, da darauf folgend aufgebaut wird. Innerhalb von ein paar Tagen ist das nicht gelernt. Wenn du aber eher an Rapid Development/Drag-and-Drop-Entwicklung (wie in Lazarus) interessiert bist, nimm Windows Forms statt WPF.

Ein paar Grundlagenquellen für C# habe ich hier schon einmal aufgelistet. Bezüglich WPF kannst habe ich in diesem Beitrag einiges geschrieben.

Hinsichtlich Python findest du in der offiziellen Dokumentation eine Sektion Getting Started, in der Tipps sowie Lernmaterial verlinkt sind. Des Weiteren sollten diese Webseiten weiterhelfen:

Die GUI-Toolkits, die ich für Python empfehlen würde, wären entweder das tk-Binding tkinter, welches auch ein Modul der Standardbibliothek ist, kivy oder PyQt.

Als die einfachste Option von den genannten Tools würde ich tkinter einschätzen. Das Modul ist auf die Entwicklung kleiner, einfacher Oberflächen ausgelegt - also gut angepasst an die grundsätzliche Ausrichtung von Python. Infomaterial findest du in der offiziellen Dokumentation sowie auf Real Python, Tutorialspoint und im Python-Kurs.

Die kivy-Bibliothek wurde vor allem für Oberflächen mit Multi-touch-Oberflächen konzipiert und eignet sich daher auch gut (aber nicht ausschließlich) für die Beschreibung von GUIs für mobile Endgeräte. Material findest du auf der offiziellen Webseite von kivy.

Das umfangreichste Tool in dieser Runde ist PyQt (ein Qt-Binding), denn es beinhaltet neben GUI-Komponenten ebenso noch andere Funktionalitäten (z.B. Klassen für die Netzwerkkommunikation). Neben der offiziellen Webseite werden im Python-Wiki ein paar Tutorials vorgeschlagen. Auf RealPython und TutorialsPoint kannst du erneut nachschauen. Als Referenz ist es m.E. oftmals besser, direkt in der Qt-Dokumentation nachzuschlagen (wobei du berücksichtigen solltest, dass PyQt die neueren Features von Qt immer erst nachziehen muss).

0
optischTV 
Fragesteller
 06.05.2023, 19:50
@regex9

Alles klar, danke. Warum würde man nicht den GUI-Editor von Visual Studio nutzen? Ist der schlechter?

0
regex9  06.05.2023, 20:10
@optischTV

Ich habe nirgendwo geschrieben, dass das Designertool nicht genutzt werden sollte. Für Windows Forms wäre es meiner Meinung nach best practice, um möglichst viel UI-Code außerhalb der eigenen Code-Bereiche zu halten.

Bei WPF wiederum solltest du darauf achten, dass der Designer nicht unbedingt optimalen XAML-Code erzeugt. Komponenten werden vom Designer beispielsweise via Margin verschoben/positioniert, auch wenn es nicht unbedingt notwendig wäre.

0

Mein persönlicher Favorit für grafische Anwendungen ist Flutter mit der Programmiersprache Dart.

Die UI wird über Code definiert. Ein grafischen Editor gibt es nicht. Über die Hot Reload Funktion lassen sie die Änderungen allerdings auch schnell in laufe Anwendung anzeigen. Flutter ist auch multiplattformfähig (Mobile, Web, Desktop).

Von Flutter werden offiziell Visual Studio Code und Android Studio bzw. IntelliJ als Code Editor bzw. IDE unterstützt. Dort gibt es entsprechende Extensions/Plugins als Unterstützung.

Deine Idee solltest du mit Flutter und Dart auch vermutlich ohne große Probleme unsetzen können.

Falls dir ein grafischer GUI Editor wichtig ist, würde mir WPF (UI Framework) mit C# (Programmiersprache) einfallen. Da dir der GUI Editor wichtig ist, solltest du Visual Studio (ohne "Code") nehmen. Genauere Details hat Suiram1 schon bereits erwähnt.

Visual Studio ist Eine Programmiersprache?

Hab ich ja nich nie gehört

Python ist sicherlich ein Gute Sprache zum anfangen.

Dort würdest du auch zum sauberen Syntax gezwungen

simplen Virus + Antivirus als Demozweck für eine Projektarbeit

Ich glaube nicht dass du weißt, was du da gerade sagst 😱

Ich nehme übrigens Notepad++ gerne zum Coden.

Hat schönen Syntax Highlighting

Woher ich das weiß:eigene Erfahrung
optischTV 
Fragesteller
 05.05.2023, 19:50

Nein ist natürlich keine. Habe ja auch nicht ausschließlich über Sprachen geredet.

Aber doch ich weiß was ich da sage^^ Hab mir bereits einiges angeschaut und so schwer sieht es nicht aus, mit ein bisschen lernen. Soll ja kein kompletter Antivirus sein, nur ein Programm was Dateien auf bestimmte Hash-Codes überprüft.

0

Ich hab sehr gute Erfahrungen mit C# gemacht. C# ist einwenig wie Java und man kann damit sowohl Desktop Anwendungen für Windows, MacOS und Linux als auch Mobil Anwendungen für Android und iOS oder auch Server Programme machen. Man kann mit XAML einer HTML ähnlichen Sprache auch sehr Detaillierte GUI machen (in Visual Studio hat man dabei eine Live Vorschau) und dabei C# für Interaktionen verwenden. Dabei eignet sich Visual Studio am besten und der unterschied zwischen VS Code und Visual Studio ist das VS Code erstmal nur der reine Editor ist und noch Erweiterungen fürs Kompilieren usw. installiert werden müssen während bei Visual Studio von Anfang an alles dabei ist. Letzden endes musst du dich aber entscheiden welche Sprache du verwenden möchtest, aber mit Visual Studio kannst du nichts falsch machen da man darin nicht nur mit C# programmieren kann sondern auch mit C++, Python, JavaScript und da es dafür auch noch Erweiterungen gibt auch noch viele weitere Sprachen.

Woher ich das weiß:Hobby
optischTV 
Fragesteller
 05.05.2023, 20:06

Alles klar danke, das Problem ist halt ich habe fast nur Tutorials über VS Code gefunden :D

0

Ich kenn mich beim Thema Viren etc. nicht so gut aus, aber Python scheint da schon recht gut zu sein.

VS Code und Visual Studio Code sind beide das gleiche und gute und kostenlose Editoren mit einigen Erweiterungen, die vieles einfacher machen können.

Woher ich das weiß:eigene Erfahrung
optischTV 
Fragesteller
 05.05.2023, 19:56

Also ich habe gelesen das eines von beiden deutlich öfter genutzt wird. Und das was nicht oft genutzt wird hat halt einen eingebauten GUI-Editor. Ich konnte aber nur Tutorials über das oft benutzte finden deshalb bin ich sehr unsicher.

0
regex9  06.05.2023, 01:20
@optischTV
VS Code und Visual Studio Code (...)

Ist der ein- und derselbe Editor.

Visual Studio hingegen ist ein anderes Programm als Visual Studio Code. Es ist eine auf vorrangig .NET-Entwicklung ausgelegte IDE. Zusätzlich werden ein paar weitere Technologien (z.B. TypeScript) initial unterstützt. Für weitere (z.B. PHP oder Python) kann man sich Erweiterungen/Plugins installieren.

0