انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: vampire در 02 خرداد 1388، 01:01 ب‌ظ

عنوان: درخواست کمک در مورد انتخاب زبان برنامه نوی
ارسال شده توسط: vampire در 02 خرداد 1388، 01:01 ب‌ظ
سلام.من میخوام برنامه نویسی تحت لینوکس رو یاد بگیرم.به نظر شما چی یاد بگیرم بهتره ؟
عنوان: پاسخ به: درخواست کمک
ارسال شده توسط: sct در 02 خرداد 1388، 02:51 ب‌ظ
نقل‌قول
سلام.من میخوام برنامه نویسی تحت لینوکس رو یاد بگیرم.به نظر شما چی یاد بگیرم بهتره ؟
چگونه در لینوکس برنامه نویسی کنم یا شروع برنامه نویسی در لینوکس ؟

یکی از رایج ترین پرسش های کاربرانی که به تازگی کار با سیستم عامل گنو لینوکس را آغاز نموده اند همین مواردی که در عنوان این پست آورده شده می باشد که در اکثر موارد یا از سوی کاربران دیگر به علت این پرسش مورد نکوهش قرار خواهند گرفت یا اینکه به جواب مورد نظر خود نخواهند رسید . مشکل این است که مطرح کردن این موضوع بدین گونه اشتباه می باشد . این سوالی کلی است و پاسخی نیز که دریافت خواهید نمود کلی خواهد بود . فرمول کلی برای برنامه نویسی در هر سکویی بدین گونه است زبان برنامه نویسی + ابزاری برای کامپایل برنامه = برنامه شما .
بر همین اساس شما می توانید تحقیق خود را آغاز کنید .
در اولین گام از خود بپرسید با چه زبان های برنامه نویسی آشنا هستم ؟
پاسخ : زبان X , زبان Y , ….. یا هیچ زبان برنامه نویسی بلد نیستم
اگر پاسخ شما مشابه بخش دوم بود (هیچ زبان برنامه نویسی بلد نیستم) احتمالا دوباره یک پرسش اشتباه را مطرح خواهید نمود . بهترین زبان برنامه نویسی چه زبانی است ؟ شما هنوز هیچ گونه تجربه برنامه نویسی ندارید ! پس بجای پرسش بالا باید بگوید ساده ترین زبان برنامه نویسی برای شروع کار من کدام است .
گام دوم :آیا زبان برنامه نویسی که من با آن اشنا هستم بصورت کامل در این سکو پشتیبانی می شود . اگر خیر چه تفاوت هایی در پیاده سازی آن با سکوی که تا کنون من در آن کار می کردم وجود دارد ؟

گام سوم : حال که زبان مورد نظر خود را یافتید باید به دنبال یک کامپایلر برای آن بگردید . پس بپرسید برای کار با زبان X چه کامپایلرهایی در این سکو وجود دارد ؟

توجه کنید بسیاری از افراد ( افرادی که معمولا در ویندوز برنامه نویسی می نمودند ) در این مرحله پرسشی اشتباه مطرح می کنند و آن پرسش این است : از چه IDE برای کار با زبان X در سکوی مورد نظر می توانم استفاده نمایم ؟ به عنوان مثال اگر زبان مورد نظر شما C یا C++ باشد و سکوی مورد نظر لینوکس با طرح این پرسش با لیست بزرگی از نام های مختلف رو به رو خواهید شد که بیشتر مورد سردرگمی شما خواهد بود تا کمک ! . برای کار با هر یک از این زبان های نام برده شما می توانید از gcc یا g++ استفاده نمایید . به عنوان مثال برای کامپایل برنامه ای با نام x.c کافی است دستور یک خطی زیر را در خط فرمان وارد کنید
gcc x.c -o test
که خروجی برنامه ای با نام test خواهد بود . حال اگر شما از یک IDE استفاده می نمودید در آن محیط با منوها و گزینه های فراوانی رو به رو می شدید و با توجه به این که تقریبا هیچ یک از این IDE ها در لینوکس راهنمای فارسی برای کار ندارند موجب سردرگمی شما خواهد شد . در حالی که یادگیری این یک خط فرمان در برابر آن قابل مقایسه نیست . البته برنامه هایی چون gcc یا g++ نیز دارای راهنما های چندین صفحه ای می باشند ولی در آغاز کار شما نیازی نیست تمامی گزینه های آنها را یاد بگیرید . کامپایل یک برنامه ساده در آغاز کار برای شما انگیزه زیادی ایجاد خواهد نمود حتی اگر آن برنامه یک hello word ساده باشد .به این نکته نیز توجه داشته باشید تمامی این IDE های مختلف در نهایت همین دستور شما را در پس زمینه اجرا خواهند نمود و تنها یک رابط گرافیکی زیبا می باشند چه بسا اگر شما در کار خود پیشرفت نمایید در مراحل بعدی در برنامه های بزرگ و پیچیده باید خودتان فرمان کامپایل را در این برنامه ها تنظیم نمایید (در مورد سایر زبان ها نیز موارد گفته شده صادق است ). پس در ابتدا به کار با یک ویرایشگر متنی ساده راضی باشید .
گام چهارم : چه IDE برای کار خود انتخاب نمایم ؟ IDE ها یا محیط های مجتمع برنامه نویسی نقش بسیار مهمی در روند برنامه نویسی به ویژه از لحاظ سرعت کار دارا هستند . پس اکنون که شما روش کامپایل و اجرای برنامه خود را آموخته اید برای تسریع کار خود می توانید به دنبال یک IDE مناسب نیازهای خود بگردید .

