# مهندسی نرم افزار > مباحث مرتبط با مهندسی نرم‌افزار > مباحث و مقالات فراگیر مهندسی نرم افزار >  معرفی یک زبان مناسب برای یادگیری در حال حاضر

## somaye.h

سلام و خسته نباشید به همه ی دوستان 
من دانشجوی مهندسی کامپیوتر هستم
از عزیزان تقاضا می کنم در زمینه یادگیری یک زبان مناسب در این مقطع که نیاز روز باشه و یادگیری اون به درد بخور منو راهنمایی کنند :متفکر:

----------


## p_ooya

نیاز روز ایران : C#‎.net
زبان به درد بخور : جاوا  :کف کرده!: 

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

----------


## somaye.h

سلام p_ooya 

خیلی ممنون از جوابتون .
میخواستم بیشتر منو راهنمایی کنید.
پیش نیاز یادگیری زبان جاوا چیه ؟
شما خودتون جاوا چقدر کار کردین؟
کلا چقدر وقت برا یادگیریش باید در نظر گرفت ( فکر کن من یادگیریم در حد خوبی باشه  :لبخند گشاده!: )
بازم ممنون

----------


## p_ooya

> سلام p_ooya 
> 
> خیلی ممنون از جوابتون .
> میخواستم بیشتر منو راهنمایی کنید.
> پیش نیاز یادگیری زبان جاوا چیه ؟
> شما خودتون جاوا چقدر کار کردین؟
> کلا چقدر وقت برا یادگیریش باید در نظر گرفت ( فکر کن من یادگیریم در حد خوبی باشه )
> بازم ممنون


خواهش می کنم. وظیفه بود. راجع به پیش نیاز : ببینید syntax (نحو) زبان جاوا مثل c هست. یعنی اگه c بلدید خیلی کارتون راحته. اگر هم زبان دیگه ای رو بلد نیستید خب از اول با جاوا شروع کنید. خیلی ها معتقدند که جاوا برای شروع کمی سخته و بهتره با یه زبان ساده تر مثل پاسکال یا سی شروع به کار کنیم، ولی من مخالفم. این درسته که جاوا زبان سختیه (به خصوص به خاطر شیء گرا بودنش) اما استفاده از یه زبان دیگه ممکنه مشکلی به وجود بیاره که توضیح میدم. مثلاً خود من  :لبخند گشاده!: . من اول پاسکال یاد گرفتم، بعد C. الان بعد از سالها هنوز هم که هنوزه نمی تونم به راحتی با جاوا کار کنم. چون نه c نه پاسکال نه پاسکال شیء گرا و نه C++‎ هیچکدوم واقعاً شیء گرا نیستند. من الان یه پروژه با object pascal دارم می نویسم ولی برنامه ام شیء گرا نیست. از مزایاش به معنی واقعی استفاده نمی کنم. چون از اول این کار رو یاد نگرفتم. برای همین هم تو پست اولم از کلمه "آلوده" استفاده کردم. *به نظر من* سختی آغاز کار رو به جون بخر و برنامه نویسی رو با جاوا و شیء گرا یاد بگیر.
راجع به جاوای خودم : وقتی ترم 3 بودم، یکی از اساتید دانشگاه به عنوان مباحث ویژه به ما جاوا درس داد اما متاسفانه اون دوره دوره جاهلیت بود. از فرصت استفاده نکردم و خوب یاد نگرفتم. چند وقتیه که دوباره به صورت پایه ای شروع کرده ام.
در رابطه با زمان : من از اونجایی که خودم مسلط نیستم، نمی تونم نظر خوبی بدم. ولی می تونم بگم که جاوا جزء زبانهای سخته.
در پایان : چند نکته راجع به جاوا هست که بد نیست مد نظر داشته باشی : برای برنامه نویسی که تو ایرانه، شانس پیوستن به یه تیم برنامه نویس یا استخدام در یه شرکت برنامه نویسی برای کسی که C#‎ بلده خیلی بیشتره چون ایران یه مقداری مایکروسافت زده است. اگر به جای جاوا برید سراغ C#‎.net اولین برنامه تون با یه اینترفیس حرفه ای 5 دقیقه بعد از شروع به کار تولید میشه. بنابراین اگه از جمله برنامه نویسانی هستید که عجله دارید، جاوا انتخاب خوبی نیست. در عوض انتخاب جاوا چندین مزیت داره که توپست قبلیم گفتم و اینجا می خوام یکم بازش کنم. جاوا بسیار بین المللی و کاملاً دانشگاهیه. یه ارتباط بسیار نزدیک بین جاوا و دنیای اپن سورس هست که نتیجه اش چند اتفاق فرخنده است  :لبخند گشاده!:  . شما همیشه دنیایی از سورس ها و نمونه های حرفه ای در اختیار دارید. اگه یه روز برید مثلاً امریکا می تونید سریع استخدام بشی و از حقوق کاملاً قابل توجهی برخوردار بشی  :کف کرده!:  . چون کراس پلتفرمه خیلی زود به دنیای لینوکس نزدیک میشی و بسیاری مزایای دیگر در مقابل سختی یادگیری.
از نظر من جاوا یه مزیت داره که ممکنه برای شما یا شخص دیگری مزیت نباشه و اونهم اینه که یک نفر کمتر به سمت تکنولوژی های مایکروسافتی میره. ببین، سی شارپ، یه کپی ناجوانمردانه از جاواست. اما با همین کپی ناجوانمردانه تعداد زیادی برنامه نویس رو میارن به سمت دات نت. نتیجه یه همچین کوچی اینه که کم کم همه میشیم مایکروسافتی و اونوقت مایکروسافت استاندارد های آینده برنامه نویسی رو به نفع خودش وضع می کنه (اتفاقی که داشت راجع به اینترنت میافتاد اما موزیلا جلوش رو گرفت). این بحث خارج از موضوع این تالاره و من نمی خوام اداده بدم.

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

