خوش آمدید به اولین اپیزود پادکست نگاه دوم!
در اپیزود نخست از فصل زبان الگوها، ما را به سفری در ریشهها دعوت میکنیم. این بار، به جای آنکه مستقیماً به سراغ الگوها در دنیای آشنای نرمافزار برویم، به خاستگاه و منبع الهام این مفهوم پرقدرت خواهیم رفت: معماری.

کریستوفر الکساندر کیست؟
کریستوفر الکساندر (Christopher Alexander)، معمار، طراح و نظریهپرداز برجسته، نقشی کلیدی در شکلدهی به مفهوم مدرن الگو ایفا کرده است. او معتقد بود که فضاهای معماری موفق، حاصل استفاده از الگوهای اثباتشدهای هستند که به طور طبیعی نیازهای انسانی را برآورده میکنند.
کتاب A Pattern Language چیست؟
این کتاب که در سال ۱۹۷۷ منتشر شد، شاهکار الکساندر و حاصل دههها تحقیق اوست. این کتاب شامل ۲۵۳ الگو است که از مقیاس بزرگ (مانند نحوه طراحی شهرها و نواحی) تا مقیاس کوچک (مانند نحوه چیدمان مبلمان در یک اتاق) را پوشش میدهد. هر الگو یک راهحل پایدار برای مسئلهای تکرارشونده در طراحی محیطهای ساختهشده ارائه میدهد.
در این کتاب منظور از الگو چیست؟
الگو در دیدگاه الکساندر، سه بخش اصلی دارد:
- زمینه (Context): موقعیتی که مسئله در آن رخ میدهد.
- مسئله (Problem): چالشی که در آن زمینه باید حل شود.
- راهحل (Solution): توصیفی از ساختار فیزیکی که مسئله را در آن زمینه حل میکند.
الگوها در این کتاب، صرفاً دستورالعملهای خشک نیستند، بلکه توصیههایی غنی و آزمایششده برای ایجاد فضاهای زنده و انسانی هستند.
منظور از زبان در زبان الگوها چیست؟
زبان در اینجا به مجموعهای از این الگوها اشاره دارد که میتوانند با هم ترکیب شوند تا طرحهای پیچیدهتر و منسجمتری را خلق کنند. درست مانند زبان که از کلمات برای ساخت جملات و مفاهیم پیچیده استفاده میکند، زبان الگوها به معماران و طراحان اجازه میدهد تا با ترکیب الگوهای مختلف، طرحهای منحصربهفرد و در عین حال کارآمد و انسانی بیافرینند. این زبان، راهی برای برقراری ارتباط مؤثر درباره طراحی پایدار و کارآمد است.
تاثیرات کتاب A Pattern Language
این کتاب تأثیرات عمیقی بر حوزههای مختلف گذاشت:
- معماری: الهامبخش نسلها معمار برای تمرکز بر نیازهای انسانی و ایجاد فضاهای کاربردی و زیبا.
- طراحی شهری: استفاده از الگوها برای طراحی شهرهای پایدارتر و زندهتر.
- علوم کامپیوتر: مهمتر از همه، این کتاب پایهگذار مفهوم الگوهای طراحی (Design Patterns) در مهندسی نرمافزار شد.
ارتباط با الگوهای نرمافزاری
در اواخر دهه ۱۹۸۰ و اوایل دهه ۱۹۹۰، گروهی از مهندسان نرمافزار (مانند اریک گاما، ریچارد هلم، رالف جانسون و جان ولیسایدس – گروه چهار نفره معروف به GoF) با الهام از کار الکساندر، شروع به مستندسازی الگوهای طراحی در نرمافزار کردند. آنها مشاهده کردند که بسیاری از راهحلهای خوب و تکرارشونده در طراحی نرمافزار وجود دارد که میتوان آنها را به صورت الگو مستند کرد. کتاب Design Patterns: Elements of Reusable Object-Oriented Software که در سال ۱۹۹۴ منتشر شد، دقیقاً همین کار را انجام داد و مفهوم الگو را به دنیای نرمافزار وارد کرد.
چرا اینقدر تأثیرگذار شد؟
- زبان مشترک: الگوها یک زبان مشترک برای توسعهدهندگان فراهم کردند تا بتوانند درباره راهحلهای طراحی به طور مؤثرتری صحبت کنند.
- راهحلهای اثباتشده: ارائه راهحلهای کارآمد و آزمایششده برای مسائل رایج طراحی نرمافزار.
- کاهش پیچیدگی: کمک به مدیریت پیچیدگی سیستمهای نرمافزاری بزرگ.
- قابلیت استفاده مجدد: تشویق به استفاده مجدد از راهحلهای خوب و جلوگیری از دوباره اختراع کردن چرخ.
کریستوفر الکساندر در ایران
(این بخش را میتوانید با تحقیق بیشتر تکمیل کنید. آیا الکساندر به ایران سفر کرده است؟ آیا آثار او به فارسی ترجمه شده؟ آیا معماران ایرانی از ایدههای او تأثیر پذیرفتهاند؟)
- پیشنهاد: اگر اطلاعات دقیقی در مورد حضور الکساندر در ایران ندارید، میتوانید بر تأثیر آثار او بر معماری معاصر ایران تمرکز کنید و اینکه چگونه مفاهیم الگو در دانشگاهها و بین معماران ایرانی مطرح شده است.
در این اپیزود، ما این پیوند شگفتانگیز بین معماری و نرمافزار را بررسی میکنیم و نشان میدهیم که چگونه ایدهای که برای ساختن خانهها و شهرها مطرح شد، انقلابی در نحوه ساخت نرمافزارها به پا کرد.
با ما همراه باشید در نگاه دوم!
این اپیزود رو بر روی کانال رسمی نگاه دوم در اسپاتیفای بشنوید!
Podcast: Play in new window | Download