گام پنجم : تمام شد ! اکنون شما می توانید در سکوی مورد نظر خود به راحتی برنامه بنویسید .
توجه : بسیاری از این پرسش های مطرح شده در این بخش بارها و بارها توسط افراد مختلف مطرح شده . پس حتما پیش از پرسیدن این سوالات در مورد آنها جستجو کنید .
---
منبع:
http://gtk.ir/?p=56 (http://gtk.ir/?p=56)
عنوان: پاسخ به: درخواست کمک
ارسال شده توسط: Saman.S در 02 خرداد 1388، 02:53 ب‌ظ
قبلا با زبونی کار می کردید؟ یا اولین زبونتونه؟
اگه کلا اولین زبونتونه که می گن پایتون خیلی خوبه(البته خودم با بیسیک تو ویندوز شروع کردم. خیلی سادس و برای شروع عالی بود)
و اگه قبلا تو ویندوز زبون دیگه ای بلد بودید بگید. به احتمال زیاد می تونید توی لینوکس همون رو ادامه بدید.
عنوان: پاسخ به: درخواست کمک
ارسال شده توسط: vampire در 03 خرداد 1388، 06:43 ب‌ظ
قبلا با زبونی کار می کردید؟ یا اولین زبونتونه؟
اگه کلا اولین زبونتونه که می گن پایتون خیلی خوبه(البته خودم با بیسیک تو ویندوز شروع کردم. خیلی سادس و برای شروع عالی بود)
و اگه قبلا تو ویندوز زبون دیگه ای بلد بودید بگید. به احتمال زیاد می تونید توی لینوکس همون رو ادامه بدید.
سلام.راستش من قبلا" ویژوال بیسیک کار کردم و الانم میکنم ولی بیشتر دوست دارم واسه لینوکس بنویسم تا ویندوز.
عنوان: پاسخ به: درخواست کمک
ارسال شده توسط: Saman.S در 03 خرداد 1388، 07:20 ب‌ظ
زبون های لینوکس و ویندوز با هم خیلی فرق ندارن. شما می تونید به زبون های C,C++,C#,Java,VB.NET,Python و بسیاری از زبون های دیگه توی لینوکس برنامه بنویسید.
به نظر من حتما زبان ++C رو یاد بگیرید چون هم خودش قویه و هم سینتکسی مشابه زبون های قوی تر مثل Java و #C داره.
اگه می خواین زبون برنامه نویسیتون محیطهای برنامه نویسی قوی داشته باشه که امکاناتی مثل طراحی ویژوال داشته باشه, می تونید با زبان های C و C++ و #C و Java کار کنید(برای بقیه زبون ها اطلاعی ندارم)
عنوان: پاسخ به: درخواست کمک
ارسال شده توسط: vampire در 03 خرداد 1388، 07:26 ب‌ظ
زبون های لینوکس و ویندوز با هم خیلی فرق ندارن. شما می تونید به زبون های C,C++,C#,Java,VB.NET,Python و بسیاری از زبون های دیگه توی لینوکس برنامه بنویسید.
به نظر من حتما زبان ++C رو یاد بگیرید چون هم خودش قویه و هم سینتکسی مشابه زبون های قوی تر مثل Java و #C داره.
اگه می خواین زبون برنامه نویسیتون محیطهای برنامه نویسی قوی داشته باشه که امکاناتی مثل طراحی ویژوال داشته باشه, می تونید با زبان های C و C++ و #C و Java کار کنید(برای بقیه زبون ها اطلاعی ندارم)

