Ci sono moltissimi linguaggi di programmazione:
C, C++, Java, PHP, Ruby, Python, Perl, Lisp, Prolog, Erlang, Haskell, Scheme, C#, VB.NET, Scala, Objective-C, JavaScript, Pascal, ...
solo per citare i principali che un bravo programmatore dovrebbe conoscere.
Il problema e' che ogni linguaggio ha un suo specifico ambito di utilizzo.
Se vuoi implementare un social network, ti serve imparare tutto quello che serve per realizzare applicazioni per il Web, o, come si dice oggi, per il
Web 2.0
Nel tuo caso, devi studiare ed imparare:
per il lato client, cioe' per la parte dell'utilizzatore del social network:
- HTML
- CSS
- Javascript nelle varianti per Safari, Firefox, Internet Explorer, Chrome, Opera, Android, iPhone
- diverse librerie in Javascript come jQuery, Scriptaculus, Prototype ...
- Ajax
per il lato server, uno dei seguenti linguaggi
- PHP
- Ruby on Rails
- Python
- Java
ed almeno uno dei framework basati su tali linguaggi:
http://en.m.wikipedia.org/wiki/Comparison_of_web_application_frameworks
e come Web Server, almeno Apache Web Server.
Ti servira' un database. Quindi devi studiare un po' di teoria relazionale dei dati, ed il funzionamento di almeno PostgresSQL oppure MySQL.
Devi conoscere anche un po' di XML, XSL,.
Ovviamente TCP/IP ed in particolare come funziona l'HTTP, cioe' il protocollo di rete su cui tutto il Web e' basato.
In aggiunta a tutto questo, serve conoscere tecniche di programmazione abbastanza raffinate: e' evidente che implementare un social network, acceduto da molte persone (non neccessariamente milioni) non e' solo una pura questione di potenza di calcolo e quindi di computer messi in rete, ma anche di strategie implementative che fanno si che l'utente A non venga rallentato da quello che fa l'utente B.
Altro argomento importante e' sapere come realizzare un sito Web accativante, con bei colori e ben strutturato, senza errori ortografici , in modo che l'utente sia invogliato a tornare.
E questo tanto per iniziare.
Ti sembra tanto?
Allora riduciamo tutto ai minimi termini, cioe' il minimo da sapere se non altro per capire in che vespaio ti stai per infilare:
HTML, CSS, Javascript, PHP, Apache Web Server,
visto poi che e' quello che sapevano i fondatori di Facebook, Mark and co.
Ed ovviamente, l'IDEA GENIALE da realizzare.
Il resto arrivera' di conseguenza.
Quindi:
il primo passo e' il seguente: una volta che il PC ti e' arrivato, ti conviene crearti una virtual machine con VirtualBox e Linux
Il secondo passo e' installare Apache, Mysql, PHP.
Il terzo passo, iniziare a fare qualche esperimento
Non trascurando il fatto che ti servono
libri su cui studiare. Non sperare minimamente di trovare tutto quello che ti serve su Internet. Internet e' l'equivalente di una discarica: c'e' tutto, ma talmente mescolato a cose inutili, inesatte, strafalcioni, che e' praticamente impossibile imparare qualcosa se uno non sa gia' che cosa cercare. Un libro ha un capo, una coda, e gli argomenti trattati sono trattati in modo organico, un passo alla volta. Ogni capitolo e' basato su quanto e' stato spiegato al capitolo precedente.
Altro piccolo dettaglio: devi saper leggere l'inglese.
Ci sono molti testi in Italiano scritti da italiani, o traduzione di testi in Inglese. Ma i libri piu' interessanti sono solo in inglese.
Il motivo e' ovvio: se uno vuole programmare, deve necessariamente conoscere l'inglese, visto che il 99% dell'infomatica e' in inglese: manuali, tutorial, documentazione, ...
Consiglio: non trascurare lo studio (superiori ed universita'): se ora hai un'idea geniale, con adeguate competenze la tua idea potra' diventare anche piu' che geniale! Un prodotto che generera' soldi
Domandona: hai capito tutto ?