همه چیز از یک 0 و 1 شروع شد !

در تاریخ شنبه, 17 آبان 1393 در بخش مقالات توسط محمد ذاکری

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

همه چیز از یک 0 و 1 شروع شد !
سلام خدمت همه دوستان عزیز و همراه های همیشگی وبسایت؛ بعد از مدتی در خدمت شما هستم تا راجع به مطلبی تخصصی یعنی توسعه نرم افزار صحبت کنیم. اگر عمری باشد در 30 جلسه با همدیگر اصول توسعه و پیاده سازی نرم افزارها را بررسی خواهیم کرد و طی یک پروژه عملی، پلاگین ساده ای برای نرم افزارهای مکس و مایا پیاده سازی خواهیم کرد. توضیح این نکته ضروری است که ما در این پروژه از شیوه کدنویسی، بصورت 3 لایه استفاده خواهیم کرد تا پلاگین ما متکی به یک Api خاص نباشد و شما بتوانید خروجی تمرین را برای هر نرم افزاری بهینه کنید. اما مطلب جاری به بررسی دنیای پر رمز و راز توسعه نرم افزار می پردازد و با هم با پیش نیازها و تاریخچه عجیب و شگرف دنیای نرم افزار آشنا میشویم؛ پس بدون حاشیه شروع میکنیم.
 

1. همه چیز از یک 0 و 1 شروع شد ؟

اگر بخواهیم به قدمت برنامه نویسی اشاره بکنیم، باید اعتراف کنیم که این شاخه از علوم حدود یک قرن از دنیای کامپیوترهای امروزی مسن تر است. اولین نمونه های  عملی برنامه نویسی در ماشینهای بافندگی ثبت شده است؛ و اولین نامی هم که برمیخوریم جکارد برمی در فرانسه است که ماشینی تولید کرده بود با استفاده از پانچ کارتهایی مخصوص، نوع بافت را عوض میکرد و تنوعی قابل قبول در این ماشین ایجاد کرده بود. شیوه اجرا بافت در ماشین بصورت پشت سر هم بود و این تکنولوژی امکان بافتهای پیچیده به کارگران معمولی میداد. همزمان با پیشرفت ماشینهای خودکار، جنبش های مخالفی برای جلوگیری از پیشرفت این عرصه ایجاد شد که معتقد بودند ظهور این ماشینها یعنی بیکاری کارگران؛ اما این انتقادات از تحقیق و پژوهش دانشمندان جلوگیری نکرد و به نظر شخصی خودم نقطه عطف دنیای کامپیوتر با ارائه تئوری بول توسط George Boole در سال 1847 شکل گرفت. نکته کلیدی این تئوری اثبات ارتباط علم منطق با ریاضیات بود که دقیقا خلاف تصور پیشینیان که بر این باور بودند منطق بخشی از فلسفه است نه ریاضی بود !!! و این یعنی انقلاب.
 
اما یک نکته جالب اینجاست که تغییر این تفکر و استفاده از این منطق در علوم کامپیوتر حدود 100 سال به درازا انجامید ! اگر حدود 80 سال را بنا به اختصار فاکتور بگیریم به اوایل دهه 40 میلادی میرسیم که ماحصل پیشرفت علوم الکترونیک و مهندسی های نوین، زمینه ساز تولید اولین ماشینهای الکترونیکی که قادر به محاسبات ساده بودند شد. اگر تصور شما این است که برنامه نویسی این ماشین ها بصورت دستوری بوده سخت در اشتباهید ! در این ماشینها سوییچ ها و دستورات توسط دکمه ها و کابلهای برق انجام میگرفته و برای اجرای برنامه های ساده و کوتاه نیاز به ساعتها و شاید روزها تنظیمات بوده است !
 
مقدمه ای بر دنیای برنامه نویسی
 
ظهور پدرخوانده
پدرخوانده مورد نظر ما شخصیت کورلئونه فیلمی به همین نام نیست و منظور ما دقیقا جان وان نیومن میباشد که در سال 1945 اصول بنیادی و اساسی کامپیوترهای نوین را مطرح کرد و به همین دلیل بنام پدر علم نوین کامپیوتر شناخته میشود. اما این اصول چیست ؟
 
Shared-program technique
طبق این اصل سخت افزار کامپیوترها باید بسیار ساده باشند و نیازی نیست که برای هر برنامه به صورت دستی سیم کشی و تجهیز شوند. در عوض، دستورات نرم افزاری باید از ترکیب همان دستورات ساده سخت افزاری تشکیل شوند و یک دستور نرم افزار مرکب و پیچیده تر را بسازند. این اصل سخت افزارها را ساده و دستورات نرم افزاری را پیچیده می کرد.
 
Conditional control transfer
بر طبق این اصل که تاثیر عمیقی بر توسعه برنامه نویسی گذاشته است، برنامه کامپیوتری می تواند شامل بلاک های کوچکتری از دستورات بنام زیر روال (Subroutine)  شود، که می توانند در هر جای برنامه اصلی جای گیرند. این بلاک ها می توانند هر چندبار که لازم است در هر کجای برنامه اصلی استفاده شوند. بخش مهم دیگری از این اصل، کنترل روند برنامه کامپیوتری توسط دستورات منطقی مانند IF…Then و حلقه هایی مانند FOR را امکانپذیر میکرد.
 
و این داستان ادامه دارد
اما هنوز همه چیز کامل نبود تا اینکه در سال 1948 یک پازل دیگر از علوم کامپیوتر با ارائه تئوری ارتباطات توسط شانن کامل شد. این تئوری اصول استفاده از منطق باینری (0 و 1) در محاسبات کامپیوتری را ارائه میکرد و دنیای صفر و یک ها (باینری) که اساس و پایه کامپیوترهای الکترونیکی امروزی هستند را شکل می داد. از اینجا بود که چگونگی و معماری زبان 0 و 1 برای ارتباط با ماشینها کامل شد و برنامه نویسی شکل کاملتری به خود دید.
 

2. همیشه پایه یک زن در میان است !!!

نکته جالبی در مورد اولین برنامه نویس دنیا مطرح شده است که صد البته مخالفانی دارد اما ذکر آن خالی از لطف نیست. در دنیای برنامه نویسی از ایدا لاولیس به عنوان اولین برنامه نویس دنیا نام میبرند و او در سال 1837 برنامه هایی برای ماشین محاسباتی تفاضلی و مکانیکی چارلز ببیج نوشت و نام خود را به عنوان اولین برنامه نویس دنیا مطرح کرد. پس یک زن اولین برنامه نویس دنیاست. وزارت دفاع آمریکا در سال ۱۹۷۹ به افتخار این دانشمند، نام وی را بر زبان برنامه نویسی ایدا (آدا) گذاشت. جامعه کامپیوتر بریتانیا نیز از سال ۱۹۹۸ جایزه ای با نام او به برگزیدگان این رشته اهدا می کند. همچنین از سال ۲۰۰۸ مسابقات سالانه ای برای زنان دانشجوی علوم رایانه با نام وی برگزار میشود.
 