آموزش برنامه نویسی برای C++ دارید ؟
البته تحت لینوکس (ترجیحا" فارسی ولی کلا" انگلیسی هم بود اشکال نداره )
عنوان: پاسخ به: درخواست کمک
ارسال شده توسط: ناربه در 03 خرداد 1388، 09:49 ب‌ظ
لطفا برای تاپیکتون عنوان مناسب انتخاب کنید.
ممنون
عنوان: پاسخ به: درخواست کمک در مورد انتخاب زبان برنامه نوی
ارسال شده توسط: moshen212 در 08 خرداد 1388، 12:13 ب‌ظ
سلام
نقل‌قول
سلام.راستش من قبلا" ویژوال بیسیک کار کردم و الانم میکنم ولی بیشتر دوست دارم واسه لینوکس بنویسم تا ویندوز.
عزیز شرایط شما دقیقا مثل گذشته ی من هست . منم قبلا وی بی کار می کردم و وقتی با اوبونتو آشنا شدم علاقه پیدا کردم که برای اوبونتو برنامه بنویسم یک کارهایی هم انجام دادم
اگر نظر من رو بخواید بهترین زبان برای شما Python هست چون هم یاد گیریش با سرعت و به راحتی انجام میشه و هم بسیار قوی هست از طرفی بسیار هم گسترده هست چون در همه جا کاربرد داره و بسیار هم قابل حمل هستش.
با وجود بچه های گل سایت pylearn.com دیگه نیازی هم نخواهید داشت که برید دنبال ترجمه ی متون انگلیسی و در صورتی که مشکلی هم داشتید می تونید همین جا یا در انجمن pylearn.com مطرح کنید مطمئن باشید جواب می گیرید.
اگر تا حالا اسمش رو نشنیدید نگران این هم نباشید چون با وجود این که تا مدتی قبل نا شناخته بود برای خیلیها مخصوصا ایرانیها ولی الان به سرعت داره خودش رو بالا می کشه و آینده ی رو شنی خواهد داشت از طرفی کاربر براش تفاوتی نداره که برنامه به چه زبانی نوشته شده اون کار خوب رو می خواد که انشاا..  شما هم کار خوب تحویل خواهید داد
پایتون یا اژدهای خفته !!!؟
عنوان: پاسخ به: درخواست کمک در مورد انتخاب زبان برنامه نویسی
ارسال شده توسط: vampire در 09 خرداد 1388، 12:55 ب‌ظ
ممنون راستش من یه آشنایی قبلی با پایتون داشتم زبان خیلی کامل و خوبیه.
 \\:D/ \\:D/
عنوان: پاسخ به: درخواست کمک در مورد انتخاب زبان برنامه نوی
ارسال شده توسط: farbod69 در 20 تیر 1388، 10:06 ق‌ظ
پایتون زبان فوق العاده ایه اما اگه واقعا می خواهید برنامه نویس حرفه ای بشید C++ حرف اول و اخرو می زنه سینتکس اکثر زبان ها شبیهشه و قدرت فوق العاده ای در مدیریت حافظه و ارتباط با خود سیستم عامل داره و چون قابل درکه تمام ماشین هاست به قول برنامه نویس ها یک بار میکویسید و برای سیستم عامل های مختلف کامپایل می کنید با استفاده از کانپایلر خودشون
java  هم فوق العاده قویه و memory managment رو اتوماتیک انجام میده ولی برای شروع پیشنهاد نمی کنم اگه c++ بلد باشین در عرض دو روز java رو یاد میگیرید فقط باید توابع و کتابخانه هاشو بشناسین اگر هم به C# الاقه دارین بازم همون رو می گم اول C++ بعد اون هر چند c# برای رقابت با java ایجاد شد و در رقابت java واقعا قوی تره به هر حال می تونین با نسب mono که همون فریم ورک دات نت برای لینوکسه و نصب mono developer که IDE هستش با C# برنامه بنویسید که حتی GUI هم داشته باشه که میتنی بر GTK# هست حالا تصمیم با خودتونه اما به هر حال در اکثر دانشگاه های جهان و ایران برنامه نویسی رو با c++ شروع می کنن
عنوان: پاسخ به: درخواست کمک در مورد انتخاب زبان برنامه نوی
ارسال شده توسط: moshen212 در 20 تیر 1388، 12:41 ب‌ظ
سلام
نقل‌قول
ایتون زبان فوق العاده ایه اما اگه واقعا می خواهید برنامه نویس حرفه ای بشید C++ حرف اول و اخرو می زنه سینتکس اکثر زبان ها شبیهشه و قدرت فوق العاده ای در مدیریت حافظه و ارتباط با خود سیستم عامل داره و چون قابل درکه تمام ماشین هاست به قول برنامه نویس ها یک بار میکویسید و برای سیستم عامل های مختلف کامپایل می کنید با استفاده از کانپایلر خودشون
java  هم فوق العاده قویه و memory managment رو اتوماتیک انجام میده ولی برای شروع پیشنهاد نمی کنم اگه c++ بلد باشین در عرض دو روز java رو یاد میگیرید فقط باید توابع و کتابخانه هاشو بشناسین اگر هم به C# الاقه دارین بازم همون رو می گم اول C++ بعد اون هر چند c# برای رقابت با java ایجاد شد و در رقابت java واقعا قوی تره به هر حال می تونین با نسب mono که همون فریم ورک دات نت برای لینوکسه و نصب mono developer که IDE هستش با C# برنامه بنویسید که حتی GUI هم داشته باشه که میتنی بر GTK# هست حالا تصمیم با خودتونه اما به هر حال در اکثر دانشگاه های جهان و ایران برنامه نویسی رو با c++ شروع می کنن
از توضیحاتی که دادید ممنون ولی با قسمتی که گفتید اگه می خواید برنامه نویس حرفه ای بشید C++  حرف اول رو می زنه موافق نیستم . راستش من با این که برنامه نویسی حرفه ای رو محدود به یک زبان خاص کنیم مخالفم و چیزی که الآن در مورد زبانهای برنامه نویسی صدق می کنه این هست که هر کدوم یک نقطه ی عطفی دارن که ممکن هست در دیگری نباشه االبته بجز زبانهای Visual studio چون همه ی زبانها یکپارچه شدن .
اما در مورد پایتون چند تا از قابلیتهایی که در مورد C++ و java و C# گفتید در مورد پایتون هم صدق می کنه مثلا پایتون هم بسیار قابل حمل هست و مدیریت حافظه ای بسیار خوبی هم داره شاید در این مورد شگفت آور هم باشه البته اگر منظورتون آدرس دهی مستقیم به حافظه هست در پایتون نیست اما بهترین قابلیت هایی که من در پایتون احساس کردم و  هستن :
۱ - کد ایجاد شده بسیار خوانا و بسادگی قابل درک هست به همین دلیل میشه به سرعت کدهای مثلا یک برنامه ی اپن سورس به این زبان رو درک کرد .
۲ - سرعت انجام کار نسبت به خیلی از زبانهای دیگه بالاتر هست چون واسه هر کاری یک راه کوتاه تر و در عین حال مطمپن تر داره .
۳ - در بسیاری از عرصه ها کاربرد داره شما می تونید ازش در برنامه نویسی دسکتاپ یا اینترنت و یا گوشی موبایل و یا حتی روباتیک ازش استفاده کنید .
به مثال زیر که یک کد زبان c++ و یک کد زبان Python هست توجه کنید :
if ( ( x > 0 ) and ( x  < 10 ) )
    cout << "Hello world"
if 0 < x < 10 :
   print "Hello world"
در کد بالا هر چند که کوچک هست ولی موارد ۱ و ۲ درش دیده میشه .
موفق باشید .
عنوان: پاسخ به: درخواست کمک در مورد انتخاب زبان برنامه نوی
ارسال شده توسط: مصطفی بزاز در 20 تیر 1388، 12:50 ب‌ظ
اشكالزدايي ++C خيلي سخت تره. در ضمن يه خوبي java اينه كه IDE هاي خيلي قوي تري داره. كافيه Intellij رو مقايسه كني با هر IDE براي ++C .
در مورد Python هم كه توضيح داده شد. البته فكر نمي كنم IDE هاش مثل جاوا باشه.
عنوان: پاسخ به: درخواست کمک در مورد انتخاب زبان برنامه نوی
ارسال شده توسط: moshen212 در 20 تیر 1388، 01:06 ب‌ظ
سلام
نقل‌قول
اشكالزدايي ++C خيلي سخت تره. در ضمن يه خوبي java اينه كه IDE هاي خيلي قوي تري داره. كافيه Intellij رو مقايسه كني با هر IDE براي ++C .
در مورد Python هم كه توضيح داده شد. البته فكر نمي كنم IDE هاش مثل جاوا باشه.
بله , کاملا موافقم با این مسئله که شاید IDE خوبی تا حالا واسه python ساخته نشده ولی واسه ی یک کسی که به IDE اهمیت میده Eclipse + pydev به نظر خوب میاد .