Recent

Author Topic: Lazarus 1.2 Release  (Read 155866 times)

GADZombie

  • New Member
  • *
  • Posts: 46
  • 8bitrlz
    • Zombie Mastah
Re: Lazarus 1.2 Release
« Reply #90 on: March 14, 2014, 05:48:48 pm »
All that is on our list already. But none of it is trivial, and none of it is expected to happen soon.
...
So as much as we really want this. It is just a very long way to go.

I understand it and it's obvious :). I just wish to have it someday.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12010
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus 1.2 Release
« Reply #91 on: March 14, 2014, 06:00:16 pm »
Oh, one tip about debugging.

The default (as set by FPC) on many platforms is still "stabs".
Yet dwarf (dwarf2 + sets) yields often better results.

So in project options, under debugging, this should be changed.


otoien

  • Jr. Member
  • **
  • Posts: 89
Re: Lazarus 1.2 Release
« Reply #92 on: March 14, 2014, 06:13:32 pm »
Congratulations with yet another version! Regarding the docking issue, I do not think GADZombie is asking for a different layout with respect to the Component Toolbar, but is looking to contain everything within a frame so that the whole layout can be moved from one screen to another by just grabbing the main ide window. This is particularly important if one has an external screen connected to a laptop computer, but sometimes need to work on the laptop screen. Docking accomplishes that and as pointed out can be more flexible than having everything within the same frame.

As I understand of the 3 solutions, Anchordocking has lately been the recommended docking solution and it works pretty well except that layout is a bit messed up initially and needs to be rearranged. However it seems to only stick until the compiler is closed down. I made a comment on this to the already present bugreport #0018298. Very useful, as I learned that one has to actively save a layout with Tools-Save window layout as default.

That works very well if the IDE is on the primary display, however I just discovered that if the IDE is on an external monitor when saving layout, on next launch all that opens up is a blank window with a menu even if the external display is on and connected. I added a comment to the bug report. So for now, I will have to only save default layout to primary display and move to external monitor when needed.

If saving layout on external display had worked, there is also the question what would happen if the external display was not connected when launching Lazarus.
« Last Edit: March 14, 2014, 06:48:57 pm by otoien »
Unless otherwise noted I always use the latest stable version of Lasarus/FPC x86_64-win64-win32/win64

GADZombie

  • New Member
  • *
  • Posts: 46
  • 8bitrlz
    • Zombie Mastah
Re: Lazarus 1.2 Release
« Reply #93 on: March 14, 2014, 08:41:50 pm »
As for those project working with newer versions of Lazarus - try and report on the forum.... I know people tried KZDesktop recently...

Thanks. I have downloaded this, but it doesn't compile on Lazarus 1.2. There are some errors in code. I wrote to the author, maybe he will help :)

GADZombie

  • New Member
  • *
  • Posts: 46
  • 8bitrlz
    • Zombie Mastah
Re: Lazarus 1.2 Release
« Reply #94 on: March 14, 2014, 08:49:01 pm »
Oh, one tip about debugging.

The default (as set by FPC) on many platforms is still "stabs".
Yet dwarf (dwarf2 + sets) yields often better results.

Yes, I use dwarf + sets. There is option to use dwarf + sets or dwarf2. No dwarf2 + sets. How to set this and what will be better thanks to this option?

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 12010
  • Debugger - SynEdit - and more
    • wiki
Re: Lazarus 1.2 Release
« Reply #95 on: March 14, 2014, 08:59:40 pm »
"dwarf + sets" is actually dwarf2.

Afaik there is no dwarf1 implemented.

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: Lazarus 1.2 Release
« Reply #96 on: March 15, 2014, 08:02:13 am »
... You can always build Lazarus from Tools menu.

... Maybe you tested some old version of Lazarus by mistake.

... No, don't ask him to open yet another duplicate ticket.

Sorry, I was trying to show to new member GADZombie that searching and opening tickets on the bug tracker is much more effective than make observations on an announcement.


