Customized Development Environments

سؤال: چه چیزی یه برنامه‌نویس رو از برنامه‌نویسای دیگه متمایز می‌کنه؟

پاسخ‌های محتمل:

1- سبک کدنوشتن: از چه notationای استفاده می‌کنه؟‌ کدهاش به دل میشینه(!) یا نه؟ به اندازه‌ی کافی مستند و گویا هستند؟

2- به چه زبان‌ها و پلتفرم‌هایی تسلط داره؟ جاوا کاره؟‌ دات‌نت ؟ … چی؟!‌ Perl، Python، Ruby و چندصد تا زبون دیگه رو هم بلده؟!! یهو بگو خداوندگاریه واسه خودش!

3- ویندوزیه؟ (خوبه‌ها، ولی ویندوز تازگیا جوات شده!) لینوکس کاره؟‌ ایول، دمش گرم! تازه، طرف فقط‌ هم text-mode‌ حال می‌کنه!

4- …

پاسخ به سؤال فوق، بنوعی متأثر از تمامی موارد بالا هست و درعین حال، نیست. ولی یه چیزی هست که می‌شه خصوصیات هر برنامه‌نویس رو ازش استخراج کرد، یه کم فکر کنید… چه چیزیه که ما برنامه‌نویسا 24 ساعت در روز باهاش سروکار داریم؟ آفرین، کامپیوتره دیگه! هر کسی بعد از مدتی، شروع می‌کنه به شخصی‌سازیِ محیط توسعه‌اش (منظورم فقط IDE نیست، منظورم کل سیستم‌عاملشه!)، برای کارهای تکراری روزانه‌اش روش‌هایی ابداع می‌کنه، ابزارهای مختلفی رو تست و استفاده می‌کنه، دسکتاپش رو طبق نیازهاش می‌چینه، و خلاصه هر جا که احساس کنه چیزی در کامپیوترش به دلخواه اون نیست، یه بلایی سرش میاره تا بالاخره طبق دلخواه اون بشه!

همه و همه‌ی این‌ها، نهایتاً منجر به ایجاد یک سبک خاص از محیطِ توسعه می‌‌شه، که تا حدودی هم منحصر به هر برنامه‌نویسه، اما بین افراد مختلف می‌شه شباهت‌های زیادی هم پیدا کرد. افرادی که معتقدن «اگه کاری رو مجبوری بیش از یه بار انجام بدی، یه فکری به حالش بکن؛ اسکریپتی، ابزاری، برنامه‌ای، کوفتی(!) واسش ردیف کن تا راحت‌تر انجام بشه» (*)، مطمئناً سبک خاصی رو برای خودشون بوجود میارن. هر چقدر اعتقاد به این قضیه بیشتر باشه، سبکِ محیطِ توسعه‌ی اون برنامه‌نویس واضح‌تر، قوی‌تر و آشکارتره.

سؤال‌های بعدی: آیا این مفهومِ من‌درآوردیِ سبک، ارتباط مستقیمی با مهارت‌های یه برنامه‌نویس داره؟‌ به نظر من، بله! اما این قضیه یه‌طرفه‌اس، یعنی فقط قسمت مثبتش رو می‌شه لحاظ کرد: اگه سبکِ محیطِ کاریه یه برنامه‌نویس منحصربفرد بود، به احتمال زیاد خودش هم یه جورایی با بقیه فرق داره. اما اگه محیط‌ش خیلی هم عجیب و غریب نبود —> هیچ نظری نمی‌شه داد. مثلاً ممکنه طرف از اون آدمای فوقِ باهوشی باشه که دوست داره دسکتاپش در نهایتِ بی‌نظمی باشه و فقط خودش بتونه باهاش کار کنه!

 

در همین راستا، یه پیشنهاد به تمامی وبلاگ‌نویسانِ برنامه‌نویس دارم. بیایید در یک یا چند پست، سبکِ خودتون رو توضیح بدید؛ فهرست ابزارهای مورد علاقه‌تون رو بگین، و بگید که هر کدوم رو در چه موقعیت‌هایی استفاده می‌کنید؟ چه روش‌هایی رو برای اتوماسیون کارهای خودتون استفاده می‌کنید؟ و مواردی شبیه به این. خلاصه هر چیزی که بنوعی جزیی از عادت‌های برنامه‌نویسی‌تون شده.

