تو ۱۰ سالته. صمیمیترین دوستت اون سمت خیابون زندگی میکنه. پنجرههای اتاقهای خوابتون دقیقاً روبهروی هم هستن. هر شب، بعد از اینکه پدر و مادرت ساعت خواب رو به اون شکل زودهنگام و غیرمنطقی اعلام میکنن، تو هنوز دلت میخواد با دوستت حرف بزنی، فکراتو بهش بگی، رازها، شایعات، جوکها و رویاهاتو باهاش درمیون بذاری. خب، کسی نمیتونه بهت ایراد بگیره. به هر حال، میل به ارتباط برقرار کردن یکی از انسانیترین ویژگیهاست.
وقتی هنوز چراغهای اتاقهاتون روشنه، تو و دوستت میتونید از پشت پنجره برا هم دست تکون بدید و با حرکات دست و زبون بدن ساده، یکی دو تا فکر رو به هم منتقل کنید. ولی برای حرفای پیچیدهتر، این روش خیلی سخت به نظر میرسه. تازه وقتی پدر و مادرت میگن «چراغا رو خاموش کن!» باید دنبال یه راه مخفیانهتر باشی.
چطور میشه باهاش حرف زد؟ اگه خوششانس باشی و تو ۱۰ سالگی یه گوشی موبایل داشته باشی، شاید بتونی یواشکی زنگ بزنی یا پیام بفرستی. اما اگه پدر و مادرت عادت داشته باشن موقع خواب گوشیتو بگیرن و حتی وایفای رو قطع کنن چی؟ یه اتاق خواب بدون ارتباط الکترونیکی واقعاً جای خیلی تنهاییه.
ولی یه چیزی که تو و دوستت دارید، چراغقوهست. همه میدونن چراغقوه رو ساختن تا بچهها بتونن زیر پتو کتاب بخونن! به نظر میرسه این چراغقوهها برای ارتباط برقرار کردن تو تاریکی هم عالی باشن. خیلی هم بیصدان و نورشون جهتدارِ، جوری که احتمالاً از زیر در اتاق به بیرون درز نمیکنه و پدر و مادر شکاکتو خبر دار نمیکنه.
آیا میشه با چراغقوه حرف زد؟ خب، ارزش امتحان کردن داره. تو کلاس اول یاد گرفتی چطور حروف و کلمات رو روی کاغذ بنویسی، پس انگار میشه این دانش رو به چراغقوه منتقل کرد. فقط کافیه جلوی پنجره وایستی و با نور حروف رو بکشی. برای حرف O، چراغقوه رو روشن میکنی، یه دایره تو هوا میکشی و بعد خاموشش میکنی. برای I، یه خط عمودی میکشی. اما خیلی زود میفهمی این روش یه فاجعهست! وقتی نور چراغقوهی دوستت رو میبینی که تو هوا خط و شکل میکشه، متوجه میشی که جمع کردن این خطوط تو ذهنت خیلی سخته. این چرخشها و خطهای نور اصلاً دقیق نیستن.
شاید یه بار تو فیلمی دیده باشی که چند تا ملوان با نورهای چشمکزن از روی دریا با هم حرف میزدن. یا تو یه فیلم دیگه، یه جاسوس با تکون دادن آینه نور خورشید رو به اتاقی که یه جاسوس دیگه اسیر بود، میتابوند. شاید این راه حل باشه! پس اول یه روش ساده درست میکنی: هر حرف الفبا یه تعداد چشمک زدن با چراغقوهست. A یه چشمک، B دو تا چشمک، C سه تا چشمک، و همینطور تا Z که ۲۶ تا چشمک میشه. کلمهی BAD میشه ۲ چشمک، ۱ چشمک و ۴ چشمک، با مکثهای کوتاه بین حروف که نفهمی ۷ تا چشمک یه Gـه. بین کلمات هم یه کم بیشتر مکث میکنی.
این روش به نظر امیدوارکننده میاد. خبر خوب اینه که دیگه لازم نیست چراغقوه رو تو هوا تکون بدی؛ فقط کافیه بگیری سمت دوستت و کلیک کنی. خبر بد اینه که یکی از اولین پیامهایی که میخوای بفرستی («حالت چطوره؟») کلاً ۱۳۱ تا چشمک لازم داره! تازه، یادت رفته بود علامت سؤال رو حساب کنی، و نمیدونی برای علامت سؤال چند تا چشمک لازمه.
ولی نزدیک شدی. حتماً فکر میکنی یکی قبلاً این مشکل رو حل کرده، و کاملاً درست فکر کردی. با یه سرچ تو اینترنت یا یه سر زدن به کتابخونه، یه اختراع فوقالعاده به اسم «کد مورس» پیدا میکنی. این دقیقاً همون چیزیه که دنبالش بودی، هرچند حالا باید دوباره یاد بگیری چطور همهی حروف الفبا رو «بنویسی».
فرقش اینجاست: تو سیستمی که خودت درست کردی، هر حرف الفبا یه تعداد مشخص چشمک بود، از ۱ چشمک برای A تا ۲۶ چشمک برای Z. اما تو کد مورس، دو نوع چشمک داری: چشمکهای کوتاه و چشمکهای بلند. معلومه که این باعث میشه کد مورس پیچیدهتر باشه، ولی تو عمل خیلی کارآمدتره. جملهی «حالت چطوره؟» حالا فقط ۳۲ تا چشمک (بعضی کوتاه، بعضی بلند) لازم داره، حالا دیگه علامت سؤالم حساب کردی.
وقتی دربارهی کد مورس حرف میزنن، نمیگن «چشمک کوتاه» و «چشمک بلند». به جاش از «نقطه» و «خط» استفاده میکنن، چون اینجوری راحتتر میشه کدها رو روی کاغذ نشون داد. تو کد مورس، هر حرف الفبا به یه سری کوتاه از نقطهها و خطها ربط داره، همونطور که تو جدول زیر میبینی.

