(تقریباً) همه چیزی که درباره Windows Azure باید بدانید

ویندوز آژور و آرایه

سال گذشته و پس از طی مراحل مشکلی (البته مشکل به خاطر ایرانی بودن) این امکان را یافتیم تا خدمات Azure مایکروسافت را آزمایش کنیم. این نوشته که به صورت پرسش و پاسخ است، نگاهی دارد به امکانات Azure.
این نوشته با پرسش‌های شما تکمیل خواهد شد. می‌توانید در بخش نظرات پرسش‌های خود را در خصوص Azure مطرح کنید. در نگارش این مطلب، از نوشته اسکات هنسلمن که به مبحث قیمت‌های آژور می‌پردازد نیز استفاده شده است.

 

Azure چیست؟

تعریف ویکی‌پدیا: ویندوز اَژور (به انگلیسی: Windows Azure) یک پلاتفرم رایانش ابری مایکروسافت است که برای ایجاد، توسعه و مدیریت اپلیکیشن‌ها از طریق یک شبکه جهانی از مراکز داده تحت مدیریت مایکروسافت می‌باشد. ویندوز اَژور این قابلیت را دارد که اپلیکیشن‌ها را توسط زبان‌ها، ابزارها و چهارچوب‌های مختلفی ایجاد کرده و به توسعه دهندگان امکان ادغام اپلیکیشن‌های عمومی خود را در محیط فناوری اطلاعات موجود می‌دهد.

بسیار خب، حالا آژور واقعاً چی داره؟

وقتی در آژور ثبت‌نام کنید، کنترل پنلی شبیه تصویر زیر را خواهید داشت:

به کمک این کنترل پنل می‌توانید این کارها را انجام دهید:

  • ایجاد وب سایت
  • ایجاد Virtual Machine
  • ایجاد سرویس‌های Mobile
  • ایجاد سرویس‌های Cloud
  • ایجاد دیتابیس
  • ایجاد فضای ذخیره‌سازی
  • ایجاد فضای backup/restore
  • ایجاد کلاستر
  • ایجاد CDN
  • ایجاد سرور Active Directory
  • ایجاد سرور برای ذخیره Media
  • ایجاد Virtual Network
  • ...

آیا وب‌سایت‌ها و سرورهای ایجاد شده در آژور، همگی ویندوزی هستند؟

خیر! موقع ایجاد وب سایت شما می‌توانید یک وب سایت خالی با یا بدون دیتابیس ایجاد کنید یا از گالری وب‌سایت‌ها از ده‌ها سیستم مدیریت محتوای ویندوزی و لینوکسی انتخاب کنید و از وردپرس و مدیاویکی گرفته تا دات نت نیوک را نصب کنید

در Virtual Machine ها هم می‌توانید از سیستم عامل‌های ویندوز سرور یا انواع توزیع‌های لینوکس داشته باشید تا VM های تخصصی مثل شیرپوینت یا اوراکل. همچنین اگر VM مد نظر شما در لیست نبود می‌توانید با استفاده از فایل VM ای که معرفی می‌کنید یک سرور مجازی داشته باشید.

همچنین وب سایت‌های آژور از تکنولوژی‌های مختلفی پشتیبانی می‌کنند و شما علاوه بر نسخه‌های مختلف دات نت، امکان استفاده از php، جاوا و python را هم دارید

آژور بر روی چه تعداد سرور اجرا شده است؟

مایکروسافت بیش از ۶۰ سرویس مختلف را در دیتاسنترهایی در ۱۹ منطقه دنیا ارائه می‌دهد و با توجه به اینکه هر مشتری می‌تواند به تعداد دلخواه سرور سفارش دهد، هزاران سرور در سراسر دنیا آژور را پشتیبانی می‌کنند. موقع ایجاد وب سایت‌ها یا خدمات دیگر می‌توانید دیتاسنتر نزدیک به خود را انتخاب کنید و وضعیت هر یک از مناطق را به صورت آنلاین مشاهده کنید.

وب سایت من پربازدید است، آیا می‌توانم آن را در آژور قرار بدهم؟

