2010-04-09 14 views
5

Stavo cercando un po 'per un altro linguaggio indipendente dalla piattaforma come Java.
Ci sono altri P.I. le lingue?Lingue indipendenti dalla piattaforma

Grazie

+0

Ogni linguaggio di scripting deve essere indipendente dalla piattaforma. –

+2

@Martijn Congratulazioni per l'avvio così giovane. Ti auguriamo tutto il meglio. –

+0

@Christy: Grazie! Sto programmando già da tre anni. –

risposta

14

Piattaforma indipendente non è un termine perfettamente definito. Può significare cose diverse per persone diverse. Per esempio, alcune persone hanno detto che C è PI, altri direbbero che non lo è. A volte, le persone fanno un sacco di problemi per far funzionare il codice C con configure (1) in modo che possa essere compilato su molte piattaforme diverse. Ciò significa che si può scrivere indipendentemente dalla piattaforma C, ma non tutti i C sono indipendenti dalla piattaforma?

Forse Java (+ altro software che gira su JVM) è considerato PI perché definiscono una piattaforma, e spetta a diverse macchine implementare tale piattaforma. Ma non sempre lo fanno correttamente - per esempio, alcune JVM (in particolare le prime) hanno bug che altri (su altre piattaforme) non hanno. E naturalmente puoi scrivere java non puro che si collega al codice nativo, certamente non indipendente dalla piattaforma.

Diverse risposte hanno suggerito che i linguaggi di scripting sono indipendenti dalla piattaforma. Dillo a chi scrive javascript e vuole che funzioni su IE6, IE7, FF, Chrome, Safari, ecc.!

Quindi spetta a te dire altro su cosa intendi per "Platform Independent", o perché lo chiedi.

+1

Esatto. L'indipendenza dalla piattaforma non ha nulla a che fare con il linguaggio stesso, ma con le ** implementazioni ** di esso. Prendi un linguaggio "non indipendente dalla piattaforma" e implementalo su tutte le piattaforme del mondo. Ora è indipendente dalla piattaforma. – Pacerier

+0

Java non puro? Cos'è quello? – Ungeheuer

2

Ruby, Lisp, Scheme, Scala, Clojure, Python, Perl, PHP, C# (via Mono) ...

Onestamente, l'elenco potrebbe continuare a crescere. È molto più semplice restringere la definizione di piattaforma indipendente o chiedere quali lingue sono dipendenti dalla piattaforma.

2

Potrebbe essere più semplice elencare le lingue dipendenti dalla piattaforma.

+0

Non proprio, perché le lingue poco supportate sono più comuni ... XD – YoYoYonnY

3

Dipende da cosa si intende con la piattaforma indipendente:

  • compileable su qualsiasi piattaforma con lo stesso codice sorgente: quasi tutte le lingue
  • copia su una piattaforma diversa e si esegue immedatly: Ogni linguaggio di scripting e Java e. NET per piattaforme con framework (JRE e .NET/mono).
+1

-1 perché: a) quasi tutte le lingue verranno compilate su qualsiasi piattaforma con lo stesso codice sorgente? stai scherzando, vero? b) Mono non è un'implementazione completa di .NET (poiché .NET contiene funzionalità specifiche di Windows come System.Windows.Forms) quindi è fuorviante descriverlo come una soluzione .NET multipiattaforma. Se avessi detto C# (la lingua) piuttosto che .NET (la piattaforma) staresti bene ... – mikera

2

Perl, php, schema, lisp, LOLCODE. Le lingue più interpretate sono davvero.

1

Java è indipendente dalla piattaforma perché funziona su Java Virtual Machine (jvm). Ci sono altri linguaggi che funzionano su jvm, tutti ovviamente sono anche PI. Scala è un esempio.

0

Quasi ogni lingua è in qualche modo indipendente dalla piattaforma, grazie ai venditori o alla comunità.

C/C++ (Boost, QT, ecc), C#/Java, Vala, Python/Rubino/Perl, PHP ecc ecc, tutte queste lingue sono indipendenti dalla piattaforma, l'unica differenza è che alcuni vengono ricompilati per la piattaforma secondo, alcuni sono in esecuzione su un framework e gli altri sono lingue interpretate.

0

Abbastanza molto qualsiasi linguaggio può essere PI se qualcuno scrive un livello per eseguirlo su cui astrae l'hardware sottostante.

Al contrario, la piattaforma ogni richiede che qualcuno scriva tale livello prima che la lingua "PI" possa essere eseguita su di esso.

1

Se si intendono i compilatori per codice indipendente dalla piattaforma (come Java VM per linguaggio Java) è possibile cercare CIL/MSIL (per C# e altri .Net-based) e LLVM (macchina virtuale di basso livello, suppongo che sia possibile trovare compilatori per C e Haskell).

1

Il mio suggerimento è Scala. Puoi utilizzare tutte le API Java su JVM e hai un linguaggio più conciso, più potente e più pulito.

+0

+1 per Scala. Anche Clojure, Groovy sono grandi linguaggi JVM portatili – mikera

Problemi correlati