اگرچه کد مورس هیچ ربطی به کامپیوترها نداره، ولی آشنا شدن با ماهیت کدها یه قدم مهم برای فهم عمیق زبانهای مخفی و ساختارهای داخلی سختافزار و نرمافزار کامپیوترهاست.
تو این کتاب، کلمهی «کد» معمولاً به یه سیستم برای انتقال اطلاعات بین آدما، بین آدما و کامپیوترها، یا حتی داخل خود کامپیوترها اشاره داره.
یه کد بهت کمک میکنه ارتباط برقرار کنی. بعضی وقتا کدها مخفیان، ولی بیشتر کدها اینجوری نیستن. در واقع، بیشتر کدها باید خوب فهمیده بشن، چون پایهی ارتباط انسانیان.
صداهایی که با دهنمون برای ساختن کلمهها درمیآریم، یه جور کد به حساب میآن که برای هر کسی که صدامونو میشنوه و زبونی که حرف میزنیمو بلده، قابلفهمه. به این کد میگیم «کلمهی گفتاری» یا «گفتار».
تو جامعهی ناشنواها، زبانهای اشارهی مختلف از دستها و بازوها برای ساختن حرکتها و ژستهایی استفاده میکنن که حروف تکتک کلمهها یا کل کلمهها و مفاهیم رو منتقل میکنن. دو تا سیستم رایج تو آمریکای شمالی، زبان اشارهی آمریکایی (ASL) هست که اوایل قرن نوزدهم تو مدرسهی ناشنوایان آمریکا درست شد، و زبان اشارهی کبکی (LSQ) که یه نوع تغییر یافتهی زبان اشارهی فرانسویه.
برای نوشتن کلمهها روی کاغذ یا رسانههای دیگه، از یه کد دیگه استفاده میکنیم که بهش میگیم «کلمهی نوشتاری» یا «متن». متن رو میشه با دست نوشت یا تایپ کرد و بعد تو روزنامهها، مجلهها و کتابها چاپش کرد یا روی صفحهی دستگاههای دیجیتال نشونش داد. تو خیلی از زبانها، یه رابطهی قوی بین گفتار و متن وجود داره. مثلاً تو انگلیسی، حروف و گروههای حروفی (کم و بیش) به صداهای گفتاری ربط دارن.
برای آدمایی که مشکل بینایی دارن، کلمهی نوشتاری میتونه با خط بریل جایگزین بشه. بریل از یه سیستم نقطههای برجسته استفاده میکنه که به حروف، گروههای حروفی و کلمههای کامل ربط دارن. (توی فصل سوم بیشتر دربارهی بریل حرف میزنم.)
وقتی قراره کلمههای گفتاری خیلی سریع به متن تبدیل بشن، تندنویسی یا شورتهند به کار میآد. تو دادگاهها یا برای زیرنویس زندهی برنامههای خبری و ورزشی تلویزیون، تندنویسها از یه دستگاه استنوتایپ با کیبورد سادهشده استفاده میکنن که کدهای خاص خودشو برای متن داره.
ما از کدهای مختلفی برای ارتباط با همدیگه استفاده میکنیم، چون بعضی کدها از بقیه راحتترن. کد گفتار رو نمیشه روی کاغذ ذخیره کرد، پس به جاش از کد متن استفاده میکنیم. انتقال بیصدا اطلاعات از راه دور تو تاریکی با گفتار یا کاغذ ممکن نیست. برای همین کد مورس یه گزینهی خوب به حساب میآد. یه کد وقتی مفیده که هدفی رو برآورده کنه که هیچ کد دیگهای نمیتونه.
همونطور که بعداً میبینیم، انواع مختلفی از کدها تو کامپیوترها برای ذخیره و انتقال متن، اعداد، صداها، موسیقی، عکسها و فیلمها و همینطور دستورات داخل خود کامپیوتر استفاده میشن. کامپیوترها نمیتونن بهراحتی با کدهای انسانی کار کنن، چون نمیتونن دقیقاً مثل آدما از چشمها، گوشها، دهن و انگشتهاشون استفاده کنن. یاد دادن حرف زدن به کامپیوترها سخته، و متقاعد کردنشون برای فهمیدن گفتار از اون هم سختتره.
ولی پیشرفتهای زیادی شده. حالا کامپیوترها میتونن خیلی از انواع اطلاعاتی که تو ارتباط انسانی استفاده میشن رو ضبط، ذخیره، تغییر و نمایش بدن؛ مثل اطلاعات بصری (متن و عکس)، شنیداری (کلمههای گفتاری، صداها و موسیقی) یا ترکیبی از اینا (انیمیشن و فیلم). همهی این اطلاعات به کدهای خاص خودشون نیاز دارن.
حتی جدول کد مورس که تازه دیدی، خودش یه جور کده. این جدول نشون میده که هر حرف با یه سری نقطه و خط نمایش داده میشه. ولی تو واقعیت نمیتونی نقطه و خط بفرستی. وقتی با چراغقوه کد مورس میفرستی، نقطهها و خطها به چشمک زدن ربط دارن.
برای فرستادن کد مورس با چراغقوه، باید کلید چراغقوه رو برای نقطه سریع روشن و خاموش کنی و برای خط یه کم طولانیتر. مثلاً برای فرستادن A، چراغقوه رو سریع روشن و خاموش میکنی و بعد یه کم کندتر روشن و خاموش میکنی و قبل از حرف بعدی مکث میکنی. طبق عرف، طول خط باید حدود سه برابر نقطه باشه. کسی که داره پیام رو میگیره، یه چشمک کوتاه و یه چشمک بلند میبینه و میفهمه که این Aـه.
مکثها بین نقطهها و خطهای کد مورس خیلی مهمن. مثلاً وقتی A رو میفرستی، چراغقوه باید بین نقطه و خط برای یه مدت تقریباً به اندازهی یه نقطه خاموش باشه. حروف تو یه کلمه با مکثهای طولانیتر، تقریباً به اندازهی یه خط، از هم جدا میشن. مثلاً کد مورس برای «hello» اینجوری با مکثها نشون داده میشه:

کلمات با یه دورهی خاموشی به اندازهی تقریباً دو تا خط از هم جدا میشن. اینم کد مورس برای «سلام»:

مدت زمانی که چراغقوه روشن یا خاموش میمونه، ثابت نیست. همهشون به طول یه نقطه بستگی دارن، که خودش به این بستگی داره که کلید چراغقوه چقدر سریع میتونه روشن و خاموش بشه و فرستندهی کد مورس چقدر سریع میتونه کد یه حرف خاص رو یادش بیاد. خط یه فرستندهی سریع ممکنه به اندازهی نقطهی یه فرستندهی کند باشه. این موضوع میتونه خوندن پیام کد مورس رو سخت کنه، ولی معمولاً بعد از یکی دو تا حرف، کسی که پیام رو دریافت میکنه میتونه بفهمه کدوم نقطهست و کدوم خط.
اولش به نظر میرسه تعریف کد مورس —یعنی تطبیق یه سری نقطه و خط با حروف الفبا— به همون اندازهی چیدمان کیبورد کامپیوتر تصادفی باشه. ولی اگه دقیقتر نگاه کنی، میبینی که کاملاً اینجوری نیست. کدهای سادهتر و کوتاهتر به حروفی اختصاص پیدا کردن که بیشتر استفاده میشن، مثل E و T. کسایی که اسکرابل بازی میکنن یا طرفدار برنامهی «چرخ شانس» هستن، ممکنه سریع اینو متوجه بشن. حروفی که کمتر استفاده میشن، مثل Q و Z (که تو اسکرابل ۱۰ امتیاز دارن و تو پازلهای «چرخ شانس» بهندرت دیده میشن)، کدهای طولانیتری دارن.
تقریباً همه یه کم کد مورس بلدن. سه نقطه، سه خط و سه نقطه یعنی SOS، علامت بینالمللی درخواست کمک. SOS مخفف چیزی نیست — فقط یه توالی کد مورس سادهست که به خاطر سپردنش راحته. تو جنگ جهانی دوم، شبکهی بیبیسی بعضی از پخشهای رادیوییش رو با شروع سمفونی پنجم بتهوون —بام، بام، بام، بامممم— آغاز میکرد که بتهوون وقتی این موسیقی رو ساخت نمیدونست یه روزی قراره کد مورس حرف V، یعنی پیروزی، بشه.
یکی از نقطهضعفهای کد مورس اینه که بین حروف بزرگ و کوچیک فرقی نمیذاره. ولی علاوه بر نمایش حروف، کد مورس برای اعداد هم کدهایی داره که از یه سری پنجتایی نقطه و خط استفاده میکنن:

این کدهای عددی، دستکم، یه کم منظمتر از کدهای حروفیان. بیشتر علامتهای نگارشی از پنج، شش یا هفت تا نقطه و خط استفاده میکنن:

کدهای دیگهای هم برای حروف دارای علامت در بعضی زبانهای اروپایی و همینطور برای توالیهای کوتاهشده با اهداف خاص تعریف شدن. کد SOS یکی از همین توالیهای کوتاهه: باید پشت سر هم فرستاده بشه و فقط یه مکث به اندازهی یه نقطه بین سه تا حرفش باشه.
میبینی که اگه یه چراغقوهی مخصوص برای این کار داشته باشی، فرستادن کد مورس برای تو و دوستت خیلی راحتتر میشه. این چراغقوهها علاوه بر کلید کشویی معمولی برای روشن و خاموش کردن، یه دکمهی فشاری هم دارن که فقط کافیه فشار بدی و ول کنی تا چراغ روشن و خاموش بشه. با یه کم تمرین، شاید بتونی به سرعت فرستادن و دریافت ۵ یا ۱۰ کلمه در دقیقه برسی — که هنوز خیلی کندتر از گفتاره (گفتار چیزی حدود ۱۰۰ کلمه در دقیقهست)، ولی مطمئناً کافیه.
وقتی بالاخره تو و صمیمیترین دوستت کد مورس رو از حفظ یاد بگیرین (چون تنها راه برای حرفهای شدن تو فرستادن و دریافتش همینه)، میتونید ازش بهصورت گفتاری هم به جای حرف زدن معمولی استفاده کنید. برای بیشترین سرعت، نقطه رو به شکل «دی» (یا «دیت» برای نقطهی آخر یه حرف) و خط رو به شکل «دا» تلفظ میکنید، مثلاً «دی-دی-دی-دا» برای V. همونطور که کد مورس زبان نوشتاری رو به نقطه و خط تبدیل میکنه، نسخهی گفتاری این کد هم گفتار رو به فقط دو تا صدای مصوت ساده میکنه.
کلمهی کلیدی اینجا «دو»ئه. دو نوع چشمک، دو نوع صدای مصوت، واقعاً دو نوع از هر چیزی، با ترکیبهای مناسب میتونه همه جور اطلاعات رو منتقل کنه.