اندر نکوهش ویژوال بیسیک 2

در پست اندر نکوهش ویژوال بیسیک گفتم که به نظر من ویژوال بیسیک نه تنها زبان بدی است، بلکه بدترین زبان برای شروع و کسانی است که تاکنون برنامه نویسی نکرده اند.حال دلیل دیگر بر مدعای خود می آورم:

اریک ریموند از برنامه نویسان بسیار حرفه ای و یکی از پایه گذاران جنبش باز متن است. مقاله بسیار مفید و معروفی دارد با نام “چگونه هکر شویم؟” (هکر در اینجا به معنی برنامه نویس حرفه ای است) درباره برنامه نویسی و راه های حرفه ای شدن در آن. متن انگلیسی را در اینجا و ترجمه ای فارسی از آن را می توانید اینجا ببینید.

در انتهای متن در بخش پرسش های بسیار پرسیده شده به سوال ” آيا ويژوال بيسيک زبان برنامه‌نويسی خوبی برای شروع است؟ ” پاسخ می دهد که ترجمه آن را نقل می کنم. با توجه به این نکته که نسخه متن انگلیسی از نسخه ترجمه شده جدیدتر است، آنرا با اندکی تغییر بر اساس متن جدید اینجا می آورم:

پرسش: آيا ويژوال بيسيک زبان برنامه‌نويسی خوبی برای شروع است؟

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

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

اگر شما کاملاً مراقب امکاناتی که از آنها استفاده می‌کنيد -بيشتر از آنچه يک فرد مبتدی می‌تواند- نباشيد، به طور قطع سرانجام در يکی از بسترهایی که مايکروسافت از آنها پشتيبانی می‌کند، محدود خواهيد شد. اما اگر شما با يونيکس آغاز بکنید، زبانهای برنامه‌نويسی خيلی بهتری با کتابخانه‌های بهتری خواهيد داشت. مثل پایتون.

مانند بيسيک‌های ديگر، ويژوال بيسيک زبانی است که طراحی بسيار ضعيفی دارد و شما را به روش‌های غلط در برنامه‌نويسی عادت می‌دهد. از من نخواهيد که جزئيات آن را شرح دهم. اين توضيحات يک کتاب را پر می‌کنند. به جای بيسيک يک زبان برنامه‌نويسی خوب طراحی شده را ياد بگيريد.

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

اگر می خواهید بار دیگری که  مطلبی نوشته شد، آگاه گردید. عضو خوراک (feed) این بلاگ شوید.