همانطور که اشاره شد مشکلی از نظر سرور و امکانات سخت‌افزاری نیست. در آژور شما این امکان را دارید که در زمان‌های مختلف دلخواه به اندازه مورد نظر، منابع وب سایت خود را گسترش دهید (یا به اصطلاح scale داشته باشید) که این کار می‌تواند اتوماتیک هم انجام شود.

آژور چه امکاناتی به برنامه‌نویسان می‌دهد؟

یکی از جذاب‌ترین امکانات آزور امکاناتی است که در خصوص یکپارچگی با سورس کنترل‌ها دارد. همانطور که می‌دانید سرویس سایت VisualStudio.com برای تیم‌های ۵ نفر رایگان است و به صورت رایگان مخازن کد خصوصی ارائه می‌دهد. سورس کنترل این مخازن می‌تواند مایکروسافتی (TFS Source Control) یا git‌ باشد (که در هر حال بر بستر TFS Online کار می‌کند)

در آژور شما می‌توانید به یک مخزن کد متصل شده و هر زمان کدی در آن مخزن قرار می‌گیرد Publish در وب سایت آژوری هم انجام شود. خبر خوب برای برنامه‌نویسان مایکروسافت، یکپارچگی کامل آژور با Visual Studio است به طوری که هنگام Publish‌ می‌توانید مشخص کنید که می‌خواهید پروژه در کدام سرور آژور قرار بگیرد و با انتخاب گزینه Publish کل وب سایت شما در وب استقرار می‌یابد.

آیا آژور سرویس رایگان دارد؟

هم بلی و هم خیر! مایکروسافت امکان یک دوره آزمایشی ۳۰ روزه از تمام امکانات آژور را فراهم کرده است که پیش از آن باید ثبت‌نام کنید (درباره روال ثبت‌نام در ادامه خواهم گفت) علاوه بر این دوره آزمایشی، مایکروسافت به هر اکانت در هر دیتاسنتر، ۱۰ وب سایت رایگان می‌دهد. البته زیاد ذوق زده نشوید، این وب سایت‌ها فقط به درد محتوای استاتیک می‌خورند. و به جز یک سرویس رایگان دیتابیس که آن هم محدودیت دارد برای سایر وب سایت‌ها امکان استفاده از دیتابیس ندارید. بر اساس آزمایش ما دیتابیس‌های ساده‌تر همراه خود پروژه‌های دات نتی هم در این فضا کار نمی‌کنند.

البته این سرویس رایگان به درد آزمایش و کارهای developer ها در معرفی پروژه‌های اپن سورس (به خصوص کتابخانه‌های جاوا اسکریپت) و سایت‌های پشتیبانی هاست‌ اصلی می‌خورد. البته باید توجه داشت در سرویس رایگان امکان استفاده از دامنه اختصاصی نیست و دامنه وب سایت شما یک زیردامنه از سایت اصلی Azure Web Site است.

قیمت خدمات آژور چقدر است؟

مهمترین تفاوت آژور با هاست‌های سنتی در همین مبحث قیمت خدمات است. در آژور شما به اندازه‌ آشی که می‌خورید پول پرداخت می‌کنید. در واقع اگر وب سایت شما منابع کمی از سرور را اشغال می‌کند به اندازه همان CPU‌ و RAM استفاده شده پول پرداخت می‌کنید. لذا مبلغ دقیقی برای خدمات آژور متصور نیست و باید بر حسب نیاز خود از بین سرویس‌ها انتخاب کنید.

آژور یک مدل پرداخت pay as you go دارد که بر اساس حجم خدمات استفاده شده صورتحساب شما را محاسبه و از حساب شما کسر می‌کند. ماشین حساب آژور به شما کمک می‌کند بر حسب نیاز خود، هزینه خدمات را محاسبه کنید.

من یک سایت روی هاست اشتراکی فلان شرکت دارم، آیا می‌توانم سایتم را به آژور انتقال بدهم؟

مشکلی در انتقال نیست، اما سوال اینجاست که آیا این انتقال با صرفه است؟ صرفنظر از پلن رایگان که ۱۰ وب سایت ارائه می‌دهد، اگر بخواهید از دامنه اختصاصی استفاده کنید باید از پلن shared استفاده کنید که حدود ۱۰ دلار در ماه قیمت دارد. 

