درس : Text Manipulation برنامه نویسهای عملگرا به همون شکلی که نجارها چوب رو برش و شکل میدن، متن ها رو دستکاری و تغییر میدن. پیشتر راجع به یک سری ابزارها اعم از شل، ادیتورها، دیباگرها و. گفتیم، این ابزارها شبیه قلم و اره و صفحه نجارها هستن و برای این طراحی شدن که یک یا چند کار خاص رو به خوبی انجام بدن. با این حال هر از چند گاهی پیش میاد و لازم میشه که تغییراتی رو روی متنها اعمال کنیم به شکلی غیر کنترل شده و خارج از ابزارهای معمول، ما به یک ابزار عمومی برای دستکاری متن ها نیاز داریم. زبون های برنامه نویسی یا ابزارهای دستکاری متنها، مثل دستگاه گرد بر نجاری هستن، پر سرو صدا و شاید وحشی. اگر با اونها اشتباها کاری انجام بدیم، ممکنه اون قطعه از کارمونو از بین ببره. خوش بختانه ما ابزارهای قدرتمندی برای دستکاری متن ها داریم مثلا در یونیکس از قدرت کامندهای شل استفاده میکنیم با ابزارهایی مثل awk و sed ، گاها افراد میل شون به ابزارهای ساخت یافته تر مثل زبون های اسکریپتی مثل پایتون و روبی بیشتر هست. این زبون ها امکانات فوق العاده ای بهمون میدن، با استفاده از اونا میتونید خیلی سریع برنامه های کاربردی و ایده ها رو پیاده سازی کنید و زیر فیدبک ببرید، شاید با زبون های دیگه برابر تایم بیشتری بزارید برای انجام همون کارها. این فاکتور زمان خیلی مهمه، فرض کنید برای آزمایش یک ایده دیوانه وار دقیقه زمان طول بکشه خیلی بهتر از ساعته. یا برای اتومات سازی برخی از عملیات ها، اگر یک روز وقت بزارید خیلی بهتر از یک هفته است. توی کتاب The Practice of Programming یک برنامه رو به زبون مختلف می نویسن، نسخه ای که با زبون perl نوشته میشه خط هستش در مقابل زبون C که خط شده. یک زبان برای دستکاری متن ها یاد بگیرید برای اینکه گستردگی و پرکاربرد بودن زبون دستکاری متن ها رو بگیم یک مثال از استفاده خودمون از Ruby رو میگیم که به پروسه خلق این کتاب هم مربوط میشه. - بیلد کتاب: ما از زبون روبی استفاده کردیم برای ساخت و سرهم کردن قسمت های مختلف کتاب، به این شکل که اسکریپتی کدهای نمونه نوشته شده رو تست میکرد و اونها رو در قسمت هایی که باید در متن کتاب جایگذاری میکرد، اسکریپتی که منوها رو مدیریت میکرد، اسکریپتی که در نهایت کتاب رو تبدیل به پی دی اف بکنه یا روی سایت اپلود بکنه، تمام عملیاتها اتومات هست. اگر شما هم نصیحت مارو راجع به نگهداری اطلاعات در قالب plain text گوش بدید، قطعا از قدرت زبونهای دستکاری متن میتونید بهره ببرید و زندگی راحت تری خاهید داشت. دروس مرتبط: , منبع کانال تلگرامی: این وبسایت : t . me / pragmaticprogrammer _ fa