C'è una cosa del genere in questi giorni come programmazione nel piccolo?

1

Con tutti i linguaggi di programmazione che sono là fuori, cosa significa esattamente programmare nel piccolo ed è ancora possibile, senza la possibilità di riproporlo al grande.

L'articolo originale che menziona nel piccolo era datato al 1975 e si riferiva ai linguaggi di scripting (come lingue di colla). Forse mi manca il punto, ma qualsiasi linguaggio da cui è possibile creare componenti di codice, direi che è in grado di gestire "in grande".

C'è una certa confusione su cosa sono gli Oggetti e in realtà sono considerati obbligatori per essere in grado di gestire "il grande". Molti hanno sostenuto che questo è il vero significato di "In the large" e che i concetti di oggetti sono più adatti per il lavoro.

    
posta WeNeedAnswers 13.02.2011 - 18:13
fonte

2 risposte

1

Il kernel Linux è un progetto molto grande che, per quanto ne so, non usa oggetti. All'ultimo posto in cui ho lavorato, l'intera base di codice era in COBOL quando ho iniziato. Di nuovo, niente oggetti. Quindi è certamente possibile scrivere grandi progetti senza usare oggetti.

Una delle cose che gli oggetti fanno per te è rendere più naturale l'organizzazione del codice. Ogni oggetto ha delle responsabilità e il codice necessario per adempiere a tali responsabilità va naturalmente all'oggetto. Tuttavia, l'organizzazione del codice può essere eseguita senza oggetti e in alcuni linguaggi OO (ad es. Common Lisp), l'oggetto appartiene al metodo anziché viceversa. I pacchetti in Common Lisp e i moduli in altre lingue sono altre alternative per l'organizzazione del codice.

Non conosco alcun linguaggio usato esclusivamente per piccoli progetti, ma posso pensare ad alcune lingue che non utilizzerei per più di 100 righe o giù di lì. Perl e shell sarebbero in cima alla lista. Ma è una questione di preferenze personali. Sono sicuro che le persone che li usano per progetti più grandi hanno i loro modi di gestire la complessità.

    
risposta data 16.02.2011 - 19:23
fonte
1

La programmazione funzionale, che sta diventando sempre più mainstream ogni giorno, in particolare Erlang e i linguaggi basati su JVM, è saldamente basata sulla "programmazione nel piccolo". Per essere gestibili le funzioni devono essere piccole, come dozzine di linee o giù di lì. I programmi in generale tendono ad essere piccoli a causa della sintassi concisa e delle librerie standard incorporate.

Le lingue sono una cosa più difficile su cui mettere una metrica. Python ha così tanto integrato e può fare tante cose in una o due righe a causa della libreria standard "batterie incluse" la maggior parte dei programmi può essere piccola. Si possono avere molte funzionalità in 100 linee di Python se si conoscono i moduli di libreria standard e le funzionalità avanzate della lingua. Lo stesso vale per Groovy, Lua e Ruby e qualsiasi altro linguaggio scritto in modo dinamico.

Tolleranza! = leggibile o mantenibile. Un sacco di cose che possono essere considerate "concise" come lambda, list comprehensions e altre caratteristiche "magiche", sono proprio questo per gli sviluppatori di livello junior. Chi potrebbe essere quello che deve mantenere il tuo "piccolo" programma dopo di te.

Detto questo, l'uso di linee di codice come metrica per qualsiasi cosa di solito è, nel migliore dei casi, una perdita di tempo e, nel peggiore dei casi, è solo sbagliato.

Gli oggetti non sono richiesti per progetti su larga scala, Erlang alimenta switch telefonici con Nove Nove up time , (99.9999999% ) che è 31 ms, sì millisecondi, di tempi di inattività all'anno, che consistono in milioni di righe di codice.

    
risposta data 24.02.2011 - 03:22
fonte

Leggi altre domande sui tag