روی پلن shared می‌توانید تا ۱۰۰ وب سایت داشته باشید، همه این وب سایت‌ها خدمات برنامه‌نویسی که اشاره شد را خواهند داشت. همچنین می‌توانید ۶ instance از وب سایت خود روی سرورهای دیگر را داشته باشید. هر instance در واقع یک کپی از کد شما بر روی سرور دیگری است که محدودیت RAM و CPU اش با سرور اصلی شما تداخل ندارد. اگر بیشتر از ۶ instance نیاز دارید به صرفه است که به پلن Standard مهاجرت کنید.

آیا استفاده از خدمات VM به صرفه‌تر نیست؟

البته خدمات VM در آژور خیلی خوبند اما باید به این نکته توجه کنید که پس از گرفتن VM تنظیمات آن با شماست. مثلاً در VM های ویندوزی باید IIS را تنظیم کنید یا سیستم عامل را خودتان به روز نگه دارید و ...

با قیمت حدود ۱۵ دلار می‌توانید VM در مقیاس خیلی کوچک بگیرید که ۷۶۸ مگابایت RAM دارد و احتمالاً برای سرورهایی نظیر سرور MySql‌ یا سرور لینوکسی مناسب است.

چه موقع از Web Site و چه موقع از VM استفاده کنیم؟

این کاملاً سلیقه‌ای است. اگر از Web Site ها استفاده کنید با یک محیط مدیریت شده طرف هستید. لازم نیست نگران تنظیمات باشید و به راحتی می‌توانید از امکانات متنوع برای استقرار برنامه تحت وب خود استفاده کنید. اما در VM‌ها همه تنظیمات و به روز نگه داشتن سیستم عامل و ... به عهده شماست.

نکته مهم اینکه در پلن Standard و پلن‌ Premium که به تازگی معرفی شده، سایت‌های شما روی VM هستند اما این VM مدیریت شده است. یعنی لازم نیست نگران نرم‌افزارهای مخرب یا به روز نگه داشتن VM باشید. از طرفی می‌توانید به راحتی سایت‌های خود را که روی یک VM‌ میزبانی می‌شوند مدیریت کنید. اگر تعداد وب‌سایت‌های شما زیاد است به جای استفاده از پلن Shared که برای ۸ سایت باید حدود ۷۷ دلار در ماه بپردازید استفاده از یک VM در پلن Standard (در سطوح مختلف منابع CPU و RAM بر حسب نیاز) با حدود ۷۴ دلار در ماه به صرفه تر است.

چطور منابع مورد استفاده سایت را بیشتر کنیم؟

یکی از ویژگی‌های جذاب آژور امکان Auto Scale است که در آن می‌توانید مشخص کنید وقتی سایت شما به حد مشخصی از استفاده منابع سرور رسید، به صورت اتوماتیک برای مدیریت ترافیک سایت، منابع بیشتری اضافه شود.

آیا آژور برای ایران هم در دسترس است؟

به سوال اصلی رسیدیم. پاسخ متاسفانه منفی است. ایران در لیست کشورهایی که آژور برایش عرضه می‌شود نیست. برای ثبت‌نام در آژور به کارت اعتباری و همچنین یک سیم کارت در خارج ایران نیاز دارید (تایید اکانت از طریق پیامک انجام می‌شود)

امیدواریم با به نتیجه رسیدن مذاکرات و رفع تحریم‌ها، تحریم‌های حوزه فناوری اطلاعات هم برداشته شده و برنامه‌نویسان ایرانی هم امکان استفاده از خدماتی مانند آژور را داشته باشند.

به اشتراک گذاری این نوشته در شبکه‌های اجتماعی

نابینایی سازمان‌ها و راه درمان آن

چند هفته پیش برای تدریس در یک کارگاه 2 روزه آموزشی شیرپوینت برای مدیران و کارشناسان فناوری اطلاعات سازمان‌های دولتی به محمودآباد رفته بودم. در این سفر، یکی از دوستانم همراهم من بود تا پیش از من، در مورد business intelligence برای شرکت کنندگان ارائه‌ای داشته‌ باشد.