3. ظهور، شکوه و جاودانگی

اما دنیای برنامه نویسی و کامپیوتر پس از شکل گیری زبان ماشین به نحوی دیگر و به سرعتی فوق تصور، پیشرفت کرد که ما بطور خلاصه تر به بررسی اتفاقات مهم این دوره میپردازیم.
 
1949 میلادی ظهور کد کوتاه (Short Code)
پس از ارائه 2 اصل نیومن، زبان برنامه نویسی بنام کد کوتاه (Short Code) به وجود آمد. دستورات آن به صورت یک سری صفر و یک، تشکیل شده بود و اولین زبان برنامه نویسی برای کامپیوترهای الکترونیکی بود. ساخت این زبان برنامه نویسی به عنوان اولین قدم در جهت ساخت دنیای برنامه نویسی امروز شناخته میشود.
 
1951 ظهور اولین کامپایلر دنیا
اولین کامپایلر دنیا در این سال توسط هاپر بنام A-0 ایجاد شد. اما کامپایلر چیست ؟ به زبان ساده کامپایلر برنامه ای است که زبانی ورودی را به زبان خروجی دیگری تبدیل میکند؛ مثلا کامپایلر زبان سی، این زبان را به زبان اسمبلی یا زبان ماشین تبدیل میکند. اما صرفا کامپایلرها در علوم برنامه نویسی کاربرد ندارند و در جاهای متعددی و دقیقا هر جایی که با هر زبانی در ارتباط هستیم کاربرد دارند مثلا کامپایلری میتوانیم طراحی کنیم که زبان انگلیسی را به فارسی برساند ! نکته جالب دیگری که اینجا هست در رشته مهندسی نرم افزار درسی بنام اصول طراحی کامپایلرها هست که متاسفانه چون این درس بصورت اختیاری قرار دارد خیلی از عزیزان ترجیح میدهند به سمت آن نروند.
 
فرترن متولد شد
در سال 1957 زبان فرترن که اسم آن از FORmula TRANslating system گرفته شده بود به عنوان اولین زبان امروزی دنیا متولد شد. با ظهور این زبان دستورات برنامه نویسی ایجاد شد و شما کمتر از زبان سطح پایین ماشین در آن استفاده میکنید. دستورات بصورت IF و GOTO و ... اولین بار در این زبان استفاده شد و بحث تعریف داده به شکل امروزی نیز اولین بار در این زبان شکل گرفت. نکته ظریف این موضوع معرفی توسط IBM
 
ظهور زبان های متعدد جدید
با ارائه نسل جدید زبانهای برنامه نویسی دنیا، زبانهای بسیار متعددی در سالهای کوتاهی ارائه شد که BASIC, COBOL, B, C , PASCAL و ... از این دسته هستند (تا 1971 حدود 200 زبان ایجاد شد !) بدلیل اینکه زبانهای متعددی از این به بعد ایجاد شدند، بهتر است برای آشنای بیشتر با زبانهای برنامه نویسی، آنها را طی دسته بندی منسجم تری بررسی کنید که پیشنهاد من بررسی نسلهای زبانهای برنامه نویسی است که در این تاپیک در تالار گفتگو به صورت کامل به آن پرداخته ام.
 
مقدمه ای بر دنیای برنامه نویسی
 
یکی برای همه، همه برای یکی
یکی از موضوع هایی که حتما در این مقاله باید به آن اشاره بکنم بحث شی گراییست. حتما شما تا حالا نام برنامه نویسی شی گرا یا OOP را شنیده اید؛ اما به واقع این شی گرایی چیست ؟ به هر زبان برنامه نویسی که از اصول سه گانه شی گرایی حمایت کند، زبان شی گرا گفته میشود. اصول سه گانه شی گرایی به شرح زیر نعریف میشود:
 
1. کپسوله سازی
به فرض شما قصد تغییر منزلتان را دارید؛ پس نیاز به اسباب کشی امری بدیهی است. پس یکی از کارهایی که ممکن است انجام دهید دسته بندی وسایل مشترک و قرار دادن آن در کارتنی مخصوص و بسته بندی آن است. خب دقیقا در شی گرایی به این موضوع کپسوله سازی میگویند. به عبارت صحیح تر کپسوله سازی مکانیزمی عالی برای دسته بندی و همچنین حفاظت از اشیا در دنیای شی گرایی است. مثالهایی هم در زبان C++  و هم C#
 
public static void Main (string[] args)
{
    Matrix mt = new Matrix (10, 10);
    mt.print ();
}
 
class Matrix
{
        private int row, col;
        private int[,] array;//=new int[100,100];
        public Matrix(int RowCount,int ColCount)
    {
        this.row = RowCount;
        this.col = ColCount;
        this.array=new int[RowCount,ColCount];
    }
 
public void print()
    {
        Console.WriteLine (string.Format ("\nrow={0}\ncol={1}\n", row.ToString (), col.ToString ()));
    }
}
 
class Matrix
{
    private:
        int row, col;
        int *array;
    public:
        Matrix(int RowCount,int ColCount)
    {
        row = RowCount;
        col = ColCount;
        array = malloc(row * col * sizeof(int));
    }

void print()
    {
        cout<<row<<col;
    }
};
 
void Main ()
{
    Matrix mt(10, 10);
    mt.print ();
}
 
خب در مثال بالا ما کلاسی برای کار بر روی ماتریس ها ایجاد کرده ایم و اگر دقت کنید اعضای کلاس مثل تعداد سطر و ستون و همچنین آرایه ای که مقادیر ماتریس را در درون خود نگه داشته را بصورت خصوصی تعریف کردیم و به اصلاح حفاظت کرده ایم. در شی گرایی مفهوم کپسوله سازی با کلاس پیاده سازی میشود.
 
2. وراثت
در جهان واقعی فرزند، صفتهایش را از پدر و مادر به ارث میبرد. در کدنویسی ما با استفاده از این  قابلیت در کنار ایجاد کدی تمیز، در حجم کد نیز به طرز قابل ملاحظه ای صرفه جویی کرده ایم. در شی گرایی کلاسیک رابطه is a برای بررسی وراثت استفاده میگردد. مثال :
 
class shape{}
class rectangle{}
rectasngle is a shape? Yes yess
 
