There has always been either a user selected project or a "virtual" empty project open initially.
Take for example the 1.4 series. Despite the option turned off it always loads the last open project. There is no 'virtual' one.
So, the intial reaction is to close it as a) i do not want to mess up a perfectly good working project and b) i want to work with something else.
But then you are 'trapped' by the wizard. Closing the wizard, closes Lazarus. There is no way to get past that other than opening or creating a project using the wizard.
Neither of these options is what i wanted to do or what i want to accomplish.
It is not old fashioned but it follows a different concept.
In Lazarus you would need to gray out all menu options without a project. How useful is that?
With all respect but that's nonsense. What makes you think that all menu options need to be grayed out ?
In my opinion it makes no sense whatsoever to 'link' certain things to having a project open or not.
It was for instance impossible to install/add a package into the ide (and still is) without having a project 'active'.
Hell, when the wizard stares at you it is not even possible to ask for help.
I understand another concept was chosen, probably because properly managing a list of 'valid' menu items based on a particular situation (a project was loaded, an individual pas file is open, a resource is being edited, or whatever other functionality is implemented in Lazarus) is difficult to maintain for larger applications that harbours a lot of functionality.
For me as end-user it simpy does not make any sence whatsoever that i have to have a project open in order to be able to change editor settings or install a package into the IDE. There is no relation whatsoever with the open project (how 'virtual' it might be) in relation to wanting to take such actions as described, yet things are bound to and/or depending on a project being 'active'.
Because there is now a 'virtual' project open by default, i am now able to create a new project from an existing file (which solved my initial problem of not being able to create a valid Lazarus project for already existing .pas files).
When presenting the user with a wizard then i would expect such actions to be selectable from within the options of the wizard. Maintaining a wizard would take about the same amount of time to implement properly. The upside of using a wizard is that a developer can withold certain functionality from the user until such functionality is actually fully working and implemented. It offers some breathing room for the developer so, i am able to understand that choice.
In practice every new user (including me a long time ago) initially wants to edit files without a project and scratches his head for a while, then after few days it becomes a non-issue.
Well, i'm used to start an application and be presented by an interface that either allows you to open something from the file-menu, offers an option to create something new or guides you through such process (usually by presenting a wizard or otherwise)
For instance the editor i use simply presents an empty workspace. I can use the file menu to open a file or create a new file/project. I am able to invoke the help to f.i. read about how to configure the editor. I can actually configure things as well and save my changes to reflect my options.
I do not have to open a project and/or file first to be able to do a basic thing like configuring the language or configuring my prefered palette of colours.
All menu(items) are context sensitive in that they are grayed out or sometimes not even present depending on the context (even though the latter is sometimes considered bad styling habbit).
Configureable tool menu items are also context sensitive (if indicated) in that they react to what file is currently active. That means that activating a file written in c, 'displays' only those items configured to do something with c-code (such as compiling). Every type of file can have its own set of tools besides generic configured tools.
Exactly. It is not ready yet.
Ok, thank you for mentioning. No problem there.
However the requirement for an open project is not one of the clumsy spots.
Well, as you might have been able to conclude from my answer so far: i disagree
Having a default virtual project at least takes care of end-user not wanting to screw up his/her last auto loaded project.
Closing the project and presenting a wizard with a restricted set of options is still a PITA. The interface forces user to open up a project even though in certain circumstanes there is none needed whatsoever. Using this order of events also strongly hints that creating a new project allows the user to do whatever is needed for all circumstances. Creating a new project from an existing file while a new project was just created simply isn't intuitive in that regards.
So, when you write:
Projects are your friend, not your enemy.
.. i actually think to myself: That is because that friendship is being forced upon the user.
Please do not get me wrong here as i'm nitpicking about a particular behaviour, as Lazarus is in my opinion an amazing project that usually does its job perfectly fine or for certain things good enough. Every such large project is bound to have some bugs and/or undesired behaviour here and there.