وقتی نوبت به من رسید و خواستم در مورد پورتال و استفاده از شیرپوینت برای پورتال‌های داخلی و اینترنتی صحبت کنم، صحبتم را با یک مثال شروع کردم که منجر به تولید عبارت "نابینایی سازمان‌ها" شد.

نابینایی سازمان‌ها چیست؟

این روز‌ها شما کمتر سازمانی را می‌بینید که نرم‌افزارها در آن حضور نداشته باشند، این حضور در رده‌های مختلف سازمان و به شکل‌های مختلف است. ممکن است از حضور مجموعه نرم‌افزاری آفیس مایکروسافت شروع شود تا نرم‌افزارهای اتوماسیون اداری و مدیریت مستندات و ... اما با وجود اینکه این نرم‌افزارها در سازمان حضور دارند، اثر این حضور را در همه سازمان‌‌ها به روشنی نمی‌شود دید.

اجازه بدهید مثالی بزنم. سازمانی را تصور کنید که برای ثبت مکاتبات وارده و صادره از یک نرم‌افزار اتوماسیون استفاده می‌کند یا برای ثبت اسناد مالی از یک نرم‌افزار مالی، یا برای کنترل احکام و ثبت اطلاعات پرسنل از یک نرم‌افزار منابع انسانی. واقعیت این است که همه این نرم‌افزارها فقط داده‌ها را ذخیره می‌کنند و در موارد تعریف شده‌ای امکان ارائه گزارشاتی را دارند.

سازمان‌های نابینا، سازمان‌هایی هستند که تصمیماتشان را بدون توجه به شرایط فعلی سازمان اتخاذ می‌کنند. در سازمان‌های نابینا، مدیر نمی‌تواند متوجه شود که تصمیمی که امروز می‌گیرد، فردا چه تاثیری بر منابع انسانی یا مالی سازمانش خواهد داشت.

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

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

راه حل چیست؟ استفاده از داده‌های ذخیره شده در سازمان برای بینایی بخشیدن به تصمیمات سازمان.


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

تصمیم‌گیری هوشمندانه یا بینایی سازمان‌ها

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

تصور کنید که یک فرد بدون حس بینایی، مجموعه‌ای از فرمول فعل و انفعالات شیمیایی را حفظ کرده باشد. آیا در محیط آزمایشگاه و به راحتی می‌تواند آزمایشات را انجام داده و خروجی مورد انتظار را بدست آورد؟

وقتی از business intelligence صحبت می‌کنیم می‌خواهیم امکانی را برای سازمان‌ها فراهم کنیم که از محفوظاتشان (همان داده‌های نرم‌افزاری مختلف) به شکل آنی استفاده کرده و شاخص‌های خود را اندازه‌گیری کنند. در واقع می‌خواهیم داده‌های نرم‌افزاری را در تصمیم‌گیری مدیران موثر کنیم.

اگر بتوانیم این کار را به درستی انجام بدهیم، دیگر نرم‌افزار یک کالای تزئینی در سازمان نیست. بلکه یک جز حیاتی و جدانشدنی است که دیگر صرفاً یک انبار اطلاعات دیجیتال محسوب نمی‌شود و در واقع یک واحد تصمیم‌گیر سریع و دقیق و ارائه دهنده پیشنهادات استراتژیک برای پیشبرد اهداف سازمان است.

این مطلب را به عنوان مقدمه‌ای در گوشه ذهنتان داشته باشید، در مورد business intelligence بیشتر صحبت خواهیم کرد.

به اشتراک گذاری این نوشته در شبکه‌های اجتماعی

رزومه ارزش محور به جای رزومه کار محور برای توسعه دهندگان نرم‌افزار

یکی از کارهایی که ما به عنوان Software Developer توی زندگی حرفه‌ای باهاش روبرو هستیم نوشتن رزومه هستش. نوشتن رزومه کار مشکلی نیست و حتی اگر ندونید که چطور میشه رزومه نوشت، ده‌ها مطلب توی اینترنت می‌تونید پیدا کنید که به شما می‌گن که چه چیزهایی رو با چه فرمتی باید توی رزومه‌تون بنویسید.

