Software

Novità di Adobe Photoshop Elements 15 per Mac

Novità di Adobe Photoshop Elements per Mac

Scopri le nuove funzionalità basate sull'intelligenza artificiale di Adobe Photoshop Elements per Mac. Modifica foto e video come un professionista con facilità. Inizia subito!

Che cos'è il software? Definizione

Un'era tecnologica come la nostra è definita da una quantità enorme di software che ci circonda e persino ci sopraffà . Il concetto è ormai implicito nella realtà di ognuno di noi. Lo usiamo, come in passato, sui computer , ma anche sui nostri telefoni per prendere appunti, mentre giochiamo, mentre seguiamo un corso di e-learning, mentre cerchiamo lavoro sulle app di ricerca, mentre guardiamo Netflix in televisione e persino per programmare il forno, solo per citare alcuni esempi.

Pertanto, pur essendo circondati da esso, è ironico constatare quanto poco ne sappiamo di questo concetto. Ed è proprio a questo che rimedieremo oggi, spiegandovi cos'è il software, le tipologie esistenti , come e perché viene utilizzato e, in generale, tutto ciò che dovreste sapere su questa risorsa ormai diventata indispensabile nelle nostre vite.

Che cos'è il software e a cosa serve? Definizione

Che cos'è il software e a cosa serve?

La definizione più semplice che riusciamo a trovare, e che descrive accuratamente di cosa si tratta, è quella fornita da Wikipedia stessa, che la definisce come " software per un sistema informatico ". Tuttavia, non renderemmo giustizia a noi stessi e a voi se ci limitassimo a questa sola definizione.

Si tratta di regole, premesse, azioni e istruzioni che non esistono a livello fisico , che non sono tangibili, non possono essere toccate, ma che nondimeno vengono eseguite e funzionano per comunicare con la macchina in questione, offrendo servizi molto diversificati in apparecchiature informatiche, televisori, smartphone, ecc. Attualmente, queste si avvalgono di complessi algoritmi progettati con l'intelligenza artificiale.

Si tratta quindi di un insieme di componenti logici che, combinati insieme, formano un prodotto progettato per funzionare su un computer. Questa è la sua parte operativa.

Per comprendere meglio questo concetto, possiamo dire che i programmi software comprendono sia quelli utilizzati dall'utente finale, sia tutti quelli coinvolti in un processo più lungo e nascosto che include la progettazione, lo sviluppo e la programmazione di altri software. Come vedremo in seguito, tutto ciò che eseguiamo sui nostri dispositivi è software, di un tipo o dell'altro.

Origine e storia del software

Origine

Le sue origini risalgono ai primi computer, negli anni '40 . A quel tempo, la sua distinzione dall'hardware non era ben definita (lo vedremo più avanti); non era concepito come qualcosa di indipendente da esso.

Questo decennio e il prossimo hanno offerto prodotti gratuiti e senza licenza . Questi venivano scambiati come se qualcuno si scambiasse una ricetta con un vicino.

Storia

Fu verso la fine degli anni '60 , con la nascita di ARPANET, che iniziò a formarsi una comunità che rivelò in modo specifico le caratteristiche, i principi e i valori del software.

L'impulso a questo campo di studi venne da due conferenze sponsorizzate dalla NATO nel 1968 e nel 1969.

Naturalmente, i decenni successivi, oltre ai nuovi sviluppi, furono caratterizzati da diversi problemi che sfociarono addirittura in quella che venne definita la "crisi del software ", l'aspetto più rilevante della storia di questo prodotto, proprio per il suo impatto a tutti i livelli.

Apparecchiature originali ARPANET

Evoluzione

Possiamo affermare che si inizia a parlare di evoluzione dagli anni '60 in poi perché, nonostante, come abbiamo detto, abbia causato una grave crisi, la sua evoluzione stava diventando evidente.

Possiamo definire una prima era caratterizzata dall'utilizzo di software sviluppato dagli stessi programmatori, da un'unica azienda che si occupava della creazione dei programmi man mano che li ideava, per proprio uso.

La seconda era è definita dal concetto di sistemi multipli, che comprende tutti i tipi di sistemi multifunzionali e la multiprogrammazione . Un altro aspetto chiave è l'introduzione di nuovi concetti che hanno favorito l'interazione tra persone e macchine.

La terza era, iniziata a metà degli anni '70 , ha visto la diffusione di questi sistemi, l'utilizzo di diversi computer, ognuno con uno scopo specifico, e tutti interconnessi. A questo punto, l'industria del software rappresentava la parte preponderante dell'economia globale.

Ci troviamo attualmente nella quarta era, caratterizzata dalla definizione delle tecniche utilizzate per progettare , sviluppare e migliorare il software e, di conseguenza, le esperienze utente, che sono diventate l'obiettivo principale del settore.

Classificazione e tipologie di software in base al loro utilizzo

Esempi di tipologie di software

A seconda del loro utilizzo, ovvero dello scopo per cui sono progettati, si distinguono software di programmazione, software di sistema, software applicativo, malware e software sociale.

Software di programmazione

