C nyelvről Pascal-ra való átírás mennyire nehéz ebben az esetben?
Van egy kód, többször is nekifutottam, mivel szinte nulla a C ismeretem, se a függvény-paraméterezést se a ciklusokat (meg főleg) nem tudom átírni Pascal nyelvre. Mindig elkeveredek az átírás során.
Ki mennyiért vállalná? (sima Pascal-ba való átírást, nem object-Pascal-ra).
#9
"A freepascal egy eredendően turbo pascal kompatibilis fordító, de túlnőtt saját magán, így felismer és fordít Object pascal forráskódot is."
Igen, és a TP 5.5 nagy újítása mi volt? Hát a Borland-féle Object Pascal objektummodell. Erre épült rá a Delphi, Free Pascal, és még több fordító is.
"Version 5.5Edit
This version, released on 2 May 1989,[29] introduced object-oriented programming features for the Pascal language, including concept of classes, static and dynamic objects, constructors and destructors and inheritance, which would become the basis for the Object Pascal found in Borland Delphi."
"Turbo Delphi is a discontinued integrated development environment (IDE), created by CodeGear, which was targeted towards student, amateur, individual professionals, and hobbyist programmers. It used the Delphi programming language, which is a dialect of Object Pascal."
"Object Pascal is a collective term for Pascal dialects that have features which allow object-oriented programming (OOP). The first Pascal versions supporting OOP were Clascal and Macintosh Pascal. More modern implementations extend the class model as in Delphi and Free Pascal."
Az Apple-féle Object Pascal nem keverendő ide, az már gyakorlatilag kihalt.
Köszönöm a válaszokat.
A #6 linken lévő kód is zavaros, valamint a kód írója is belekeveredik a saját megoldásába és még OOP is, sajnos. :(
"Igen, és a TP 5.5 nagy újítása mi volt? Hát a Borland-féle Object Pascal objektummodell. Erre épült rá a Delphi, Free Pascal, és még több fordító is."
Hát, ez a valóság eléggé kitekert értelmezése.
A TP eredendően egy procedurális paradigmára épülő nyelv volt, amire remekül, a szakma által is elismerten építették rá az OOP-t.
A helyzet az, hogy az OOP a pascal esetében el sem válik olyan erősen az alapparadigmától, mint más nyelveknél.
Értem ez alatt pl. azt, hogy simán lehet OOP fejlesztői környezetben tisztán procedurális programot írni, ami lefordítható, futtatható.
A delphi valójában nem nyelv, hanem egy nagyon fejlett IDE, amit lehet használni C vagy CPP programok fejlesztésére is.
"A TP eredendően egy procedurális paradigmára épülő nyelv volt, amire remekül, a szakma által is elismerten építették rá az OOP-t."
De ez ugyanaz, mint amit én állítok. Hogy TP eredetileg procedurális volt, az 5.5-ös verziótól volt benne objektumorientáltság.
"A helyzet az, hogy az OOP a pascal esetében el sem válik olyan erősen az alapparadigmától, mint más nyelveknél.
Értem ez alatt pl. azt, hogy simán lehet OOP fejlesztői környezetben tisztán procedurális programot írni, ami lefordítható, futtatható."
"A delphi valójában nem nyelv, hanem egy nagyon fejlett IDE, amit lehet használni C vagy CPP programok fejlesztésére is."
Ez igaz, de a Delphi kiadásokkal együtt fejlődött, változott az Delphi által használt nyelv is. Ahogy a Wikipedia fogalmaz:
"Delphi is a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software,[3] currently developed and maintained by Embarcadero Technologies."
Egyébként C++-ban is tudsz procedurálisan, objektum orientáltan, sőt generikusan is programozni. De sok más nyelv is tudja ezt, pl. a PHP, Swift, Vala, ...
Igazából a legtöbb nyelv többé-kevésbé multiparadigmás.
A kérdező tett egy kijelentést:
"sima Pascal-ba való átírást, nem object-Pascal-ra"
erre te reagáltál: "Olyan, hogy "sima" Pascal, nem létezik" valamint, hogy:
"a Free Pascal-féle nyelvjárás az Object Pascal egyik dialektusa"
Ezt kontráztam én meg, mivel igenis létezik 'sima' pascal, ami a pascal nyelv procedurális, OOP mentes változata. A freepascal pedig, mint nyelv, és mint fordító is, igenis kompatibilis a procedurális, OOP-től még mentes pascal nyelvvel.
Egyébként, hogy egészen pontos legyek, a procedurális nyelv nem 100 %-ban ágyazható be az OOP forrásba, mivel azért vannak apró eltérések, ráadásul még kulcsszavak szintjén is vigyázni kell, pl. nem használható a proceduráis kódban az object, valamint az assign, illetve a close kulcsszó sem.
Az viszont igaz, hogy ma már a legismertebb nyelvek szinte mind multiparadigmásak.
A pascal esetében a dolog azért jelentősebb, mert az úgy lett OOP-sítve, hogy nem from scratch fejlesztették, hanem a korábbi, már meglévő, szabványosított, sőt, implementált pascal-ra építették rá az OOP-t.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!