اما یکی از چیزهایی که توی اغلب راهنمای رزومه‌نویسی بهش توجه نمی‌شه، نحوه بیان سوابق کاری هست. الان اگر به رزومه من یا خیلی از توسعه‌دهنده‌های نرم‌افزار نگاه کنید مجموعه‌ای از کارهایی که انجام دادیم رو می‌بینید.


اینکه از روی عنوان چند پروژه تصمیم بگیریم که یک نفر مفید هست و به درد کار می‌خوره خیلی سخته
درباره ارزش‌هایی که با تولید نرم‌افزار خلق کردید بنویسید تا دید بهتر و کامل‌تری درباره توانایی‌هاتون ایجاد کنید. 

قبلاً وقتی درباره مزیت رقابتی در نرم‌افزار نوشتم به نقل از کتاب Code Leader گفتم که پیش از آنکه حتی یک خط کد بنویسید باید از خودتان بپرسید که آیا این نرم‌افزار ارزش تجاری برای مشتریان ایجاد می‌کند؟

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

حالا به نظرم همین مساله ارزش محوری رو میشه در رزومه نوشتن هم استفاده کرد، یعنی به جای اینکه صرفاً بنویسیم که فلان کار رو انجام دادیم یا فلان نرم‌افزار رو تولید کردیم، درباره ارزشی که کارمون ایجاد کرده بنویسیم.

مثلاً من یک سرویس خبرخوان الکترونیکی برای شیرپوینت نوشتم (که البته توی رزومه‌ام هم نیست!) وقتی بخوام درباره‌اش توی رزومه صحبت کنم می‌تونم به جای اینکه بنویسم: "تولید سرویس خبرخوان الکترونیکی برای شیرپوینت 2007 و 2010" می‌تونم از این بگم که چطور این سرویس باعث شده که سازمان‌های مشتری دیگه نیازی به اشتراک کاغذی روزنامه نداشته باشند یا برای جمع آوری خبرهای مرتبط به سازمان از منابع مختلف به روابط عمومی‌ها کمک کرده و باعث صرفه‌جویی در وقتشون شده.

یک دستی به سر و گوش رزومه‌تون بکشید و درباره ارزش‌هایی که با کارتون ایجاد کردید بیشتر و بهتر (و البته مختصر) بنویسید.

به اشتراک گذاری این نوشته در شبکه‌های اجتماعی

ویندوز یا لینوکس، مساله این نیست!

دیروز مطلبی در سایت .NET Tips دیدم تحت عنوان "PHP سریع‌تر از ASP.NET! واقعیت یا افسانهنویسنده مطلب اشاراتی به بعضی دلایل فنی از جمله تفاوت PHP و ASP.NET از نظر نوع زبان (مفسری یا کامپایلی بودن) و تعدادی benchmark داشته و در نهایت نتیجه گرفته است که سریع‌تر بودن PHP درست نیست.

در این نوشته به یک موضوع اساسی در حوزه فناوری اطلاعات می‌پردازم: طرفداری. این طرفداری می‌تواند مثلاً در حوزه سیستم عامل باشد (دعوای طرفداران لینوکس و ویندوز) یا موبایل و سیستم عامل موبایل (دعوای طرفداران اندروید و iOS) یا تکنولوژی‌های وب (دعوای طرفداران PHP‌ و ASP.NET) و ...


شما یادتون نمیاد! یکی از معروف‌ترین wallpaper های زمان ما که به دعوای لینوکسی‌ها و ویندوزی‌ها اشاره داشت

مقایسه درست و مقایسه غلط

یک واقعیت این است که در بسیاری از حوزه‌های فناوری نمی‌توان یک مقایسه کامل و بی‌نقص انجام داد. مثلاً همین مساله سرعت PHP‌ و ASP.NET را در نظر بگیرید. هر دو این فناوری‌ها برای تولید صفحات پویا استفاده می‌شوند، بنابراین مقایسه سرعت برای تولید یک کد html ساده (در حد echo کردن یا معادل دات نتی آن Response.Write) چیزی را معلوم نمی‌کند و مهم نیست!