در نتیجه میتوانیم از وراثت استفاده کنیم. پس فقط در تعریف کلاس rectangle اصلاح کوچکی ایجاد میکنیم :
 
class rectangle : shape
{
}
 
اگر قصد بررسی صرفه جویی در کدنویسی با استفاده از وراثت را دارید به مثال زیر توجه کنید :
 
class Parent
{
    private string message;
 
public string Message
    {
        get { return message; }
        set { message = value; }
    }
 
public void ShowMessage()
    {
        Console.WriteLine(message);
    }
 
public Parent(string message)
    {
        this.message = message;
    }
}
 
class Child : Parent
{
    public Child(string message) : base(message)
    {}
}
 
در مثال بالا کلاس child تمامی متدها (توابع) کلاس parent را دارد؛ بدون نوشتن یک خط !
 
3. چند ریختی
اصل سوم از اصول اساسی شی گرایی چند ریختی است. اجازه بدهید که برای فهم بیشتر این اصل از مثالی که چند سال پیش از کتاب جاوا نوشته جیمز گاسلینگ خواندم استفاده کنم :
 
یک سگ دارای حس بویایی است ! زمانیکه بوی غذا حس کند؛ از دهان سگ آب راه افتاده و زبانش را بیرون می آورد. زمانیکه بوی دشمن حس کند؛ پارس کرده و آماده حمله میشود. و ...
 
اگر مثال بالا بیشتر بررسی کنیم متوجه میشوم حس بویایی با وجود اینکه همیشه ثابت بوده بسته به فاکتوری مثل بوهای مختلف، واکنش های مختلف سگ را ایجاد کرده یا به عبارت شی گرایی ریختهای مختلفی از واکنش های سگ ایجاد کرده که به این مفهوم چندریختی میگویند ! اجازه دهید که توضیحات بیشتر را در مورد شی گرایی به آموزشهای آینده منتقل بکنم. در این مقاله صرفا قصد آشنایی اولیه با دنیای برنامه نویسی و شی گرایی داشتم تا باب مقاله های تخصصی توسعه و برنامه نویسی در این سایت باز بشود. این دنیا بسیار نامحدود است و اگر بخواهیم با همه آن آشنا شویم یک عمر هم کم است. دلیل صحبت از شی گرایی در جهت آشنایی دوستانی که قصد توسعه پلاگین برای نرم افزارهای 3 بعدی مثل مکس و مایا دارند و میخواهند از SDK این نرم افزارها استفاده کنند بود و بدانند که دنیای شی گرایی نه تنها سخت نیست بلکه فوق العاده است. اکثر SDK نرم افزارها فقط برای Visual C++ هستند و از اینرو حتما باید دوستان عزیز با مفهوم شی گرایی آشنا بشوند. استفاده از زبانهای MaxScript و Mel و Python خوب است اما استفاده از C++  عالیست !
 
مقدمه ای بر دنیای برنامه نویسی
 
خب بحث را کوتاه میکنم و امیدوارم نظر دوستان در مورد دنیای توسعه و کدنویسی یا پیشنهاد های سازنده و یا بیان خاطرات و همچنین تعریف تجربه شخصیشون توی قسمت نظرات ببینیم و امیدوارم این مقاله مورد عنایت دوستان قرار بگیرد. توضیح این نکته ضروریست که همراهی شما دلگرمی همه عزیزان در سایت میباشد پس منتظر حمایتهای گرم شما هستیم.
 

این مطلب را به اشتراک بگذارید :

محمد ذاکری

محمد ذاکری

محمد ذاکری هستم. متولد 1369 شهر مشهد. تقریبا چند سالی هست که در زمینه هنر در نقش های مجری طرح، مدیر تولید، تهیه کنندگی، کارگردانی، تدوین و جلوه های ویژه فعالیت کرده ام . 1207 قسمت در قالب کار آیتم، اجتماعی، طنز و دینی برای شبکه های 2 و 3 و 4 ساخته ام ...

