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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: lullaby در 19 شهریور 1389، 09:26 ب‌ظ

عنوان: مشاوره برای مبتدیان
ارسال شده توسط: lullaby در 19 شهریور 1389، 09:26 ب‌ظ
با سلام
میدونم خیلی برای مبتدیها مطلب گذاشتین ولی من یه سوالهایی دارم که ندیدم کسی بپرسه(شاید هم بوده و من متوجه نشدم).من دانشجوی سال اولی هستم یعنی این سال میشم سال دوم.پس  هنوز حرفه ای نیستم.سوال من اینکه کدوم واحدهای درسی برای برنامه نویسی متن باز بیشتر کمک میکنن ؟به طور مثال در سال اول دروس تخصصی اکثرا مبانی کامپیوتر 1و 2 هست پس برای این زمینه چه واحدهایی لازمه تا حرفه ای شد.درواقع من خیلی به این نوع برنامه نویسی علاقه مند شدم و میخوام با یک دید وسیع واردش بشم برای همین میخوام کمکم کنین و از تجربه هاتون بگین از گدمهایی که باید برداشته بشه مثلا من نمیدونستم که برای این کار نیاز هست که shell  بدونیم و ندانسته های زیادی دارم که از شما میخوام برام بگین که برای اینکه تو این زمینه زود پیشرفت کنم باید چیکار کنم.نا گفته نماند طی این یک سال C , Java رو کار کردم.درضمن شنیدم جاوا تو این زمینه خوبه ولی نمیدونم باید چیکار کنم.
فرض کنین این منم  ??? پس لطفا هرچی به زهنتون رسید بگین .درضمن برنامه ی آقای زبردست رو هم از شبکه ی 7 دنبال میکنم از همینجا از ایشون تشکر میکنمچون واقعا به دردم خورد.مارو از تجربه های با ارزشتون دریغ نکنید با تشکر.
مواد لازم اینکار چیه؟(اولیشو گرفتم باید شل کار کرد دیگه چیا؟)
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: mani.zaeim در 19 شهریور 1389، 09:32 ب‌ظ
شما هدفتون چیه؟
۱-برنامه نویسی opensource
۲- system administration
۳-db admin
۴- analyser
۵-architecture
۶-designer
۷-security?
تمام عنوان های که گفتم زمینهای  developing وdb  وnetwork شامل میشه
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: lullaby در 19 شهریور 1389، 10:32 ب‌ظ
با تشکر از پاسخ سریعتون.هدف من برنامه نویسی اوپن سورس هست که تو متنم هم نوشته بودم البته با عنوان متن باز نوشته بودم.لطفا کمکم کنید.
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: mani.zaeim در 20 شهریور 1389، 11:50 ق‌ظ
باید مسیر رو مشخص کنی
۱-وب
۲-وب و ...
اگر فقط وب میخوای کار کنی php انتخاب خیلی خوبیه
اما اگر هم می خوای client side و server side و یا فقط server side کار کنی من Java رو توصیه می کنم
خودم java developer هستم اما باید اینو بگم که بسیار وسیع و گسترده است و خیلی باید زحمت بکشی و وقت بگذارید
bash perl و javaScript هم خیلی خوبه که بدونید
اما اگر میخوای حرفه ای کار کنی باید بگم که هر کدام کاملا جدا از هم هستند
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: ریچارد استالمن بزرگ! در 20 شهریور 1389، 01:15 ب‌ظ
فکر می کنم اولین کاری که باید انجام بدید خوندن مقاله اریک ریموند درباره هکرهاست! توی اون اریک ریموند در یک بخشی درباره همین مسئله بخوبی صحبت کرده.
توی زبان های برنامه نویسی معمولا مسلط بودن به یکی از خانواده های سی یا پایتون از واجباته. بعدش خود شما خواهید فهمید که به کدوم سمت گرایش دارید و به همون سمت حرکت خواهید کرد. ولی در هر حال یکی از این چند زبان همیشه آچار فرانسه برنامه نویس هاست!
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: .:::_| Smart Boy |_:::. در 20 شهریور 1389، 03:00 ب‌ظ
سلام  :)
من C و ++C رو پیشنهاد می‌کنم. البته پایتون هم در لینوکس طرفداران خاص خودش رو داره. ولی اگر  C و ++C رو خوب بلد باشید، شک نکنید که در برنامه‌نویسی متن باز چیزی کم ندارید...
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: r_m1232002 در 20 شهریور 1389، 03:57 ب‌ظ
با سلام
بی شک یکی از گسترده ترین زبان های برنامه نویسی در دنیای متن باز زبان C می باشد. و در واقع در صورتی که شما آشنایی عمیقی با این زبان داشته باشید می توانید در اغلب پروژه های موجود شرکت داشته باشید.
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: mani.zaeim در 20 شهریور 1389، 08:57 ب‌ظ
با احترام به نظر تمامی دوستان:
کاملا درست عرض می کنند که c , c++ بسیار قوی و لازم می باشد
اگر java را بخواید شروع کنید به دو زبان مذکور نیز می توان switch کرد اما برعکس این موضوع کمی مشکل تر است
ام این نکته که developer وقتی راه بیفتد و توانایی programming داشته باشد switch کردن بین زبان های مختلف کار راحتی و خیلی سخت نیست باید کمی وقت و حوصله داشت
http://forum.ubuntu.ir/index.php/topic,15320.0/topicseen.html (http://forum.ubuntu.ir/index.php/topic,15320.0/topicseen.html)
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: Alir3z4 در 20 شهریور 1389، 10:02 ب‌ظ
برای وب پی اچ پی
کلاینت C++,java
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: lullaby در 20 شهریور 1389، 10:13 ب‌ظ
با تشکر از همه.حالا با این توصیفهایی که شده برای من سوالهای جدیدی ایجاد شدند.من زبان C رو بلدم .جاوا هم که عاشقش هستم و بلدم اما حرفه ای نیستم.حالا سوالم اینکه اگع بخوام تو زمینه ی جاوا اوپن سورس رو شروع کنم چیکار کنم چه منابعی رو پیشنهاد میکنین من که خودم برای جاوا کتابهای آقای قمی و همینطور کتاب object orriented programing with java  که نویسندش  ویلیام وو هست رو خوندم.حالا برای حرفه ای بودن چی پیشنهاد میکنین این رو هم به یاد داشته باشین که میخوام تو سیستم  اوبونتو هم یه کارایی بکنم مثه نوشتن یک سیستم عامل دلخواه خودم(که درواقع هدفم همینه).
درضمن از اونجاییکه بنده تازه کارم تو این انجمن نمیدونم چطور باید از اعضایی که جواب میدن تشکر کنم دکمه ای به چشمم نخورد. ;)
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: Alir3z4 در 20 شهریور 1389، 10:34 ب‌ظ
هیچی، تو دلت تشکر کن :ي:ي
بعدش هم جاوا و توسعه ابونتو ؟
ودر آخر تورو خدا اسم جعفر برمکی رونیار
کتابای این برادر کسی رو حرفه ای نمیکنه
C  کارت رو تو سیستم عامل اوکی میکنه
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: lullaby در 20 شهریور 1389، 11:56 ب‌ظ
ای انجا اینجوری تشکر میکنن؟ ::)

خوب منم از اون کتاب اولی خوشم نیومد که رفتم دومی رو گشتم و پیدا کردن که خداوکیلی خیلی خوب بود.
یعنی چی ؟حالا من باید جاوا رو بذارم کنار دوباره رو سی کارکنم؟یعنی جاوا تو این کار قدرتمند نیست؟
دوما:برای نوشتن یک سیستم عامل مورد علاقه ی خودم (مثلا یه تغییراتی تو دسکتاپ) باید چیکار کنم از کجا شروع کنم؟
ببخشین این همه سوال میپرسم خدایی تو اوپن سورس کاربلد کم پیدا میشه واسه همین اینجا سوالهام رو مطرح میکنم.امیدوارم آزرده خاطر نشین.
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: mani.zaeim در 21 شهریور 1389، 12:23 ق‌ظ
1-برای چه هدفی می خوای program کنی؟
۲- جاوا خیلی وسیع و برای server side خیلی قویتره(از نظر من)
۲.۱- در java می خ.ای چه کار کنی؟
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: lullaby در 21 شهریور 1389، 12:50 ق‌ظ
من میخوام توسعه ی اوبونتو رو شروع کنم بهم گفتن با جاوا میشه میخوام راهنماییم کنین و از اونجاییکه خیلی ناشی هستم و هنوز قراره ترم سوم رو شروع کنم ازتون میخوام بهم بگین برای این کار چه دروسی رو باید گذرونده باشم.
اگه لطف کنین یه راهنمایی کلی بکنین کلی تو دلم ازتون تشکر میکنم.اگه کتابی هست معرفی کنین یا اگه نصیحتی هست حتما بگین و همینطور بگین برا اینکار چه زبانهایی رو باید بدونم و در چه سطحی فعلا برام صلاحه(با توجه به ترم سوم بودنم)؟
تا اینجاش که کلی تو دلم ازتون تشکر کردم .
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: mani.zaeim در 21 شهریور 1389، 01:38 ب‌ظ
1- کلا دانشگاه رو راجع به این قضایا بی خیال شو
۲- توسعه ubuntu با java فقط برای قسمتی از application ها است
۳- برای توسعه ubuntu : perl, C++, PHP
اینکه از کجا شروع کنی
https://wiki.ubuntu.com/Teams (https://wiki.ubuntu.com/Teams)
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: .:::_| Smart Boy |_:::. در 21 شهریور 1389، 03:20 ب‌ظ
ببين عزيز درسته كه برنامه‌هاي جاوا روي هر سيستم عاملي و پلت فرمي كه قابليت اجراي JRE رو داشته باشه، اجرا ميشه ولي اين اصلا به معني بهتر بودن جاوا نسبت به C يا ++‍C نيست. اينكه زبان C چقدر قوي و محبوب هست بر هيچ برنامه‌نويسي پوشيده نيست و اگر شما براي گسترش لينوكس مي‌خواي تصميم به انتخاب زبان برنامه‌نويسي بگيري، در اون صورت ديگه تو انتخاب C هيچ شكي به دلت راه نده. ديگه خودت مي‌دوني... :)
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: lullaby در 21 شهریور 1389، 03:31 ب‌ظ
از همه ی دوستانی که جواب دادن تشکر میکنم بخصوص آقا مانی که خیلی از حرفاشون استفاده کردم.
حالا یه سوال دیگه c or c++ ؟کدوم بیشتر تو اینکار تو بورسه درسته که این دوتا خیلی تفاوت ندارن ولی کدوم تو الویته؟
دیگه خجالت میکشم سوالهام خیلی زیاد شده :oops:
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: mani.zaeim در 21 شهریور 1389، 09:45 ب‌ظ
خواهش می کنم دوستم؛ نظر لطف شماست
بین Cو C++ برای سیستمی نوشتن بهتره که ++C کار کنی
ببين عزيز درسته كه برنامه‌هاي جاوا روي هر سيستم عاملي و پلت فرمي كه قابليت اجراي JRE رو داشته باشه، اجرا ميشه ولي اين اصلا به معني بهتر بودن جاوا نسبت به C يا ++‍C نيست. اينكه زبان C چقدر قوي و محبوب هست بر هيچ برنامه‌نويسي پوشيده نيست و اگر شما براي گسترش لينوكس مي‌خواي تصميم به انتخاب زبان برنامه‌نويسي بگيري، در اون صورت ديگه تو انتخاب C هيچ شكي به دلت راه نده. ديگه خودت مي‌دوني... :)
حق با ایشان است
 یه آمار نسبتا جالب از kernel ؛ این اماری که خودم شخصا استخراج کردم و تعداد line of code  از
Kernel 2.6.23.12

linux-2.6.23.12 238MB 5550000 C C++ assembly perl python bash shell awk ..

   22508 text files.

classified 22454 files

   22214 unique files.

    2103 files ignored.

-------------------------------------------------------------------------------

Language          files     blank   comment      code    scale   3rd gen. equiv

-------------------------------------------------------------------------------

C                  9462    837526    910606   4310275 x   0.77 =     3318911.75

C/C++ Header       8743    187586    289683    986021 x   1.00 =      986021.00

Assembler           943     35506     41793    217522 x   0.25 =       54380.50

make                951      4354      5278     14214 x   2.50 =       35535.00

Perl                 17       742       867      4439 x   4.00 =       17756.00

yacc                  4       400       273      2637 x   1.51 =        3981.87

Bourne Shell         43       370      1122      2353 x   3.81 =        8964.93

C++                   1       205        57      1494 x   1.51 =        2255.94

lex                   4       167       196      1170 x   1.00 =        1170.00

HTML                  2        58         0       367 x   1.90 =         697.30

NAnt scripts          1        86         0       278 x   1.90 =         528.20

Lisp                  1        63         0       218 x   1.25 =         272.50

Python                2        41        37       208 x   4.20 =         873.60

ASP                   1        33         0       136 x   1.29 =         175.44

awk                   2        14         7        98 x   3.81 =         373.38

Bourne Again Shell     2         7        17        34 x   3.81 =         129.54



XSLT                  1         0         1         7 x   1.90 =          13.30

-------------------------------------------------------------------------------

SUM:              20180   1067158   1249937   5541471 x   0.80 =     4432040.25

-------------------------------------------------------------------------------
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: r_m1232002 در 21 شهریور 1389، 09:53 ب‌ظ
خوب اگر شما ++C رو یاد بگیرید C  رو هم یاد گرفته اید. در واقع زبان سی تقریبا به طور کامل یک زیر مجموعه در زبان ++C  محسوب می شود. و در واقع ++C قابلیت های جدیدی رو اضافه کرده. بنابراین سوال شما رو باید این طور تعبیر کرد که آیا نیاز هست من قابلیت های جدید ++C  رو هم یاد بگیرم یا نه؟
از نظر کاربرد باید بدونید که خود کرنل و درایور ها و برنامه های سیستمی خیلی سطح پایین مثل کامپایلر ها با زبان سی پیاده می شوند. بنابراین اگر فقط قصد دارید تا پایان عمرتان در این زمینه فعالیت کنید نیازی به ++C  نخواهید داشت  ;)
اما برنامه های سطح بالاتر مثل محیط دسکتاپ (مثلا خود KDE ) یا نرم افزار های بزرگی چون OpenOffice  یا Blender با ++C نوشته می شوند. بنابراین اگر به این نرم افزار ها هم علاقه دارید به ++C نیاز پیدا خواهید کرد.
جدا از بحث کاربرد من فکر می کنم ++C از نظر فکری هم می تونه بسیار مفید باشه. شما در این زبان با شی گرایی سر و کار دارید که یکی از مهم ترین روش های برنامه نویسی فعلی هست و این موضوع به شما کمک می کنه که هم برنامه های بهتری بنویسید و هم در صورتی که خواستید در آینده با زبان های جدیدی اشنا بشید ، اون زبان ها برای شما راحت تر باشن.

از نظر من و خیلی از افراد دیگر در برنامه نویسی زبان های مورد استفاده تنها یک ابزار هستند که می توانند جایگزین شوند اما موضوع مهم روش ها (Paradigms) برنامه نویسی هست که این زبان ها ارائه می کنند.من فکر می کنم هر برنامه نویسی که واقعا نیاز داره تا برنامه های موثر و با کیفیت بنویسه باید با چهار روش اصلی برنامه نویسی اشنا باشه :
Imperative Programming
Object Oriented Programming
Functional Programming
Logic Programming
که متاسفانه زبان سی فقط از روش اول پشتیبانی می کند که نسبت به ++C  این یک ضعف به شمار می آید
موفق باشید
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: Alir3z4 در 22 شهریور 1389، 04:12 ق‌ظ
c با c++ تفاوت چندانی نداره
تا اونجایی که اسم C++ اول C With Classes بود
C++ کد نویسی تمیز تری ارایه میده که مثلا کار با header ها یکیشون میشه و..........و....و....

کلا جاوا هم که همیشه واسه اجرا شدنش به ماشینش نیاز داره
میشه  بصورت کاذب گفت که جاوا بر روی همه سیستم ها پیاده میشه که در برابر C , c++ این یه فلج اطفال واسه جاوا حساب میشه...
مثلا فرض کن میخوای یه سیستم عامل با جاوا بنوسی، خب وقتی میخواد سیستم بوت بشه چجور باید به بایوس بفهمونی که این جاوا هست؟؟؟ ( این تیکه خیلی شکنجه میشه:ي:ي)

ولی واسه کارکرد C++ بیشتر بدرد میخوره مخصوصا وقتی با Qt میکس میشه که خیلی هم خوشمزه میشه...
C هم که اصلا واسه زبان آموزشی یا زبانی که بخوای باش شروع کنی مناسب نی
چرا که دنیای بزرگی داره که اذیت میکنه ولی C بیشتر C++ به سیستم نزدیک میشه..

در مورد دانشگاه هم اصلا فکر متن باز و این چیز میزا رو نکن:ي:ي:ي
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: lullaby در 22 شهریور 1389، 03:58 ب‌ظ
از همه ی دوستان متشکرم.واقعا حرفهای تک تکنون به دردم خورد. \\:D/
امیدوارم که از این به بعد سوالهای تخصصی بپرسم.یاعلی.
عنوان: پاسخ به: مشاوره برای مبتدیان
ارسال شده توسط: .:::_| Smart Boy |_:::. در 22 شهریور 1389، 05:22 ب‌ظ
سلام  :)
خوشحالم که به نتیجه رسیدید...  ;D
راستی یه نکته رو بگم که فکر می کنم نکته ی بسایر مهمی هست و اون اینکه C یک زبان سطح میانی هست ولی ++C یک زبان سطح بالا و اصولا شی گرا. در نتیجه اگر سرعت اجرای برنامه مهم هست و به برنامه های سیستمی فکر می کنید فقط C کار شما رو راه می اندازه...
موفق باشید ...