ضمناً این یه بازیِ اینترنتی نیست، یه راهه برای به‌اشتراک‌گذاری تجربه‌هامون با بقیه‌ی برنامه‌نویس‌ها، اون‌ هم به سریع‌ترین و خلاصه‌ترین شکل ممکن. چه نکته‌هایی که می‌شه از چنین پست‌هایی یاد گرفت!

بعنوان شروع، پست بعدی این وبلاگ یقیناً در همین رابطه‌ خواهد بود.

 

رونوشت: تمامی وبلاگ‌نویسانِ برنامه‌نویس (یا برنامه‌نویسانِ وبلاگ‌نویس؟!)

————————–

(*) درست مطمئن نیستم که جمله‌اش دقیقاً این بود یا نه، اما یادمه اولین بار وقتی خیلی بچه بودم، سعیدِ ضیایی بود که مفهوم اسکریپت رو فرو کرد در مغزم!

- یه نکته فرعی برای پیش‌گیری از سوء تفاهمات:‌ بیایید برای اولین بار هم که شده، این‌جور جمله‌ها و تصورات رو کنار بذاریم: “آدم که نباید از خودش تعریف کنه”، “فلانی می‌خواد بگه که چقدر حرفه‌ایه!” و جمله‌هایی از این دست. و یا حتی از اون طرف قضیه، قرار نیست با دیدنِ سبکِ هر فرد، راجع بهش قضاوت کنیم. فقط قراره که share کنیم و از همدیگه یاد بگیریم. بقول یه بنده‌خدایی:  I share, U share, V learn

7 نظر

  1. سلام
    پست جالبی بود
    من در مورد بعضی از ابزارهایی که استفاده می کنم یک توضیحاتی دادم:
    http://zoftware.blogspot.com/2007/12/blog-post.html

  2. فکر جالبیه منم در این مورد خواهم نوشت.
    در مورد مقایسه سیلورلایت با فناوری های مشابه مثل flex یا فلش باید بگم که به نظر من اصلاً قابل مقایسه نیستن چون سیلورلایت از حمایت دات نت فریم ورک، زبان های وابسته به دات نت، ویژوال استادیو و از همه مهمتر ویندوز و شرکت مایکروسافت برخورداره و مطمئنا خیلی سریع رشد می کنه و به زودی فراگیر خواهد شد. حتما در این مورد می نویسم.
    اما چیزی که مشخصه طراحان وب سایت به فلش و فناوری های شرکت ادوبی تمایل دارن و خواهند داشت و developerها به سیلورلایت برای ساخت اینترفیس برنامه های تحت وب خود بیشتر تمایل خواهند داشت.

    شارپدیا:
    ممنون ایمان‌جان.
    مقایسه‌ی خوبی بود. پیشنهاد می‌کنم که بطور مفصل‌تر در وبلاگت در این رابطه بنویسی.

  3. بابا مهرداد جان اين چرنديات و ول كن، يه كم رمانتيكي، فلسفي، بنويس حالش و ببريم D:

    شارپدیا:
    مجیدجان، طی روزهای آتی برات چندتا فال قهوه و شعر رمانتیک پست می‌کنم.
    :D

  4. من خیلی دوست دارم ببینم تو و سینا ایروانیان از چیا استفاده می‌کنید.

    شارپدیا:
    من هم منتظر سینا هستم.

  5. با با او سعيد خودش نمي دونست اسكريپت و با چه پ اي مي نويسن D: منو فرشيد يه وب سايت در پيت براش نوشتيم كف كرده بود D:

    شارپدیا:
    منظور از اسکریپت، ماکرو و امثالهم بود. نه جاوا اسکریپت و این‌جور چیزا!

  6. [...] Sharpedia When a C# Developer Inspects the World « Customized Development Environments [...]

  7. سيلورلايت در کجاي ويندوز ويستا قرارداره رو مي خواستم بدونم
    ممنون مي شم اگه برام ميل کنيد
    متشکرم

يك پاسخ برايش بگذاريد