[h=2][/h] ICTPRESS - - وقتی ميخواهیم زبان برنامهنویسی را برای پروژهای انتخاب کنیم فاکتورهایی که باید در نظر بگیریم زیاد است، اما ... به طور کلی سهولت پیادهسازی، سرعت، اطمینانپذیری و امنیت از فاکتورهای مهم برای انتخاب زبان برنامهنویسی هستند. پايتون و سيشارپ از زبانهاي مدعي د راين زمينه هستند، اما زبانهای دیگری نیز بهوجود آمدهاند که همين ادعا را مطرح ميکنند وقتی ميخواهیم زبان برنامهنویسی را برای پروژهای انتخاب کنیم فاکتورهایی که باید در نظر بگیریم زیاد است، اما به طور کلی سهولت پیادهسازی، سرعت، اطمینانپذیری و امنیت از فاکتورهای مهم برای انتخاب زبان برنامهنویسی هستند. پايتون و سيشارپ از زبانهاي مدعي د راين زمينه هستند، اما زبانهای دیگری نیز بهوجود آمدهاند که همين ادعا را مطرح ميکنند. يكي از اين زبانهاWirBel است. زبانی که Syntax شبیه پايتون دارد، اما دارای کامپایلر درونی بوده و کدها را در سطح Native کامپایل ميكند. زبانی که سرعت بسیار بالایی در اجرا داشته و موقع اجرا به توابع کتابخانهای و محیط RunTime هم نيازي ندارد. این زبان بسیار جدید است و سرعت بسیار بالای آن و عدم نیاز به محیط RunTime و توابع کتابخانهای در اجرا، آن را از بقیه زبانهای جدید متمایز ساخته است. دیگر نیازی نیست که موقع انتشار، کد توابع مربوط به آن برنامه هم کامپایل و توزیع شوند. همه چیز در یک بسته ارائه ميشود. زمانی که میخواهیم زبان برنامهنویسی را برای پروژه خود انتخاب کنیم باید دارای قابلیتهای برنامهنویسینوین و قدرتمند باشد. یکی از این قابلیتها Method Overloading است. به عنوان مثال، تصور کنید که میخواهیم برنامهای بنويسیم که برای چند کار مورد استفاده قرار گیرد و با استفاده از تنها يك متد این کار امکانپذیر باشد. کافی است که مقدار ورودي متد را از نوع Object قرار دهیم و نگران مقدار شيء مورد نظر نباشیم، زيرا متد مربوط خود به صورت هوشمند و با استفاده از مقدار داده شده در شيء کار مورد نظر را انجام میدهد. این قابلیت در بيشتر زبانهای قدرتمند مانند جاوا ،++ C و سيشارپ وجود دارد و به کاربر اجازه میدهد با یک متد و تنها یک نام برای آن متد و با استفاده از مقداری که متد به عنوان ورودی میگیرد وظیفه خود را انجام دهد. این قابلیت همان برنامهنویسی به صورت Type Static است، با این تفاوت که برنامه زمان صدازدن متد تایپ ورودی را نیز بررسي میکند و با توجه به ورودی مربوط انجام وظیفه میکند. نكته قابل توجه این که این کار در زمان کامپایل انجام میپذیرد و از قابلیتهای برجسته برنامه نویسی شیءگرا است. یکی از مزایای WirBel قابلیت Function overloading است که در زبان پايتون وجود نداشت. همچنین برنامهنویسان در برنامه با باگهای کمتری موقع اجرا برخواهند خورد، زيرا زبان WirBel خود مشکلات برنامه را شناسایی كرده و به برنامهنویسان در حالت ديباگ اطلاعرسانی ميکند. این زبان از DataType های C برای اعداد و مقادیر Boolean استفاده ميکند و این ويژگي ميتواند به صرفهجویی در حافظه به ما کمک کند. همچنین این زبان از نظر سورس کد و باینری با زبان سيشارپ همگون است، به صورتی که مثلاً ميتوان توابع کتابخانه را در WirBel نوشت و در زبانهایی مانند سي و سيشارپ از آن استفاده کرد. به دلیل اینکه WirBel هنوز در حالت توسعه است، هنوز نسخه تحت ویندوز آن قابل استفاده نیست، اما در اوبونتو و مك ميتوان از آن استفاده کرد. در واقع زبان WirBel شباهتهای زیادی به پايتون دارد و یادگیری و استفاده از آن برای برنامهنویسانی که قبلاً از پايتون استفاده کردهاند، ساده است. البته برای کاربرانی که با پايتون کار ميکنند، زبان WirBel مزایای قابل رقابتي دارد که از آن جمله ميتوان به داشتن نوع داده یا DataType ويژهاي بهنام Enbueration اشاره كرد. با استفاده از اين نوع داده ميتوان مقادیری را به صورت خودکار و به صورت محلی معرفی و از آن استفاده کرد. برای اینکه با این زبان بیشتر آشنا شوید، بد نیست مثالی اجرایی را ببینیم. در كد بالاي صفحه نحوه معرفی و استفاده از Variable و حلقه For نشان داده شده است. برای اجرای این برنامه باید مطابق دستور زیر عمل کرد: Amin@host> wirbel ShabakehDemo.w اگر چه زبان WirBel بسیار پر سرعت و ساده است، اما مشکلاتی نیز دارد که گفته ميشود در نسخههای بعدی این نرمافزار برطرفخواهد شد. از جمله این اشکالات ميتوان به عدم پشتیبانی از Self Inspection، عدم توانایی در تغییر در کد موقع اجرا در حالت Runtime و معطلی چند ثانیهای برای کامپایل در نخستين استفاده از برنامه نام برد. با اين حال، هیچیک از این محدودیتها باعث نخواهد شد که از این زبان برنامهنویسی استفاده نکنیم؛ WirBel با زبانهای دیگر بسیار متفاوت است و تا خودتان یک برنامه با آن ننوشته و کامپایل نکنید، به این تفاوت پی نمیبرید. اگر چه ممکن است موقع کامپایل برنامه هم به اشکالاتی برخورد کنید، اما با نصب برنامههای جانبی WirBel این مشکلات نیز حل خواهد شد.