Recent

Author Topic: Lazarus and FPC 3.0  (Read 73317 times)

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: Lazarus and FPC 3.0
« Reply #15 on: January 13, 2015, 01:34:33 am »
Yes, I still recommend for anybody to study the topic because it is unbelievably complex.
However talking about Lazarus and the new FPC brings some obvious new questions.
Unicode is the main feature of FPC 3.0 after all.

Agree.
I do not want to discuss Unicode choices and implementation again.
I just want to test this new main feature of FPC 3.0, report the real problems I got (if any) and contribute to stabilize FPC 3.0 as soon as possible.
The perfect world would be to see stable Lazarus 1.4 and stable FPC 3.0 released together.  :)

Now, some extra, basic information to understand UTF8, UTF16, UTF32, ISO, subsets and sub-flavors:
https://mobworld.wordpress.com/2010/05/06/utf-encoding-formats/
http://www.unicode.org/faq/utf_bom.html
http://stackoverflow.com/questions/496321/utf8-utf16-and-utf32
youtube - Characters, Symbols and the Unicode Miracle - Computerphile
https://www.youtube.com/watch?v=MijmeoH9LT4
http://en.wikipedia.org/wiki/Comparison_of_Unicode_encodings
http://unicodebook.readthedocs.org/en/latest/unicode_encodings.html
http://www.personal.psu.edu/ejp10/blogs/gotunicode/2007/10/which_utf_do_i_use.html
http://www.quora.com/What-is-the-difference-between-UTF-8-and-UTF-16
http://programmers.stackexchange.com/questions/40063/should-character-encodings-besides-utf-8-and-maybe-utf-16-utf-32-be-deprecated
http://programmers.stackexchange.com/questions/102205/should-utf-16-be-considered-harmful
http://www.editpadpro.com/unicode.html  (just an example to see how complicated this subject may be, no need to buy anything)

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4458
  • I like bugs.
Re: Lazarus and FPC 3.0
« Reply #16 on: January 13, 2015, 08:21:35 am »
The perfect world would be to see stable Lazarus 1.4 and stable FPC 3.0 released together.  :)

No. It is better to release 1.4 now without the Unicode changes. If we wanted to include those changes in 1.4, the release cycle would become much too long and people would not have the nice features already implemented in trunk.
Also the version number would be wrong. 2.0 will indicate major changes where also user level code must be adjusted.

Although Lazarus 1.4 does not benefit from FPC Unicode features, you can still compile it using FPC 3.0 or trunk. It is backwards compatible when the old default AnsiString is used.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: Lazarus and FPC 3.0
« Reply #17 on: January 13, 2015, 04:03:10 pm »
@JuhaManninen, I understand your view point and I agree with you.

I would like to include here some extra information I read in other topic that I think is relevant to this discussion.


Please, explain me, what about unicode support in Lazarus?

It is supported by AnsiString + UTF8 specific functions. See :
  http://wiki.freepascal.org/LCL_Unicode_Support

Lazarus 2.0 will improve things.


The Windows unit won't really change in newer FPC versions, since that is the interface of Windows operating system, and windows won't suddenly start supporting utf8.

On Windows, Utf8 is for textfiles only, not for APIs.

The only change that still must happen is to switch the default names (e.g. GetCRC32OfFile) from the -A to the -W alias, similar like D2009 did

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4458
  • I like bugs.
Re: Lazarus and FPC 3.0
« Reply #18 on: January 13, 2015, 05:53:37 pm »
I would like to include here some extra information I read in other topic that I think is relevant to this discussion.

Why are those things relevant? Both myself and Marcov stated some well known facts for a new person who does not know them yet.
For example LCL has supported Unicode maybe 7 or 8 years. Nothing new there.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11351
  • FPC developer.
Re: Lazarus and FPC 3.0
« Reply #19 on: January 13, 2015, 05:57:27 pm »
Basically for users not much changes, except that most file related routines in system and sysutils will work fine with unicode if you pass it the file or directory name in an utf8string or unicodestring.

valdir.marcos

  • Hero Member
  • *****
  • Posts: 1106
Re: Lazarus and FPC 3.0
« Reply #20 on: January 13, 2015, 07:28:10 pm »
Why are those things relevant? Both myself and Marcov stated some well known facts for a new person who does not know them yet.
For example LCL has supported Unicode maybe 7 or 8 years. Nothing new there.

This topic has been read 2494 times so far. It seems to me that it is interesting to many people, including new comers.
That little piece of information shows alternatives and states information related to Unicode treatment in FPC 2.x and 3.x and its consequences in Windows, Lazarus 1.4 and 2.0.
Sorry for not everybody here to be on the project as much time as you, or know it so deep inside as much as you.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4458
  • I like bugs.
Re: Lazarus and FPC 3.0
« Reply #21 on: January 13, 2015, 10:27:10 pm »
This topic has been read 2494 times so far. It seems to me that it is interesting to many people, including new comers.

