2009-06-08 14 views
26

Ho studiato Turbo Pascal nel 1997 e mi è piaciuto molto come lingua. Tutto era molto strutturato e il compilatore si è assicurato di aver fatto le cose nel modo giusto. Successivamente ho provato Delphi ma non mi sono mai interessato molto.Pascal e le sue applicazioni attuali

Da allora ho utilizzato molti linguaggi di programmazione e scripting diversi (C, C++, PHP, Python, Perl, TCL) e recentemente ho iniziato a pensare ai miei vecchi giorni Turbo Pascal.

Quindi, mi chiedo per quale motivo scopi Pascal potrebbe essere utile oggi e quali API e framework sono disponibili. Qualcuno ha esperienza nell'usare Pascal in un moderno ambiente di sviluppo o è solo una lingua morta?

Per chiarire la mia domanda: Can Pascal essere utilizzato per lo sviluppo di applicazioni moderne. Viene usato e come?

I collegamenti di Wikipedia o le ricerche rapide su Google non sono d'aiuto, ci sono stato. Questo è il motivo per cui chiedo agli "esperti".

+0

Sarebbe bello sapere perché non ti piaceva Delphi? – tekBlues

+0

Le applicazioni che ho creato a Delphi sembravano sempre brutte e fuori posto. Inoltre, non avevo il necessario background in database, networking per creare qualcosa di utile. Non colpa di Delphi :) – Andrioid

+1

Wow Android, devi guardarlo, è molto potente, ho appena imparato a programmare in Delphi 3 mesi fa, è fantastico (l'unica cosa che non mi piace è la sintassi Pascal :-) – tekBlues

risposta

25

Si noti che più anziani (1.0.x) versioni del compilatore Free Pascal fonti erano effettivamente Turbo Pascal compatibile (come potrebbe essere in debug con TP), il che dimostra le capacità di base Pascal.

La domanda di utilizzo di Pascal come lingua di base è più o meno la stessa di C, poiché sono quasi equivalenti a livello di linguaggio. L'unica differenza è la quantità, versatilità e qualità dei compilatori.

Consiglio vivamente di andare nella direzione del dialetto Delphi (usando Delphi o Lazarus/FPC) e non tornare a Turbo.

Gli isistemi DOS ei 16 bit limiterebbero seriamente l'utente, e quasi l'intero dialetto libero da DOS-isms e 16-bititms è supportato da FPC o Delphi.

Turbo Pascal era uno dei (se non IL) principale compilatore dell'era DOS, e Delphi è ancora il secondo IDE più venduto al mondo (dopo lo studio visivo), quindi penso che la "lingua morta" e " linguaggio di insegnamento "i bit sono un po 'esagerati.

-3

Pascal è utile come lingua di insegnamento; illustra alcuni dei più fondamentali precetti informatici, con meno oscurità di C.

+2

Ma perché non è usato per qualcosa di pratico? Non è abbastanza potente per le applicazioni di lavoro reali? Sembra quasi una perdita di tempo per imparare una lingua che non puoi (o non dovresti) usare nella tua (forse futura) professione di programmatore. – Andrioid

+1

Gli ambienti di apprendimento possono essere molto utili; quanto spesso usi quel documento a righe larghe con le linee guida che hai usato per imparare a scrivere il tuo ABC? Eppure, era utile per quello che era. A volte, un ambiente semplificato può consentire un apprendimento migliore fornendo meno distrazioni allo studente. –

+0

Pascal non viene utilizzato per nulla pratico perché il supporto della libreria non è presente. Come dice McWafflestix, è importante avere un ambiente semplificato per apprendere le basi dello sviluppo del software. Un buon ingegnere può applicare facilmente questi concetti a qualsiasi altro linguaggio di alto livello. –

4

Il principale è il derivato Pascal Delphi (da Embarcadero, precedentemente di proprietà di Borland).

Vedere Wikipedia per un elenco di alcuni più, per lo più open source.

7

Bene ricordiamo Lazzaro un clone gratuito di Delfi:

http://www.lazarus.freepascal.org/index.php

E FreePascal:

Free Pascal (aka FPK Pascal) è un 32 e 64 bit compilatore Pascal professionale. È disponibile per diversi processori: Intel x86, Amd64/x86_64, PowerPC, PowerPC64, Sparc, ARM.

http://www.freepascal.org/

+3

Per favore inserisci "FPK "alias per riposare. Il namechange è più di dieci anni fa adesso: _) –

8

Pascal non è utilizzato per nulla pratico perché il supporto della libreria non è presente.

Che carico di toro. C'è una pletora di biblioteche là fuori che possono essere usate da Delfi, FreePascal e Lazarus.

Come dice McWafflestix, v'è il valore di avere un ambiente semplificato

"ambiente semplificato"? Questo è solo dispregiativo. Direi che è, ed è sempre stato, piuttosto sofisticato.

