Forum > General

Does Freepascal has everything "must have" functional features as C does

(1/10) > >>

PeterHu:
Greetings!

Speaking to FPC3.0,just want to know whether freepascal has everything "must have" as those features in C?And how about pointers in fpc,it has the same strong ability as C,let's say in a system programming environment.

I am not tending to leading a language war,rather,just expecting everything C can do freepascal can do as well and nothing "must have" features is missing in Freepascal.

Best Regards,
Peter

marcov:

No parameterized macros and no ? operator. But those are not really must haves, and (Object) Pascal provides so much more.....

MarkMLl:

--- Quote from: marcov on August 08, 2022, 02:19:33 pm ---
No parameterized macros and no ? operator. But those are not really must haves...

--- End quote ---

Arguable.

Different semantics of the case/switch statement, but equivalence can be fudged. Different build system, i.e. no in-depth support for make.

Very strong support for string and dynamic array handling, at the cost of having compiler-generated finalisation blocks to do housekeeping.

Implementation- and platform-specific: limited (at present) attribute support, making it difficult to e.g. specify which section a variable or routine goes into.

Comparing it with other systems languages: no support for coroutine switching at the language level.

MarkMLl

marcov:

--- Quote from: MarkMLl on August 08, 2022, 02:58:44 pm ---
--- Quote from: marcov on August 08, 2022, 02:19:33 pm ---
No parameterized macros and no ? operator. But those are not really must haves...

--- End quote ---

Arguable.

--- End quote ---

Anything opinion based is arguable.


--- Quote ---Different semantics of the case/switch statement, but equivalence can be fudged.

--- End quote ---

I never considered the broken C switch that defaults to fall-through a "feature".  Even if you consider fall-through itself a feature (I don't, at least not with a modern perspective), it should never have been default nor mixed with normal switch/case usage, too error prone.


--- Quote ---Different build system, i.e. no in-depth support for make.

--- End quote ---

Having an actually functioning build-in build system rather than having none in the standard and relying on external tools calling platform dependent tools. Keep in mind that even if you step over make not being standard, even then the oft fabled parallelization of make often only gains back some of the time spent on header reparsing.


--- Quote ---Comparing it with other systems languages: no support for coroutine switching at the language level.
--- End quote ---

Standard or language? What is the language level in M2 ?

MarkMLl:

--- Quote from: marcov on August 08, 2022, 03:41:56 pm ---Standard or language? What is the language level in M2 ?

--- End quote ---

M2 had coroutines and TRANSFER() etc. from day one as I understand it.

It must also have had some way of getting at the I/O address space (although I forget the detail, and I don't think C- as standard- has that) but no form of attributes etc. which could be used to select between an arbitrary number of segments (term used loosely) or address spaces.

MarkMLl

Navigation

[0] Message Index

[#] Next page

Go to full version