۲۵ مهر ۱۳۹۷

درباره نویسنده

زئوس Zeus

زئوس Zeus

زئوس هستم خدای المپزئوس هستم خدای المپ

مطالب مشابه

18 Comments

  1. 8

    احسان

    با سلام و عرض ادب
    ممنون از مقاله با ارزشی که نوشته بودید. لازم دیدم مواردی را اشاره کنم. که از دیدگاه این مقاله و مقاله قبلی با نام”چرا کد ویژن نه” مورد توجه اصولی قرار نگرفته بودند. در مقاله قبلی گفته بودید که میشه قابلیت حمل کد را با gcc بالا برد ولی با کدویژن نمیشه. مثلا از avr به arm میشه منتقل کرد. من نمیدونم دانش فنی شما در خصوص نوشتن کدهای آرم در چه حدی هست اما خوب میدونم که حداقل در سطح توابع کرنل و توابع سخت افزار به هیچ وقت کدهای avr برای arm استفاده ندارن چون اصلا رجیسترها متفاوت هست و نحوه کانفیگ پین ها و رجیسترها فرق داره. در پروژه های مختلف کاملا اینو حس کردم. پس اگه میخواید از قابلیت حمل صحبت کنید لطفا دقیق صحبت کنید که افراد مبتدی به خطا افتاده نشن.
    اشاره کردید که کدویژن از سی به صورت کامل پشتیبانی نمیکنه و مواردی را فرمودید. قبلش این سوال را بهتر بود میپرسیدید که اون امکانات اضافه که ما میخوایم چند جا استفاده دارن؟ آیا هدف اینه که یک ابزاری داشته باشیم که پر از امکانات باشه حتی اگه امکاناتشو سالی یه بار هم استفاده نکنیم یا هدف کار آمدی ابزار هست؟
    بنده خودم مدتهای طولانی با AVR STUDIO کد نویسی کردم و تجربه فراوانی در مورد اون دارم و بسیار کدهای خوبی هم تولید میکنه اما یه اشکال عمده داره. اونم اینکه شماباید همه چیز را از پایه بنویسی. اینو کسی که دانشجو هست و اطلاعات مختصری از برنامه نویسی داره درک نمیکنه. اما کسی که سال ها کدنویسی صنعتی میکنه میدونه که برای نوشتن هر پروژه وقتی قرار همه چیزو از پایه کار کنی و برای یه تست ساده کلی کد بنویسی چقدر زحمت اضافه متحمل میشی و سرعت کارت پایین میاد.
    در مورد اینکه گفتید رجیسترهای میکرو زیاد نیست باید بگم که نوع نگاهتون به مسئله را قبول ندارم. باشه تعداد رجیسترها اصلا کم هست. چه دلیلی داره من برای انجام هر پروژه مدام کار تکراری بکنم و از پایه کدهای تکراری بزنم تا سطح رجیستر و اولیه برنامم جواب بده؟ شما به راحتی با ویزارد یه کد پایه میزنی از امکاناتی که لازم داری و بعد هر کدوم را لازم داری اصلاح میکنی بدون اینکه 100 خط اول برنامه روبشینی دونه دونه بنویسی و مدام دستت به کتابا بند باشه تا رجیسترها رو پیدا کنی.
    بله gcc خیلی قوی عمل میکنه و چند درصدی بالاتر هست ولی سوالم اینه که چه تعداد پروژه صنعتی کار کردید؟ آیا هدفتون ساختن مریخ پیما هست؟ برای یه دانشجو خوندن این مطلب جوری وانمود میکنه کدویژن کدهای بسیار بدی تولید میکنه ولی به هیچ وجه اینطور نیست. اون چند درصد بهتر بودن gcc واقعا دیده نمیشه. شما سعی دارید پشت اون چند درصد بهتر بودن gcc این مطلب را قرار بدید که کدویژن به درد نمیخوره. سوال دیگه ای دارم. چرا آردوینو رشد کرد؟ درسته اپن سورس هست ولی دلیل رشد اصلی اپ سورس بودن نیست چون در اون صورت فقط تعدادی متخصص میرفتن سراغش ولی اغلب استفاده کننده ها که توسعه دهنده نیستن پس چرا رفتن سراغش؟ دلیلش راحتی استفاده و تلف نشدن وقت به خاطر نوشتن یه پروژه ساده بوده. چون شما را تا حد زیادی از سطح سخت افزار و کرنل جدا کرده. دقیقا کدویژن هم خیلی از این مشکلات را حل کرده. الکترونیک از زمانی رشدش شدید شد که از سطح سخت افزار و کرنل خودشو بالاتر اورد. یادتونه وقتی اردوینو نبود برای راه اندازی یه lcd رنگی چقدر وقت هدر میدادیم چون هیچ کدی پیدا نمیشد؟ کدهای انطباق نداشت و روزها وقتمون میرفت تا 1 کار ساده را انجام بدیم.
    این ها مواردی بود که به نظرم رسید. البته ببخشید اگه کمی ادبیاتم تند بود. چون در مقایسه شما انصاف جاش کمرنگ بود و صرفا تلاش شده بود یه عقیده شخصی تحمیل بشه. امیدوارم یه مقاله در سایتتون بنویسید و مقایسه عملی و واقعی از این دو کامپایلر داشته باشید و اشاره کنید که برای کارهای واقعی هم این مقایسه ها اونقدر خودشو نشون میده یا نه. منتظر مطالبتون هستم.
    موفق و پیروز باشید.

    پاسخ
    1. 8.1
      زئوس Zeus

      زئوس Zeus

      بذارید اینطور شروع کنم ، انصاف شما کجاست وقتی که از نرم افزار قفل شکسته استفاده می کنید ؟ اگر واقعا فکر میکنید کدویژن خوبه ، چرا با خرید لایسنس به رشدش کمک نمی کنید
      من هیچ منفعتی از تبلیغ GCC و یا CodeVision نمی برم ، تمام مسائلی که در این مقاله و مقاله چرا کدویژن نه ذکر شد ، تنها حقایقی بود که با مدرک و دلیل و استدلال به مخاطب ارائه داده شد و این مخاطب است که انتخاب می کند چه راهی را بپیماید.
      در مورد قابلیت حمل کد ، برداشت میکنم که هیچ برنامه گسترده ای ننوشته اید که آنقدر پیچیده باشد که متوجه این موضوع مهم شده باشید. منظور من حمل کد یک برنامه چشمک زن نیست ، منظورم برنامه های پیچیده است که فارغ از لایه های سخت افزاری توابع پیچیده ای دارند. فرض کنید قصد دارید توابعی که عملیاتی بر روی متغیر های 64 بیتی را انجام می دهد در کدویژن پیاده سازی کنید ؟ ، اصلا امکانش وجود ندارد ، این میشود نوعی قابلیت حمل کد که در GCC به سادگی ممکن است.
      در مورد امکانات کدویژن ، متاسفانه یکی از اشتباهات فاحش فضای دانشگاهی کشور بسنده کردن به ناچیز هاست ، وقتی فرض کنیم دانشجویی نخواهد توانست مریخ نورد بسازد ، آموزش های سطح پایینی دریافت خواهد کرد ، ولی از کجا مشخص است که کدام دانشجو در آینده چه کاری انجام خواهد داد ، پس بهتر نیست با توجه به این که این مهم را نمی توان مشخص کرد ، بهترین ها را معرفی و عرضه کرد ؟
      اگر مدت طولانی با AVR Studio کار کرده باشید ، باید متوجه باشید که 90 درصد سورس های منتشر شده در بستر اینترنت با استفاده از GCC تهیه شده اند و هیچ نیازی نیست از صفر شروع کرد. در صورتی که برای کار با کدویژن نیاز است ابتدا کدهای GCC را برای کدویژن قابل فهم کنید که همیشه هم شدنی نیست بعد استفاده کنید.
      واقعا در یک پروژه چند درصد وقتتون صرف پیکر بندی سخت افزار میشه ، برای من کمتر از 1 درصد از تایم ، چرا که اولا لازم نیست از صفر شروع کرد ، با مراجعه به کتابخانه های آماده و سورس هایی که از قبل از نوشته اید می توانید به راحتی کانفیگ سخت افزار را انجام دهید.
      پیکر بندی سخت افزار برای هر پروژه که مداما تغییر نمی کند که اینچنین نگران زمان آن باشیم.
      واقعا برتری GCC خیلی بیشتر از چند درصد است ، شما مختارید که از هر پلتفرمی که دوست دارید استفاده کنید ، اما به نظر من GCC و codevision اصلا قابل مقایسه نیستند. اتفاقا من سعی نمی کنم دارم مستقیم و با تکیه بر شواهد و دلایل کاملا مستدل میگم کدویژن بدرد نمی خوره 🙂
      بله آردوینو به دلیل سادگی رشد کرد ، نه به اون سادگی که مد نظر شماست! ، اولا لازمه بدونید که آردوینو هم از GCC استفاده می کند . دوم این که اگر کدویژن بهتر و ساده تر بود آردوینو چرا از اون استفاده نکرد ؟
      آردوینو امکان لذت بردن از الکترونیک را به تمام افراد داد ، فرض کنید شما برنامه نویس کامپیوتر بودید و میخواستید کمی کنجکاوی کنید و فلان مساله را با استفاده از یک سخت افزار کوچک حل کنید ، اگر دانش الکترونیک نداشتید این کار برای شما خیلی دشوار و گیج کننده بود ولی آردوینو با حذف پیچیدگی الکترونیک و مدارت مربوطه و ارائه ماژول ها این کار رو انجام داد و این باعث استقبال فراوان از اون شد.

      پاسخ
  2. 7

    علی

    سلام نمیشه از gcc روی ویژوال استودیو استفاده کرد؟؟

    پاسخ
    1. 7.1
      زئوس Zeus

      زئوس Zeus

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

      پاسخ
  3. 6

    عرفان

    ممنونم از مقاله خوبی که منتشر کردین.
    اگه بخوایم واقع بینانه به قضیه نگاه کنیم واقعا پیدا کردن سخت افزار های لازم جهت کار با کامپایلر gcc خیلی ساده تر از کد ویژن هست. همین الان شما میتونین چندین اپلیکیشن مختلف تو گوگل پلی پیدا و نصب کنین که با همین گوشی دم دست تون برای میکرو های avr برنامه نویسی کنین. البته جهت پورت کردن هم اپلیکیشن zflasher رو پیشنهاد میکنم. یکی از مهم ترین دلایل من برای توجه به gcc همین قضیه ساده اس. شما برای کار با کدویژن باید یه لبتاپ یا حداقل تبلت ویندوزی با خودتون اینور و اون ور ببرین اما با هر گوشی اندرویدی میتونین به کامپایلر gcc دسترسی داشته باشین این یعنی قدرت !

    پاسخ
    1. 6.1
      Sisoog Os

      Sisoog Os

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

      پاسخ
  4. 5

    dehghan

    سلام و خسته نباشید. اگر سورس بوت لودر avr که در کدویژن دادید را برای gcc بدید خیلی ممنون میشم

    پاسخ
    1. 5.1
      زئوس Zeus

      زئوس Zeus

      فکر نمیکنم نیاز به تغییر خاصی وجود داشته باشه ، همین رو با GCC کامپایل کنید 🙂

      پاسخ
  5. 4

    mahdi.7

    سلام
    ممنون از مطالب فوق العاده و همچنین نگرش دنیای ازادتون که واقعا نمونش کم پیدا میشه توی جامعه ما
    همونطور که خودتون هم گفتید اقبال ایرانی ها به کدویژن بیشتر (90% مواقع حتی) برای کدویزاردش هست. در این که کامپایلر GCC بهتره اصلا شکی نیست اما خیلی مقواقع برای کار های نچندان ضروری هم واقعا برای طراح زوره که بیاد تک تک با رجیستر ها سروکله بزنه و همش دستش به دیتاشیت میکرو مورد نظرش بند باشه. برای GCC ابزاری به یکپارچه گی و کاربر پسند بودن کدویژن هم هست اصلا؟
    و این که منابع اموزشی فارسی غالبا برای کدویژن هست ممنون میشیم سلسه اموزش هایی برای اتمل استدیو تدارک ببینید.
    موفق باشید

    پاسخ
    1. 4.1
      زئوس Zeus

      زئوس Zeus

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

      پاسخ
      1. 4.1.1

        علی

        کم نیست?
        من مبتدی ام این ریجستر های uart که خیلی زیاده
        اگه این سادست پس برا پردازنده های arm اتمل چه خبره?

        پاسخ
        1. 4.1.1.1
          زئوس Zeus

          زئوس Zeus

          خوب بعد از کار کردن و سر و کله زدن با رجیستر ها ، همه رو به خاطر می سپارید

          پاسخ
  6. 3
    سیما درزی

    علی

    سلام مهندس. عالی بود. خیلی مهندسی و دقیق بود. نتیجه تست 5 منو شگفت زده کرد!!!

    برای من که با بسکام کار می کنم و با زبان C یه آشنائی ساده دارم کوچ کردن بسیار مشکل و زمان بره. من کلی توی سایت های ایرانی گشتم ولی آموزش دقیق و خوبی راجع به AVR GCC نبود. هرچی بود بسیار بسیار کوتاه و ناقص.

    خوشحال میشیم که یه مقاله مفصل (مثل تمامی مقاله ها و آموزش هاتون) منتشر کنید.

    با تشکر

    پاسخ
    1. 3.1
      زئوس Zeus

      زئوس Zeus

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

      پاسخ
  7. 2

    هادی

    با سلام …
    مقاله جالبی بود،
    فقط برای کسانی که دارند از کدویژن استفاده میکنند ، آموزش هایی برای یادگیری و انتقال به GCC هم معرفی می کنید ؟
    پیروز باشید .

    پاسخ
    1. 2.1
      زئوس Zeus

      زئوس Zeus

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

      پاسخ
  8. 1

    امیر رضا کرامتی

    سپاس.
    سودمند بود.

    پاسخ

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

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