+2

Non c'è una "pletora di librerie" disponibile per Delphi/FreePascal. Torry.net, il sito di raccolta dei pacchetti per Pascal dagli anni '90, non ha ancora infranto 13.000 pacchetti. Una grande quantità di ciò che è lì o è scritto per vecchie versioni di Delphi o è trialware. In confronto, PyPI, il sito per la gestione dei pacchetti di Python, aggiunge oltre 12.000 (gratuiti, open source) pacchetti in UN ANNO.Allo stesso modo, la mia analisi mostra che Torry aggiunge un nuovo pacchetto gratuito o open source ad un tasso di poco inferiore a 0,5 pacchetti al giorno. Modulecounts.net mostra 158/giorno per Go, 115 per Java, 47 per .Net, 59 per Python, ecc. – alcalde

0

Penso che il motivo principale della popolarità di Turbo Pascal non fosse il linguaggio Pascal ma l'IDE. Per quanto ricordo, è stato davvero facile lavorarci, è stato veloce e anche il debugging è stato divertente.

D'altra parte il linguaggio Pascal era obsoleto, quindi Borland ha aggiunto parecchie cose alla lingua Pascal (e ha reso la loro lingua più simile a Module-2).

+1

Non completamente corretto. I comitati Pascal Ansi/ISO stavano studiando (con Wirth) su sistemi modulari. Afaik Borland prese in gran parte in prestito dalle loro prime proposte. –

7

Nessuno ha ancora menzionato che TeX (e METAfont e altri TeXware) sono scritti in Pascal.

Nei primi anni '90, ho sviluppato applicazioni commerciali X/Motif CAD utilizzando un dialetto personalizzato di Pascal.

1

Cercando la parola 'pascal', filtrando i risultati con 'linguaggio di programmazione' => 'pascal', troverete una serie di applicazioni di Pascal, se non a livello aziendale, per lo meno grave il livello del programmatore.

Con così tanti ides open-source e multipiattaforma, le librerie, penso che Pascal sia ancora vivo (eccetto il popolare dialetto delphi) e possa svolgere compiti pratici.Come i risultati implica, Pascal potrebbe fare Sistema Operativo, Compilatore, Cross-Platform Library, Desktop-Programming.So, sembra che Pascal almeno potrebbe svolgere un sacco di compiti seri, se non troppo pratici per tornare subito indietro.

In ogni caso, mi piace questo linguaggio, anche se non ho fatto alcuna programmazione seria con esso.

+0

Bene, quelli popolari sono per lo più orientati a Delphi, quindi se si esclude Delphi da Pascal, "pascal" collassa dimensioni di dimensioni. –

+0

forse invece di "eccetto" intendevi "specialmente"? perché Delphi è la forma più vivace di esso. – eis

14

un parere da un utente soddisfatto che sono passati a FPC da Java/C/C++:

Pascal, Free Pascal (FPC), in particolare, è utile per assolutamente tutto. Programmazione delle applicazioni con buone prestazioni (dal momento che è in fase di compilazione), programmazione dei giochi (ad esempio tramite OpenGL) e anche per la programmazione Web poiché può essere compilata in bytecode Java. Funziona su tutte le piattaforme importanti (MS, Linux, Mac, iOS, Android e altro).

