Čarls Bebidž (London, 26. decembar 1791 — London, 18. oktobar 1871) bio je engleski matematičar, analitički filozof, mašinski inženjer, naučnik, izumitelj prvog računara koji je mogao da se programira i profesor matematike na Kembridžu. Zbog uticaja na kasniji razvoj nauke, nazvan je „ocem“ računarstva.Delovi njegovih nedovršenih mašina nalaze se u Londonskom muzeju. Godine 1991. po njegovim nacrtima rekonstruisan je diferencijalni motor.
Očevo bogatstvo omogućilo mu je pristup u nekoliko škola kao i pomoć privatnih profesora tokom njegovog obrazovanja, umnogome otežanom njegovim krhkim zdravljem. Razočaran u matematička uputstva dostupna na Kembridžu, formira sa nekoliko svojih prijatelja „Analitičko društvo”.
Radi prepoznavanja velike greške, pri računanju matematičkih tabela, Bebidž je želeo da nađe metod kojim bi one mogle biti izračunate mehanički, uklanjajući mogućnost ljudske greške.
Bebidžove mašine bili su prvi računari, doduše mehanički, ali ipak istinski računari. Nažalost, njegove mašine nisu bile završene zbog ličnih i finansijskih problema. Bebidž je uvideo da mašine mogu da rade bolje i pouzdanije od čoveka. Pokrenuo je izgradnju mašine koja je manje-više odrađivala posao i predlagao je da se računanje može mehanizovati do krajnosti. Iako su Bebidžove mašine bile ogromne, njihova struktura je bila slična današnjem računaru. Podaci i programska memorija su bili odvojeni, operacije su bile bazirane na instrukcijama sa čovekove strane. Bebidž je izumeo i štampač za ovu mašinu koji je imao izvanredne mogućnosti. Podržavao je formatiranje redova i kolona teksta pre štampanja.
Ubrzo posle neuspelog pokušaja diferencijalne mašine, počeo je da radi na projektu drugačije, mnogo složenije mašine, nazvane analitička mašina. Ona nije bila prosta fizička mašina, već kombinacija više dizajna mašina koje je smišljao do kraja života. Glavna razlika između ove dve mašine je ta da je analitička mašina mogla da bude programirana pomoću bušenih kartica, što je bila ideja ispred njegovog vremena. Shvatio je da nije moglo više programa da stane na jednu karticu, a takođe je morala da bude prisutna i osoba koja bi pravila ostale programe. Mašina je takođe mogla da izvršava vrste naredbi na način nalik onima koji se kasnije koristi kod savremenih računara, uključujući sekvencu, selekciju i iteraciju, što je osnov strukturiranog programiranja. Trebalo je da bude digitalni računar koji radi sa pedesetocifrenim brojevima, da ima kapacitet memorije od hiljadu takvih brojeva, da bude pogonjena na paru, automatska, da sa njom radi samo jedan operater i da ima veliku tačnost računanja - čineći analitičku mašinu pretečom modernog računara.