شروع برنامه نویسی در لینوکس
اسلاید 1: گروه کاربران لینوکس زنجان شروع برنامه نویسی در لینوکس Linux Programming مهدی مقدم
اسلاید 2: لینوکسشاید شما از لینوکس به عنوان سیستم عاملی (OS) پرقابلیت برای کارهایتان استفاده میکنید و یا شاید تنها از مزایا یک Server مبتنی بر لینوکس در شبکه خودتان استفاده میکنید. شاید لینوکس برای شما کاربرد کمی دارد و یا شاید هم شما تنها از روی کنجکاوی لینوکس را نصب کردید. و باز شاید هم علاقه به توسعه پروژههای فعلی لینوکس و یا نوشتن برنامهای جدید برای لینوکس داشته باشید.
اسلاید 3: خوب در هر صورت، شاید شما دلایل کافی برای یادگرفتن برنامه نویسی با لینوکس داشته باشد.بنا به دلایل زیادی عدهای از کاربران و برنامه نویسان در دیگر سیستم عاملها، این تصور را دارند برنامه نویسی برای لینوکس وحشتناک و بسیار دشوار میباشد و یا اینکه زبانها در لینوکس محدود به C و C++ هستند و یا اینکه لینوکس فاقد محیطهای توسعه مجتمع برنامه نویسی IDE) ) مناسب است!
اسلاید 4: لینوکس بهشت برنامه نویسانبرخلاف اینگونه عقاید، لینوکس توسط هکرها و برنامه نویسان گسترش یافت، آنها خود به مسائل و مشکلات برنامه نویسی آشنا بودند و به این ترتیب آنها سیستمی را تولید کردند که آسانتر و سادهتر گسترش یابد و تصحیح و اشکالزدایی (Debug) آن نیز آسانتر باشد.
اسلاید 5: لینوکس یا فرصت شغلی ؟!همانطور که میدانید، در کشور خودمان مدتی است که پروژههایی در زمینه لینوکس و کاربرد آن آغاز شده، که فرصتها شغلی برای بعضی از برنامه نویسان لینوکس فراهم شده، البته در آینده نزدیک با توسعه کاربرد لینوکس در کشور به نظر میرسد فرصتهای شغلی بیشتری برای برنامه نویسان لینوکس به وجود آید. البته اگر به فرصتهای شغلی در کشورهای دیگر علاقمند هستید، تنها در چند تا از سایتهای متناسب کاریابی جستجو کنید، خودتان جوابتان را پیدا میکنید.
اسلاید 6: ترساما اولین کاری که باید برای شروع انجام بدید، غلبه بر ترس از برنامه نویسی در لینوکس و خود لینوکس است.
اسلاید 7: چرا در لینوکس برنامه نویسی کنیم؟ مگه ویندوز چشه؟ممكن است خيلي از شما طرفدار سيستمعاملهايي مانند ويندوز باشيد و متعصبانه بگوييد چرا بايد چنين باشد؟ شايد هفت دليل زير شما را قانع كند.دليل يكم: لينوكس براي برنامهنويسي قانونهاي مخصوص به خود را دارد: از جمله اينكه برنامه نبايد براي همه كاربران همه چيز را فراهم سازد. به عنوان مثال، در محيط برنامهنويسي متني نيازي نيست كه آن محيط بتواند ايميل هم بفرستد و تمام تمركز كاري روي هدف اصلي برنامه است. همچنين ابزارهاي متعدد و متمركزي را در اختيار برنامهنويسان قرار ميدهد تا نيازهاي فني خود را برطرف كنند.
اسلاید 8: دليل دوم: مدل مديريت پردازشگر لينوكس پيشرفته است، به نحوي كه اگر پروسهاي داراي مجوزهاي لازم باشد ميتواند پروسههاي ديگري را ايجاد كند كه ما به آنها پروسههاي بچه يا Child process ميگوييم كه ميتوانند با آنها تبادل اطلاعات كنند و تقاضاي انجام قسمتي از عملياتي كه به آنها واگذار شده است را از آنها داشته باشند.دليل سوم: خيلي كم پيش ميآيد كه لينوكس مانند ويندوز يكباره هنگ كند و با صفحه آبي مرگ روبهرو شويم. زيرا سيستمعامل براي kernel خود، CPU و RAM خاص اختصاص ميدهد تا كارهاي جاريش را انجام دهد و براي برنامههاي ديگر مانند مرورگر يا برنامههاي كاربردي از User Space استفاده ميكند و نميتواند به طور مستقيم به Kernel Space دسترسي داشته باشد. (اما)دليل چهارم: در لينوكس مدل امنيت خاصي برقرار است كه در آن همه كاربران تعريف شده براي سيستم با هم برابر نيستند (مانند كاربر Root كه از بيشترين اختيارات برخوردار است) و هر كاربر معمولي بايد دسترسي استفاده از امكاني را داشته باشد. اين مدل امنيتي روي برنامهنويسي تأثيرات مثبتي خواهد گذاشت. مثلاً ميتوان به اين نكته اشاره كرد كه چون با توجه به مدل امنيتي لينوكس تهيه شده پس سيستمي هم كه توليد خواهد شد به يقين امنيت خوبي خواهد داشت.
اسلاید 9: دليل پنجم: اگر چه شما در لينوكس فكر ميكنيد صاحب CPU هستيد، اما اينطور نيست؛ شما به طور مجازي به CPU احاطه داريد. CPU در سيستمعامل لينوكس به صورت چندرشتهاي كار ميكند و روي پردازشگر در زمينه اختصاص منابع و محاسبه براي هر Task مديريت خاصي وجود دارد.دليل ششم: لينوكس به صورت پيشفرض به گونهاي طراحي شده كه چند كاربر بتوانند همزمان با هم كار كنند و برنامههايي كه در محيطهاي لينوكسي نوشته و استفاده مي شوند بايد با دقت طراحي شوند. برنامهنويسان نبايد فكر كنند كه ميتوانند به منابع دسترسي محض داشته باشند.دليل هفتم: مهمترين دليلي كه ميتوان ذكر كرد اين است كه در سيستمعامل لينوكس مكانيزم IPC (سرنام Interprocess Communication) به برنامهها امكان ميدهد تا اطلاعات و منابع خود را با حداقل مقدار Overhead به اشتراك گذارند. IPC به سه حالت ميتواند در سيستمهاي لينوكس كارايي داشته باشد: 1- پيغامها 2- Semaphores 3- استفاده از حافظه مشترك
اسلاید 10: به چه زبان های می شود در لینوکس برنامه نوشت؟ لیست تمام زبان های تحت لینوکس بیشتر از اونیه که فکر می کنید نمی شه اینجا بنویسم : CC++PhpAjaxAsppreljavapythonGambasو غیره برای هر کدام از اینها هم محیط های مختلفی عرضه شده برای نسخه های مختلف هم محدودیت نداریم (چون هسته در لینوکس ثابته)
اسلاید 11: IDE چیست؟ تفاوتی نمی کند که PHP کار باشید یا Java باز، ++C یا Payton یا VB. بدون یک IDE کار شما از ریشه لنگ است. IDE مخفف واژگان Integrated Development Environment است که معنایش می شود : «محیط توسعه یکپارچه».درآن روزهای آغازین تاریخ برنامه نویسی، کار نوشتن، کامپایل کردن، اسمبل کردن، لینک کردن و اشکال زدایی برنامه ها جدا گانه وبا ابزارهای جدا از هم انجام می شد. برنامه نویس باید کد منبع برنامه با یک نرم افزار ویراستار که می توانست فایل اسکی محض بسازد می نوشت و سپس آنرا به خورد کامپایلر می داد. کامپالیر یک فایل اسمبلی به او تحویل می داد و او سپس این فایل را به خرد اسمبلر می داد تا یک فایل آبجکت دریافت کند تا در پایان این فایل آبجکت را با کمک لینکر، به یک فایل اجرایی تبدیل کند.اما یک برنامه نویس ++ C ویندوز هیچیک از این ابزارها را نمی بیند و آنها را نمی شناسد. کلید این خوشبختی در همان نرمافزار غول پیکر و همه کارهای است که آنرا با نام«ویژوال سی»می شناسیم. البته حالا دیگر فقط محدود به سی نیست و نامش «ویژوال استادیو» است.
اسلاید 12: آیا چیزی شبیه ویژوال استادیو (یا حتی بهتر از آن) برای لینوکس یا به صورت رایگان هست؟ پاسخ مثبت است و در حقیقت میخواهیم با یکی از شاهکارهای برنامه نویسی اوپنسورس آشنا شویم: «اکلیپس»
اسلاید 13: Eclipse چیست؟ به ساده ترین زبان ممکن، اکلیپس معادل رایگان و اوپنسورس ویژوال استادیو است. اکلیپس تمام ویژگیهای یک IDE ی حرفه ای را دارد و افزون برآن چیزهای دیگری هم دارد که در بسیاری از محصولات دیگر یافت نمی شود. اکلیپس کاملا با جاوا نوشته شده و بنابراین به سیستمعامل وابستگی ندا رد. اکلیپس را همه برنامه نویسان اوپن سورس از سراسر دنیا باهم می نویسند.
اسلاید 14: حالا مواد لازم رو داریم پس می ریم سراغ آشپزی
اسلاید 15: در لینوکس دو نوع برنامه وجود دارد Execute able و script اولی به صورت مستقیم در سیستم اجرا شده اما اسکریپت ها برای اجرا نیاز به یک مترجم یا مفسر دارند و لذا از طریق یک برنامه دیگه اجرا می شوند (نه به صورت مستقیم) اولی نمونه فایل های .exe در ویندوز هست و اسکریپت ها مثل .bat , .cmd همونجوری که تا حالا در ضمن کار با لینوکس متوجه شدید بر خلاف ویندوز قایل های اجرایی در لینوکس احتیاج به نام خاص و یا پسوند خاصی ندارندو البته همونجوری که میدونید در لینوکس آدرس ها با / از هم جدا میشن در صورتی که در ویندوز آدرس دهی با انجام میشه
اسلاید 16: شروع کد نویسی :حالا احتیاج به یک ادیتور متن کد:GeditKateVimNanoEmacs
اسلاید 17: gcc = GNU C compiler# gcc - -version#gcc test.c -o test#gcc -wall test.c -o test #./test#gcc -S test.c -o test.s#gcc -E test.c -o test
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.