FPC è molto aggiornato, è un linguaggio molto moderno rispetto al linguaggio degli anni '70/'80 che alcuni potrebbero pensare che stiamo discutendo. Dispone di estensioni OOP (inclusa una modalità "Objective Pascal" per l'utilizzo delle classi Objective-C) e OOP non è obbligatorio come il C++. Ha anche overloading dell'operatore, sovraccarico di funzioni, array dinamici, una garbage collection limitata, spazi dei nomi automatici ... Inoltre, è un linguaggio modulare (come Java), mentre C/C++ sono, dopo tutti questi anni, ancora non modulari (fa finta con #include). (Sarei interessato a una seria discussione su ciò che un linguaggio "moderno" deve avere oggi.)

Ho menzionato la portabilità? FPC ha una grande libreria runtime, in gran parte cross-platform, inclusa una libreria di classi (usata principalmente con Lazarus AFAIK). FPC è molto adatto per scrivere codice portatile.

Come linguaggio di insegnamento, un vantaggio importante è quanto è vicino a C/C++. In realtà differisce solo nella più semplice sintassi (e in diversi modelli di oggetti) ma è molto simile al C++. Il porting tra C/C++ e Pascal è più semplice del porting tra ObjC e C++. Ma FPC ha il vantaggio di essere più facile da imparare, con una sintassi più semplice.

Quindi sostengo che FPC è perfettamente utile sia come linguaggio di insegnamento sia per la programmazione di applicazioni serie. (Penso che sia l'ideale ma è più un'opinione.)

Ci sono sempre stati odiatori di Pascal che fanno le fiamme disinformate di solito riferendosi alla lingua originale degli anni '70. Personalmente non penso che né i 70 anni di Pascal né i problemi di 20 anni (quando la portabilità era il problema) valessero la pena di discutere. Ciò che è interessante è ciò che puoi fare ora, pro e contro tra le lingue oltre gli argomenti "ma tutti gli altri ...".

+1

Se non ci sono librerie con API per Pascal, come è "utile per assolutamente tutto"? FPC non è "molto moderno". Manca di inferenza di tipo, chiusure, lambda, gestione della memoria, impacchettamento/disimballaggio, assegnazioni multiple, list comprehensions, generatori, notazione di sezione, tuple, design al contrario, filtro/mappa/riduci, dicts ed elenchi come tipi nativi, bifts, ecc. La libreria di runtime non è confrontabile con JVM, .NET o Python. Non ci sono più libri, riviste, lavori, convegni dal vivo, nella maggior parte dei paesi, lezioni online, ecc. Perché scegliere Pascal oggi su Python, Nim, D, Go, Rust, ecc.? – alcalde

+0

@alcalde sveglia, ragazzo. ci sono molte librerie in Pascal, entrambe fornite da implementazioni e disponibili da fonti di terze parti. anche tu non conosci bene la lingua (dici che Pascal non ha una gestione della memoria che è sbagliata al 100%), non penserai mai di poter giudicare le librerie. – LeleDumbo

+1

@LeleDumbo Non ci sono "molte librerie per Pascal". Torry.net ha meno di 13000 file, molti dei quali sono demo commerciali o risalgono a Delphi 3-5. Pitone? Oltre 72K nel suo repository. Giava? 128K. Partire? 106K. node.js? Oltre 200.000! Delphi non ha la gestione automatica della memoria degli oggetti. Ho programmato in Pascal per quasi 30 anni, conosco bene la lingua. Oggi non si può difendere onestamente la validità della vita di oggi senza esagerare. Quando Amazon invia un'API per Pascal, possiamo parlare di supporto. Crystal Reports ha abbandonato il supporto Delphi dopo gli anni '90, ecc. – alcalde

1

Can Pascal essere utilizzato per lo sviluppo di applicazioni moderne. E 'usato e come?

Naturalmente è possibile ed è ampiamente utilizzato. Basta dare un'occhiata a Lazarus CT (clone gratuito di Delphi) che genera moderne applicazioni native multipiattaforma dalla singola fonte. Ha tonnellate di componenti e molti, molti esempi. È RAD e dispone di 8 livelli host/CPU host (win32/64, lin32/64, freebsd 32/64, solaris 32/64) e 22 layer OS/CPU di destinazione (i386-win32, x86_64-win64, i386-linux, x86_64-Linux, arm-wince, arm-linux, powerpc-linux, powerpc64-linux, sparc-linux, i386-freebsd, x86_64-freebsd, sparc-solaris, i386-solaris, x86_64-solaris, i386- haiku, arm-gba, arm-nds, arm-embedded, armeb-linux, arm-androide, i386-android, powerpc-wii). Quale altro strumento può eguagliarlo?

P.S. Ricordati di installarlo come admin/root.

+0

"Quale altro strumento può eguagliare quello?" Tutti loro, davvero. C, C++, Python, Ruby, D, Go, Java, ecc. – alcalde

+0

@alcalde Molti di essi si basano su bytecode o simili. Non proprio la stessa cosa. – linuxfan

2

Uso Pascal dalla versione 1 fino a RAD Studio XE3 nel 2012. Era la mia prima lingua. La conoscenza in pascal è quasi la conoscenza del sistema che gestisce.

È un linguaggio straordinario che mi ha posto le basi per essere un esperto in C, Embedded C e Analog/Digital Circuit Design - tutto da studiare. In seguito studio PHP, JS e il modello TCP senza alcuna difficoltà nel comprendere nessuno dei concetti chiave che stanno dietro di loro.

Ovviamente Pascal ora è Object Pascal come Basic è Visual Basic. Di seguito sono riportate le cose che Pascal fa nel 2012 nel suo prodotto commerciale. (le versioni non commerciali di Pascal sono altrettanto buone, se non migliori)

Supporta quasi tutte le tecnologie Web. Supporta quasi tutte le tecnologie di database. Piattaforma incrociata in base a codice singolo. Grande comunità, componenti e librerie.

Un'applicazione popolare sviluppata in Pascal è Skype.

Microsoft, avendo avuto una propria lingua, ha acquistato Skype lo scorso anno per, credo, $ 800 milioni.

+0

Bene, VB non è mai stato compatibile con Quick Basic. I Delphi sono compatibili con TP di alto livello. FPC ancora di più. –

Problemi correlati