In general it annoys me that so many people have a passion for opening new bug reports but very few people have a passion for solving them.
We could make a new rule that min 10% of bug reports coming from a person must include a patch. ... Ok, not very realistic. :)

I may be wrong, but I believe that many people here do not know how to use CVS, SVN or GIT and have dificulties on installing components on IDE and even more dificulties on creating their own components or changing FPC from 2.6.2 to 2.6.4 or 2.7.x (beta to solve Windows problems).

I also believe that bug tracker is helpful for FPC and Lazarus core developers because many of those people complain about bugs and request new features. Some issues are acepted and some are not. Some are solved rapidly and some take years. All being part of the open source process.

So, blocking people for reporting problems or request wishes would be a shoot oneself in the foot.

And finally, in my humble opnion, it is good when people report bugs or make feature requests or start reflexions on features. It keep being good even if those pelople cannot (they do not have the ability) to provide patches.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4660
  • I like bugs.
Re: Lazarus 1.2 Release
« Reply #97 on: March 15, 2014, 11:41:31 am »
I may be wrong, but I believe that many people here do not know how to use CVS, SVN or GIT and have dificulties on installing components on IDE and even more dificulties on creating their own components or changing FPC from 2.6.2 to 2.6.4 or 2.7.x (beta to solve Windows problems).

CVS is history fortunately!
SVN on the other hand is very easy. Especially the GUIs like TortoiseSVN make it so easy that I always wonder why people don't want to use it. It is usefull also for people who don't make patches themselves, as became apparent in the snapshot discussion.

FPC development version is quite difficult to install and maintain. Yes. It requires cyclic building and installation and editing a config file. Sometimes a new devel version cannot be built with an earlier devel version and you must go back to a release version (now 2.6.4). Having many FPC versions simultaneously makes an extra challenge.

Shortly put: development version of Lazarus is easy, development version of FPC is difficult.
Many people seem to confuse these 2. They think they need development versions of both. No, for example I have used only FPC 2.6.2 for a long time now with Lazarus trunk.
When I start testing new Unicode stuff I may install FPC trunk using BigChimp's FPCup tool.

My comment about limiting bug reports was more like a joke.
Still, I know many people here are good programmers and they could fix bugs and implement features. It only requires diving into the big code base and learning parts of it. That's what all the current developers have done.

« Last Edit: March 15, 2014, 12:15:32 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

hinst

  • Sr. Member
  • ****
  • Posts: 303
Re: Lazarus 1.2 Release
« Reply #98 on: March 15, 2014, 05:28:28 pm »
One does not simply learn big code base, especially in case it is not documented.
It is vital to maintain consistent architecture
I am working on a certain project for two years, I still do not understand it one bit; in case of this project I am working on, I think that it is the fault of the developers who worked on it before me because they did not maintain architecture of the project nor did they document it or even care about it, they just wanted to fix bugs quickly and go home
I hope that current Lazarus developers have some guy who is in charge who makes sure that all changes made by others are consistent and do not break existing architecture or over-complicate it
Too late to escape fate

Leledumbo

  • Hero Member
  • *****
  • Posts: 8835
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Lazarus 1.2 Release
« Reply #99 on: March 16, 2014, 08:01:52 am »
Quote
I hope that current Lazarus developers have some guy who is in charge who makes sure that all changes made by others are consistent and do not break existing architecture or over-complicate it
Unfortunately, regression test is usually only done for final release. For patches in trunk, usually the test is only done against building the IDE. Sometimes even no test is done.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4660
  • I like bugs.
Re: Lazarus 1.2 Release
« Reply #100 on: March 16, 2014, 11:59:21 am »

One does not simply learn big code base, especially in case it is not documented.
It is vital to maintain consistent architecture
I am working on a certain project for two years, I still do not understand it one bit;

I know your feeling. I have struggled with big and old code-bases, too.

Quote
in case of this project I am working on, I think that it is the fault of the developers who worked on it before me because they did not maintain architecture of the project nor did they document it or even care about it, they just wanted to fix bugs quickly and go home

