Cos’è C?
C è un linguaggio di programmazione sviluppato al Bell Lab nel 1972 da Dennis Ritchie. Il linguaggio C è stato sviluppato con l’obiettivo di scrivere software di sistema. È un linguaggio ideale per lo sviluppo di sistemi firmware.
Il linguaggio C combina le caratteristiche del linguaggio di basso livello e di quello di alto livello. Quindi è considerata una lingua di livello medio.
Cos’è Java?
Java è un linguaggio di programmazione multipiattaforma, orientato agli oggetti e incentrato sulla rete. È tra i linguaggi di programmazione più utilizzati. Java è utilizzato anche come piattaforma informatica ed è stato rilasciato per la prima volta da Sun Microsystem nel 1995. Successivamente è stato acquisito da Oracle Corporation.
DIFFERENZE PRINCIPALI:
- C è un linguaggio di programmazione procedurale mentre Java è un linguaggio orientato agli oggetti.
- C è un linguaggio di livello medio mentre Java è un linguaggio di alto livello.
- C non supporta il threading, d’altra parte Java ha una funzionalità di threading.
- C supporta i puntatori ma Java non supporta i puntatori.
- In C la garbage collection deve essere gestita manualmente mentre in Java viene gestita automaticamente da un garbage collector
- C offre supporto per chiamata per valore e chiamata per riferimento, ma Java supporta solo chiamata per valore.
- Nel linguaggio C l’allocazione della memoria può essere eseguita da malloc mentre in Java l’allocazione della memoria può essere eseguita dalla nuova parola chiave.
Storia del linguaggio C
Ecco alcuni punti di riferimento importanti della storia del linguaggio C:
- Nel 1967 fu annunciato un nuovo linguaggio di programmazione per computer chiamato “BCPL”, che sta per Basic Combined Programming Language.
- Nel 1970 Ken Thompson introdusse un nuovo linguaggio di programmazione chiamato “B” che conteneva molteplici funzionalità di “BCPL”.
- Nel 1972, dopo il linguaggio B, un grande informatico Dennis Ritchie creò un nuovo linguaggio di programmazione chiamato “C” presso i Bell Laboratories.
- L’American National Standards Institute (ANSI) ha definito uno standard commerciale per il linguaggio “C” nel 1989.
- È stato approvato dall’International Standards Organization (ISO) nel 1990
Storia di Java
Ecco alcuni punti di riferimento importanti della storia del linguaggio Java:
- Il linguaggio Java inizialmente si chiamava OAK. Originariamente è stato sviluppato per la gestione di dispositivi portatili e set-top box. Oak è stato un enorme fallimento.
- Nel 1995, Sun cambiò il nome in “Java” e modificò il linguaggio per trarre vantaggio dal fiorente business di sviluppo www (World Wide Web).
- Successivamente, nel 2009, Oracle Corporation ha acquisito Sun Microsystems e ha acquisito la proprietà di tre principali risorse software Sun: Java, MySQL e Solaris.
C vs. Java nella programmazione
Qui ci sono differenze importanti tra C e Java
C | Giava |
---|---|
C è un linguaggio di programmazione procedurale. | Java è un linguaggio orientato agli oggetti. |
C è stato sviluppato da Dennis M. Ritchie nel 1972. | Il linguaggio Java è stato sviluppato da James Gosling nel 1995. |
È un linguaggio di medio livello in quanto colma il divario tra il livello macchina e i linguaggi di alto livello. | È un linguaggio di alto livello perché la traduzione del codice avviene in linguaggio macchina, che utilizza compilatore o interprete. |
Nella dichiarazione C le variabili vengono dichiarate all’inizio del blocco. | In Java puoi dichiarare una variabile ovunque. |
Free è una variabile utilizzata per liberare la memoria in C. | Un compilatore libererà la memoria chiamando il garbage collector. |
C non supporta il threading. | Java ha una funzionalità di threading. |
Puntatori di supporto C. | Java non supporta i puntatori. |
L’allocazione della memoria può essere eseguita tramite malloc. | L’allocazione della memoria può essere effettuata tramite una nuova parola chiave. |
Garbage Collector deve essere gestito manualmente. | In Java viene gestito automaticamente da un garbage collector |
C non ha una caratteristica di funzionalità di sovraccarico. | Java supporta l’overload del metodo. |
C offre supporto per chiamata per valore e chiamata per riferimento. | Java supporta solo una chiamata per valore. |
Lo stipendio medio per uno sviluppatore C è di $ 104.051 all’anno negli Stati Uniti. | Lo stipendio medio per uno sviluppatore Java è di $ 104.710 all’anno. |
Il punteggio TIOBE è 2 | Il punteggio TIOBE è 1 |
Caratteristiche di c
Ecco le caratteristiche importanti di C
- Facile da imparare
- Linguaggio strutturato
- Produce programmi efficienti
- C è un linguaggio di programmazione per computer di base e fondamentale. Se qualcuno conosce il C, imparare altri programmi diventa più facile.
- Linguaggio di programmazione portatile ed estensibile.
- Di piccole dimensioni perché ha solo 32 parole chiave, questo lo rende facile da imparare.
Caratteristiche di Java
Ecco le caratteristiche importanti del linguaggio Java.
- Scrivi il codice una volta ed eseguilo su quasi tutte le piattaforme informatiche
- È progettato per la creazione di applicazioni orientate agli oggetti.
- È un linguaggio multithread con gestione automatica della memoria.
- Facilita il calcolo distribuito in quanto incentrato sulla rete.
Applicazione di C
Ecco alcune importanti applicazioni del linguaggio C:
- Contengono le funzionalità di base di tutto il linguaggio di programmazione
- È possibile apprendere il C per sviluppare capacità di programmazione
- Molto utile per la programmazione dipendente dall’hardware
- Viene utilizzato per la produzione del compilatore.
- Il linguaggio “C” è utilizzato nei sistemi embedded.
- Utilizzare per sviluppare un sistema operativo.
- Viene utilizzato per sviluppare database. MySQL è il software di database più popolare creato utilizzando “C”.
- Viene utilizzato per lo sviluppo di applicazioni di sistema.
- Viene utilizzato per lo sviluppo di applicazioni desktop.
- C viene utilizzato anche per lo sviluppo dei browser e delle relative estensioni. Ad esempio, Chromium di Google.
- Utilizzato comunemente nelle applicazioni IoT.
Applicazioni di Java
Ecco alcune importanti applicazioni del linguaggio Java:
- App Android
- Software aziendale
- Applicazioni del calcolo scientifico
- Analisi dei Big Data
- Programmazione Java di dispositivi hardware
- Utilizzato per tecnologie lato server come Apache , JBoss, GlassFish, ecc.
Vantaggi di c
Ecco i vantaggi/vantaggi del linguaggio C:
- Linguaggio procedurale
- Velocità di compilazione
- Il codice del programma è protetto
- Il programma C può essere facilmente eseguito su un altro computer senza alcuna modifica o apportando una piccola modifica.
- Il codice del linguaggio o la sintassi del C sono facili da comprendere. Utilizza una parola chiave come if, else, switch, ecc.
- Il compilatore C è veloce rispetto ad altri compilatori di linguaggio avanzato.
- È più efficiente del codice non strutturato perché crea ramificazioni ridotte al minimo del codice.
- La manutenzione del codice C è semplice grazie alla leggibilità del codice.
- Elemento fondamentale per molti altri linguaggi di programmazione
- Linguaggio potente ed efficace
- Lingua portatile
- Funzioni integrate
- La qualità per estendersi
- Linguaggio di programmazione strutturato
- Linguaggio di livello medio
- Facile implementazione di algoritmi e strutture dati
Vantaggi di Java
Ecco i vantaggi/pro dell’utilizzo di Java
- È disponibile la documentazione dettagliata.
- È disponibile un ampio pool di sviluppatori qualificati
- Una vasta gamma di librerie di terze parti
- Ti consente di formare programmi standard e codice riutilizzabile.
- È un ambiente multi-thread che consente di eseguire più attività contemporaneamente in un programma.
- Performance eccellente
- Biblioteche facili da navigare
Svantaggio di C
- Il C non offre il concetto di OOP
- Nel linguaggio di programmazione C , gli errori o i bug non rilevati dopo ogni riga di codice.
- Non è possibile definire una variabile con lo stesso nome in C.
- È un linguaggio macchina piccolo e fondamentale che offre un occultamento minimo dei dati e una visibilità esclusiva che influisce sulla sicurezza di questo linguaggio.
- C non ha il concetto di namespace, costruttore e distruttore.
- Il controllo del tipo di runtime non è disponibile
Svantaggio di Java
Ecco i contro/svantaggi dell’utilizzo del linguaggio Java
- Il compilatore JIT rende il programma relativamente lento.
- Java ha requisiti elevati di memoria ed elaborazione. Pertanto, il costo dell’hardware aumenta.
- Non fornisce supporto per costrutti di programmazione di basso livello come i puntatori.
- Non hai alcun controllo sulla garbage collection poiché Java non offre funzioni come delete(), free().
fonte: https://www.guru99.com/difference-between-java-and-c.html