[zxspectrum] Re: R: Re: R: Re: R: Re: R: Re: Un Ritorno nei Retrocomputers

  • From: Paolo Ferraris <pieffe8@xxxxxxxxx>
  • To: zxspectrum@xxxxxxxxxxxxx
  • Date: Tue, 26 Jan 2010 12:22:06 -0800

On 1/26/2010 12:07 PM, Paolo Basenghi wrote:
Secondo me, prima ancora di differenze tecniche, di cui si è fino ad ora parlato in questo thread, quando si parla di C vs C++ si dovrebbero ricordare le profonde differenze culturali che attraversano la storia di questi 2 linguaggi. Passano ben 10 anni fra le nascite dei 2 e nel mezzo c'è stata quella grossa rivoluzione prima di tutto culturale, intesa sia come cultura che come forma mentis della programmazione, che è la programmazione ad oggetti. Le idee alla base dell'OOP, come spesso succede, erano già lì da parecchio, ma è con il linguaggio Smalltalk che vengono formalizzate e riunite in un unico ambiente. La nascita e la diffusione di Smalltalk si pone proprio nel mezzo fra C e C++. Smalltalk non ha i compromessi di C++ e nemmeno quelli di Java: in Smalltalk per esempio non esistono tipi primitivi, anche gli interi e le stringhe sono oggetti, tanto per citarne 2 che in Java non lo sono.
A parte che (a fare il pignolo) stringhe in Java sono oggetti e non tipi primitivi sono d'accordo con te.

Credo che questa considerazione da sola spazzi via ogni idea di "guerra" fra i due linguaggi, in quanto sono pensati per scopi alquanto diversi, pur tenendo presente che il C++ tenta di mantenere un ponte col "vecchio mondo" (riuscendoci ma pagandone il prezzo in termini di rapidità di sviluppo e di "pocci" che i programmatori poco avveduti sono lasciati liberi di fare).
Concordo di nuovo. Quando mi lamentavo dei programmatori C++ ovviamente alludevo proprio a quelli poco avveduti che appunto fanno i "pocci" loro. Questo e` piu` difficile con altri linguaggi che non sono degli "ibridi" come il C++.

E il "piccolo" Spectrum che c'entra?
Beh, la mia opinione è che il C++ (e a maggior ragione tutti i linguaggi moderni di più alto livello) sia "sprecato" per un sistema semplice e molto "hardware driven" come lo Spectrum. I programmi più complessi per lo ZX, molto difficilmente possono esimersi dal fare massiccio ricorso all'Assembler, quindi il C (sempre IMHO) è una scelta sufficiente. A che pro, se non per puro spirito "demo", dedicarsi all'implementazione di un runtime a oggetti per il nostro gommoso?
Concordo al 100%.


-p


Other related posts: