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