مقایسه اصلی زمانی است که مثلاً هر دو قرار است اطلاعاتی را از بانک اطلاعاتی دریافت کرده و نمایش دهند. خب اینجا هم نمی‌توان مقایسه درستی داشت چون دیتابیس‌هایی که در هر کدام از فناوری‌ها مورد استفاده است با دیگری فرق دارد و بخشی از سرعت واکشی اطلاعات به سرعت کوئری‌های دیتابیس برمی‌گردد.

و همه این‌ها به کنار، من به عنوان یک برنامه‌نویس ASP.NET می‌توانم برنامه‌ام را به شکلی بنویسم که با بدترین performance و کندترین شکل ممکن اجرا شود! یعنی الگوهای استفاده شده در تولید نرم‌افزار و مهارت برنامه‌نویس و روش اجرا هم واقعاً در مقایسه تاثیرگذار است: فرض کنید به دو برنامه‌نویس که یکی PHP‌ کار است و دیگری ASP.NET کار بگویید برنامه‌ای بسازد که در یک آرایه مشخص (که برای هر دو برنامه یکسان است) به دنبال یک عنصر خاص بگردد. یکی بهینه‌ترین (و خفن‌ترین) الگوریتم جستجو را پیاده‌‌سازی کند و دیگری جستجوی خطی را پیاده کند. معلوم است که نتیجه چه خواهد بود.

مقایسه گوشی‌ها را در پلتفرم‌های مختلف در نظر بگیرید. یک بازی مشخص را روی آیفون و مثلاً گلکسی اس 4 نصب می‌کنیم و بعد نتیجه می‌گیریم که عملکرد کدام بهتر است غافل از اینکه گرچه بازی یک بازی است اما به دلیل تفاوتی ذاتی پلتفرم‌های iOS و اندروید عملاً دو بار نوشته شده است (یا از یک پلتفرم به دیگری پورت شده) و این یعنی مبنای مقایسه ما درست نیست.

بنابراین در دعواهای طرفداری همیشه این موضوع را در نظر بگیرید که آیا مقایسه انجام شده کاملاً قابل اطمینان است یا خیر؟

فناوری، یک ابزار در دست شماست. نه بیشتر نه کمتر

اگر در رشته کامپیوتر درس خوانده باشید، لابد دعواهای دانشجویی بر سر انتخاب سیستم عامل و زبان برنامه‌نویسی را از ترم‌های اول دانشگاه به یاد دارید!

تجربه ده ساله من می‌گوید آن‌ها که حرفه‌ای هستند سر این مسائل با هم بحث و جدل نمی‌کنند! البته ممکن است شما نوشته‌ای از جف آتوود در مذمت PHP به من نشان بدهید، اما این را به یاد داشته باشید همان جف آتوود وقتی می‌خواهد پروژه discourse را بسازد از ruby استفاده می‌کند. چرا؟ خیلی ساده است طرفدار بودن با متعصب بودن فرق دارد.

به عبارت بهتر همه این فناوری‌ها فقط ابزار هستند و نباید آن‌ها را از اندازه ابزار بزرگتر دید. 

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

به همه این فناوری‌ها به شکل ابزار نگاه کنید. اگر این ابزارها به شما در راه رسیدن به هدفتان کمک می‌کنند از آن‌ها استفاده کنید و گرنه خیلی راحت بروید سراغ یک ابزار دیگر.

من رفقایی داشتم که با تعصب خاصی معتقد بودند دلفی خیلی قوی‌تر از vb است. شاید درست می‌گفتند ولی آخرش بورلند (به آن شکلی که می‌شناختیم) تمام شد! و آن طرفداران متعصب ماندند و ابزاری که دیگر مثل قبل نبود و در برابر دات نت زانو زده بود. 

وقتی در ترم‌های اول دانشگاه پاسکال و C می‌خواندم به یاد دارم که استادم می‌گفت اگر اصول برنامه‌نویسی را درست یاد بگیرید، ظرف یک هفته می‌توانید با هر زبان برنامه‌نویسی که بخواهید کار کنید. واقعیت هم همین است. زبان‌های برنامه‌نویسی اغلب بر پایه‌های ثابتی استوار هستند و فقط گرامر آن‌ها با هم متفاوت است.

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

به اشتراک گذاری این نوشته در شبکه‌های اجتماعی