----------


## nasirkhani

salam

vaght bekheyr 
pishnahade man ham be shoma mesle digar dostan
java
hast
behtarin zabani hast ke mitonid estefade konid
faght yadeton bashe gole harfaye digaran ro nakhorid ke migan sakhte kar peyda nemishe
man be shoma ghol midam faghat age deghat konid
movafagh mishid
az java estandardtar peyda nemikonid
you must work hard and play hard

----------


## nasirkhani

shoma mitonid azve j2eelist dar yahoo beshid kheyli baraton khobe

----------


## nasirkhani

doste aziz java aslan sakht nist
man nemidonam chera hata nevisandegane bozorge ketabhaye java ham be in jaryan daman mizanan
dar sorati ke tanha chizi hengame kar ba technology java niaz hast deghate
hamin
shoma bayad mesle khodesh bahash raftar konid
nemishe ba java be onvane abzare barnamenevisi estefade kard vali 
tarze fekreton microsofti bashe
shoma darid ba java minevisid na C#‎ ya vb
mesle khodesh fekr konid onvaght mibinid cheghadr sade ast
man be hameye dostan pishnahad midam vase inke behta betonid open source ro dark konid 
az windowz astefade nakonid
windows 1 abzare tejari hast
microsoft barash mohem nist ke che balaee sare tarze fekr userhaee ke ba on kar mikonand miad
behtarin rah baraye sho ke professinal hastid ine ke karaye khodetoni ba 1 os dige anjam bedid
va az windows faghat baraye ertebate ba microsoft zadeha estefade konid
ke albate inam begam ke shoma ba linux ya solaris behtar mitonid ba windowsiha ertebat bargharar konid in tajrobeye kochike mane kochik bod
hala dige khodeton midonid
we can work hard and play hard

----------


## somaye.h

