|
- Why FreePascal ?
- What is Bidi And Fribidi ?
- What does this project all about ?
|
|
For answering this, We should ask "why Pascal ?"
The answer is very simple.. but let me sell you Pascal, and if you are a c/++ developer, then
I'll see your reaction :)
This text was taken from the FreePascal site,
and I also added few of my own points of review, fixes and addition to existing points :)
-
Very clean language. Pascal is a very nice language, your programs will
be more readable and maintainable than for example in C, and let's even forget about C++.
And you don't need to give up the power, the Pascal language is as powerful as you want
it.
-
No Makefiles. Unlike most programming languages, Pascal does not need
Makefiles. You can save huge amounts of time, the compiler just figures out itself
which files need to be recompiled.
-
Pascal compilers are Fast with a big F and Free Pascal is no exception.
Yes, you no longer need to grow roots while compiling your programs, just hit the compile
key and it's done, even for large programs.
-
Each unit has it's own identifiers. In Pascal you never need to worry
about polluting the namespace, like in C where an identifier needs to be unique accross
the entire program. No, in Pascal each unit gets it's own namespace and that's very
relaxed.
-
Great integration with assembler. Do you think pascal is for wimps who
need to learn programming? WRONG! It's excellent for high tech programming and for the
supreme nerds among you we have the integrated assemblers. You can easily mix assembler
code and Pascal code, in the language you wish? Prefer Intel styled assembler? No problem,
if it's needed Free Pascal will convert it to AT&T for you. Do you want to convert your
program into a source file for Nasm? No problem, and all AT&T assembler in your source
files is automatically converted.
-
Object oriented programming. And if you do the serious programming,
you are of course very interested in object oriented programming. Use the Turbo Pascal
and Object Pascal ways of OOP according to your taste. The FCL and Free Vision provide
you with the powerful object libraries you need. For your database needs we support
PostgreSQL, MySQL, Interbase/FireBird SQL, ODBC and DBase. Database like Oracle are under
development (true for the time this document last edited).
-
Smartlinking. Free Pascal's smart linker leaves out any variable or
code that you do not use. That makes small programs small with a big S, while they are
still statically linked, avoiding DLL hell!
-
Distribution independence (Linux). As a result of this, software
compiled by the Linux version of Free Pascal runs on any Linux distribution, making it
much, much, easier to make your software support multiple Linux distributions.
-
Available for a lot of platforms on several architectures. Free Pascal
is available for more platforms than most other Pascal compilers and allows easy
cross-compiling, just change the target in the IDE and compile! And there is work going
on for even more platforms and processors.
Like: MS-Windows,
MS-DOS,
Linux,
FreeBSD,
OS/2,
SunOS (aka Solaris),
BeOS (be.com was sold => does not exists),
NetBSD,
Mac-OSX,
Netware,
WDOSX-DOS,
OpenBSD,
Watcom,
MorphOS,
PalmOS,
QNX,
Amiga.
Architectures: i386,
PowerPC,
Sparc,
AMD64,
m68k,
Arm.
And could be more support since the last edit that I made to this document :)
-
Compatible. Have existing code? Free Pascal is more compatible with it
than any other Pascal compiler. We are almost completely compatible with Turbo Pascal and
quite well compatible with Delphi source code. If you have code in another language, like
C or assembler, just use favorite compiler for it and call it from Free Pascal.
-
"C and C++ are more popular than Pascal". I have only one answer for that :
"A billion flies can be wrong - I'd rather eat lamb chops than
shit."
-- Linus Torvalds on LKML
|
[TOP]
|
Bidi - It's an abbreviation of the phrase Bi-Directional. It means 2 sides...
If you are using languages like Arabic/Hebrew/Tai/Urdu/Aramiec/Yiddish/Farzi that are written
from Left to right, you have noticed that when you are using at least a word of your own
language, and any left to right language (such as English) in a computer, there are some big
problems like:
-
Imposible to select both texts on one selection.
-
The computer only go to the right, but never gows to the left (or Vise Versa).
-
If you write some words in English and the rest on the other language and back to English
(or the other way around) the order is mixed, and you do not know what comes before what.
-
Signs like "-" and numbers (aka Arabic numbers...) makes the Original language go
crasy, like placing it on the false position or unable to remove the text currectly.
And more siptoms as well, caused developers to find a selution for that.
The selution is an algorithem known as BiDi (you can find it in the address of:
http://www.unicode.org/reports/tr9/) that
algorithem know how to handle 2 (or more) languages of diffrent directions at the same
pharagraph.
The Handeling of the 2 directions on the same pharagraph is called Bi-Directional or for short
BiDi
Fribidi (http://freedesktop.org/Software/FriBidi) is a
library that takes the Algorithem of BiDi and implement it for Arabic, Hebrew and Farzi
langauges.
This library consider to be one of the most complete and bug free (hmm.. i don't know any code
that is truly bug free) that perform the algorithem.
It support Unicode and
ANSI codes (ISO-8859-6, ISO-8859-8, ISIRI-3342, cp1255
[ISO-8859-8-i] and cp1256 [ISO-8859-6-i]).
|
[TOP]
|
This project was created in order to give some good basics tools for the use of hebrew in a
flowed use at first place using FreePascal. Afther the basics, to give more advanced tools and
entier interfaces using Hebrew in FreePascal (and also in other langauges), and all this in an
invisible way for the developer, in a manner of development and user langauges.
And now for the simpler explanetion :)
When a people comes from a Latin based langauge, they do not encounter any type of difficulty
to develop a program. All they need is to put thier effort in the program itself. And that is
my goal ! That the Hebrew users, will not need to warry of how to use the langauge, and simply
develop a program in Hebrew in a natural manner without any problem.
Cool, but please stop all this slogans and please answer Why Pascal ?
First of all, I really belive that Pascal is an excellent langauge, and capble to perform much
more then what many people think. I will not enter the flamming argument of what is the best
language to do something. I simplly think that working in Pascal, with humen langauges stuff,
is really much simpler then using C and C++ with all of thier useless pointers that cuse many
of the problems we encounter in software.
Yes! I do know that languages like Perl (I use this language
and really like it!) are made to deal with human languages in a fine way, but if i would like
that my program will run as an OS for example, langauges like
Perl are usless and only Pascal and C remains on the battle field.And
YES! I do belive that Pascal is capable to win with the combat like so,
with honor, and can humiliate C on this battle zone.
And now for the answer with less provokative...
Pascal still exists on may schools, and if I'll give good tools for students, they could work
better with Hebrew, And there-for also work with more ease with a computer.
|
[TOP]
|
|
|