Che lingua migliori colma il divario tra pseudocodice e codice di programmazione?

voti
11

Mentre scrivo il codice d'ora in poi, ho intenzione di porre first out tutto in bella, pseudocodice leggibile e quindi implementare il programma intorno a tale struttura.

Se Ho rango le lingue che ho attualmente conosco dal più facile al più difficile da tradurre, direi:

Lisp, Python, Lua, C ++, Java, C

So che ogni lingua ha la sua forza e di debolezza, ma mi sto concentrando in particolare su pseudocodice. Che lingua si usa che è più adatto per pseudocodice-to-code? Mi piace sempre raccogliendo nuovi linguaggi. Inoltre, se attualmente utilizza questa tecnica, mi piacerebbe sentire qualche consiglio che avete circa la strutturazione pseudocodice pratico.

Nota: Sento che questo è soggettivo, ma ha una risposta chiara per preferenze individuali. Sto chiedendo questo qui perché la comunità SO ha un pubblico molto ampio ed è probabile che suggerire linguaggi e tecniche che avrei altrimenti non incontrare.

È pubblicato 05/06/2009 alle 01:04
fonte dall'utente
In altre lingue...                            


13 risposte

voti
1

Ho trovato Boo è diventato il mio linguaggio "pseudocodice" durante il test piccole parti di codice per NET. Molto simile ad una sintassi tipo Python.

Risposto il 05/06/2009 a 01:08
fonte dall'utente

voti
15

Darei Python prima, più di Lisp, proprio perché la maggior parte delle persone non scrivere pseudo utilizzando la sintassi paren prefisso :)

Risposto il 05/06/2009 a 01:09
fonte dall'utente

voti
1

È già accennato, ma ..

Python ha una sintassi molto chiara. E 'molto vicino a pseudocodice ed è facilmente leggibile.

Risposto il 05/06/2009 a 01:10
fonte dall'utente

voti
4

Penso che dipende esattamente il sapore pseudocodice. Un sacco di pseudocodice che ho visto in Algoritmi libri di testo si presenta come Pascal ironicamente. Pascal è stato sempre considerato un buon insegnamento langauge.

Risposto il 05/06/2009 a 01:10
fonte dall'utente

voti
6

Pascal era relativery popolare in questo tipo di descrizioni pseudocodice.

Risposto il 05/06/2009 a 01:12
fonte dall'utente

voti
7

Si può essere interessati a Programmazione istruita , dove il "codice sorgente" si scrive è più simile a scrivere un libro, ma è un libro che può essere "Tangled" in codice reale o "tessuto" in documentazione in formato.

Vedi gli esempi forniti da http://www.literateprogramming.com/cweb_download.html .

È inoltre possibile trovare Eiffel interessante:

" ... Eiffel rifugge codifica trucchi o tecniche di codifica intese come suggerimenti di ottimizzazione al compilatore. L'obiettivo è non solo per rendere il codice più leggibile, ma anche per consentire ai programmatori di concentrarsi sugli aspetti importanti di un programma senza impantanarsi in dettagli di implementazione. ..."

Risposto il 05/06/2009 a 01:24
fonte dall'utente

voti
0

Si può provare Actionscript di Flash.

Risposto il 05/06/2009 a 01:31
fonte dall'utente

voti
0

Direi che lua è la migliore per la traduzione da pseudocodice (nella maggior parte dei casi). Fino a quando le variabili sono ben nome, lua può essere facilmente letto dalla maggior parte dei programmatori e la sua piuttosto veloce, come pure!

Risposto il 05/06/2009 a 01:32
fonte dall'utente

voti
2

Qui è un collegamento a quello che credo sia il primo riferimento a Python come "pseudo-codice eseguibile." L'articolo è ristampato dal numero di agosto 2001 del PC di aggiornamento, la rivista di Melbourne PC User Group, Australia.

Risposto il 05/06/2009 a 01:34
fonte dall'utente

voti
1

Credo che hai questo all'indietro, un po '. Il problema di questa domanda è che si tende a scrivere pseudocodice in un'approssimazione della lingua che si sta pensando di usare per il codice vero e proprio. Alzi la mano chi vuole creare un linguaggio pseudocodice che (come Esperanto?) È un amalgama di linguaggi di programmazione comunemente usati.

Risposto il 05/06/2009 a 01:50
fonte dall'utente

voti
0

Sono d'accordo con il commento di Nosredna che Ada assomiglia molto pseudocodice.

Se non ti dispiace tutta la digitazione in più che Ada richiede, penso che sia un grande linguaggio, come il codice in realtà vuol dire quello che dice.

Risposto il 05/06/2009 a 02:38
fonte dall'utente

voti
0

Prolog è qualcosa che non puoi altrimenti incontrare. Si elude la questione del pseudocodice tutti insieme. In un certo senso, non esiste un codice. Ci sono solo i fatti e le regole.

Ad esempio, il predicato append è solo cose che sappiamo sugli elenchi, come segue:
Aggiunta una lista Y per una lista vuota cede Y.

append([], Y, Y).

Se aggiungendo xs alla Ys cede Zs, allora possiamo anteporre lo stesso valore di Xs e Zs e il rapporto deterrà ancora.

append([X|Xs], Ys, [X|Zs]) :- append(Xs, Ys, Zs). 

Non abbiamo effettivamente scritto codice che fa roba. Abbiamo appena detto quello che sappiamo di aggiungendo liste. Ma ora possiamo chiedere Prolog per aggiungere 2 liste:

?- append([1,2],[3,4],Z).
Z = [1, 2, 3, 4].

O dare Prolog un elenco e chiedere a noi mostrare ciò che elenca potremmo aggiungere per ottenere l'elenco di destinazione:

?- append(X,Y,[1,2]).
X = [],
Y = [1, 2] ;
X = [1],
Y = [2] ;
X = [1, 2],
Y = [] ;
Risposto il 28/04/2010 a 02:36
fonte dall'utente

voti
1

sintassi TCL è facilmente il più come pseudo-codice. Comandi funzioni vincenti per leggibilità e per esprimere attività di livello inferiore più tipici di codice assembly. Allo stesso tempo, gli algoritmi di alto livello sono anche molto facile da leggere. L'uniformità della sintassi permette all'utente di concentrarsi sui gradini piuttosto che su manufatti lingua. Vorrei anche dire che la parola chiave "expr" per le operazioni matematiche è un vantaggio, perché delinea chiaramente le parti di matematica del programma dalle parti algoritmiche. Meno simboli sono sovraccarichi, e parole come "set" sono utilizzati al loro posto. Questa è un'altra vittoria per pseudo-codice. Più di ogni altra sintassi, TCL attraversa il divario tra stili funzionali e imperativi.

Risposto il 06/07/2011 a 16:48
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more