Sono uno sviluppatore .NET da molto tempo e ho lavorato con Mono ma ora voglio iniziare a programmare per Linux, quale sarebbe una buona fonte per avviare lo sviluppo nativo di Linux?
Ovviamente puoi continuare a utilizzare Mono su Linux.
Se vuoi scrivere programmi di buona esecuzione per l'ambiente KDE, allora usi C ++ e gli strumenti Qt.
Per scrivere C per Gnome, ti consiglio di utilizzare Vala.
Se vuoi scrivere il tuo software più velocemente, ma farlo funzionare più lentamente, usa Python o Ruby. Entrambi hanno librerie per la programmazione GUI in Gnome o KDE. Entrambi sono molto buoni, anche se personalmente non mi piacciono le lingue non tipizzate. Se accidentalmente passo una stringa invece di un intero, voglio saperlo subito.
Java su Linux è molto maturo ed Eclipse è un meraviglioso IDE per Java.
Sono un grande fan di Programmazione avanzata nell'ambiente UNIX di Stevens come introduzione a Unix API C a tutti i livelli. L'originale era un vero classico, e Addison Wesley ha lavorato molto per pubblicare una nuova seconda edizione dopo la morte di Stevens, co-autore di Stephen Rago, e aggiornato per affrontare i cambiamenti più recenti sia negli standard che nelle implementazioni lì.
Se hai bisogno di aiuto per iniziare nella stessa C, ci sono molte domande che hanno cercato consigli in quell'area, sebbene Kernighan's e Ritchie's Il linguaggio di programmazione C rimane un'ottima introduzione, se non del tutto aggiornata, alla lingua.
Una volta terminati gli idiomi di programmazione Unix di base, è possibile passare ai due volumi di Stevens su Programmazione di rete Unix oppure esaminare uno dei migliori toolkit della GUI Unix oppure andare in una direzione diversa, a seconda dei propri gusti / ha bisogno.
Le specifiche dipenderanno dal tipo di applicazioni che ti interessa scrivere, ma per essere aggiornato sulla programmazione di Linux in generale suggerisco di guardare Interfaccia di programmazione Linux e Programmazione di sistemi Linux , entrambi sono libri eccellenti che cover POSIX in generale, oltre a funzioni specifiche per Linux o glibc.
Ci sono molte scelte linguistiche sotto Linux, e restare fedeli a Mono e C # è certamente possibile, ma se hai intenzione di approfondire la programmazione di Linux dovresti familiarizzare con C. A seconda del tuo dominio potresti non averne bisogno che spesso, ma è sicuramente la lingua franca del mondo Linux.
Puoi usare Mono su Linux come sviluppatore .NET se vuoi qualcosa di veloce.
Puoi anche usare Gtk # per creare GUI, è molto maturo e viene utilizzato in applicazioni reali, come Banshee .
Puoi anche usare C e Gtk + o C ++ e Gtkmm per creare GUI per GNOME.
E se stai sviluppando per KDE, puoi creare GUI usando C ++ e Qt.
Ovviamente c'è Java con SWT o Swing e Python che può essere usato con una varietà di widget di widget come tk, wxWidgets, Gtk + e Qt.
Come menzionato nei post precedenti, ci sono diversi modi per programmare in linux e, a seconda di cosa vuoi ottenere, sono gli strumenti di cui hai bisogno.
Forse dovresti menzionare, che tipo di programmazione hai fatto prima di entrare in Linux (windowze, forse?) Desktop, Web,?
Quindi, potresti iniziare a lavorare con uno strumento equivalente in Linux.