Articles

Kto wynalazł kodowanie?


Najlepsza odpowiedź

To naprawdę zależy od tego, jak zdefiniujesz kodowanie. Na przykład, jeśli weźmiesz pod uwagę zakodowanie procesu pisania kodu komputerowego w wybranym języku programowania wysokiego poziomu, to w tym przypadku nikt tak naprawdę nie wie, kto pierwszy napisał kod komputerowy, ponieważ był to koniec drugiego wojna światowa, w której zaczęły pojawiać się języki wysokiego poziomu.

Co ciekawe, powszechnie uznaje się, że kodowanie pojawiło się jeszcze przed stworzeniem języków programowania wysokiego poziomu. Alan Turing i Alonzo Church stworzyli w latach trzydziestych dwie niezależne, ale równoważne abstrakcje kodowania. Pierwsza to maszyny Turinga, które są abstrakcyjnymi maszynami, które pozwalają nam napisać dowolny kod w dobrze zorganizowany sposób przy użyciu ograniczonego, ale pełnego zestawu instrukcji. Drugi system stworzony przez Churcha to rachunek lambda, czyli sposób pisania kodu w sposób funkcjonalny lub matematyczny. Zwróć uwagę, że te dwa systemy są równoważne. Jeśli potrafisz napisać algorytm na maszynie Turinga, z pewnością możesz to zrobić za pomocą rachunku lambda i odwrotnie.

Jeśli jednak uważasz, że kodowanie to po prostu napisanie zestawu instrukcji do wykonania określonego zadania, to odpowiedzią na twoje pytanie jest z pewnością Ada Lovelace. Jest uważana za pierwszą osobę, która kiedykolwiek napisała kod komputerowy, kiedy przetłumaczyła wspomnienia Luigiego Menabrei o mechanizmie analitycznym Charlesa Babbagea do obliczania liczb Bernouli w latach 1842–1843.

Jeśli chcesz pójść jeszcze dalej, to był Jacquard, który wynalazł pierwsze urządzenie programistyczne w 1710 roku. Niestety, nie uważano tego za kodowanie, ale jego pomysły były podstawą silnika analitycznego Babbagea.

Odpowiedź

Współczesna liczba binarna system został wynaleziony przez Leibniza (sławę rachunku różniczkowego) w 1679 roku, kiedy opublikował swój artykuł Wyjaśnienie arytmetyki binarnej, która używa tylko znaków 1 i 0, z kilkoma uwagami na temat jego użyteczność i światło, które rzuca na starożytne chińskie postacie Fu Xi .

Później George Boole wynalazł algebrę Boole w 1854 roku, rewolucjonizując filozoficzne koncepcje „prawdy” i „fałszu ”Opisując je za pomocą równań algebraicznych.

Jeszcze później, w 1937 roku, Claude Shannon zdał sobie sprawę, że projekt przekaźników elektronicznych można znacznie uprościć, stosując pracę Boolea w projektach obwodów elektronicznych. W ten sposób narodziły się nowoczesne cyfrowe urządzenia elektroniczne, oparte na algebrze Boolea do modelowania elektronicznych przełączników logicznych.

W tym samym roku, w latach 1937–1938, George Stibitz zaprojektował urządzenie elektroniczne, które skorzystało z pracy Shannona, wykorzystując pracę Boolea. , w celu zastosowania pracy Leibniza do stworzenia urządzenia, które mogłoby wykonywać działania arytmetyczne z wykorzystaniem binarnego systemu liczbowego. W ten sposób narodził się współczesny wiek liczb binarnych w elektronice cyfrowej. Każde cyfrowe urządzenie elektroniczne, którego używasz dzisiaj, jest oparte na pracy wyżej wymienionych osób. Każdy.

Zasadniczo system liczb binarnych jest bardzo wygodny dla elektroniki cyfrowej, ponieważ wymaga tylko dwóch cyfr, 1 i 0, aby móc wykonać wszystkie możliwe obliczenia matematyczne. Dość łatwo jest skonstruować urządzenia elektroniczne, które potrafią wykryć, czy poziom napięcia jest „wysoki” czy „niski”, ale nie jest bardzo łatwo zmierzyć dokładnie , ile jest napięcia w przewodzie. Ponieważ precyzyjne pomiary są trudne, ale pomiary „rozmyte” są łatwe, znacznie łatwiej jest zaprojektować urządzenie, które obsługuje tylko „wysokie” i „niskie” napięcia. Ponieważ nasze urządzenia elektroniczne mają tylko dwie „cyfry”, których mogą używać w tej konfiguracji (wysokie i niskie napięcie), możemy obejść to ograniczenie, udając, że „wysokie” napięcie reprezentuje cyfrę 1, a „niskie” napięcie reprezentuje cyfrę 0 i budowanie naszych urządzeń tak, aby używały binarnego systemu liczbowego do wykonywania arytmetyki zamiast zwykłego systemu dziesiętnego.

(Źródło: Liczba binarna )

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *