Recent

Poll

What do you think about reorganizing of Lazarus IDE?

No. I like old Delphi IDE style and I don't want any changes.
36 (46.8%)
Yes. I'd like Lazarus to looks like a modern IDE ( let's say, Visual Studio)
35 (45.5%)
I'm not smart enough to decide betwee these two choices.
6 (7.8%)

Total Members Voted: 75

Author Topic: What about a more modern IDE?  (Read 48387 times)

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7497
Re: What about a more modern IDE?
« Reply #15 on: April 29, 2015, 06:46:15 pm »
Quote
The properties in their object inspector are better organized by categories.

Qt Designer has it too. It C++ world it may be done thanks to multiple inheritance (probably).

Personally I never liked this. I have a habit of memorizing location easiest, so changing layout constantly or multiple views messes with that. At the very least one should be able to disable such behaviour.

E.g. in Delphi 7 I didn't recognize any icon except the most standard ones, but still could blindly drop most used component on the form. Simply because I automatically memorized most components place in the component tabs.

For me the D2006 (and Lazarus' equvalent ctrl-alt-p) was a god's end, eliminating iconic hell in selecting components.

So for me a way to select property by entering its first few letters would be most important, and how it looks visually would be irrelevant, except for when I have no idea at all, and then an alphabetical list would be easiest.

Quote
I'm not sure how to implement it in Lazarus. Maybe hardcode it to OI (category Geometry: Width, Left, Anchors, etc.) or use IDE directives {%xxx}

Never hardcode that is asking for trouble, and keep in mind that the OI mostly reflects data that can be found using RTTI. 

Putting it in RTTI however, would make its overhead also felt runtime, while the property is only needed designtime (and require to carve up reasonably clean source to set the items via some custom property scheme).

Therefore, I lean towards solving it by a registration mechanism in the designtime package, which has several advantages:

- no overhead in generated applications, any overhead is in the IDE only.
- no change needed for existing tcomponents, so it can be started immediately, and not wait for
  such property to appear in RTTI.
- Since design packages depend on Lazarus, it is wholly determinined within lazarus, so a change in category won't only be visible for some classes (like e.g. the DB ones that are defined in FPC) with the next FPC iteration.
- You could autogenerate a base template for registration and preassign properties from which the name is known. (like name and the position ones) to mitigate the extra work for the design package engineer.

« Last Edit: April 29, 2015, 06:53:28 pm by marcov »

taazz

  • Hero Member
  • *****
  • Posts: 5363
Re: What about a more modern IDE?
« Reply #16 on: April 29, 2015, 06:53:01 pm »
You are kidding right? You think that generic statements like that are going to help your cause?
What is incorrect in my statements?

That is just a statement presented as a proposal with not concrete information about what it is that you want. For example I would love to have a better debugger in lazarus and I know what I miss (aka I would use today if it was present or worked correctly) and what I like to see (aka I could use it to make debuggin easier or faster), I do not know enough to make a proposal.

Quote
Let me ask you this instead, why today excel and all other spreadsheet have the same archaic design?

Concept is the same, Excel IDE itself is different and much more advanced than those from 90s. Mouse without musewheel is a mouse too but it is much more handy to use mouse with a wheel, right? Or you suggest to go back on a mouse with a rubber ball inside?  %)   


So you find that the concept can not be made any easier? Did it reach its maximum potential?

To answer your question I wouldn't go back to a rubber ball mouse but then again I do not use mouse when I program. I do not use the mouse wheel that much either so even if you do return to a rubber ball no mouse wheel world it wouldn't hurt my productivity.


Quote
So? redefine the key something more "safe" for you, or you want someone else to redefine that too?

It is not a question of redefining but of concept itself. It is 100x more practical to see form inside of GUI's tab (as in any normal IDE) than to search for F12 every time.


There you go again making statements with out any real value or data to back it up. Please describe your concept. What I see in an IDE and what you see are 2 different things what is that makes it easier to use for you? what do you want to see and why.


Quote
the problem is that there is nothing abnormal for the existing design. As for modern what would you consider modern?. Generic statement like that are not helping.

I dodn't say that it is abnormal. Visually I even can say that I like it but iti is not practical at all!


yeah I'm going to hold any comments until you have described what normal/abnormal, practical/impractical is for you and even then I reserve the right to ignore the thread.



Quote
We are not against a more powerful IDE no. We are against creating one if we do not need one. You have the need, provide a prototype that works semi stable to understand what you mean by "more powerful" "Easier to use" and other generic ideas then we can have a base for information exchange and more productive dialog until then its a pipe dream and I'd rather not spend more time on yours I have my own to worry about.

As I already said Delphi Lite is a nice example of a modern, practical, powerful and useful IDE.

what is this delphi lite? where can I download it to take a look. at least to have an understanding of what you want to do.