È di fondamentale importanza perché costituisce il fondamento di tutto il resto , compresi, ovviamente, gli altri tipi di software che vedremo più avanti. È indispensabile, al livello più elementare, sia nello sviluppo di app che nell'informatica in generale.

Ciò richiede altri software di programmazione come editor e elaboratori di testo , ambienti IDE, vari compilatori (ce ne sono molti) o software client-server che consentano test, sistemi di controllo di versione, ecc.

Per quanto riguarda le risorse umane, è ovviamente necessaria la conoscenza della programmazione, così come della logica e della matematica.

All'interno di questa tipologia abbiamo i seguenti sottotipi:

  • Ambiente di sviluppo integrato o IDESi tratta di una sorta di suite o insieme di strumenti di programmazione che aumentano la produttività nello sviluppo. Esistono diverse versioni, ognuna con le proprie funzionalità, che facilitano il progresso in una direzione o nell'altra.
  • Debugger del codiceCome suggerisce il nome, si tratta di un'attività di debug del codice, sempre apprezzata sia da chi programma e sviluppa, sia da chi lo osserva dall'esterno, una volta che il prodotto sviluppato è in esecuzione.
  • Editor di testoOffre la possibilità di creare codice pulito senza l'utilizzo di programmi esterni.
  • compilatoreÈ responsabile della lettura di un programma nella sua lingua originale e della sua decodifica per visualizzarlo in un linguaggio comune, in modo che sia compatibile con il computer e possa essere eseguito su di esso.

Software di sistema

La sua funzione principale è molto generale ma semplice: permette il funzionamento dell'hardware di cui fa parte . Naturalmente, ne esistono molti tipi, progettati per gestire aspetti diversi e con caratteristiche molto diverse (oltre ad alcuni molto simili, ovviamente).

Parleremmo di un sistema operativo , come Android, Linux, MacOS, BlackBerryOS... e anche di driver progettati per garantire la corretta interazione tra il sistema e il dispositivo.

Avere :

software dell'app

Le applicazioni o utility sono quelle utilizzate in situazioni diverse dalle precedenti , ovvero non per la progettazione e lo sviluppo, né per il funzionamento di apparecchiature. In questo caso, l'obiettivo è fornire funzionalità di interesse per l'utente finale , e tali funzionalità possono essere piuttosto varie.

Tutto ciò che utilizziamo sui nostri dispositivi include software applicativo. Anzi, possiamo dire che comprende tutto ciò che non rientra nelle due categorie precedenti, ovvero le applicazioni per computer dell'utente finale . Un client di posta elettronica, un browser, una piattaforma di streaming, qualsiasi app scaricata dall'App Store o dal Google Play Store e innumerevoli altre cose.

Le tipologie che troviamo all'interno di questa categoria includono:

Dannoso o malware

Questi programmi sono progettati per danneggiare i computer su cui vengono installati, o per fare lo stesso con altri software . In genere mirano a disabilitare i software antivirus, distruggere gli hard disk, disabilitare o rendere inutilizzabili determinate funzioni dei programmi, o semplicemente rubare informazioni, sebbene dietro questi programmi sempre più sofisticati si celino molti altri obiettivi.

A seconda della loro modalità operativa e del loro obiettivo, troviamo:

  • virusSi tratta di un programma contenente codice dannoso progettato per diffondersi tra i computer. Si installa sul tuo computer senza la tua autorizzazione, tramite un file eseguibile, e si copia sistematicamente in ogni programma che avvii.
  • WormsSi tratta di un virus particolare, ma la sua conoscenza e i danni che ha causato nel corso della storia sono tali da averlo classificato come una tipologia specifica di malware.
  • TrojanSi tratta di un programma apparentemente innocuo che, una volta scaricato e installato, contiene software dannoso che gli consente di accedere al computer e ai dati. Non è in grado di riprodursi autonomamente; può rimanere inattivo fino al momento di entrare in azione.
  • BackdoorCosì come un worm è un tipo di virus che si è guadagnato il nome di malware, una backdoor è un tipo di cavallo di Troia. In questo caso, l'hacker prende il controllo del sistema infetto, consentendogli di installare software aggiuntivo, inviare email di massa e così via.
  • KeyloggerSoftware in grado di registrare i tasti premuti sulla tastiera, raccogliendo così informazioni su tutto ciò che si digita. Solitamente, gli obiettivi sono le password.
  • dialerSoftware di composizione automatica dei numeri di telefono che tenta di connettere il dispositivo alla rete. Alcuni sono innocui, mentre altri tentano di comporre numeri a pagamento.
  • RootkitSi tratta di kit di rooting per dispositivi. Consistono in codici estremamente complessi inseriti in macchine e sistemi per ottenerne il controllo e gestirli, rendendo molto difficile per chiunque rintracciare il cybercriminale a causa dell'assenza di tracce.
  • SpywareSoftware che mira a raccogliere informazioni dall'utente del computer su cui è installato. Queste informazioni vengono inviate alla parte appropriata, che si tratti del creatore o di una specifica rete informatica. Sono i più facili da individuare e rimuovere.

Di tipo sociale

