Welche Programmiersprache/Programm?
Hallo,
ich programmiere bereits seit einigen Jahren semi-aktiv (z.b. Powershell, Lazarus, Lua) und möchte jetzt aber gerne “echte” Anwendungen machen.
Ich habe mich ein wenig informiert und ich denke VS Code und Visual Studio sind die bekanntesten? Ich kenne den Unterschied leider nicht. Ich möchte hauptächlich Funktionsprogramme machen (wie z.b. einen simplen Virus + Antivirus als Demozweck für eine Projektarbeit). Ich suche nach einer Programmiersprache die dafür geeignet ist (Python?) und einem Programm/Editor. Es sollte leicht möglich sein GUI-Elemente zu adden und damit zu arbeiten (nicht nur per code ein gui erstellen sondern auch visuell)
Was würde dafür am besten passen?
(Ich kann relativ schnell neue Programmiersprachen lernen)
If you understand applications with a graphical interface, you could also stay with Lazarus/Free Pascal or change to Delphi. Both development environments are explicitly oriented towards this.
Some other programming languages with good support for GUI applications are:
In parentheses, I have put together a suitable technology that can be used for the development of the graphical surface, as well as a proposal which application would offer a good development environment. Applications such as Visual Studio, QtCreator, IntelliJ or Xcode also include Visual Designer Tools.
VS Code (or Visual Studio Code) is a well-known code editor, which can be expanded quite flexibly with various plugins and thus adapted.
Visual Studio is an IDE that is primarily designed for development with .NET. It therefore includes development tools such as buildtools (compilers, etc.), debuggers, project templates or visual designers for this development field.
For simple test viruses, script languages (due to their shortness and simplicity) would be most suitable if they have system access (so they can read/write data). There is a wide range of choices: AppleScript, Bash, Perl, Python, Ruby… but actually it would be enough to resort to your existing knowledge in PowerShell or Lua, as they also belong to this category. There is no need for another/new language. For PowerShell you can use the PowerShell ISE as a development tool, for Lua Visual Studio Code (with the lua-language server plugin) or the ZeroBrane Studio is suitable.
A program that recognizes these viruses could be combined with the same language. In many cases (Lua, Perl, Python, Ruby) tk-Binding could be used for a simple graphical surface. PowerShell has access to .NET components, including WPF.
Thank you very much. So currently I am fluctuating between C# and Python. Do you know very good pages/video series where you can learn Python/C# in conjunction with GUI (in visual studio)? Although I see tutorials about programming in itself, nothing about the GUI.
So first of all, I would advise to start directly with GUI programming. Especially with C#/WPF, it would be important to be confidently familiar with basic topics (including OOP, the understanding of events, etc.), as it will be built up afterwards. It’s not learned within a few days. But if you are more interested in Rapid Development/Drag-and-Drop development (as in Lazarus), take Windows Forms instead of WPF.
I have already listed a few basic sources for C#. I wrote a lot about WPF.
Regarding Python, you will find a section in official documentationGetting Started, where tips and learning material are linked. Furthermore, these websites should help:
The GUI toolkits I would recommend for Python would be either the tk-Binding tkinter, which is also a standard library module, kivy or PyQt.
As the simplest option of these tools, I would estimate tkinter. The module is designed for the development of small, simple surfaces – thus well adapted to the basic orientation of Python. Information material can be found in official documentation and on Real Python, Tutorialspoint and Python Course.
The kivy library was designed primarily for surfaces with multi-touch surfaces and is therefore also suitable for the description of GUIs for mobile devices. Material can be found on the official website of kivy.
The most extensive tool in this round is PyQt (a Qt-Binding), as it also includes other functionalities (e.g. Classes for network communication). Beside the official website in Python-Wiki a few tutorials suggested. On RealPython and TutorialsPoint you can check again. As a reference, m.E. is often better, to follow directly in the Qt documentation (taking into account that PyQt must always follow the newer features of Qt).
I didn’t write anywhere that the designer tool should not be used. For Windows Forms, I think it would be best practiceto keep as much UI code as possible outside their own code ranges.
At WPF, you should make sure that the designer does not necessarily create optimal XAML code. Components are provided by the designer via Margin moved/positioned, even if it is not absolutely necessary.
All right, thanks. Why wouldn’t you use the Visual Studio GUI editor? Is that worse?
My personal favorite for graphic applications is Flutter with the Dart programming language.
The UI is defined by code. There is no graphic editor. By using the Hot Reload function, however, they can also quickly display the changes in running application. Flutter is also multi-platformable (mobile, web, desktop).
From Flutter are officially Visual Studio Code and Android Studio or IntelliJ supported as a code editor or IDE. There are appropriate extensions/plugins as support.
You should probably be able to put your idea in vain and dart without big problems.
If a graphic GUI editor is important to you, WPF (UI Framework) would come up with C# (Programming language). Since the GUI Editor is important to you, you should take Visual Studio (without “Code”). More details have already been mentioned by Suiram1.
Visual Studio is a programming language?
I never heard
Python is certainly a good language to start.
There you would also be forced to clean syntax
I don’t think you know what you’re saying 😱
By the way, I like to take Notepad++ to code.
Has beautiful syntax highlighting
No, of course not. I didn’t talk about languages.
But I know what I’m saying ^ Have already looked at me a lot and so hard it doesn’t look like learning a bit. Shouldn’t be a complete antivirus, just a program that checks files to certain hash codes.
I had very good experiences with C#. C# is unique as Java and you can make both desktop applications for Windows, MacOS and Linux as well as mobile applications for Android and iOS or server programs. You can also make very detailed GUI with XAML of an HTML language (in Visual Studio you have a live preview) while using C# for interactions. Visual Studio is best suited and the difference between VS code and visual studio is the VS code is only the pure editor and extensions for compiling etc. need to be installed while Visual Studio has everything from the start. Letzden endes you have to decide which language you want to use, but with Visual Studio you can’t do anything wrong because you can program it not only with C#, but also with C++, Python, JavaScript and as there are also extensions there are many more languages.
All right, thanks, the problem is just I found tutorials about VS code 😀
I don’t know about viruses, etc., but Python seems pretty good.
VS Code and Visual Studio Code are both the same and good and free editors with some extensions that can make much easier.
So I’ve read that one of them is used much more often. And what is not often used has a built-in GUI editor. But I could only find tutorials about the often used so I am very uncertain.
Is the same editor.
Visual Studio, on the other hand, is a different program than Visual Studio Code. It is an IDE designed for .NET development. In addition, a few other technologies (e.g. TypeScript) are initially supported. For more (e.g. PHP or Python), you can install extensions/plugins.