Se dovessi progettare un linguaggio di programmazione, come lo faresti? Quali funzionalità vorresti inserire? Cosa vorresti lasciare fuori? Digitato staticamente o dinamicamente? Scritto fortemente o debolmente? Compilato o interpretato? Giustifica le tue risposte.
Di recente ho scoperto Design by Contract (DbC) e lo trovo un modo estremamente interessante per scrivere codice. Tra l'altro, sembrerebbe offrire: Migliore documentazione. Poiché il contratto è la documentazione, è impossibile che uno non sia aggiornato. Inoltre, poiché il contratto specifica esattamente cosa fa una routine, aiuta a supportare …
La maggior parte dei linguaggi di programmazione (sia linguaggi dinamici che statici) hanno parole chiave e / o sintassi speciali che sembrano molto diverse dalla dichiarazione delle variabili per la dichiarazione delle funzioni. Vedo le funzioni come dichiarare un'altra entità denominata: Ad esempio in Python: x = 2 y = …
Go è una delle poche lingue che dovrebbero funzionare "vicino al metal", ovvero è compilata, digitata staticamente ed esegue il codice in modo nativo, senza una VM. Ciò dovrebbe dargli un vantaggio di velocità rispetto a Java, C # e simili. Sembra, tuttavia, che sia dietro Java (vedi il linguaggio …
Mi piace molto la gestione della memoria basata sull'ambito (SBMM) o RAII , in quanto viene più comunemente (confusamente?) Indicato dalla comunità C ++. Per quanto ne so, ad eccezione di C ++ (e C), non esiste nessun altro linguaggio corrente oggi in uso che rende SBMM / RAII il …
Lo scopo di questa domanda non è quello di mettere insieme un elenco completo di funzioni del linguaggio di programmazione senza le quali non puoi vivere o che vorresti fosse nella tua lingua principale preferita. Lo scopo di questa domanda è quello di mettere in luce gli angoli del design …
Poiché è spesso classificato a livello di scuola / college, i linguaggi di programmazione popolari (C #, Java, C ++) sono tutti linguaggi di terza generazione (con un livello più elevato di astrazione dalle parti fisiche della macchina). Inoltre, le lingue di assemblaggio sono classificate come lingue di seconda e …
Anche i linguaggi in cui hai una manipolazione esplicita del puntatore come C viene sempre passato per valore ( puoi passarli per riferimento ma non è il comportamento predefinito). Qual è il vantaggio di questo, perché tante lingue sono passate per valori e perché altre sono passate per riferimento ? …
Quando si progetta un proprio linguaggio di programmazione, quando ha senso scrivere un convertitore che prende il codice sorgente e lo converte in codice C o C ++ in modo che io possa usare un compilatore esistente come gcc per finire con il codice macchina? Ci sono progetti che utilizzano …
Di recente ho iniziato a guardare allo sviluppo di Android. Questo mi ha riportato nel mondo dello sviluppo del software Java. L'ultima volta che ho lavorato con Java, lo ammetto, non ho capito OOP quasi quanto (penso) lo faccio ora. Avendo usato principalmente C # nella mia carriera, noto una …
Ho riflettuto per un po 'sul perché Java e C # (e sono sicuro che altre lingue) di default fanno riferimento all'uguaglianza ==. Nella programmazione che faccio (che certamente è solo un piccolo sottoinsieme di problemi di programmazione), quasi sempre voglio l'uguaglianza logica quando si confrontano gli oggetti anziché l'uguaglianza …
Molti dei linguaggi di programmazione più popolari (come C ++, Java, Python ecc.) Hanno il concetto di nascondere / oscurare variabili o funzioni. Quando ho incontrato nascondigli o ombre sono stati la causa di bug difficili da trovare e non ho mai visto un caso in cui ho trovato necessario …
In una discussione sui metodi statici e di istanza, penso sempre che Sqrt()dovrebbe essere un metodo di istanza di tipi numerici anziché un metodo statico. Perché? Ovviamente funziona su un valore. // looks wrong to me var y = Math.Sqrt(x); // looks better to me var y = x.Sqrt(); I …
Voglio sapere perché .compareTo()è Comparablenell'interfaccia mentre un metodo simile .equalsè nella Objectclasse. A me sembra arbitrario il motivo per cui un metodo simile .compareTo()non è Objectgià nella classe. Per usare .compareTo(), implementate l' Comparableinterfaccia e implementate il .compareTo()metodo per i vostri scopi. Per il .equals()metodo, devi semplicemente sostituire il metodo …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.