In a way it is nobody's "fault". There were many developers during the years working on the project. They all had to implement features dictated by their boss and customers. They also struggled to understand the existing code. This situation inevitably leads to copy/pasted code and poor architechture.
Over the years it will be more and more difficult to fix the design. It would require massive refactoring which affects all parts of the code and potentially create new bugs. It is understandable that the management does not want to do it. The current code works, customers ask for more features, the money comes from customers...
The decision is easy: let's implement the features instead of breaking the code with refactoring which brings no immediate value for customers.

BTW, I guess you do the same thing that the previous developers did. You also add features by copy/pasting code instead of fixing the project's architechture, don't you?

Quote
I hope that current Lazarus developers have some guy who is in charge who makes sure that all changes made by others are consistent and do not break existing architecture or over-complicate it

There is a group of guys doing that. In practice the people who have commit access to Lazarus sources, are in charge.
This project is already so big that nobody knows all its code. Fortunately some of the core developers are extremely clever and the design choices have been mostly good. Sure there are also some dark corners that nobody knows well.
Open source development has a benefit over commercial development in this matter. Developers can concentrate on architecture and design if they feel so, without pressure from marketing or management.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4660
  • I like bugs.
Re: Lazarus 1.2 Release
« Reply #101 on: March 16, 2014, 12:25:49 pm »
Unfortunately, regression test is usually only done for final release. For patches in trunk, usually the test is only done against building the IDE. Sometimes even no test is done.

Regression testing, or any other testing, does not guarantee good architecture in the code. It only guarantees that the code works correctly.
Architecture on the other hand affects how easy the code is to understand and maintain.

My experience is that lots of commercial SW suffer from poor design.
The worst situation is in custom SW made for one customer. When the SW is "ready" it goes to maintenance mode. When the customer needs a feature or bug-fix, he is billed per hour and each work-hour must be explained. Explanations like "Learning the code" or "Refactoring" are not accepted. Uhhh...
When a company has a real product with many customers, the situation is better. Then it is possible to spend time for code design, too, if the management understands its importance.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

avra

  • Hero Member
  • *****
  • Posts: 2579
    • Additional info
Re: Lazarus 1.2 Release
« Reply #102 on: March 17, 2014, 10:36:30 am »
It will be good if whole layout would be in one window with docked windows rather than floating windows, like now. It's very annoying when you need to have many windows opened.
AnchorDocking and it's CT variant called GlassDocking are not perfect yet, but useful enough once you know how to overcome their bugs.
http://forum.lazarus.freepascal.org/index.php/topic,17959.msg129779.html#msg129779
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

GADZombie

  • New Member
  • *
  • Posts: 46
  • 8bitrlz
    • Zombie Mastah
Re: Lazarus 1.2 Release
« Reply #103 on: March 17, 2014, 11:43:31 am »
AnchorDocking and it's CT variant called GlassDocking are not perfect yet, but useful enough once you know how to overcome their bugs.
http://forum.lazarus.freepascal.org/index.php/topic,17959.msg129779.html#msg129779

Well, I have read your opinin about bugs and it's not enough for me. I don't want it if it has so many bugs and so much doesn't work. Tabs are mandatory for me. But maybe someday someone will make something useful and without so many bugs :). I'll be very happy. As for now, I don't know how to do something like that, so, unfortunately, I can't do it.

avra

  • Hero Member
  • *****
  • Posts: 2579
    • Additional info
Re: Lazarus 1.2 Release
« Reply #104 on: March 17, 2014, 12:05:47 pm »
Tabs are mandatory for me. But maybe someday someone will make something useful and without so many bugs.
It's up to you if you will use what exists, wait for someone to fix it, or fork/develop it on your own. Once layout is set without tabs and saved, it gets automatically loaded on each start and doesn't get in the way. Unlike my last kzDesktop test, AnchorDocking/GlassDocking does not affect Lazarus/CT stability, so I use it in all my Laz/CT IDEs.
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

 

TinyPortal © 2005-2018