واقعا خیلی خیلی از دوستان تشکر می کنم 
من همانطور که گفتم  دانشجوی مهندسی کامپیوترم و تا حدودی از پاسکال و cو C++‎ سر در می آرم
با صحبتهای دوستان خیلی مشتاق یادگیری جاوا شدم.
به نظرتون من می تونم بدون کلاس رفتن جاوا یاد بگیرم؟
و اگه کتاب مناسبی در این زمینه سراغ دارین لطفا معرفی کنید بازم بی نهایت ممنون

----------


## akiaki

> سلام و خسته نباشید به همه ی دوستان 
> من دانشجوی مهندسی کامپیوتر هستم
> از عزیزان تقاضا می کنم در زمینه یادگیری یک زبان مناسب در این مقطع که نیاز روز باشه و یادگیری اون به درد بخور منو راهنمایی کنند


زبان C#‎ را به شما پیشنهاد میکنم

----------


## Nima NT

اگر هدفتون کارهای سیستمی باشه اصلا" #C زبان مناسبی نیست , و اگر هم که نیست , هیچ.
ولی در کل بهتره علاقه خودتون رو هم مطرح کنید , اینطوری میشه راحت تر راهنمایی کرد.

----------


## MIDOSE

> زبان C#‎ را به شما پیشنهاد میکنم


دوست عزیز طرف نتیجه گیریش را کرده دیگه، گفت جاوا.



> واقعا خیلی خیلی از دوستان تشکر می کنم 
> من همانطور که گفتم  دانشجوی مهندسی کامپیوترم و تا حدودی از پاسکال و cو C++‎ سر در می آرم
> با صحبتهای دوستان خیلی مشتاق یادگیری جاوا شدم.
> به نظرتون من می تونم بدون کلاس رفتن جاوا یاد بگیرم؟
> و اگه کتاب مناسبی در این زمینه سراغ دارین لطفا معرفی کنید بازم بی نهایت ممنون


جاوا خیلی راحته و بدون کلاس رفتن هم می تونید یاد بگیریدش(البته خودم در حد نیازم بلدم) کتاب thinking in java به گفته ی یکی از اساتید همین سایت خیلی کار درسته(بسیار توصیه شده) کتاب java how to program هم از دیتل خوب و کار راه بنداز است(در حد معمول).
توصیه:شما همون جاوا را با پشت کار ادامه بدی عاشقش می شی فقط مراقب باش وسط راه تغییر نظر ندی.

----------


## somaye.h

جاوا خیلی راحته و بدون کلاس رفتن هم می تونید یاد بگیریدش(البته خودم در حد نیازم بلدم) کتاب thinking in java به گفته ی یکی از اساتید همین سایت خیلی کار درسته(بسیار توصیه شده) کتاب java how to program هم از دیتل خوب و کار راه بنداز است(در حد معمول).
توصیه:شما همون جاوا را با پشت کار ادامه بدی عاشقش می شی فقط مراقب باش وسط راه تغییر نظر ندی.[/quote]

با تشکر فراوان از راهنمایی شما 
این کتابهایی که معرفی کردین زبان اصلی ؟؟؟؟
اگه زبان اصلی باشه لطف کنین کتاب فارسی برام راهنمایی کنید درسته که یادگیری با زبان اصلی خیلی بهتره اما برا شروع کار می خوام از فارسی شروع کنم
بازم بی نهایت ممنون

----------


## emadfa

دوست عزیز 
به نظر من برای شروع ( به خصوص برای شروع برنامه نویسی با اهداف بزرگ و دوراندیشی تمام! ) C++‎ زبان مناسبی هست. به معنای واقعی سخت هست اما کامل هست. بعد از یادگیری C++‎ شما باید ( البته به نظر من! ) یک زبان تحت framework رو یاد بگیرید. چون هر چند C++‎ بسیار قدرتمند هست اما برای یک سری پروژه های برنامه نویسی بهتره که از زبان های دیگه استفاده کنیم. ( البته اجباری نیست. چون از همین زبان هم می تونید استفاده کنید.) 
صرف نظر از دعوای دوستان, بین Java و .Net تفاوت چندانی نیست. هر کدوم رو یاد بگیری switch  به دیگری راحته پس نگران نباش! البته هر کدوم مزایا و معایب خودشون رو دارند! البته زبان هایی مثل python هم عالی هستند ولی برای شروع مناسب نیستند چون شما تنها زمانی می تونید قدرت و سادگی اش را درک کنید که با یک زبان مثل C++‎ کار کرده باشید!