18 Responses to “اندر نکوهش ویژوال بیسیک 2”

  1. برای همینه که مم توی برنامه نویسی وب خیلی خیلی خیلی بهتر از VB عمل میکنم. اشتباه کردم یادش گرفتم.

  2. البته حرفهای شما کاملا متینه جناب غانم زاده ولی توجه هم دارین که برای بچه های نرم افزار گذروندن وی بی یک اجباره و اون چیزیه که دانشگاه از ما میخواد. به نظر شما ایا راهی هست که وی بی رو یاد گرفت ولی اونطوری که شما فرمودید به عادات غلطی که بوجود میاره دچار نشد ؟

  3. – برای بچه های نرم افزار گذروندن VB‌ اجباری نیست. این کاملا بستگی به دانشگاه داره.
    – یاد گرفتن VB که وقت خیلی کمی هم میبره، از یاد نگرفتنش بهتره. مثال میزنم‌: من خیلی از ابزارهای دمِ دستی ام رو با VB مینویسم. چون بجای 400 خط (مثلا توی سی.شارپ)، از مجموعه امکانات خودِ VB استفاده میکنم و فقط 40 خط کد مینویسم. معامله‌ی خوبی نیست ؟
    – قبول دارم که مایکروسافت سعی داره “زورکی” VB رو سرِپا نگه داره،‌ اون هم با روشهای مزورانه !!!

    پرسش: آيا ويژوال بيسيک زبان برنامه‌نويسی خوبی برای شروع است:
    بنظر من: ابداً‌ !

  4. […] و خوشحالم كه خواننده مطالب وبلاگشان هستم در مورد ويژوال بيسيك هم كاملا با نظراتتان موافق هستم واقعا با چند حركت موس […]

  5. اما جدیداً گذروندن VB در همه ی دانشگاه ها و هنرستان ها اجباری شده.حتی در کنکور کاردانی به کارشناسی هم ازش سئوال میاد.
    درسته برای شروع بیسیک اصلاً توصیه نمیشه ولی الان VB.NET چیزی از زبان های دیگه کم نداره و به نظر من زبان خیلی خوبیه. هر چند خودم حاضر نیستم تا C# مونده برنامه ای به این زبان بنویسم. اما به قول مهرداد میشه خیلی از برنامه های دم دستی و کم دردسر رو با ویژوال بیسیک به راحتی نوشت.

  6. ای خدا
    چی بگم؟؟؟؟؟

    امید تو میای این متنا رو می نویسی
    بعد ما میاییم بهت می گیم بیا یه پروژه با VB واسه یه بنده خدایی بنویس
    دیگه روت نمی شه بگی می نویسم

    این حرفا رو نیا اینجا بزن
    دست مارو هم تو حنا نگذار!!!!!

    ***::..(دوستان عزیز امید به من می گه نیا تو وبلاگم چرت و پرت بگو – از اون طرف هی دم از آزادی بیان می زنه)..::***

  7. بابکو

    با عرض سلام:
    میخواستم خدمت این آقای صاحب بلاگ و استاد برنامه نویس عرض کنم اصل مطلب درک برنامه نویسی نه زبان. اگه بتونی با یکی از زبانها به راحتی برنامه بنویسی .مطمین باش با اون یکی زیانها هم میتونی برنامه نویسی کنی.و هرگز python رو با vb مقایسه نکن.

  8. Nasser Ghanemzadeh

    دوست عزیز بابکو
    حرف شما کاملا درست است و اصل “درک برنامه نویسی” است. اما پرسشی دارم:
    برنامه نویسی چگونه درک میشود؟
    فرآیند یادگیری برنامه نویسی چیست؟

    آیا در دنیا کسی را می شناسید که “بدون اینکه با زبانی کار کرده باشد، برنامه نویسی بلد باشد!؟”
    برنامه نویسی یک فرآیند تجربی نیز هست و افراد توانایی های برنامه نویسی خود را در عمل افزایش داده و تقویت می کنند.
    روشن است برای آغاز باید از یک زبان باید استفاده شود، و سخن من آن است که این زبان زیانی باشد که “درک درستی” از برنامه نویسی دست دهد.
    در ضمن VB زبان برنامه نویسی نیست، ترکیبی از یک زبان، یک IDE و یک بستر (پلتفرم) است.

  9. خدایی راست گفتی ناصر جان!
    VB هم شد زبان برنامه نویسی؟!؟!؟!؟!؟!؟!

    البته دوستانی که از این حرفا ناراحت می‌شن حق دارن!
    چون وقتی می شنون که VB زبان بدیه، (هیچ کلمه‌ای برای توصیفش نمیابم! 😀 )
    احساس می‌کنن به اونا، و علمشون در این زمینه توهین شده! به این مسئله که زمانی وقت گذاشتن و اونو یاد گرفتن، وقتی که حالا می‌فهمن بر باد دادن!

    ولی بچه ها ناراحت نباشین، گذشته ها گذشته و ماهی رو هر وقت از آب بگیری تازه است!!!!

    بابکوی عزیز وقتی می‌گی «هرگز پایتون رو با vb مقایسه نکن» اینطور احساس می‌شه که نمی‌دونی پایتون چیه!!!

  10. مخالف ام !
    اولا که زبان در برنامه نویسی اصلا مهم نیست. چون شما سینتکس رو تحت هر زبانی میتونید تولید کنید و آنچه مهم است یادگرفتن خود روش های برنامه نویسی است . حالا پیاده سازی اون با هر زبانی میتونه باشه
    دوم اینکه : VB برای تازه کارها خیلی راحت است و ابزارهای برنامه نویسی خیلی زیادی داره . در ایران هم که همه ویندوز کار هستند . پس نیازی نیست الکی خودمونو اسیر یه زبان سخت کنیم .
    این حرف مث حرف افرادی است که در ایرانن و خودشون از ویندوز استفاده میکنند و بعد میگن به لینوکس مهاجرت کنید… مثل یک جک می مونه بیشتر .

  11. در ضمن در دات نت ، کتابخانه های تمام زبان های دات نا با هم مشترکه . یعنی کتابخانه vb با کتابخانه c# یکی است. بنابراین دیگه ایراداتی که به vb 6 میگرفتن بر vb.net وارد نیست .
    ————

  12. akbar

    هیچ وقت چنین نظراتی و حرفهایی بستر علمی نداشته و ندارد. من یک عمره دارم با vb و الان با vb.net که خیلی بهتره کار میکنم. نیازی نیست باور کنید ولی نه تو ایران بلکه تو خارج برای شرکت های بزرگ برنامه نویسی میکنم آنهم با vb.net اگر از اونها سوال کنید که مثل ما ایرانیا از روی معده حرف نمیزنند میگن که هر چیزی جایی داره. اگر فلانی گفت که vb خوب نیست منافع خودشو که کار کثیف هکری است رو سنجیده و فکرش محدوه و نمی تونه حتی یک ذره به بشر خدمت کنه. ولی مایکروسافت وقتی vb رو برای کارهای کوچیک و متوسط در حالیکه همه مسخرش می کردند آفرید و خدمت بزرگی کرد همه اونا تحسینش کردند و شرمسار شدند . vb ادعای هکری نداره. گرچه یک vb کار حرفه ای هم میتونه دست به یه کارهایی بزنه. شایدم ماها ایرانیا وقتی نو بیاد به بازار کهنه دلمونو می آزره. مثل لینوکس که وقتی از ویندوز تقلید کرد و گرافیک بسیار مشابه ویندوز رو ارائه داد همه گفتند این چه خوبه ولی خبر نداشتند که صدای تبل از دور خوشه. اون موقع که مایکروسافت تو اون دوره که کسی از کامپوتر چیزی نمیدونست اومد و خدمت بزرگی به بشر کرد و سیستم عامل بسیار بسیار پیچیده یونیکس ، ویندوز ساده رو ارائه داد ، لینوکس کجا بود و چی کار کرد؟ حال الان اومده با شعار مسخره اپن سورس می خواد از صفت نو که اومد به بازار کهنه شده دل آزار مردم استفاده کنه و بگه منم بعد این همه سال اومدم اونم با هزار تا باگ و ایراد و تقلید از ویندوز تا شاید جایی برسه ولی نمیدونه که با اینمه دبدش هنوزم 93% کامپوتر های خانگی دنیار رو ویندوز محبون و بشر دوست تصاحب کرده . من هیچ وقت زحمت های مایکروسافت رو نادیده نمی گیرم و همیشه تحسین میکنم و همیشه باعث پیشرفتم بوده و خواهد بود.

  13. بهزاد

    سلام
    دوستان لطفا من و راهنمایی کنین
    من می خوام شروع به یاد گیری یه زبان برنامه نویسی بکنم
    و با هیچ کدام از اینها آشنایی ندارم
    با چه برنامه ای شروع کنم بهتره ؟

  14. بهزاد

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

  15. مونا

    نرم افزار جالبیه من که ازش لذت میبرم

  16. رامین

    در پست دیدگاه از طرف اکبر ، ایشان همه حرفها رو زدن. و تنها من میخوام نکاتی چند رو به کلام ایشون اضافه کنم. باید به آقای اریک ریموند گفت که بابا قرار نیست همه به یک ابزار نویس یا به قول شما هکر تبدیل بشن و از طرفی دیگه هیچ دیوانه ای با کامیون نمی ره پیک نیک. هیچ شکی نیست که برای مثال زبان سی پلاس پلاس بسیار بسیار قدرتمند و کاراست اما نوشتن یک برنامه حسابداری با همان ویژوال بیسیک راحت تر است یا با سی. تکلیف من که مثل آقای آرتور توروالز نمی خواد کرنل سیستم عاملی مثل لینوکس رو بنویسه چیه. کدام آدم احمقی به قصد دیدن یک فیلم سینمایی کلی از عمرش رو صرف این میکنه لامپ تصویر تلویزیون چطور عمل میکنه. خود آقای ریموند هم راغبند ریموت رو بردارند و خیلی راحت با فشار دادن دکمه پاور در حالی که قهوشون رو میل میکنند به تلویزیون خیره بشن و برنامه مورد علاقشون رو ببینن نه آن که برای این کار مجبور بشن کلی از علم الکترونیک سر در بیارن.
    در ضمن برای یک نو آموز که تا به حال برنامه نویسی نکرده چطور می توان قوانین آبجکت اورینتد رو شرح داد. آن نو آموز چطور میتونه بین برنامه های ماژولار و آبجکت اورینتد فرقی قائل بشه.
    این قبول که انحصار طلبی آقای بیل گیتس همه رو شدیداً عصبانی کرده اما نباید کینه و نفرت خودمان نسخه ای باشد که برای همه علاقمندان به کامپیوتر می پیچیم.
    آقای ریموند اگر خیلی دلسوز علاقمندان هستند باید این نکته رو هم اضافه می کردند که برنامه نویسان مورد علاقه ایشان تا زبان اسمبلی رو یاد نگیرن حتی از زبان سی هم درک درستی نخواهند داشت.
    کسی بخواد روح برنامه نویسی رو درک کنه حداقل باید مقدمات این زبان رو بدونه و بعد می تونه بره سراغ زبان های سطح بالاتر مثل چیزهایی که آقای ریموند میگن.
    من اگر بخوام برای سخت افزار برنامه بنویسم دیوانه نیستم که از زبانی مثل بیسیک استفاده کنم. و همینطور اگر بخوام یک برنامه کاربردی نه چندان پیچیده بنویسم باز صرفه اقتصادی رو در استفاده از زبان های سطح بالایی مثل سی شارپ و یا بیسیک می بینم.
    اگر بخوام به یک علاقمند 14 و یا 15 ساله توصیه کنم میگم اول بیسیک رو یاد بگیره با بفهمه به چی میگن برنامه نویسی بعد که مسلط شد اسمبلی رو یاد بگیره تا بفهمه تو دل روده این دستگاه مرموز چی میگذره و بعد بره سراغ سی پلاس پلاس تا همه قدرت واقعی برنامه نویسی رو پیدا کنه و بعد برای نوشتن برنامه های صرفاً کاربردی جاوا و سی شارپ رو بخونه و در آخر برای اینکه حرف آقای اریک ریموند زمین نیفته در این میان نگاهی هم به پایتون داشته. والسلام

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>