Si tratta di strumenti di comunicazione progettati per facilitare l'interazione attraverso convenzioni sociali , tra cui servizi di messaggistica, piattaforme di social media, chat room, ecc.

Tra queste funzionalità rientrano il supporto per le conversazioni tra due o più utenti, il feedback, la facilità di condivisione dei contenuti e l'espressione digitale e virtuale di una relazione personale.

Esempi e tipologie di programmi in base al loro tipo di sviluppo

Classificazione del software libero

Un'altra classificazione che vale la pena conoscere e considerare è quella basata sul diritto d'autore di questi programmi. Inoltre, un altro aspetto interessante da comprendere è il ciclo di vita dello sviluppo del software , ovvero il processo che va dall'idea iniziale al rilascio agli utenti: un processo laborioso ma stimolante.

Gratuito

Come il concetto stesso indica, stiamo parlando di un prodotto che puoi scaricare sul tuo computer e distribuire gratuitamente , senza alcun compenso da parte tua né da parte di chi lo riceve.

In molti casi, queste funzionalità fanno parte di un programma più ampio e completo che ha un costo. Naturalmente, ci sono anche casi in cui, in cambio della gratuità del servizio, dobbiamo guardare le pubblicità, che rappresentano il modo in cui gli sviluppatori si guadagnano da vivere.

Sebbene sia gratuito, il suo codice sorgente è solitamente non disponibile . Il fatto che sia gratuito non significa che sia libero da copyright . Per questo motivo, nessuno può commercializzarlo a scopo di lucro, né tantomeno rivendicarne la paternità.

Shareware

La sua distribuzione è consentita senza restrizioni, sebbene il suo utilizzo sia limitato dopo un certo periodo di tempo . Per questo motivo, non può essere copiato o installato senza previo pagamento.

Il suo codice sorgente rimane nascosto , come è logico, quindi non si tratta di un programma che può essere modificato in alcun modo. L'esempio più lampante è la versione di prova di qualsiasi programma.

gratis

Non ci sono restrizioni sulla copia, la modifica e la distribuzione . Il codice sorgente è completamente disponibile.

Open source

I programmi open source sono perfettamente distribuibili, copiabili e modificabili, ma sempre previa notifica alla comunità di supporto. La proprietà intellettuale, pertanto, è condivisa tra gli sviluppatori e gli utenti che successivamente modificano il software.

Privato

A differenza del software libero, questo software non può essere modificato o distribuito e, ovviamente, il codice sorgente non è accessibile . Per ovvie ragioni, si tratta di un software a pagamento o premium.

Adware

Il suo scopo è generare profitto . Permette la modifica una volta acquistato, poiché di solito è open source.

Componenti software, loro funzioni e utilità

Un componente, semplicemente per definizione, è qualsiasi elemento che costituisce o fa parte di qualcosa di più grande. Pertanto, i componenti di un programma software sono tutti gli elementi che lo compongono, integrandolo e plasmandolo come un tutt'uno.

Ci riferiamo a moduli che possiedono una propria interfaccia e dipendenze definite in modo sufficiente da poter essere raggruppati in un insieme specifico . Si va dai moduli minimali a quelli che costituiscono un vero e proprio ramo di sottomoduli.

  • Una delle sue caratteristiche è quella Hanno dipendenze esplicite dal contesto.
  • Un altro è che Può essere implementato in modo indipendente; possiede un'identità propria.e può essere utilizzato in altre composizioni e database.
  • Quest'ultimo punto ci conduce a un altro punto, che è il seguente: un gruppo sostituibile.
  • E, inoltre, riutilizzabile.
  • La sua interfaccia è perfettamente definita.in modo che il suo utilizzo in un altro gruppo sia semplice e intuitivo,
  • Infine, abbiamo che riguarda elementi che devono essere coesi.

Differenze tra hardware e software (componenti logici e fisici)

Differenze tra hardware e software

Dopo aver discusso a lungo del software, possiamo riassumere dicendo che si tratta di un componente logico utilizzato in vari modi a seconda dello scopo previsto. Tuttavia, a causa della sua somiglianza con il concetto di "hardware ", chi non è un esperto potrebbe confondere i due o addirittura pensare che siano la stessa cosa.

Data l'ampia definizione che abbiamo già fornito, dobbiamo ora parlare di cosa sia l'hardware, che è semplicemente un componente fisico di un dispositivo: le parti tangibili, le cose che si possono toccare . In altre parole, il software è "ciò che c'è dentro" e l'hardware è "il contenitore".

Il software richiede, a un livello o all'altro, l'esecuzione da parte dell'hardware . Ciò significa che deve esistere un componente fisico, un contenitore, che consenta l'utilizzo del programma, per quanto minimale esso sia.

Pertanto, il software comprende tutti i tipi di programmi come giochi, pagine web, applicazioni che scarichiamo, ecc. , mentre l'hardware sarebbe il monitor su cui vediamo le informazioni, il mouse che ci permette di eseguire i contenuti , il processore che si occupa di rendere possibile l'esecuzione o la memoria RAM che ci permette di memorizzare le informazioni in tempo reale che vengono elaborate.