JavaRush /Java Blog /Random-IT /Condividiamo la nostra esperienza. La mia transizione da ...

Condividiamo la nostra esperienza. La mia transizione da Windows a Ubuntu

Pubblicato nel gruppo Random-IT
Ai programmatori principianti viene spesso consigliato di lavorare non con Microsoft Windows, ma con Linux. Ci sono molte ragioni per questo, legate alla struttura stessa e alla logica di Linux, alla sua sicurezza e alle licenze delle applicazioni. Portiamo alla vostra attenzione la traduzione di un articolo di Ofir Chakon, co-fondatore e CTO di DataGen Technologies , che condivide la sua esperienza nel passaggio da Windows a Linux Ubuntu. L'articolo è destinato ai principianti che sanno poco del mondo Linux.
Condividiamo la nostra esperienza.  La mia transizione da Windows a Ubuntu - 1
Le persone che trascorrono la maggior parte del loro tempo al computer a volte hanno bisogno di porsi domande sulle loro abitudini informatiche di base. Credo che tu abbia già intuito che parleremo del sistema operativo che ognuno di noi utilizza ogni giorno. Windows è ora installato su oltre il 90% dei computer desktop! Gli utenti scelgono Windows per vari motivi:
  1. Windows viene fornito con quasi tutti i PC per impostazione predefinita.

  2. Se usi Windows da molti anni, cambiando solo le versioni, molto probabilmente ci sei abituato ed è difficile per te rompere questa tradizione.

  3. Molto probabilmente, nel tuo ambiente vedi solo utenti Windows e forse MacOS, quindi non noti l'alternativa. Molte persone pensano che Windows sia l'unica opzione per il proprio PC.
Devo ammetterlo: Windows è ben progettato, facile da usare, ottimo per la maggior parte delle attività degli utenti e aggiornato regolarmente.
Condividiamo la nostra esperienza.  La mia transizione da Windows a Ubuntu - 2
L'alternativa a Windows di cui parlerò è Linux . Si tratta di una famiglia di sistemi operativi basati sul kernel, chiamata “kernel Linux”. Linux è simile a Unix, cioè questo sistema operativo si basa sugli stessi principi dei sistemi basati su Unix (ad esempio MacOS). La maggior parte delle build di Linux sono completamente gratuite, sviluppate dalla comunità, open source e distribuite sotto forma di distribuzioni. Tra questi ci sono Ubuntu , CentOS , Debian e così via. Una distribuzione è un insieme di programmi con un comodo programma di installazione (nella maggior parte dei casi), pronto per funzionare sul dispositivo. Ognuno di essi ha i suoi pro e i suoi contro e ha molteplici applicazioni. Linux è un sistema operativo abbastanza "leggero" in termini di consumo di risorse, quindi viene utilizzato in sistemi embedded, dispositivi domestici intelligenti, IoT ("Internet of Things") e molto altro. Anche il sistema operativo Android è basato su Linux. Sono un imprenditore tecnologico con oltre sette anni di esperienza nello sviluppo di software e nella scienza dei dati e devo ammettere che il passaggio da Windows a Ubuntu ha comportato uno dei guadagni di produttività più significativi della mia carriera.

Come ho deciso di farlo?

Ad un certo punto, ho iniziato a notare che i miei principali strumenti di lavoro, come l'IDE di Android Studio e il simulatore Android, su un computer Windows, mi permettevano a malapena di fare progressi in termini di latenza. Pensavo fosse un problema hardware, quindi ho deciso di passare a un Lenovo Y50-70 con 16 GB di RAM e un disco rigido SSD da 512 GB.
Condividiamo la nostra esperienza.  La mia transizione da Windows a Ubuntu - 3
Dopo aver installato il software necessario per continuare a sviluppare il progetto, mi sono reso conto che stavo riscontrando di nuovo problemi simili, ma su un computer completamente nuovo. Non avevo molte applicazioni ad uso intensivo di RAM nel mio lavoro, quindi naturalmente mi aspettavo che il mio nuovo PC funzionasse come un razzo. Ma ciò non è accaduto e ho capito che dovevo cambiare la mia strategia. Avevo la naturale supposizione che il problema non fosse un componente hardware e ho iniziato a cercare un approccio ai programmi. Ho lavorato con Linux per un po' durante il college e ora ho deciso di esplorare questa opzione in modo più dettagliato. Ubuntu è la distribuzione più popolare di questo sistema operativo per PC. È disponibile come versione client "utente" e come versione server. È stata questa dualità a far pendere la bilancia a favore di Ubuntu, poiché avevo bisogno sia di un sistema operativo client che di un server. Ho studiato molte risorse su Internet dove c'erano discussioni come "Linux o Windows", "Windows vs. Ubuntu". Ho capito molto, ma aspettavo comunque qualcosa... Una specie di “segno dall'alto” o qualcosa del genere. Questo segnale si è rivelato essere un attacco di virus che mi ha costretto a fare una copia di backup di tutti i file, formattare il disco rigido e quindi iniziare a lavorare. Solo che questa volta - con il sistema operativo Ubuntu . Ho pensato che potrebbe valere la pena installare Windows e Ubuntu contemporaneamente per una transizione graduale. Ora sono felice di non averlo fatto. Il motivo per cui ho abbandonato completamente Windows è stato il mio desiderio di immergermi completamente in Ubuntu senza la possibilità di tornare a Windows. Ecco alcune lezioni che ho imparato durante la mia transizione da Windows a Linux . Possono interessare qualsiasi utente, ma sono destinati principalmente a sviluppatori, programmatori, programmatori e chiunque scriva codice o crei prodotti.