توصیه من C++‎ ( البته اولویت مفاهیم برنامه نویسی هست بنابراین این نظر من هست براساس علم و تجربه! انتخاب به خودت بستگی داره! )

----------


## MIDOSE

> با تشکر فراوان از راهنمایی شما 
>  این کتابهایی که معرفی کردین زبان اصلی ؟؟؟؟
>  اگه زبان اصلی باشه لطف کنین کتاب فارسی برام راهنمایی کنید درسته که یادگیری با زبان اصلی خیلی بهتره اما برا شروع کار می خوام از فارسی شروع کنم
>  بازم بی نهایت ممنون


در مورد java how to program فارسیش تو بازار هست ولی thinking in java را فکر نکنم.شما از همون دیتل شروع کن(java how to program) و بعدش برو سراغ thinking in java(ولی حتمن thinking in java را بخون چون خیلی توصیه می شه و برات خیلی واجبه)

نکته:دیتل ترجمه ی قلزم را من نخوندم ولی فکر کنم بد نباشه به خاطر سابقه ی قلزم در ترجمه ی کتاب سی پلاسش،ترجمه ی بهرام پاشایی را خودم خوندم و به نظرم کار راه بندازه.

----------


## arashonline

درود بر شما
منم تازه دارم برنامه نویسی رو شروع می کنم،، البته تا حدودی با C و basic و آشنایی دارم اما می خوام از پایه شروع کنم

و می خوام روی جاوا وقت بزارم، یه کتاب از اینترنت دانلود کردم، حدود 300 صفحه بود، و تو دانشگاه قم تهیه شده بود، تا یه جاهاییش رو خوب فهمیدم اما از وقتی که شروع کرد به توضیح دادن "استفاده از استثنائات" پاک گیج شدم، بدیش هم اینه که تست برنامه رو باید بیای توی cmd انجام بدی و محیطش گرافیکی نیست

من برنامه NetBeans 5.5  رو از اینترنت گرفتم اما نمی تونم باهاش کار کنم (بلد نیستم)، حالا می خوااستم راهنماییم کنید که اصلا راه رو درست آمدم و یه چیز دیگهه، بهم بگید که چی باید یاد بگیرم و اصلا با جاوا چه کارهایی می تونم بکنم (البته تو اینترنت زیاد نوشتن اما هیچکدوم درست توضیح ندادند و فقط کلی گفتند)

و اگه یه کامپایلر هم معرفی کنید با ییه فایل آموزشی که دیگه عالی میشه

arash_ufo@yahoo.com

----------


## nasirkhani

ketabe java neveshteye ahmad seddighi khobe 3 jeld ketab hast ke mitone kheyli komaketon kone.
www.ahmadsedighi.com
ba salam
man postha va soalate shomaro khondam 
pishnahade man be shoma java hast
C#‎ bargerefte az java hast va felan toye iran baraye application nevisi azash estefade mikonan
vali ta alan hich zabane digari ijad nashode ke betone mesle java mahbob beshe 
server side programming faghat ba java natijeye khobi khahad dad albate ba zabanhaye dige ham mishe nevesht vali java male in kar hast.
shoma baraye yad giriye java bayad uml kar konid code benevisisd va az hame mohemtar ba java edgham beshid kheyli az barnamenevisha hastand ke ba 1 zabane sheygera minevisand vali hich kodom az ghavanine oop ro reayat nemikonand baraye yad giri java faghat kar konid 
agar java ro yad begirird ayandeye khobio baraye khodeton barnamerizi kardeheed shayad zaman bebare vali yadeton bashe java dar donya ondemand hast
1 barnamenevise java dar usa sa'ati 80$ motevaset hoghogh migire 
be java shak nakonid 
chon bar asase osole software engineering  tarahi shode
dar zemn oracle sun ro kharid 
hala fekr konid va tasmim begirid
uml,sql,html,xml,javascript yadeton nare badan lazemeton mishe
movafagh va piroz bashid

----------


## nasirkhani

bebakhshi
www.ahmadseddighi.com

----------


## nasirkhani

> درود بر شما
> منم تازه دارم برنامه نویسی رو شروع می کنم،، البته تا حدودی با C و basic و آشنایی دارم اما می خوام از پایه شروع کنم
> 
> و می خوام روی جاوا وقت بزارم، یه کتاب از اینترنت دانلود کردم، حدود 300 صفحه بود، و تو دانشگاه قم تهیه شده بود، تا یه جاهاییش رو خوب فهمیدم اما از وقتی که شروع کرد به توضیح دادن "استفاده از استثنائات" پاک گیج شدم، بدیش هم اینه که تست برنامه رو باید بیای توی cmd انجام بدی و محیطش گرافیکی نیست
> 
> من برنامه NetBeans 5.5  رو از اینترنت گرفتم اما نمی تونم باهاش کار کنم (بلد نیستم)، حالا می خوااستم راهنماییم کنید که اصلا راه رو درست آمدم و یه چیز دیگهه، بهم بگید که چی باید یاد بگیرم و اصلا با جاوا چه کارهایی می تونم بکنم (البته تو اینترنت زیاد نوشتن اما هیچکدوم درست توضیح ندادند و فقط کلی گفتند)
> 
> و اگه یه کامپایلر هم معرفی کنید با ییه فایل آموزشی که دیگه عالی میشه
> 
> arash_ufo@yahoo.com


salam doste aziz
toye khode site netbeans rahnamaee dare va shoma mitonid az on estefade konid
che compilery mikhay?
age vase java mikhay bayad az jdk estefade koni albate chizaye dige ham hast vali hame az jdk estefade mikonan

----------


## nasirkhani

> در مورد java how to program فارسیش تو بازار هست ولی thinking in java را فکر نکنم.شما از همون دیتل شروع کن(java how to program) و بعدش برو سراغ thinking in java(ولی حتمن thinking in java را بخون چون خیلی توصیه می شه و برات خیلی واجبه)
> 
> نکته:دیتل ترجمه ی قلزم را من نخوندم ولی فکر کنم بد نباشه به خاطر سابقه ی قلزم در ترجمه ی کتاب سی پلاسش،ترجمه ی بهرام پاشایی را خودم خوندم و به نظرم کار راه بندازه.


www.ahmadseddighi.com

----------


## nasirkhani

dostan 1 negahi be in link bendazid
http://www.adahome.com/History/Steelman/steeltab.htm

----------


## hamidinejad

به نظرم اول با سی شروع کن بعدش یه کمی با کلاسها توی سی پلاس پلاس کار کن بعد بیا سمت سی شارپ بعدش هم ای اس پی رو کار کن

----------


## MIDOSE

> به نظرم اول با سی شروع کن بعدش یه کمی با کلاسها توی سی پلاس پلاس کار کن بعد بیا سمت سی شارپ بعدش هم ای اس پی رو کار کن


بگذریم که بحث ماله یک ماه پیش است.
مگه می خوای سیر تکامل (داروین) را  تشریح کنی؟! 
از مدت زمان مورد نیاز برای این مسیر که بگذریم(اتلاف وقت) به شخصه زیاد ربطی بین این زبان های معرفی شده نمی بینم. حداقل اگه می گفتی اول سی شارپ و بعد جاوا قابل قبول تر بود(با این که اینم قبول ندارم).

ممنون می شم دلایلتو ذکر کنی.

موفق باشی

----------


## hamidinejad

