Archivio

Posts Tagged ‘c’

Dennis Ritchie, altro che Jobs

13 ottobre 2011 24 commenti

L’8 ottobre è morto Dennis Ritchie. Insieme a Ken Thompson fu l’autore di Unix, il più importante sistema operativo nella storia dell’informatica, da cui derivano, direttamente o indirettamente, BSD, Mac Os X, GNU/Linux, Solaris, AIX (sistema Unix dell’IBM che gestisce, tra l’altro, l’infrastruttura delle Poste Italiane), HP-UX (lo Unix di HP) e persino le incarnazioni mobili come iOS e Android.

Dennis Ritchie è anche l’inventore del C, il più importante linguaggio di programmazione nella storia dell’informatica e autore insieme a Brian Kernighan della bibbia del C.

A quest’uomo, a cui il mondo deve tanto e la cui inventiva ha plasmato l’intera storia dell’informatica negli ultimi 40 anni, sono state dedicate poche righe su qualche sito, brevi articoli e richiami. Ho parlato diffusamente della storia di Unix e quindi non tornerà sull’argomento.

Ma ci tenevo a ricordare questo personaggio davanti al quale uno Steve Jobs qualsiasi non può reggere il confronto neppure per un secondo.

Grazie dmr, tu sì che hai cambiato il mondo.

 

Categorie:GNU/Linux Tag:, , ,

Sicurezza e GNU/Linux (parte 2): Vulnerabilità/1

2 aprile 2011 12 commenti

I programmi non sono invulnerabili come lui

Una vulnerabilità è tutto ciò che permette, almeno potenzialmente, ad un attaccante di indurre un comportamento non previsto e non desiderabile in un software (o un insieme di software).

Leggi tutto…

Corso di programmazione. Scriviamo un semplice programma per calcolare la somma di due numeri forniti dall’utente

17 Maggio 2010 24 commenti

In questa lezione affronteremo molti concetti che risulteranno nuovi e forse “strani” per chi non ha mai programmato, ma sono essenziali per iniziare a capirci qualcosa della programmazione. Tutti questi concetti sono legati da un filo conduttore comune: i computer non sono intuitivi e fanno solo ciò che gli si dice; non solo, i computer sono anche piuttosto limitati e sanno fare poche cose, ma velocemente.

Il altre parole i computer sono il contrario degli esseri umani: noi siamo intuitivi e fantasiosi (beh, non tutti…) ma molto lenti e ci annoiamo presto se un compito è ripetitivo. I computer invece sono stacanovisti, veloci (almeno nel fare i calcoli) ma completamente stupidi. L’insieme uomo+computer diventa quindi straordinariamente potente in quanto ognuno dei due completa le mancanze dell’altro.

Ma c’è un problema: riuscire a capirsi.

Leggi tutto…

Corso di programmazione: “Ciao Mondo!”, il nostro primo programma

12 Maggio 2010 31 commenti

Riprendiamo dopo una lunga pausa la nostra guida introduttiva alla programmazione, con la promessa che faremo una-due lezioni a settimana.

E’ arrivato il momento di compilare il nostro primo programma. Useremo come riferimento Ubuntu, ma la stessa cosa vale anche per qualsiasi distribuzione GNU/Linux molti altri sistemi Unix. Leggi tutto…

Mini corso di introduzione alla programmazione

13 marzo 2010 35 commenti

Da domani parte su questo blog un mini corso di introduzione alla programmazione. Ho deciso di farlo perché noto sempre più spesso domande di utenti che vorrebbero imparare a programmare, ma non sanno da dove partire. E’ probabile che il fatto di avere un sistema open source faccia nascere una certa curiosità sull’argomento. E questo è senz’altro positivo.

Questo corso si spingerà fino a spiegare le strutture fondamentali della programmazione strutturata. Volutamente è solo un corso introduttivo, il cui scopo è dare uno spunto per approfondire e continuare. Di conseguenza, i programmi che arriveremo a scrivere sono piuttosto semplici, ma comunque imparerete i “mattoni” che servono a costruire case più grandi.

