Oppure

Loading
27/04/10 14:38
mg
Premessa: ho iniziato anni fa a scrivere semplici programmini in vb5 che utilizzo tutti i giorni per lavoro. Con Vista non è più possibile installare visual bascic 5. A Tali programmini, che spesso richiedono aggiornamenti, accedo ora con una macchina virtuale su cui ho installato windows 2000.

Ora, pian pianino, sto passando a C#.

Leggo che il framework è una piattaforma per lo sviluppo di molte applicazioni scrivibili in diversi linguaggi (C# - Vb.net - ... ) con innumerevoli vantaggi. Mi sembra di aver capito che i programmi vengono tradotti in un linguaggio intermedio che permette fondamentalemnte la possibilità di utilizzare dll scritte in diversi linguaggi e rende i programmi indipendenti dal s.o. . La piattaforma però si appoggia al s.o. e quindi da esso dipende.

Mi chiedo, se in futuro non potessi installare il framework 3.5 (quello che sto utilizzando) su un nuovo sistema operativo, ritornerei al problema iniziale? Essite questa possibilità, è probabile?

Sicuramente ho espresso concetti non completi ma penso il nocciolo della situazione possa essere intuito.

aaa
27/04/10 14:57
Il Totem
In effetti il Framework .NET è un po' una contraddizione. Gli assemblies vengono compilati in linguaggio intermedio, come hai ben detto, con l'intenzione di essere indipendenti dal linguaggio usato (quindi molto riusabili come codice) e sono in effetti eseguiti da alcuni componenti del framework, rendendo i linguaggi .NET quasi interpretati. Questa astrazione è simile come concetto a una macchina virtuale o a un semplice interprete: tuttavia viene imposto come vincolo ciò che questi ultimi non hanno per definzione, ossia la necessità di un dato sistema operativo.
Il problema, quindi, esiste ed è molto ostico il più delle volte. Non puoi eseguire un programma .NET su una macchina sprovvista del framework .NET. Non è il massimo della portabilità, ma su Linux è disponibile Mono (ed il rispettivo IDE MonoDevelop), che emula il CLR del framework, permettendo l'esecuzione di suddetti programmi.

P.S.: se ti interessa la disponibilità di linguaggi .NET, ci sono: C#, VB.NET, J#, F#, Delphi.NET, Visual C++.NET, IronPhyton, IronRuby.
Ultima modifica effettuata da Il Totem 27/04/10 14:59
aaa
27/04/10 15:24
mg
Postato originariamente da Il Totem:
...
Il problema, quindi, esiste ed è molto ostico il più delle volte. Non puoi eseguire un programma .NET su una macchina sprovvista del framework .NET. Non è il massimo della portabilità, ma su Linux è disponibile Mono (ed il rispettivo IDE MonoDevelop), che emula il CLR del framework, permettendo l'esecuzione di suddetti programmi.
...


Quindi il concetto base è che il framework deve poter essere installato sul s.o. (che poi sia win / linux). Se non è possibile installarlo (magari fra 10 anni) --> studiare nuovo linguaggio di programmazione! (o usare macchina virtuale / dual boot...) :d

grazie della risposta

aaa
27/04/10 16:53
nessuno
Beh ... non mi preoccuperei molto ...

In realtà è la stessa cosa per Java, se non hai installato il runtime, non esegui il programma ...

La Microsoft punta molto sul framework e non penso che il framework non sarà più supportato in futuro. Puoi tranquillamente continuare a sviluppare.

Naturalmente è possibile che alcune singole caratteristiche diventino obsolete, ma questa è un'altra storia.
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
27/04/10 17:50
netarrow
Quello a cui vuole arrivare MS è basare l'intero sistema operativo sul framework.

Ora grosso modo l'ordine è

CRL
OS
Hardware

Con singularity la MS punta ad avere

OS
CRL
Hardware

Scrivendo kernel, driver e compagnia con codice gestito.

Quindi è evidente che in un futuro ambiente del genere le classiche user-application .NET non potranno che funzionare, o al limite essere aggiornate, agevolmente (o per lo meno più agevolmente delle applicazioni COM-Win32).
aaa