Quite many readers indeed!
There may be an impression that the Unicode support of Lazarus will improve dramatically when the new FPC features are utilized. Not really. Explicit conversion routines are not needed and some things become easier, but the current UTF8 support is also good.

Many people may find the new features of the coming 1.4 more interesting than the future Unicode improvements.

« Last Edit: January 13, 2015, 10:29:20 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Deepaak

  • Sr. Member
  • ****
  • Posts: 454
Re: Lazarus and FPC 3.0
« Reply #22 on: January 14, 2015, 08:57:02 am »
How far is FPC3.0 safe to use with Lazarus trunk version
Holiday season is online now. :-)

Leledumbo

  • Hero Member
  • *****
  • Posts: 8744
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Lazarus and FPC 3.0
« Reply #23 on: January 14, 2015, 09:15:13 am »
How far is FPC3.0 safe to use with Lazarus trunk version
As safe as all trunk compiler version all this time.

Stygian

  • Jr. Member
  • **
  • Posts: 90
Re: Lazarus and FPC 3.0
« Reply #24 on: January 15, 2015, 08:21:01 am »
Hello Guys,

I have an alternative question. Will this FPC support Android developing?

Regards,
Sty

Leledumbo

  • Hero Member
  • *****
  • Posts: 8744
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Lazarus and FPC 3.0
« Reply #25 on: January 15, 2015, 10:16:39 am »
Hello Guys,

I have an alternative question. Will this FPC support Android developing?

Regards,
Sty
It's based on trunk, so it of course will have Android support.

TurboRascal

  • Hero Member
  • *****
  • Posts: 672
  • "Good sysadmin. Bad programmer."™
Re: Lazarus and FPC 3.0
« Reply #26 on: January 17, 2015, 05:50:34 am »
So, the most of the talk here has been that the main feature of FPC 3.0 would be Unicode changes which are irrelevant for Lazarus 1.2.x...

But, as I recall, FPC 2.7.x was declared necessary for Android target, and it has also been said that it produces better optimized binaries, up to 30% faster.

So it seems there actually may be real benefits of using FPC 3.0 and Lazarus 1.2.x together, if I got that correctly...
Regards, ArNy the Turbo Rascal
-
"The secret is to give them what they need, not what they want." - Scotty, STTNG:Relics

Leledumbo

  • Hero Member
  • *****
  • Posts: 8744
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Lazarus and FPC 3.0
« Reply #27 on: January 17, 2015, 06:00:03 am »
So it seems there actually may be real benefits of using FPC 3.0 and Lazarus 1.2.x together, if I got that correctly...
Depends on whether you need the features or not. Please don't forget the maturing generics feature, it's getting better and better. There are also more utilities included in trunk and more optimizations (yay).

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4458
  • I like bugs.
Re: Lazarus and FPC 3.0
« Reply #28 on: January 17, 2015, 10:24:30 am »
So it seems there actually may be real benefits of using FPC 3.0 and Lazarus 1.2.x together, if I got that correctly...

You mean Lazarus 1.4.x, not Lazarus 1.2.x. The former is already forked and RC1 will come soon, 1.2.x will not be updated any more.

Otherwise you have a valid point. FPC 3.0 will have a huge number of improvements and new features. It would make sense to use it at some point for Lazarus 1.4 series. It has been done before, IIRC Lazarus 1.2.0 was released with FPC 2.6.2 but Lazarus 1.2.2 with FPC 2.6.4 (or something).
Lazarus 1.4.0 must use FPC 2.6.4 because 3.0 will not (likely) be released yet.
We try to get 1.4.0 out rather soon while FPC 3.0 testing and stabilization will take longer. When FPC 3.0 is out, Lazarus must be tested more with it.
After that maybe 1.4.2 could use the new FPC. Let's see. It has not been discussed anywhere.

Some visually apparent changes of Lazarus 1.4 are listed here :
 http://wiki.freepascal.org/New_IDE_features_since#v1.4_.28to_be_announced.29
It also has tons of smaller improvements and bug fixes.
People who use trunk knew this already, yes.
« Last Edit: January 17, 2015, 11:47:02 am by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

tr_escape

  • Sr. Member
  • ****
  • Posts: 432
  • sector name toys | respect to spectre
    • Github:
Re: Lazarus and FPC 3.0
« Reply #29 on: January 20, 2015, 07:29:00 am »
Hello Everyone,

I have got an idea for Lazarus form design ;

All we are using some unvisual components (like as lazserial , timers, fontdialog etc) in the forms , over 10~20 unvisual components our form is complexing a lot.
Is it possible to layered to show or hide of form components?

I know I can create a datamodule form and put all I needed components and use in the main unit but unfortunately we are not start with this dicipline.

Have a nice coding.

 

TinyPortal © 2005-2018