Il linguaggio che useremo è il C. Ho fatto questa scelta perché, anche se il C è un linguaggio che poco si adatta ad essere usato didatticamente, anche a causa della sua scarsa leggibilità, con un poco di sforzo è comunque abbastanza semplice da usare.  Offre però il vantaggio di costringere chi lo impara a cercare di capire come funzionano i computer. Linguaggi come Python, Java, C#, ecc. sono invece molto più distanti dalla macchina e partendo da questi è come imparare l’analisi matematica senza sapere come si fa un’addizione. Si riesce lo stesso, ma è come avere un buco nella propria conoscenza che non ti fa avere un quadro generale di insieme.

Inoltre i concetti base che impareremo sono alla base di qualsiasi linguaggio di programmazione e quindi potrete “riciclarli” in altri ambiti.

Infine il C è strettamente legato a Unix e ai sistemi che da esso derivano o traggono spunto.

Nella lezione di domani scopriremo cosa sono i linguaggi di programmazione, perché esistono e le principali differenze tra di loro come i computer rappresentano internamente i dati.

Vi consiglio, prima di iniziare, di dare uno sguardo ai post di “Capire GNU/Linux”: https://guiodic.wordpress.com/category/gnulinux/newbie-gnulinux/

Una volta finito questo corso – o forse anche prima – ho anche intenzione di fare una serie di post di approfondimento sui pezzi fondamentali di un tipico sistema GNU/Linux, su come funzionano e interagiscono tra loro.

Pino, client leggero per Twitter

7 febbraio 2010 16 commenti

Be’ anche io sono ora su Twitter … lo so, la droga dei social network è pesante 🙂

Ma insomma mi serviva un client per Twitter che mi tenesse aggiornato e mi evitasse di visitare ogni volta il sito. Gwibber è in genere la scelta più gettonata. Vi permette di collegarvi con vari servizi (non solo Twitter), ha una grafica figosa, ecc.

Ma io volevo un client leggero leggero, veloce veloce e minimale minimale. Mentre Gwibber è scritto in Python (quindi non proprio scattante sul mio macinino portatile) e fa cose che non mi servono. E così ho trovato Pino.

Leggi tutto…

I primi 40 anni di Unix

19 agosto 2009 47 commenti

Racconta la leggenda che nell’agosto 1969, esattamente 40 anni fa, Ken Thompson (un ricercatore dei laboratori Bell della famosa azienda telefonica statunitense AT&T) non andò in vacanza. Invece di godersi il sole, Thompson lavorò sul Pdp-7 un piccolo computer (per quei tempi). Finite le vacanze e tornato al lavoro Ken continuò a lavorare insieme ad un suo collega, Dennis Ritchie al progetto di un nuovo sistema operativo: Unix.

Leggi tutto…

Categorie:GNU/Linux, Riflessioni Tag:, , ,

BeagleFS GUI, un’interfaccia grafica per BeagleFS

10 luglio 2009 23 commenti

Ieri notte Kimj mi suggeriva di creare un’interfaccia grafica per BeagleFS. Dopo averlo preso per scemo, ci ho pensato e l’ho fatta, ma non in Gambas come suggeriva lui (avrebbe poco senso) ma in C# e Gtk# con Mono.

Ecco il risultato:

BeagleFS GUI

Leggi tutto…

Due parole su Mono e sul perché non è necessariamente “il male”

13 giugno 2009 112 commenti

mono_cup

Come al solito: domande e risposte 🙂

Cos’è Mono?
Mono è una implementazione libera/open source del framework .Net di Microsoft.
Leggi tutto…

Guida per principianti a GNU/Linux: cosa sono i sorgenti? – prima parte –

1 agosto 2008 16 commenti

Cosa diamine sono i sorgenti?

E’ la domanda che i newbie dei sistemi liberi (GNU/Linux e le varie incarnazioni di Bsd) si fanno appena trovano qualche guida per installare un programma compilando, appunto, i sorgenti.

Leggi tutto…