P.S. Nobody asked you to spend your time on this topic, right? It is just a suggestion with the best possible intentions. Nothing else.

Yeah you did, don't worry I said what I had to say I'll leave this thread to unfold and I'll even use any product that comes out of it to see what the fuss is about if anything comes out of it more than hot air that is.
I steel would like to evaluate that delphi lite though if you do not mind sharing a link.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

Signal

  • New Member
  • *
  • Posts: 41
Re: What about a more modern IDE?
« Reply #17 on: April 29, 2015, 07:10:07 pm »
Gosh, you must be in politics or the business of politics. Your so called poll wording is deliberately biased in order to achieve the results you want. Here, we call that push polling and lump it in with the rest of the dirty tricks.



skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2280
    • havefunsoft.com
Re: What about a more modern IDE?
« Reply #18 on: April 29, 2015, 07:11:29 pm »
I've just added IntelliJ IDEA plugin to the wiki.
If anyone knows any other IDE (eclipse plugin?) please added it there too.

As for "better" Lazarus. It does support IDE plugins too. Why not to create one? LCL should meet any developer's desires, right?
I actually created one myself, to make Lazarus a bit more like Delphi 7. It was back in the days when docking didn't really work well on any widget-set, and I'm still using it.

Thus reorganizing Lazarus IDE can be achieved, without an agreement/involvement of the core team! As well as it would be optional for any Lazarus user.
Patron Cocoa Widgetset development https://www.patreon.com/skalogryz

jwdietrich

  • Hero Member
  • *****
  • Posts: 1036
    • formatio reticularis
Re: What about a more modern IDE?
« Reply #19 on: April 29, 2015, 07:14:08 pm »
MDI is an obsolete GUI concept. It was created by Microsoft only to circumwent being sued by Apple due to violation of intellectual property. I am happy that the Lazarus team refrained from implementing this MDI nonsense.
You mean that the less useful tabbed design is better?
I don't know what you want to say with "tabbed design". But, at least in my opinion, anything is better than MDI.
function GetRandomNumber: integer; // xkcd.com
begin
  GetRandomNumber := 4; // chosen by fair dice roll. Guaranteed to be random.
end;

http://www.formatio-reticularis.de

Lazarus 2.0.6 | FPC 3.0.4 | PPC, Intel, ARM | macOS, Windows, Linux

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7497
Re: What about a more modern IDE?
« Reply #20 on: April 29, 2015, 07:14:41 pm »
what is this delphi lite? where can I download it to take a look. at least to have an understanding of what you want to do.

Please don't ask for download locations of illegal software. (afaik Delphi lite is a hacked Delphi 7 with some extensions). Links WILL be removed, and maybe the poster's account too.

jwdietrich

  • Hero Member
  • *****
  • Posts: 1036
    • formatio reticularis
Re: What about a more modern IDE?
« Reply #21 on: April 29, 2015, 07:17:31 pm »
Gosh, you must be in politics or the business of politics. Your so called poll wording is deliberately biased in order to achieve the results you want. Here, we call that push polling and lump it in with the rest of the dirty tricks.

+1 for you, @Signal!
function GetRandomNumber: integer; // xkcd.com
begin
  GetRandomNumber := 4; // chosen by fair dice roll. Guaranteed to be random.
end;

http://www.formatio-reticularis.de

Lazarus 2.0.6 | FPC 3.0.4 | PPC, Intel, ARM | macOS, Windows, Linux

marcov

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 7497
Re: What about a more modern IDE?
« Reply #22 on: April 29, 2015, 07:18:40 pm »
I don't know what you want to say with "tabbed design". But, at least in my opinion, anything is better than MDI.

(I used to think so too, and then I bought a monitor that can be turned to portrait mode. Seems a lot of half *ssed attempts add hidden assumptions in their tabbed design. The big IDEs are ok, but many editors and other tools plainly suck so much that manually arranging windows is preferable. I expect hacked, shallow attempts like Delphi Lite to fall into that category)

lainz

  • Hero Member
  • *****
  • Posts: 3273
    • Lainz
Re: What about a more modern IDE?
« Reply #23 on: April 29, 2015, 07:39:30 pm »
I've just added IntelliJ IDEA plugin to the wiki.
If anyone knows any other IDE (eclipse plugin?) please added it there too.

As for "better" Lazarus. It does support IDE plugins too. Why not to create one? LCL should meet any developer's desires, right?
I actually created one myself, to make Lazarus a bit more like Delphi 7. It was back in the days when docking didn't really work well on any widget-set, and I'm still using it.

Thus reorganizing Lazarus IDE can be achieved, without an agreement/involvement of the core team! As well as it would be optional for any Lazarus user.

Nice. I don't have idea how to do that but your plugin looks the way to do it.

taazz

  • Hero Member
  • *****
  • Posts: 5363
