As usual one has to look at BeOS history for that. BeOS was not meant to ship with bundled developer tools, so the tools would come in a separate package and extract to a separate directory, making it easier to update or downgrade them.
This does not make much sense with the packaging system now, but the directory has found other uses, for example develop/lib being used by the linker and lib/ being used by the runtime_loader, which avoids us the need for a tool like Linux’s ldconfig.
OK thanks. So for a ‘data’ versus ‘develop’ folder, as they are templates for a runtime application, which are copied, and not anything compiled or linked directly, should it be in /system/data?
I looked at the makefile engine package, and all of it is in develop/. The engine itself, its documentation, as well as the template makefile to use when creating new projects. So it went for a “fully in develop” approach.
gcc is also stored there (develop/tools/bin) but has a symlink in /system/bin for convenience.
However, tools like “make” are stored in /system/bin, so the whole thing is a bit inconsistent.
If you really can’t decide, have Paladin check both and I guess everyone will be happy?
Newest is always on the develop branch on GitHub. Version that last passed a build on HaikuDepot is 2.0.3 which is quite old. Last ‘master’ release from GitHub was 2.5. Next version will be 2.6 once I resolve the build issue.
I downloaded this one and compiled it… but because it is not a Hpkg… I will get the English Version only… If I am not wrong? Because it won’t be translated! Is’nt it?! So I cannot test the German Version…
No I think the lack of translations is due to the build script giving ‘bad data’ for the non english translations, even though the files are valid. Still trying to figure that one out.
The crashing issue though was down to you just running Paladin with a German locale. You should now be able to go to ‘create new project’ without it crashing.
Yeah I’ve fixed this in develop, which I’m desperately trying to fix the build of so people can use that one with all these problems fixed.
Do pkgman install devel:libpcre then re-run the build for now. Repo home is now https://github.com/adamfowleruk/Paladin - develop branch is the latest and greatest.
I know Paladin is a C++ IDE, so this might not be the proper place, but I would like it to be also Python IDE. I’m closer to 60 than to 20, so learning C++ would be a bit hard (also due to lack of time).
Also, I would like to have a streamlined process to build the software. I’m thinking of GnomeBuilder + Glade, to rapidly build apps. Once the app is tested, GnomeBuilder just exports it as a Flatpak. While this approach does not match Haiku’s philosophy, it would be nice that the IDE could launch the “Package builder” app.
Beware, my knowledge on programming is very limited, and even more limited regarding programming on Haiku, so I might have said something wrong.
Short answer: Yes, I think I and a whole lot of other people agree.
Long answer… strap in…
Interestingly enough, all that you ask for has been logged as feature requests.
Already Paladin will allow you to create a project for Python. Add .py source files and ensure they have a #! line at the start, and use the main file name as your Project ‘Target’. Then ‘Run as logged’ in the latest Paladin to see its output.
A native ‘Python project’ with relevant settings would be a logical next step. For this I need to abstract out the language specific elements from the Paladin UI code (not a trivial task).
The ‘language server’ future feature may also help with editing functionality, but that’s partly Paladin and partly Koder/Pe that needs to be modified.
On the GUI side, there is a task to take a GUI Builder tool and integrate that with Paladin. There’s no easy solution here, although plenty of attempts have been made.
Having python language bindings enabling interaction with Haiku GUI elements would perhaps make it easiest for Python developers to get involved?
I believe a GUI builder with built in support for the layout API and all the Interface Kit elements and that can serialise its element graph and configuration in to a C+±runtime-independent flat file would be a good approach. (Indeed LayoutBuilder::Group may make this pretty easy to do…)
This way, whether you were in C++, Python, or using something like yab, you could construct an entire BWindow with a single call, and then just bind in the handling of actions (BMessages) in to that Window.
As ever, I’m happy to listen to other approaches and ideas.
Python bindings are already there, though lacking some stuff.
I’ve been trying to use them, with a small degree of success due to my limitations. But at least for simple app can be used. I still need to dig in deeper to Port a simple gtk python app I made. That would be an awesome leap forward for me.
It’s clear that having a graphical GUI designer would speed up a lot the development, though for now I use what is available.