At least on windows, in recent versions of the IDE the designer is faster. working with contros, things like copy and paste or just moving them could take half a minute. Now just several secods.
The sad part is that the IDE is still very bad to have a proficient work with the keyboard. You cant even TAB through the inspector properties.
Hi, being 30 years on the road from line editors on terminals up to power ides…
There are cons and pros for everything…
And there is no fits for all solution.
Some have everything in one place , other separate code from GUI design and you need another tool to have the link between both.
Im always schocked ; what files one tool can create for a project when u look really on the directories and xml files. And then u start again to build a dependency tool around it, to safeguard build and deployment. Or save everything in a docker container and freeze this container.
In huge projects we have code generaters around UMLtools to survive audits,. And we use build pipelines to check code and more…
So for sometimes its good to have everything in one place, for some its better to checkout and use a standard editor.
Fast is not always fast, if you skip setting up guidelines, workflows and best practices …
As the OP of this thread I was amused to see if pop up again. As I’m reading it I actually have Visual studio and Xojo open side by side on my screen.
After almost 15 years of use I still love Xojo’s IDE for creating Ui’s. It’s improved a lot since I first started working with it and while it has it’s quirks it delivers on the old marketing of being a RAD “Rapid Application Development” solution.
My big grip is still that once mastery of the language/framework is achieved I feel the IDE gets in the way and slows me down. In most languages the syntax for creating classes (kind of the whole point of an OO language) is front and center. In Xojo I have to use the UI to create classes and properties, this becomes tedious when refactoring. This is a great feature at first but not after 5 years.
I can type out a class define a few properties, constructor and methods in 30 seconds. If I want to change a name I’m just working in one window. I can write C#, C++, Python, etc in notepad. I can choose the IDE and platform I want.
With Xojo there are two parts to the language the Xojo “language” and the supporting metadata. This is the code that we actually need to produce a property.
//Here’s a property. This is what makes the IDE a necessity. #tag Property, Flags = &h0
Attributes( PK ) LIBCO_ID As string #tag EndProperty
What I would love to see is the Xojo workflow allow me to write code like this:
LIBCO_ID As string
And then have it spit out the formatted code. Or use a code behind file. But don’t make me use and IDE to rename add and set scope for class properties!
I’d like to be able to write code fast in whatever IDE I wanted and use the Xojo IDE for managing and building my projects.
That was exactly my point in another thread I started, and everyone jumped on me and acted like it was a crazy idea.
As you say, we need the best of both with Xojo:
Great IDE for quickly creating UI with a GUI
Use the IDE for creating one or two clasees
But also support creating classes etc from code.
To be clear, I’m thinking it would be great to open an IDE script window, and compose classes with full autocomplete of existing classes, or open a file with the code, and then just run the code in the window to create the classes in the IDE.
I’ve always needed sunglasses to use naked Windows (not that I do it very much), so I tone down all the epilepsy-inducing stuff that flashes up all the time as you move the mouse around. Looks like VSC is the same
Anyway - I agree it’s a matter of taste. Me, I have no interest in learning the internals of how a class is represented. And as soon as I discovered dxnotepad on my Ultrix box in 1990 I was off coding using that, leaving my colleagues to argue about what the house standard editor under unix should be - vi, emacs, jove, etc etc. I regard learning editor commands in the same light - a waste of time.
Actually this is kind of my whole point. With Xojo there’s an extra layer of abstracted code on top of the code I write. Even Visual basic allowed you to write the following.
Public Class Customer
Public Property AccountNumber As Integer
End Class
I could easily write an adapter to do this ( I did as a POC) but then I have to worry about the internal representation of this changing and not all of the tags are documented. This is something that Xojo could implement. So we could take something like the above code with a different file type and the compiler would add the needed metadata on at compile time. This isn’t practical for UI but would be great for managing modules.
I believe that editors are tools. Not all solutions are nails, and sometimes a hammer isn’t the best tool for the job. I think Xojo makes an amazing IDE given their resources, and it’s well suited for many, if not most, users. But being able to leverage the work of open source projects to make the language/framework better for a wider range of people is still something that I think merits consideration.
[quote=493115:@Norman Palardy]Xojo needs fewer files type and project types not more
A purely plain text representation would be nice and would be possible[/quote]
Not while xojo keeps thinking the short sighted idea that plain text representation means piracy instead of more clients.
That is completely ridiculous, if you wanted to send a proyect to someone with a licence to compile it for you, it can be done on any project type
Oh there’s a bunch of changes that probably would have to happen to move to JUST one plain text format
And a bunch of other issues that IF you’re going to do that you might as well solve as well (external items in text format, modules that contain classes as external items , etc)
This is a must. No popular language exists without it. But first the language must evolve a bit to support things like includes, local functions and local classes (functions inside functions, classes inside classes/functions) for example, things as we all write when doing it freely.
This will enable the full power of shared code, CI/CD, and versioning (Github/Gitlab).
[quote=493132:@Rick Araujo]This is a must. No popular language exists without it.
[/code]
and here we are 20 years later
it was binary files only for a long while - then binary & xml
plain text didnt happen until … 2007 ish (I think)
text files arent what make a language popular
[quote=493132:@Rick Araujo]But first the language must evolve a bit to support things like includes, local functions and local classes (functions inside functions, classes inside classes/functions) for example, things as we all write when doing it freely.
[/quote]
none of these are a necessary outcome of having a plain text file format
nice to have maybe
but none of these REQUIRE a plain text format - and having a plain text format doesnt mean any of these will suddenly & magically happen
They are completely independent of each other
Xojo could add any / all of those without moving to a plain text format
Xojo does not allow us to do what we expect to do freely in other languages. Not having basic things will generate too much frustration. I always remember when I wrote my first Function x( y As String) As String … Return r End Function INSIDE a method object, pressed cmd-K and got frustrated thinking “how can I do that?”. Imagine after 1000 lines in a text editor and going to the CLI to say XojoCompile mySource.Xojo_Code
I really dont´think that is a common problem. I just saw that all the subs, functions, constants, etc were individually organized and just work a item at a time instead of writing all over the place.
I actually like this way BUT some times are many many times where you should have the liberty to edit things manually. Xhojo should alow both.
That is converting it into another languaje, wanting to “be like” onother thing caused the API2 fiasco. None of that are “really needed” to have a text format.
Not converting into another language, just fixing some idiosyncrasies of the language enabling a better, organized, free style coding. A pure, correct, text format Xojo will be per se a redesign of the language. You will see proper coding using keywords like Property, Private, etc instead of #Tag 23412376 whatever, nesting classes and functions, multi-folder organization and imports, etc things what you would call it an API3, so, I don’t see it in a near future, but I wish it.