|
|
|
|
Strumenti |
07-02-2006, 19:27 | #21 | |||||
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7122
|
Quote:
.NET funziona nativamente su tutti i processori x86 e può essere interpretato sugli altri! c'è già la versione per MacOS di mono, e quella per i sistemi solaris/sparc è in beta. Quote:
poi non c'è solo VB.NET e VC++.NET! ti consiglio di dare un'occhiata al C#, perchè è considerato uno dei migliori linguaggi (EDIT: di quel tipo) disponibili (infatti non è uscito dal turbante di bill)! Quote:
Quote:
Quote:
Ultima modifica di k0nt3 : 07-02-2006 alle 19:45. |
|||||
07-02-2006, 20:49 | #22 |
Member
Iscritto dal: Aug 2005
Messaggi: 133
|
Scusate, ho lavorato in un negozio di pc, in due anni ho visto solo 2 pc con linux e nessuno dei clienti mi ha chiesto <<"mi potrebbe installare mandriva (o qualsiasi altro S.O. linux) nel mio pc">> nonostante sia un S.O. gratuito, tutti si accontentano di spendere 100 euro per la licenza WIN, deduco che linux & co. sono S.O. poco utilizzati dalla "popolazione comune" motivo del quale su linux si trovano poki gioki e tutte le case produttrici elaborano prg, giochi, utility, etc. per Win, ora nn voglio dire ke il linux nn deve essere preso in considerazione però per i tempi ke corrono penso ke sia più indicato programmare su "piattaforma" WIN.
Scusate se mi sono espresso male. |
07-02-2006, 21:28 | #23 |
Senior Member
Iscritto dal: Dec 2004
Messaggi: 1218
|
io consiglio il C.
__________________
Athlon64 3500 (Winchester), Asus A8V-E Deluxe, X700Pro 256MB, Maxtor 200GB Sata,Ali Enermax 400W, Mast. Pionner 109,Lettore dvd LG, Creative 2.1 3200, LG 1980q, Canon Pixma mp500. |
07-02-2006, 21:55 | #24 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
Linux non vedrai mai chiedertelo. Chi lo usa è gente che se lo sa installare da solo e difficilmente ricorre alle assistenze tecniche. |
|
07-02-2006, 22:40 | #25 |
Member
Iscritto dal: Aug 2005
Messaggi: 133
|
Sono daccordo x la stabilità di linux, ma trovami doom3 o call of duty 2 che girano su tale S.O.
|
07-02-2006, 22:41 | #26 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7122
|
Quote:
|
|
07-02-2006, 22:42 | #27 |
Member
Iscritto dal: Aug 2005
Messaggi: 133
|
ancora peggio per MAC
|
07-02-2006, 22:45 | #28 |
Member
Iscritto dal: Aug 2005
Messaggi: 133
|
cmq potrei iniziare con Visual C# (tipo VB) e fare da subito "stupide" applicazioni tipo sommare due numeri.... e da lì approfondire il C?
|
07-02-2006, 22:53 | #29 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7122
|
Quote:
inizi appunto con un programma che ti chiede due numeri dal prompt di dos, li somma e poi ti mostra il risultato.. |
|
07-02-2006, 23:01 | #30 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7122
|
nel caso potrebbe interessarti questo link che spiega come compilare un programma scritto in C http://cplus.about.com/od/compilersandide1/
Ultima modifica di k0nt3 : 07-02-2006 alle 23:07. |
08-02-2006, 00:06 | #31 | |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13826
|
Quote:
L' ANSI C è universale, è vero, ma quando si inzia a sconfinare un po' oltre , ossia si inizia a sviluppare programmi un "pochino" più complessi col C non si scappa, bisogna usare le API del sistema operativo. Vuoi aprire un socket in C ? Sotto i sistemi POSIX dovrai fare in un modo, sotto altri sistemi in un altro. Vuoi gestire nuovi processi? (ad esempio fare un fork() di un processo) POSIX lavora in un modo, windows in un altro. Insomma, anche per cose abbastanza basilari il C non è dopotutto così universale Infatti il livello di astrazione che offre il C , comparato ad altri linguaggi , per così dire, "un po' più ad alto livello" (per usare un espressione che ho letto nella discussione sui livelli della programmazione che va molto in voga in questi giorni ) , non è molto elevato . Dici che se uno impara ad aprire socket in Java , non impara ad aprire sockets? Ti dirò la verità, non ho mai aperto un socket in Java e non ho la minima idea di come si faccia , però , se si chiama socket, significa che condividerà una certa logica di funzionamento con quest' ultimo . Bisognerà (Ipotizzando che sia un SOCK_STREAM , PF_INET ) impostare una porta, un indirizzo (ma forse questo se lo imposta da solo) e metterlo in ascolto fino a che qualcuno dall' altra parte non richiede una connessione e a quel punto puoi usarlo per comunicare con l'altro capo. Questo è il concetto base di socket, se impari che un socket lavora in questo modo credo che puoi usarlo su ogni piattaforma e linguaggio (imparandone le interfacce specifiche ad ognuno) . In C l'unica differenza è che per aprirlo (sotto POSIX) devi chiamare socket() , bind() , listen() , accept() scomodare almeno 3 strutture dati piuttosto complicate ( 2 sockaddr_in e 1 hostent in complesso per client e server ) inoltre quando imposti l'indirizzo della macchina e la porta devi fare in modo di convertire, con le funzioni htonl() e htons() i numeri INT da usare come porta e specificatore di indirizzo da little-endian (host order per gli x86) a big-endian ( network order) . Inoltre se vuoi lavorare con più sockets in contemporanea devi persino scomodare fork() e tutta l'infrastruttura multi processo del sistema operativo. Personalmente non credo che sia tutto ciò più educativo , forse è solo più complicato (anzi, forse impossibile per uno alle prime armi ed autodidatta, bisogna pensare anche questo , non c'è nessuno che gli spiega ) . Per me tutto ciò può solo scoraggiare e , se la passione iniziale non è sufficiente, far abbandonare il progetto di imparare escludendo così anche la possibilità di aumentare ancora di più la propria passione. Vedere che le cose che si fanno funzionano e che non sono solo "Hello World" a schermo o un algoritmo di ordinamento per array può essere utile per imparare più di quanto lo sia effettivamente apprendere da subito gli idiomi del C puro (che tra l'altro sono tramandati anche nel C++ / Java e tutti i linguaggi che hanno preso spunto dal C) Ovviamente questo è solo il mio personalissimo (e criticabilissimo) pensiero Ciao
__________________
GPU Compiler Engineer |
|
08-02-2006, 00:08 | #32 | |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13826
|
Quote:
Doom3 gira su linux in maniera Nativa ( c'è installer sul sito della ID ). Call of Duty 2 non lo so , ma potrebbe esserci la possibilità che giri sotto Cedega , che è un layer di traduzione on the fly Direct3D->OpenGL fortemente basato su Wine . [/OT] Ciao
__________________
GPU Compiler Engineer |
|
08-02-2006, 01:20 | #33 | |
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
Comunque, visto quanto sono banali le socket da gestire in Java e quanta roba si deve sapere invece in C (sotto Posix), io credo che una volta che si comincia in Java poi tornare indietro ci si ammazza e si rischia di rinunciare. In ogni caso, per uno che sta a digiuno di programmazione, non credo neanche che Java sia tutta questa semplicità. Anzi. E poi, sarai d'accordo con me, cosa c'è di piu' istruttivo (forma mentis parlando) che risolvere quel bastardo messaggio che ottengono tutti quelli che scrivono in C durante la prima esecuzione del proprio programma: "Segmentation Fault". Io per quel maledetto messaggio mi sono convinto a imparare a usare un debugger... gdb per la precisione... |
|
08-02-2006, 09:47 | #34 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7122
|
se uno inizia in java deve capire cos'è un oggetto prima ancora di imparare a usare i cicli, gli if-then-else, le funzioni, le variabili, i parametri per riferimento, quelli per valore... no è assurdo!
@AnonimoVeneziano: dici che il C non ti ha fatto imparare niente... ti sbagli di grosso! senza il C non avresti avuto le basi per imparare Java come l'hai imparato! poi quando dici "Personalmente non credo che sia tutto ciò più educativo , forse è solo più complicato (anzi, forse impossibile per uno alle prime armi ed autodidatta, bisogna pensare anche questo , non c'è nessuno che gli spiega )." beh prima di tutto se PeppinoX non riesce a capire qualcosa può sempre tornare a postare qui! secondo.. internet è una fonte inesauribile di tutorials! infine non c'è bisogno che PeppinoX arriva a capire come funzionano i socket! l'importante è che riesce ad avere una certa padronanza del C, dopodichè può iniziare a studiarsi gli oggetti e passare a un linguaggio Object Oriented! guarda che a te sembra banale il concetto di oggetto... ma per uno che inizia non lo è affatto! |
08-02-2006, 10:12 | #35 | |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13826
|
Quote:
Questo per rispondere un po' a tutti coloro che hanno letto e replayato al mio post: Ovviamente qua si finisce in un circolo vizioso perchè noi, che ormai a programmare qualcosina abbiamo già imparato, tendiamo a dimenticarci le difficoltà e i pensieri dei primi periodi e ciò sicuramente non ci aiuta a metterci nei panni di PeppinoX per giudicare AL MEGLIO quale sia il consiglio più adatto da dargli . Ovviamente un metodo è partire dal classico, ossia il C . Un altro metodo potrebbe essere quello di farlo partire da un linguaggio con strutture sintattiche e di raggruppamento un po' più complesse. Ovviamente per il motivo spiegato poco sopra non sono in grado di valutare bene se ciò che gli consiglio sia giusto oppure no, però io ho fatto questo ragionamento : La programmazione orientata agli oggetti può essere considerata ostica ad alcuni anche perchè come primo approccio hanno avuto a che fare con un linguaggio che ne è completamente sprovvisto ed , anzi, sembra quasi consigliare di piazzare tutto il codice in meno istruzioni possibili e nel main ( Quei bei programmi C da Hackers che concentrano 30 istruzioni in un unica riga totalmente illeggibile ) e quindi può sembrare inutile o ridondante ad un principiante appena uscito dal C (Il che la rende più difficile da apprendere). Ripeto: la mia è solo una considerazione personale e può essere totalmente cannata Nonostate tutto anche con Java non è necessario partire subito dal concetto di classe. Dopotutto all' inizio basta imparare che il metodo principale del programma , il main, deve essere messo all' interno di due parentesi graffe precedute da una strana dicitura "class NomeProgramma" senza interessarsi minimamente di cosa voglia dire. Imparare poi i concetti base, variabili, cicli for, while ... blah blah ... e poi capire cosa realmente significava quel "class" Ciao
__________________
GPU Compiler Engineer |
|
08-02-2006, 10:13 | #36 | |
Senior Member
Iscritto dal: Aug 2001
Città: San Francisco, CA, USA
Messaggi: 13826
|
Quote:
Ore buttate davanti al GDB per capire che .... QUELLA STRUTTURA LA DEVI INIZIALIZZARE!!
__________________
GPU Compiler Engineer |
|
08-02-2006, 10:29 | #37 | |||
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7122
|
Quote:
Quote:
Quote:
detto questo ho esaurito gli argomenti byez |
|||
08-02-2006, 11:20 | #38 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12091
|
Quote:
la mentalità del Java e della programmazione OO è quella giusta in ambito lavorativo. Invece si deve "sconfiggere" la programmazione procedurale.... e ti posso assicurare che dopo aver lavorato per anni in linguaggi non object oriented imparare a programmare in modo OO è abbastanza pesante dato ke devi disimparare quello ke hai utilizzato per molto tempo e ke ormai era diventato una parte del tuo stile di programmazione. Per questo motivo io suggerirei ad uno ke si approccia per la prima volta alla programmazione di iniziare direttamente con l'approccio ad oggetti e di lasciare perdere totalmente la programmazione procedurale...per quella c'è sempre tempo se avrà tempo da perdere in futuro... ma ormai non è per nulla richiesta.... seguendo la tua logica ad esempio si potrebbe dire che bisogna imparare a programmare in assembly perchè in questo modo vedi come realemente come funziona tutto... ma per un programmatore moderno non c'è nulla di piu' sbagliato... se ci sono delle API che ti offrono un astrazione dell'hardware non vedo perchè non utilizzarle, magari documentandosi sui vantaggi e gli svantaggi delle varie implementazioni. Per concludere... io voto per Java/C# o Python Inoltre, per uno che sta a 0 di programmazione, quanto meno deve comprarsi un libro, non si può dipendere dai tutorial in rete. Un libro esaustivo è davvero il minimo. Quindi (sempre IMHO) trovo scorretto consigliare Java solo perchè si trovano parecchi tutorial in rete. Anche perchè per C ci si trovano addiruttura gli standard. Se vuoi imparare OpenGL, per esempio, devi conoscere C, non Java. Se vuoi imparare OpenMP devi conoscere C, non Java. Se vuoi imparare la network programming cn le palle, devi conoscere C, non Java. Questo è il succo del mio ragionamento.[/quote]
__________________
|
|
08-02-2006, 11:28 | #39 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12091
|
Quote:
Come ho detto prima altrimenti dopo aver imparato il C si troverà a disimparare delle cose che ormai gli sembravano naturali per imparare la programmazione ad oggetti... Risultato: 1)Grande fatica ad imparare il C con tutti i suoi vari casini e peculiarità 2)fatica per disimparare quello ke ha imparato e nuovo sforzo per imparare la programmazione ad oggetti Quindi non mi pare una cosa tanto furba iniziare dal C.....
__________________
|
|
08-02-2006, 12:28 | #40 | |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7122
|
Quote:
1) fare programmi semplici per capire come funziona un linguaggio di programmazione in C non è per niente difficile! es. somma di 2 numeri: Codice:
#include <stdio.h> int main() { int a,b; printf("inserisci un numero: "); scanf("%d", &a); printf("inseriscine un altro: "); scanf("%d", &b); printf("la somma dei due numeri è: %d\n", a+b); return 0; } 2) perchè le variabili non ci sono in java? e i cicli? le funzioni (lì si chiamano metodi)? e poi la sintassi di java è c-like che tu lo voglia o no, per cui passare a java non è così difficile! inoltre la programmazione ad oggetti ha bisogno di una base di programmazione procedurale per poter essere capita! sarebbe veramente assurdo partire da concetti così avanzati per imparare a programmare IMHO! |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:53.