Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Concetti sulla programmazione

    Cercano su internet se ne trovano tante di definizioni, ma vorrei che mi riusciste a fare dei collegamenti ordinati e sensati tra queste parole:

    -Compilatore
    -Interprete
    -Codice sorgente
    -Codice oggetto
    -Linker

    Non vorrei semplici definizioni, come detto prima se mi potreste fare un piccolo favore, siccome ho appena cominciato a studiare programmazione, e non ho capito bene, perciò se mi faceste un bel collegamento tra questi concetti con parole vostre mi fareste un gran favore

  2. #2
    Partendo dai primi due la loro differenza principale è che il compilatore traduce un intero programma dal linguaggio sorgente al linguaggio macchina mentre l' interprete traduce e immediatamente esegue il programma istruzione per istruzione. I linguaggi nuovi oramai utilizzano tutti gli interpreti.
    Poi passiamo agli altri tre:
    Tu quando scrivi un programma scrivi un programma sorgente(cioè in formato testo) che viene trasformato prima in assembler e poi in programma oggetto(cioè in formato binario)
    Ora che abbiamo il file oggetto(possono essercene anche di più) interviene il linker che unisce questi file oggetto per trasformarli in eseguibili aggiungendo le informazioni necessarie per essere eseguito dal sistema operativo.

    Questo più o meno a grandi linee quando scrivi un programma
    Haters gonna hate

  3. #3
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Originariamente inviato da Automatik
    ...
    I linguaggi nuovi oramai utilizzano tutti gli interpreti.
    ...
    Falso, sono quasi tutti compilati in un certo bytecode e poi questo è dato in pasto ad una macchina virtuale, quindi si può addirittura affermare che siano compilati, se si prende come linguaggio macchina quello della macchina virtuale!

    Questo è un miscuglio delle due tecniche: un compromesso fra portabilità ed efficenza...

    Edit: E' pur vero che in alcune implementazioni le due fasi vengono eseguite dallo stesso programma (il così detto interprete) e non esiste un programma separato (il compilatore) che permetta solo di compilare...
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  4. #4
    Di passaggio sorgente -> compilatore -> moduli oggetto -> linker si è parlato tante volte, basterebbe fare una ricerca... ad esempio vedi qui.
    Originariamente inviato da Scara95
    Falso, sono quasi tutti compilati in un certo bytecode e poi questo è dato in pasto ad una macchina virtuale, quindi si può addirittura affermare che siano compilati, se si prende come linguaggio macchina quello della macchina virtuale!
    Addirittura, su piattaforme come JVM o .NET, il bytecode è JIT-compilato al momento dell'esecuzione, ovvero non è interpretato dalla macchina virtuale (alla Python), ma è compilato sul momento in codice nativo della macchina corrente.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Originariamente inviato da MItaly
    Di passaggio sorgente -> compilatore -> moduli oggetto -> linker si è parlato tante volte, basterebbe fare una ricerca... ad esempio vedi qui.
    Grazie, per le spiegazioni.

    Ho provato a cercare un po su google ma niente di comprensibile..

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Originariamente inviato da AndreaFX
    Grazie, per le spiegazioni.

    Ho provato a cercare un po su google ma niente di comprensibile..
    Su google c'è tanto di comprensibile ... è ovvio che bisogna valutare anche cosa intendi con "comprensibile" ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.