Re: What about a more modern IDE?
« Reply #24 on: April 29, 2015, 07:41:39 pm »
MDI is an obsolete GUI concept. It was created by Microsoft only to circumwent being sued by Apple due to violation of intellectual property. I am happy that the Lazarus team refrained from implementing this MDI nonsense.
You mean that the less useful tabbed design is better?
I don't know what you want to say with "tabbed design". But, at least in my opinion, anything is better than MDI.
I can understand that you do not like it, I on the other hand like it and prefere it from the tabbed design you are all using. It has its merits for example I can have multiple MDI childrent aranged in various layouts and have data drag and dropped between them everything is enclosed inside a main window effectively grouping the applications many open forms, I do not polute my desktop with multiple windows for a single application (like the modern word / excel for example I hate those things that take up space in my alt+tab window). from a tabbed design the the tab pages  on top/bottom consumes space from my finite screen space.... well I guess you get my point right? To not like something is ok to wish it to be permanently erased... well I'll let you characterize it.
Good judgement is the result of experience … Experience is the result of bad judgement.

OS : Windows 7 64 bit
Laz: Lazarus 1.4.4 FPC 2.6.4 i386-win32-win32/win64

airpas

  • Full Member
  • ***
  • Posts: 179
Re: What about a more modern IDE?
« Reply #25 on: April 29, 2015, 07:42:59 pm »
does QDockWidget work with Qt-LCL ?

Fred vS

  • Hero Member
  • *****
  • Posts: 1675
    • miXimum is the DJ's best friend
Re: What about a more modern IDE?
« Reply #26 on: April 29, 2015, 07:49:48 pm »
Quote
If anyone knows any other IDE (eclipse plugin?) please added it there too.

Added MSEide and ideU.
« Last Edit: April 29, 2015, 08:06:51 pm by Fred vS »
I use Lazarus 1.8.0 32/64 and FPC 3.0.3 32/64 on Linux Mint Mate 17 32/64, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64 and Mac OS X Snow Leopard 32.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt, Carbon.

https://github.com/fredvs

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2280
    • havefunsoft.com
Re: What about a more modern IDE?
« Reply #27 on: April 29, 2015, 07:56:35 pm »
Added MSEide and ideU.
Thanks for ideU, but MSEIde is the third from the top (right below Lazarus). so now it's in the list twice ;)
Patron Cocoa Widgetset development https://www.patreon.com/skalogryz

Fred vS

  • Hero Member
  • *****
  • Posts: 1675
    • miXimum is the DJ's best friend
Re: What about a more modern IDE?
« Reply #28 on: April 29, 2015, 07:58:45 pm »
Quote
Tanks for ideU, but MSEIde is the third from the top (right below Lazarus). so now it's in the list twice ;)

Ooops, indeed => deleted (replaced by LiteZarus) ::)
« Last Edit: April 29, 2015, 08:06:18 pm by Fred vS »
I use Lazarus 1.8.0 32/64 and FPC 3.0.3 32/64 on Linux Mint Mate 17 32/64, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64 and Mac OS X Snow Leopard 32.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt, Carbon.

https://github.com/fredvs

rvk

  • Hero Member
  • *****
  • Posts: 3842
Re: What about a more modern IDE?
« Reply #29 on: April 29, 2015, 08:08:02 pm »
Gosh, did you have a look at CodeTyphon. It has the IDE which you probably like. It has a docked interface (much like the anchordockingdsgn package) but has additional changes so that the form-designer is also docked. I like that interface very much. It's very much modern Delphi-like. I think FreeSparta had/has it too and have hopes that the changes from the opensourcing of FreeSparta makes it into Lazarus (regarding the docking and form-designer-docking). The standard anchordockingdsgn does have some bugs and drawbacks and a stable docking solution would be welcome. However, I understand for the form-designer to be dockable there needs to some deep internal changes in the source of Lazarus-IDE itself too, so it will be a big patch.

If I may to ask, why Lazarus programmers stubbornly insist on this archaically designed interface instead of creating something more useful and more productive?
I think you're completely wrong in asking it like this. It's like asking why we still haven't got flying cars. Some like the old interface. Others (like you) would prefer a docked one (the word modern is debatable). But since there goes a lot of work in creating a stable IDE, and I mean a LOT of work, you can't expect someone to put all his time in it. I could ask you to check out the code from CodeTyphon and FreeSparta and create a patch for a new docking-package (with form-designer docking). I can guarantee that it will take more than "a few days". I think you can more easily count weeks if not months of "full-time working" on this to get a somewhat stable version of the IDE you like.

But the start is there. With the anchordockingdsgn and the intention to implement some changes from FreeSparta into Lazarus (B.T.W. don't know how that is going). So you can hang back and see at what time in the future these changes become reality or you can get involved and maybe speed them along.

(Saying others are stubborn and need to get on these changes... well... isn't really polite or productive)