نظرات (53)

  • مصطفی رضایی

    مصطفی رضایی

    17 آبان 1393 ساعت 20:38 |
    درود بر محمد ذاکری عزیز

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

    جای خالی مقالات و محتوا در زمینه برنامه نویسی و درکل code در سایت بشدت احساس میشد و محمد جان امیدوارم که با قدرت به این فعالیتت ادامه بدی

    با آرزوی موفقیت روز افزون برای شما دوست عزیز
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 01:58 |
      متشکرم مصطفی جان و ممنون از شما
      میدونی فکر میکردم بچه ها به برنامه نویسی علاقمند باشند اما باور کن اینقدرُ توقع نداشتم و واقعا خوشحال شدم و خیلی انرژی و انگیزه گرفتم برای ادامه مسیر. مصطفی جان دوستانی دیگه مثل آقای امیدوار و حمید هم هستند که توی این قسمت وارد شدند و باید بیان و کمک کنند.
      یک چیزی که سالها تو فکرم بود اینه که من سالها پیش شروع به نوشتن MzG engine کردم، یک موتور بازیسازی اما دنیای بازیسازی اینقدر بزرگه که هیچ وفت فرصت نشد از اون همه کدی که نوشتم استفاده کنم و کارهای روزانه دیگه جلوی کامل شدن موتور گرفت و خیلی تو این فکرم سورس MzG Engine بصورت open source عرضه کنم و همراه با بچه های علاقمند کامل کنم و همه بتونند بصورت رایگان هم برای مقاصد آموزشی و هم مقاصد تجاری استفاده کنند.
      شاید باور نکنی مصطفی جان من برای اینکه بتونم تو حوضه توسعه پیشرفت کنم مجبور شدم مسیر خیلی طولانی طی کنم و متاسفانه با نبود منابع زمان زیادی صرف کردم. دوست دارم مابقی بچه ها اینقدر مثل من زمان از دست ندهند اونم سر نبودن منابع آموزشی!!!
      داداش شما خودتم باید بیای و کمک بکنی بتونیم توسعه دهنده گرافیکی ایرانی زیادی از دل Mostafad3d بیرون بیایند و دنیای CG بفهمه ما هم هستیم!!!
  • محمود شوار

    محمود شوار

    17 آبان 1393 ساعت 20:39 |
    جالب بود پس تو کار مبانی کامپیوتر هستید :)) شوخی

    یک سوال کدوم مباحث تو علم ریاضی بیشتر به در مدل سازا و طراحان سه بعدی میخوره ؟
    حالا تو شبیه سازی سه بعدی بیشتر فیزیک کاربرد داره تو ریاضی هندسه به نظرتون نیست ؟
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:05 |
      متشکرم از نظر شما
      100% باید دنیای کامپیوترها شناخت تا بتونی ابزار طراحی کنی و دونستن مسیر پیشرفت گذشته کامپیوترها درسهایی برای آینده است!!!
      در دنیای 3بعدی ریاضیات گسسته، ریاضیات مهندسی و دیفرانسیل، آمار و احتمالات، هندسه و حتی جبر و خیلی چیزهای دیگه!!
      توی شبیه سازی فیزیکی علم فیزیک قوانین وضع میکنه و ابزار پیاده سازی علوم متعددی از ریاضیات هست که گروه کوچکی من بالا اسم آوردم!!!
  • master

    master

    17 آبان 1393 ساعت 20:53 |
    سلام.مرسی...خیلی خوب....فقط نمی دونم احساس می کنم دیگه خیلی از پایه شروع کردید و تاریخچه گفتید....ولی به هر حال منتظر قسمت های بعدی هستیم....ممنون....این نکته رو هم بگم....جناب ذاکری....ایرانی ها موجوداتی هستند که مجذوب کاراهای پیچیده و به قولی کارهای حرفه ای هستند و یا بهتر بگم به دنبال کارهای.....x.... چطور بگم،کلمه مناسبی پیدا نمی نم،به هر حال این خصلت ایرانی ها باعث می شه که به نظرم به زودی زود افراد بیشماری از شاخه هایی مثل مدلینگ و انیمیت به سمت برنامه نویسی و پلاگین نویسی در حوزه گرافیک و برنامه هایی چون مکس و مایا و هودینی تغییر مسیر بدن و با توجه به اینکه برنامه نویسی نیاز به سخت افزار های آنچنانی نداره و بیشتر به هوش و خلاقیت وابسته است....به حدس می زنم به زودی نرم افزار ها و یا پلاگین های فوق العاده ای رو ایرانی ها خواهند نوشت،مخصوصا اگر حمایت مالی بشند...
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:08 |
      متشکرم از همراهی و نظر شما
      در هوش ایرانیها شکی نیست ولی در قسمتی با حرفتون مخالفم!!! ممکنه عده ای قلیل مصداق صحبت شما باشند اما بنظر من خیلی ها میان توی این حوزه، سختی و خشک بودن میبینند و برمیگردند مکان فعالیت سابقشون!!!
      و با این حرفتون که اگر حمایت مالی شکل بگیره موفق میشیم 100 % موافقم
  • Brock

    Brock

    17 آبان 1393 ساعت 21:33 |
    باتشکر از آقا محمد
    خیلی خیلی کامل بود.یادش بخیر منم یه زمانی ++Cکار میکردم ولی دیدم خیلی داره پیچیده میشه و علاقم بهش کم،دیگه گذاشتمش کنار
    بازم تشکر میکنم از شما خیلی مقاله خوب و آموزنده و کاملی بود
    موفق باشید
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:10 |
      سلام دوست عزیز
      امیدوارم با شیوه ای که من پیش میرم همراه باشید و اونجا میبینید که چنان مجذوب C++ میشین که ترکش سخت میشه!!! :D
      ممنون از شما
  • علی مختاری

    علی مختاری

    17 آبان 1393 ساعت 21:50 |
    ایییییییییینقد از برنامه نویسی وحشت دارم که حد نداره:)
    دست شما درد نکنه آقای ذاکری خسته نباشید
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:12 |
      متشکر از نظر شما
      اما جسارتا من با حرف شما مخالفم
      چظور در دنیای عادی امر و نهی کردن آدم ها شیرینه و لذت بخش اما امر و نهی کردن به ماشین که مثل یک خدمتکار برای ما کار میکنه وحشتناک ؟ :D انشالله در آینده همراه باشید تا از لذت دنیای توسعه بی بهره نباشید
      ممنون از همراهی شما
      • علی مختاری

        علی مختاری

        18 آبان 1393 ساعت 12:08 |
        انشالله .همراهم تا آخرش :D
  • توحيد

    توحيد

    17 آبان 1393 ساعت 22:25 |
    با سلام
    آقای ذاکری خیلی ممنونم از شما بخاطر این مطالب مفیدتون.
    من الان مطالب رو سرسری نگاه کردم و از آنجایی که آشنایی چندانی یا بهتره بگم هیچ آشنایی با برنامه نویسی ندارم میشینم همه مطالب رو مو به مو می خونم.مطمئنا بهم کمک خواهد کرد.
    و در همه 30 جلسه شرکت خواهم کرد.
    ازتون خیلی ممنونم و خیلی لطف کردین.
    آرزوی موفقیت براتون دارم.
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:16 |
      توحید جان متشکر از شما
      توصیه من اینه که به هیج عنوان از دنیای توسعه غافل نشو!! واقعا شیرین و لذت بخش و در کنارش ابزار کمکی برای ماهاست!!
      یک تجربه کوچولو:
      من چند سال پیش یک کاری برای صدا و سیما تولید میکردم که 600 قسمت داشت!!! بچه های تدوین میگفتن که خیلی کار سخته و طاقت فرسا و ممکن بیش از یک سال طول بکشه!!! سریع دست به کار شدم و Mz Life Editor نوشتم یک نرم افزار اتوماسیون تدوین!!! زمان پیاده سازیش 2 هفته و زمان اتمام تدوین برنامه 2 ماه!!!
      ممنون از شما
  • MH Behzadi

    MH Behzadi

    17 آبان 1393 ساعت 23:27 |
    سلام به آقای ذاکری عزیز. واقعا نمیدونم از خوشحالی چی بگم. شاید اولین کسی باشید که دارید توی محیط مجازی این کار رو انجام میدید. بسیار بسیار متشکرم. بیصبرانه منتظر قسمت های بعدی هستم. فوق العاده بود و اتفاقا خیلی خوب کاری میکنید که دارید از ابتدا و اینقدر جامع مقاله و آموزش رو ارائه میدید.
    لحظه شماری میکنم برای قسمت های بعد.

    خدا پشت و پناهتون باشه.
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:20 |
      ممنون از شما
      اگر اشتباه نکنم باید طبق مخفف سازی که کردید اسمتون محمد یا محسن باشد :D
      متشکر از شما و مظمئن باش برنامه های کاملی برای این حوزه دارم و قصد دارم به یاری خدا از همین هفته شروع کنم
      فقط دلگرمی و انگیزه این کارها حضور و حمایت شما عزیزان هست
      انشالله اگر عمری بود قسمت اول از 30 قسمت آموزش تا آخر همین هفته منتشر میکنم
      ممنون از نظرتون
  • time

    time

    17 آبان 1393 ساعت 23:28 |
    سلام آقا محمد
    راستش فوقولعادست من که تمام جلسات خواهم بود و خیلی خوش حالم
    امیدوارم که همون طور که گفتید تا آخرش برید ما منتظریم
    به نظر من پایتون خیلی عالیست چون بیشتر نرم افزار های تری دی دارنش .اگه این زبان رو هم بیشتر پوشش بدید خیلی عالی می شه.
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:23 |
      ممنون امیر جان و متشکر از نظرتون
      من کلا اعتقادم اینه یا کاری شروع نمیکنم و یا تا آخرش میرم
      اگر دقت کرده باشی آموزشهای ماری قول دادم کامل کنم و کردم
      انشالله یک مجموعه آموزشی که به شما قول داده بودم(ما فولمون قوله :D) همین هفته منتشر میکنم و آخر هفته استارت بخش توسعه میزنم
      • time

        time

        18 آبان 1393 ساعت 09:38 |
        خیلی عالیه دستتون درد نکنه
        راستی یه سوال در این دوره زبانی رو هم آموزش می دید ؟ چه زبانی؟
        • محمد ذاکری

          محمد ذاکری

          20 آبان 1393 ساعت 23:11 |
          visual c++
  • مهرداد ایران

    مهرداد ایران

    17 آبان 1393 ساعت 23:59 |
    مرسی عزیز عالی بود
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:24 |
      متشکر از شما
  • محمد

    محمد

    18 آبان 1393 ساعت 01:23 |
    ممنون اقا عالی بود
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:24 |
      محمد جان متشکر از شما
  • ناصر اسلامی

    ناصر اسلامی

    18 آبان 1393 ساعت 01:24 |
    سلام.محمد مقاله عالی بود.
    به نظرت چرا 0 و 1؟چرا از مبنای 2؟ فکر کنم اگر اعداد رو بر مبنای 2 بدست بیاری از 0 . 1 تشکیل میشن درسته؟
    یه سوال دیگه زبان c# رو برای کپسول مثال زدی که تو بحث شی گرایی مطرح میشه ولی c# که تنها فرقش با c++ اینه که شی گرا نیست.پس چرا برای c# هم مثال زدی؟ من و روشن کن تو این قضیه.
    محمد این آموزشی که قولش و دادی برای من خیلی خیلی ارزش داره.بادت باشه قول دادی.
    افراد کمی تو بخش R&D فعالیت می کنند و من ازشون سوال پرسیدم ولی متاسفانه جواب نمی دن و تا حدودی بهشون حق میدم.خواهشا پیگر آموزش باش.
    ممنون
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:46 |
      سلام ناصر عزیز و دوست داشتنی
      متشکر از شما
      عجب سوال خوبی بود و واقعا به هوش بالات اعتراف میکنم!!! این سوالی هست که کسیکه ذهن پویا داره میپرسه!!!
      راستش دوست داشتم یکی اینو بپرسه چون به تعمد اسم مقاله هم همین گذاشتم همراه با علامت تعجب (0 و 1)
      اما در جواب باید بگم که پیدا کردن جواب برای خودم مرحله ای داشت که طبق همون واست تعریف میکنم که خالی از لطفم نیست:
      اولی که به برنامه نویسی علاقمند شدم دوست داشتم محیطهای تعاملی بنویسم به همین دلیل رفتم سمت ویژوال بیسیک اما چون هیچ منبعی نداشتم با یک کتاب هنرستان شروع کردم و توش آموزش Qbasic بود، اونو یاد گرفتم و بعد ویژوال بیسیک یاد گرفتم؛ بعدی که نوشتن نرم افزار کامل یاد گرفتم دوست داشتم یک سیستم عامل شخصی بنویسم و آرزوم بود(هنوز هم هست)
      اونجا مجبور بودم C یاد بگیرم چون کامپایلر c برای هر پلتفرمی هست، همزمان با بحث مبانی سیستمهای عامل کلاسیک آشنا شدم (کتاب تننباوم ) اونجا دیدم قسمت های حیاتی سیستم های عامل مثل مدیر برنامه که مسئول اجرای Multi Tasking توی سیستم عامله و حیاتی ناچارا رفتم سمت اسمبلی، اسمبلی زبون وافعا عالیه و اگر مبانیش خوب بلد باشی قدرت ماشین بطور کامل دستته!! برای اینکه اسمبلی خوب بگیرم رفتم سمت علم معماری کامپیوتر!!! اونجا مسائل بیشتر سخت افزاریه و خیلی نکاتی یاد گرفتم و فهمیدم که بعدا خیلی بدردم خورد!!!
      میدونی چرا در ماشین از 0 و 1 استفاده میشه؟ ماشینهای الکترونیکی از الکتریسیته وبرق استفاده میکنند؛ برق خودش از 2 قطب مثبت و منفی شکل گرفته؛ در کامپیوتر 1 نماد قطب مثبت و 0 نماد قطب منفی هست!! در طراحی مدارها برای پیاده سازی 0 و 1 از ولتاژ استفاده میکنند!!! برای 1 معمولا 3 تا 5 ولت و برای 0 همین ولتاز!!! میدونی چرا برای 1 از ولتاژ 3 تا 5 ولت استفاده میکنند؟ بخاطر وجود نویز!!!

      در مورد C# عرض بکنم که:
      "ولی c# که تنها فرقش با c++ اینه که شی گرا نیست"
      احتمالا منظور شما اینه:
      ولی c که تنها فرقش با c++ اینه که شی گرا نیست!!!

      زبان c# یک زبان صرفا شی گراست و شما بدون آشنایی با شی گرایی نمی تونی ازش استفاده کنی و اصطلاحا مثل c++ هیبریدی نیست!!! هیبریدی یعنی قابلیت کدنویسی هم بصورت ساخت یافته و هم شی گرا!!!
      c# از شی گرایی مدرن استفاده میکنه و از اصول جدید شی گرایی و مفاهیم انتزاعی جدید شی گرایی مثل موارد زیر پشتیبانی میکنه:
      -Abstract Object
      -Property In Class
      -Event
      و همچنین رابطه مدرن has a در شی گرایی!!! که c++ هنوز هم از اینها حمایت نمیکنه!!!

      مطمئن باش ناصر جان همین هفته اولین آموزش اگر عمری باشه منتشر میکنم و خودت هم باید کمک بکنی!!!
      باز هم ممنون از شما داداش
      • ناصر اسلامی

        ناصر اسلامی

        18 آبان 1393 ساعت 12:08 |
        ممنون محمد جان.
        ولتاژ رو با 0 و 1 کنترل کردن خیلی جالب بود و منطقی ولی این 3 یا 5 ولت یکم هضمش سخته برام چون برق خیلی زیادیه من فکر میکردم تو مدارها از برق خیلی خیلی کمتری استفاده می کنند مثلا 0.3 ولت یا کمتر منظور از نویز فکر کنم فرکانس باشه
        .من به عنوان یه شاگرد فعال در کنارت هستم محمد فقط یادت نره طوری مباحث و بیان کنی که هم به درد من هم بخوره که با هودینی کار می کنم و هم بدرد بچه های دیگه.
        اگر راه رو به من نشون بدی من تا آخرش و میرم.خیلی خیلی ممنون
        • محمد ذاکری

          محمد ذاکری

          20 آبان 1393 ساعت 22:44 |
          ممنون ناصر جان
          حقیقتا بخاطر وجود جریان در مدار و وجود نویز اگر بخواهیم از ولتاژ پایین استفاده کنیم مشکل از دست دادن اطلاعات داریم؛ مخصوصا توی بحث فلیپ فلاپها که پایه حافظه هستند!!!
          ناصر جان من در اول نحوه درست برنامه نویسی به بچه ها یاد میدم بعد نحوه استفاده از api ها!! حالا نوع api که قراره استفاده بشه خود کسی که داره یاد میگیره انتخاب میکنه!!! بحث معماری 3 لایه برای همین مطرح کردم
  • houdinian

    houdinian

    18 آبان 1393 ساعت 01:30 |
    سلام و خسته نباشید واقعا مفید بود بی صبرانه منتظر قسمت بعدی هستم.
    فقط یک سوال داشتم: آیا هر برنامه ای که از زبان پایتون پشتیبانی بکنه از زبان سی پلاس پلاس هم پشتیبانی میکنه؟
    اصلا از کجا باید بفهمیم نرم افزارمون از سی پلاس پلاس برای پلاگین نویسی پشتیبانی میکنه؟
    با تشکر.
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:53 |
      سلام و متشکر از شما


      من فکر میکنم منظور شما پایتون اسکریپت نرم افزارهایی مثل مکس و مایاست!! و اگر فرض من درست باشه شما براحتی میتونین از طریق سایت تولید کننده وبررسی api مطمئن بشوید.
      اما شما شما چند وجه داره!!!
      "اصلا از کجا باید بفهمیم نرم افزارمون از سی پلاس پلاس برای پلاگین نویسی پشتیبانی میکنه؟"
      برای نوشتن پلاگین در نرم افزارهای 3بعدی مثل مکس،مایا، موشن بیلدر و .. دو راه هست
      1-استفاده از زبان اسکریپت نویسی داخل برنامه
      2-استفاده از SDK نرم افزار
      ولی من قول میدم تقریبا 99.99 % همه برنامه های 3بعدی به دلیل بحث سرعت با c++ نوشته شدند!!! پس SDK همشون تقریبا با c++ و من تا حالا SDK هیچ نرم افزاری ندیدم که با C++ نباشه!!!
  • mohammad

    mohammad

    18 آبان 1393 ساعت 01:38 |
    واقعا تشکر میکنم .هم از شما و هم تمامی کسانی که در این سایت زحمت میکشن امیدوارم پاینده باشین.
    • محمد ذاکری

      محمد ذاکری

      18 آبان 1393 ساعت 02:54 |
      ممنون از شما
      آرزوی موفقیت دارم
  • میثم شجاعی

    میثم شجاعی

    18 آبان 1393 ساعت 09:42 |
    درود خدمت آقای ذاکری و باقی دوستان
    فکر میکنم که جهان هستی به حرکت و تصمیمات ما جواب میده , من 1 هفته ای میشه که C++ رو شروع کردم و به دنبال منابع آموزشی زیادی گشتم و تا حدودی هم آموزش های رو یافتم ولی همشون در حد ساخت یک ماشین حساب ساده با cmd ویندوز بودن (که اتفاقا همین باعث شد من درک بیشتری از زبان برنامه نویسی پیدا مکنم). الان خوشحالم که شما در اینجا شروع به آموزش کردین و افرادی مثل من میتونن استفاده کنن. و از شما کمال تشکر رو دارم.

    در جواب دوستمون که گفتن وحشت دارن از برنامه نویسی باید بگم که دلیل اون اینه که هنوز نمیدونی با چی سروکار داری ولی برنامه نویسی بسیار شیرین و معتاد کنندست. اگه اشتباه نکنم چیزی که تا الان بهش پی بردم اینه که : سختی برنامه نویسی به یادگیری زبانش نیست , بلکه به نوع استفاده و چینش اونه که به زبان ساده هرچه خلاصه تر بنویسی بهتره که این امر شما رو به تلاش و فکر کردن وا میداره.
    من یک ماشین حساب ساده رو اوایل در 20-25 خط نوشتم و الان اونو در 15 خط مینویسم.( البته خطهایی که میگم بیشترینش از 5 کلمه تشکیل شده)
    برای افرادی که اینجا هستن مطمئنا یادگیریش ساده تر هست.
    باز هم از شما آقای ذاکری تشکر میکنم (و اگر من رو ببخشید و این حرفم رو جسارت ندونید از این به بعد بجای استفاده از کلمه پارس برای سگ از کلمه واق واق یا کلمه مشابه استفاده کنید. بازم عذر خواهی میکنم)
    • محمد ذاکری

      محمد ذاکری

      20 آبان 1393 ساعت 22:59 |
      سلام و درود بر شما
      متشکر از نظر شما و امیدوارم در حوزه توسعه موفق باشید
      اما 2 نکته باید عرض کنم
      1-صرف کم شدن کد دلیل بر بهتر بودن برنامه نیست؛ در این حوزه ملاکهای بهتری مثل مرتبه زمانی وجود دارد که خودش به سه قسمت مرتیه زمانی ماکزیمم، مرتبه زمانی متوسط و مرتبه زمانی مینیمم وجود دارد
      2-کلمه پارس کردن ریشه انگلیسی داره (parse)

      باز هم ممنون از شما
      موفق باشید
      • 1

        1

        21 آبان 1393 ساعت 11:54 |
        سپاس از توضیحات خوب و آموزندتون. امیدوارم که بتونیم از آموزشهای شما بهترین استفاده رو ببریم.
        parse به معنی تجزیه کردن هست :) و در انگلیسی به وق وق سگ میگن dog barking (فقط جهت اطلاع بود و درست نیست اینجا دیگه صحبتشو بکنیم) بگذریم
        کمی نت رو زیرو رو کردم و اگر اشتباه نکنم کامپایل این نوع زبانها بر خلاف html به صورت خط به خط هستش و هر خط یک واحد زمانی رو اشغال میکنه و میزان حجم کدها در یک خط (که این یک واحد خطی میتونه مثلا 1 صفحه کامل باشه :دی) تاثیر زیادی در زمان محاسبه نداره. حالا این مرتبه زمانی که گفتید به معنی اینه که بتوانیم در یک خط , دستورات پیچیده تر مثل if و while استفاده کنیم؟ ( با تشکر از شما تازه معنی خط دستورات رو در برنامه نویسی متوجه شدم و بهتر اینه که با آموزشهای شما پیش برم )
        آقای ذاکری میتونم بپرسم زمان بندی برنامه آموزشی به چه صورت هستش؟ تایم های مشخصی داره ؟
  • amri ahmaid

    amri ahmaid

    18 آبان 1393 ساعت 13:07 |
    کار فوق العاده ای رو شروع کردین
    • محمد ذاکری

      محمد ذاکری

      20 آبان 1393 ساعت 23:00 |
      متشکر از شما
  • مجتبی فرخی

    مجتبی فرخی

    18 آبان 1393 ساعت 14:34 |
    ممنون محمد جان
    عالی بود
    • محمد ذاکری

      محمد ذاکری

      20 آبان 1393 ساعت 23:01 |
      مجتبی جان متشکر از شما
      لطف کردی
  • نبی سروی

    نبی سروی

    18 آبان 1393 ساعت 15:21 |
    سلام آقای ذاکری

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

    آدم هایی که توی این حوضه دیدم کمتر حرف میزنن و یاد میدن و همیشه دنبال بالا کشیدن خودشون ان . " حداقل توی 2 موردی که من دیدم اینطور بوده ! " ولی حس میکنم شما با این 30 جلسه تون دنیایی رنج و سختی یادگیری این مسائل رو برای دوست داران برنامه نویسی در مسایل سی جی کنار زدین ...

    امیدوارم این حرکت بسیار بسیار ارزشمند شما بی جواب نمونه و به حدا اقا آرزوهاتون برسین ... حداقل سیستم عامل شخصی ! فکر میکنم شما بودیم میخواستین یه موتور رندر ایرانی بنویسین درسته ؟ امیدوارم در هر مقطعی موفق باشید ...
    • محمد ذاکری

      محمد ذاکری

      20 آبان 1393 ساعت 23:03 |
      نبی جان متشکر از شما
      میدونی نبی جان الان آرزوهای من عوض شده!!! :D
      دعا کن به اونها برسم :)
      میدونی نبی جان کلا تو هر حوزه ای امری که شما گفتی انجام میشه، کم و زیاد داره اما همه جا هست و واقعا باید حسرت بخوریم
      متشکرم از شما و موفق باشید
  • houdinian

    houdinian

    18 آبان 1393 ساعت 22:32 |
    ممنون جناب ذاکری.
    1_الان دو نرم افزار pf track و 3d equalizer که هر دو نرم افزار تطبیق حرکت هستند از SDK پشتیبانی میکنند؟

    2_پلاگین هایی که برای شبیه سازی دود و اتش و اجسام صلب و.... با SDK برای نرم افزار هایی نظیر مایا مینویسیم ایا از موتور های شبیه ساز خود مایا استفاده میکنن یا خودمون باید از ابتدا تمام فرمول ها رو بنویسیم؟
    فرضا الان پلاگین fume fx یا DMM که برای مایا هست محاسباتی که انجام میدن با سیستم fluid و rigid body خود مایاست یا خودشون تمام فرمول های محاسباتی رو در غالب یک پلاگین دارن و مستقل از عملکرد موتور های شبیه سازی مایا هستن؟

    3_سیستم boolean در مایا بیشتر اوقات ناپایداره آیا میشه براش یک پلاگین قدرتمند نوشت با همین C++ که اشکالات خود مایا رو نداشته باشه؟
    ممنون و سپاس گزار از شما.
    • محمد ذاکری

      محمد ذاکری

      20 آبان 1393 ساعت 23:08 |
      میدونی دوست من، ما زمانیکه از api یک سیستم استفاده میکنم یک دلیل اصلیش اینه که از توابع آماده اون سیستم استفاده کنیم و اگر بفرض این مسئله نبود واقعا api کاربردی داشت؟
      ثانیا یک دلیل دیگه که تولیدکنندگان api در اختیار developer ها میگذارند اینه که ابزار به سیستم ها اضافه کنند و این محدودین نداره و شما میتونی بقدر تواناییت سیستم ها را تکمیل کنی!!
      و راجع به سیستم بولین مایا بگم که 100درصد میتونی که ابزاری جدید بسازی همینطوریکه پیکسار ابزارهای متعددی با استفاده از api مایا تولید کرد
  • مرتضی

    مرتضی

    19 آبان 1393 ساعت 12:25 |
    با سلام و خسته نباشید
    واقعا مطالب جالب و عالی رو ارائه دادید خیلی خوب بود ، امیدوارم در ادامه موفق باشید من دنبال کننده این مطلب تا آخر هستم و از مطالب شما نهایت استفاده را خواهم برد با تشکر از زحمات جنابعالی
    • محمد ذاکری

      محمد ذاکری

      20 آبان 1393 ساعت 23:08 |
      متشکرم مرتضی جان
      انشالله به فضل خدا با قدرت میریم جلو
  • Shahriar Shahrjerd

    Shahriar Shahrjerd

    19 آبان 1393 ساعت 22:12 |
    با درود
    ممنون از مطالب و تاریخچه ای که ذکر کردین.
    به نظر من تمام نرم افزار های حرفه ای ( حداقل در مورد نرم افزار های گرافیکی مانند 3dsmax ، فلش، افتر افکت و .... به این صورت هستن) که موجود هستند به دو صورت کار میکنند یک محیط به صورت شی گرا و شمایل گرافیکی آماده (اگه درست بیان کرده باشم) مثلا رسم یک باکس آماده و یک محیط کد نویسی مثل مکس که مکس اسکریپت داره و یا فلش که اکشن اسکریپت داره که این خود گویا این هست که در بسیاری از موارد میشه با نوشتن کد به نتیجه ای رسید که شما همان مسیر را با روش رسم کردن طی کرده اید و این خود گویای این است که کد نویسی پایه و اساس یک برنامه است یعنی میشه این گونه برآورد کرد که سازندگان این قبیل برنامه ها این رو میگن که " شما میتونی از اونچه که ما تعریف کردین استفاده کنین یا اگه خودتون کد نویسی بلدین پس بیاین ابتکار عمل رو بدست بگیرین و اونچه رو که خودتون می خواین یا دوست دارین بسازین و استفاده کنین" پس نتیجه این که کد نویسی پایه اساس تمام نرم افزار هاست

    و

    اگه کسی تا حدودی با کدنویسی آشنا باشه درک اینکه کامپیوتر به چه شکل و به بیانی دیگه اخلاق کامپیوتر به چه گونه است برای آن فرد راحت تره
    .
    این گفته های من در نرم افزاری مثل فلش بیشتر به چشم میخوره یعنی زمانی که شما با استفاده از خود اشیا آماده نرم افزار کمک میگیرین و یه محصولی رو تولید میکنین اما زمانی که شما از قابلیت ها و محاسن کد نویسی استفاده میکنیی کار به شکل باور نکردنی ساده و خیلی ترو تمیز تر از روش قبل میشه و باز این نکته به ذهن آدمی میرسه که تمام اونچیزی که ما در صفحه مانیتور خود ملا حظه میکنیم چندین خط کد هست که به شکلی زیبا با هم در شکل گیری یک تصویر متهد شده اند.

    راستی اقای ذاکری شما در قسمتی از مطلبتون به صفر و یک بودن کامپیوتر ها یا مبنا دو اشاره کردین. می خواستم از شما بپرسم که نظر شما د باره رایانه های آینده یعنی سیستمهای کوانتومی چیست؟ از اونجایی که من اطلاع دارم در دنیای کوانتوم یک اتم میتواند بی نهایت حالت در یک زمان داشته باشد که برای استفاده آن در علم کامپیوتر یعنی بی نهایت حالت از صفر تا یک درسته آیا رسیدن به این میزان پردازش شدنیه؟؟؟

    معذرت میخواهم که بحث طولانی شد و منتظر جوابم از زبان شما هستم. سپاسگذارم
  • محمد ذاکری

    محمد ذاکری

    20 آبان 1393 ساعت 23:32 |
    شهریار جان متشکر از نظر و تحلیل شما
    حالا از اول پاسخ بدم یا آخر؟ :D فکر کنم از آخر بهتره
    توی بحث سیستمهای کوانتومی میدونی یک بحث هست!!! همه علوم به هم مرتبطند و هر روز یک ارتباط اثبات و گاهی یک بسط صورت میگیره!!!
    چیزی راجع به منطق فازی شنیدی؟
    در بحث منظق کلاسیک فضای جواب دو قسم داشت درست یا غلط
    و در بحث منظق بولی باز هم دو قسم true یا false
    اما یک سوال :
    مثلا امروز هوا بارونی هستش؛ یک نفر از شما میپرسه هوا چطوره؟ شما میگی بارونی؛ میپرسه چقدر بارونی؟ شما چی جواب میدی؟
    کمی بارونی مثلا!! حالا این کمی بارونی یعنی چی؟ منی که توی مشهدم یک برداشت میکنم؛ اونیکه توی زاهدانه یک برداشت و اونی که توی شماله یک برداشت!!!
    اما پروفسور لطفعلی زاده اومد چند سال پیش منطقی جدیدی مطرح کرد بنام fuzzy logic یا منظق فازی
    در این منطق جواب بصورت گسسته نیست و برخلاف منطقهای دیگه که دو حالات داشتند بی نهایت دارند!!!
    جواب میتونه مقداری از بازه 0 تا 1 باشه!!!
    مثلا 0.5 یا 0.1 و یا 0 و ....
    حالا نکته جالبش اینه که بسادگی مسائل فازی و دفازی میشه!!! چون همه چیز به هم مربوطه!!! حالا توضیح بیشتر میزارم در آینده!!
    اما با اجازه شما من متن زیر شما اصلاح میکنم:
    "اگه کسی تا حدودی با کدنویسی آشنا باشه درک اینکه کامپیوتر به چه شکل و به بیانی دیگه اخلاق کامپیوتر به چه گونه است برای آن فرد راحت تره"
    اصلاح:
    "اگه کسی تا حدودی با کامپیوتر آشنا باشه درک اینکه کامپیوتر به چه شکل و به بیانی دیگه اخلاق کامپیوتر به چه گونه است برای آن فرد راحت تره و برنامه نویسی و توسعه این سیستم برای این فرد ساده تر میشه"

    و در مورد نظر اولتون عرض میکنم که کلا سیستم هایی که بصورت مستقل و توسعه پذیر طراحی میشن معمولا دارای پوسته یا shell هستند و این دستوراتی که فرمودید به واقع دستورات shell هستند.
    متشکر از شما
    • Shahriar Shahrjerd

      Shahriar Shahrjerd

      21 آبان 1393 ساعت 08:42 |
      از اینکه پاسخ سوال من رو دادین سپاسگذارم. بابت اشتباهات متن هم عذر خواهی میکنم.
      موفق و پیروز باشید.
  • mohamad reza rad

    mohamad reza rad

    22 آبان 1393 ساعت 16:20 |
    سلام و خسته نباشید
    فوق العاده
    30 جلسه رو هستم
    • محمد ذاکری

      محمد ذاکری

      22 آبان 1393 ساعت 23:44 |
      متشکرم از شما
      آرزوی موفقیت دارم برای شما
      مرسی
  • پژمان رجبی

    پژمان رجبی

    22 آبان 1393 ساعت 18:41 |
    محمد جان مبحث خوبی رو شروع کردی
    امیدوارم پست های بعدیت بزودی منتشر بشه
    مرسی رفیق
    • محمد ذاکری

      محمد ذاکری

      22 آبان 1393 ساعت 23:45 |
      به به دوست خوب خودم
      ممنون پژمان جان؛ انشالله برنام کاملی دارم و حتما در اسرع وقت منتشر میکنم
      راستی خودت هنوز درگیر خدمتی؟ :D
      بابا بیا این مایا مظلوم مونده!!!
      • پژمان رجبی

        پژمان رجبی

        23 آبان 1393 ساعت 19:52 |
        مرسی محمدجان
        اره والا نمیزاره تمرکز رو مقاله ای کنیم
        ولی سعی میکنم به مباحث نرم افزار Maya بپردازم و غریب نمونه تو سایت
        مرسی از توجهت
        موفق باشی رفیق
  • CG artist

    CG artist

    05 آذر 1393 ساعت 14:03 |
    tnx

نظرتان را بنویسید :

اظهار نظر به عنوان مهمان .

جدیدترین نظرات ثبت شده در بخش بلاگ

تشکر جناب عارف رضوی لطف کردید

محمدمهدی ترابی محمدمهدی ترابی 26. آبان, 1396 |

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

نگین نگین 26. آبان, 1396 |

سلام .
آموزش Moho رو اگه لطف کنید از مبتدی تا پیشرفته در سایت قرار بدید خیلی...

شایان شایان 25. آبان, 1396 |

سلام آقا مهدی بابت ارائه این آموزش بسیار عالی ازتون تشکر میکنم . میخواستم...

مسعود مومن مسعود مومن 24. آبان, 1396 |