به نظر بنده اکثر اونهایی که مثلا با سی شارپ کار می کنن نمی دونن اصلا برای چی سی شارپ به وجود آمد!

من نمی گم طرف زیاد روی 2 تای اولیه وقت بذاره ! منظورم اینه که مفاهیم مثل شی گرایی و ... یه دفعه نکنیم توی ذهنش ! بهش یفهمانیم این مشکل برنامه ساخت یافته است بنابراین سی ++  به وجود آمد! بعدش هم برای 2 تا زبان اولی 2-3 هفته وقت بذاره نه بیشتر!

در ضمن این بحث هیچ وقت قدیمی نمی شه! چون دوستان دیگر هستند که می آیند و از بحث ها استفاده می کنند

----------


## MIDOSE

> اکثر اونهایی که مثلا با سی شارپ کار می کنن نمی دونن اصلا برای چی سی شارپ به وجود آمد!


حالا خودتون که می دونید؟ :چشمک: 
این اصلن مسئله ی مهمی نیست(یعنی کارش دو دقیقه است)، هر کسی با یک گوگل کردن همه چیز دستش میاد، نیازی به این روند طولانی نیست.

فرضن طرف فهمید که برای چی سی شارپ به وجود اومده(که به نظر من بیشتر به خاطر سیاست بازی های بازار است)، اخرش که چی؟ مثلن موقع استخدام بهت می گند سی شارپ برای چی به وجود اومده؟!

به نظر من به جای دلایل به وجود اومدن سی شارپ روی دلایل وجود شی گرا وقت بذاری خیلی بیشتر سود می بری.




> بهش یفهمانیم این مشکل برنامه ساخت یافته است بنابراین سی ++ به وجود آمد!


دلیل به وجود اومدن زبان(به غیر از اسانتر شدن و تخصصی تر شدن کارها) کاربرد خاصی نداره،بالا هم گفتم شما وقتی بفهمی چرا ساخت یافته به وجود اومده و چرا شی گرا نیازی به این کارها نداری.




> برای 2 تا زبان اولی 2-3 هفته وقت بذاره نه بیشتر!


اشتباهی که تو اغلب فروم ها دیدم، به مسئله ی برنامه نویسی مانند سیر تکامل داروین نگاه می کنیم. 
ما داریم در مورد یک ابزار حرف می زنیم نه سیر تکامل انسانی.
مثال:
دو هفته وقت می ذاری تا میاد چیزی دست گیرت بشه می ری سر یکی دیگه،حالا مفاهیم اشاره گرها و بیت و بایت تو ذهنت هست می ری سر سی پلاس با کلاس کار کنی، تو این مقطع زمانی نه تونستی معنای اشاره گر را بفهمی نه کلاس بالفرض رفتی سر سی شارپ، اون موقع است که دیگه حسابی قاطی می کنی و به خاطر این نابسامانی تو ذهنت باید مدت ها عذاب بکشی تا بتونی کامل این ها را درک کنی.

منکر سود یادگیری نیستم، اگر از همون اول با کلاس قاطی بشی(بعد از مباحث الگوریتم و...) هم از وقتت به نحو احسن سود بردی هم خودت را با مباحثی که در این مقطع بهشون نیاز نداری قاطی نمی کنی.




> در ضمن این بحث هیچ وقت قدیمی نمی شه! چون دوستان دیگر هستند که می آیند و از بحث ها استفاده می کنند


بله بحث جالب و شیرین زبان های برنامه نویسی و مقایسه ی نسبی انها بر کسی پوشیده نیست، ولی اینو باید بدونیم که در این گونه مباحث و راهنمایی ها ما در مورد زمان و وقت دوستان هم داریم بحث می کنیم(به ارزش وقت که واقف هستید)، پس باید در اظهار نظرها دقت کنیم. :چشمک: 

موفق باشی

----------


## ahmad_moin

سلام, اگر يه تحقيق كوچيكم در مورد PHP بكني بد نيست.

----------