Prestazione

Linux funziona più velocemente di Windows 8.1 e Windows 10 grazie alla sua architettura leggera. Dopo essere passato a Linux, ho notato un notevole aumento della velocità e delle prestazioni utilizzando gli stessi strumenti che utilizzavo su Windows. Linux supporta molti potenti strumenti di sviluppo e ti consente di gestirli facilmente.

Sicurezza

Linux è un software open source. In teoria, ognuno può contribuire con il proprio codice per migliorare qualcosa, aggiungere funzionalità, correggere bug, ridurre i rischi e molto altro. Naturalmente, ogni progetto open source su larga scala ha osservatori che ne studiano tutti gli aspetti. Pertanto, dal punto di vista della sicurezza, Linux è naturalmente più sicuro di Windows. Inoltre gli sforzi principali degli hacker sono mirati proprio al sistema operativo della Microsoft. Invece di installare antivirus e strumenti di pulizia malware di terze parti, devi solo attenersi ai repository consigliati e tutto andrà bene.

Sviluppo software

Il terminale in Linux è la carta vincente di questo sistema operativo . Puoi fare quasi tutto con il terminale: installare programmi, configurare applicazioni e server, gestire il file system e molto altro. Bene, per gli sviluppatori il terminale è qualcosa come un idolo totem. Non c'è niente di più conveniente che poter eseguire server, addestrare modelli di machine learning, accedere a macchine remote, compilare ed eseguire script dalla stessa finestra di terminale. Ciò accelera notevolmente la produttività!
Condividiamo la nostra esperienza.  La mia transizione da Windows a Ubuntu - 4

Modularità

Con Linux lo sviluppatore ottiene enormi opportunità di modularità. Puoi configurare facilmente qualsiasi cosa, accedere a qualsiasi angolo del tuo computer, controllare i processi e gestire ambienti virtuali per diversi progetti. Poiché il tuo server è probabilmente basato su Linux, troverai più semplice emulare comportamenti, utilizzare software e pacchetti simili e automatizzare i flussi di lavoro per i processi di distribuzione.

Lavorare con server Linux remoti

La maggior parte dei server che alimentano l'intera Internet sono basati su Linux per molte ragioni che non elencherò qui. Linux fornisce tutti gli strumenti necessari per sviluppare server scalabili e sicuri. Pertanto, padroneggiare Linux per la configurazione e la manutenzione dei server è un must per qualsiasi imprenditore IT che gestisce applicazioni end-to-end. In una situazione del genere, mentre lavori con Windows sul tuo computer locale, dovrai utilizzare strumenti di terze parti come PuTTY per connetterti e interagire con server remoti basati su Linux, il che non è così conveniente. Ad esempio, per copiare file, è necessario scaricare un altro strumento quando si utilizza Windows. Un enorme vantaggio di lavorare con una macchina locale basata su Linux è la possibilità di connettersi a qualsiasi server remoto utilizzando una linea in esecuzione nel terminale. Gli host possono essere salvati in un file, così come le chiavi SSH e i nomi utente, quindi tutto ciò che devi fare per connetterti tramite SSH è: ssh del loro server E questo è tutto, sei connesso! Nessuna password richiesta. Questa è una semplice dimostrazione di una delle tante opzioni disponibili per configurare e supportare server basati su Linux utilizzando una macchina locale basata su Linux. I provider cloud più popolari dispongono anche di una CLI (interfaccia a riga di comando) per una facile integrazione.

Introduzione ai principi del sistema operativo di basso livello

L'implementazione di Windows è di altissimo livello. In altre parole, non ci sono quasi problemi interni e l'implementazione del sistema operativo stesso. In Linux è esattamente il contrario. Quando si utilizza Linux, ci si imbatte spesso in impostazioni che devono essere eseguite dal terminale, modificando file, aggiungendo attività di pianificazione, aggiornando software, installando driver e così via. Quando lavori con Ubuntu, AskUbuntu.com è tuo amico. Non solo ottieni più opportunità come sviluppatore, ma impari anche (a volte nel modo più duro) come risolvere i problemi, monitorare la macchina per potenziali problemi, configurare vari componenti e molto altro.
Condividiamo la nostra esperienza.  La mia transizione da Windows a Ubuntu - 5

Non tutto è perfetto, ma comunque

  1. Diventare un utente Ubuntu ha una curva di apprendimento. Alcune cose che venivano eseguite automaticamente in Windows ora dovranno essere configurate, forse dovranno essere configurate utilizzando AskUbuntu.com. Aspettati di armeggiare se il tuo computer ha hardware speciale come le GPU.

  2. Credo che ogni imprenditore informatico dovrebbe essere un po' designer, o meglio avere competenze minime di progettazione grafica. Sfortunatamente, Adobe non ha rilasciato nessuno dei suoi prodotti per gli utenti Linux, quindi non è possibile eseguirli direttamente. L'alternativa in Ubuntu si chiama GIMP. Si tratta di un software gratuito che soddisfa tutti i requisiti di base di uno sviluppatore-designer (e anche qualcosa in più).
Nonostante le carenze, non mi pento di essere passato a Linux. Adesso lavoro usando Ubuntu tutto il tempo e mi pento persino di non averlo utilizzato qualche anno prima.

conclusioni

Linux non è per tutti. Come detto sopra, dovresti verificare se si adatta alle tue esigenze quotidiane. Ma se ti consideri un imprenditore IT, uno sviluppatore, un informatico o semplicemente un programmatore (qualcuno che in qualche modo coordina o interagisce con il materiale tecnico relativo alla scrittura del codice) dovresti provare Ubuntu.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION