PDA

View Full Version : سوال: شروع کار با جاوا



jlover
شنبه 14 شهریور 1388, 08:43 صبح
بنده به تازگی در رشته ی نرم افزار فارغ التحصیل شده ام و به خاطر علاقه ی فراوانی که به برنامه نویسی دارم و تجربه ای که از زبان C++‎ ( هر چند در حد یک پروژه ی دانشجویی ) داشتم ، تصمیم گرفتم با وجود وقفه ی طولانی ( از ابتدای تحصیل تا دو ماه قبل ) که در دنبال کردن جدی و کاربردی مباحث فنی داشتم ، زبان جاوا را ( که به جد مفاهیم شی ء گرایی را در حد کمال پیاده سازی نموده ) انتخاب نمایم.
به عنوان منبع آغازین از کتاب «جاوا،جاوا،جاوا» بهره گرفتم و در netbeans 3.6 IDE که j2sdk1.4.2_04 را به همراه خود دارد ، استفاده کردم . حال در پایان مطالعه ی این کتاب(به جز مبحث برنامه نویسی تحت شبکه) و حل تمرینات آن ( و گاه ارایه ی راه حل هایی عمومی تر و فراتر از خواست مسئله جهت ورزیده تر کردن خودم ) ، ار آنجاییکه میل دارم به طور کاملا اصولی و همه جانبه و حرفه ای ، دانشم درباره ی جاوا را _ در قدم اول _ به حدی از کمال برسانم که ایده هایی که در سر دارم را بتوانم عملی کنم ، برای ادامه ی حرکت احتیاج به راهنمایی عزیزان باتجربه دارم.
در این برهه با توجه به مسایلی که در حال حاضر بنده را متوقف کرده ، موارد زیر را به طور دقیق ( و البته با تلاش برای اختصار:خجالت: ) مطرح می کنم :
[/SIZE]
1- در اختیار داشتن به روزترین ابزار :
در حال حاضر _ همانطور که در مقدمه عنوان کردم _ از j2sdk1.4.2_04 (که البته در پوشه ی جاوای نصب شده در program files ویندوز ، پوشه ی J2re 1.4.2_06 استفاده می کنم و خیلی دوست دارم که تفاوتشون رو بدونم و اینکه موقع coding , compile , run در netbeans از کدوم استفاده میشه ؟ ( از j2sdk که حتما استفاده میشه ، چون مسیرش رو که تغییر دادم ، netbeans در شروع اجرا پیغام خطای can't load vm رو میداد ، اما پس اون j2re که در program files هست به چه کار میاد ؟) با توجه به اینکه در مستندات java 2 platform standard edition 1.4.2 - برای رفع نیازمندیهای مسائلی که تا کنون با آنها روبه رو بوده ام - به کلاس ها و متد هایی برخوردم که منسوخ شده و با نمونه های جدیدی جایگزین شده اند ؛ خب به همین ترتیب بعد از این نسخه چند نسخه ی دیگر هم عرضه شد که احتمالا باید امکانات جدید و بیشتری هم ارایه داده باشند ، ولی متاسفانه با تغییر روش نامگذاری نسخ و مخصوصا تنوع نسخه های ارایه شده در صفحه ی رسمی بارگیری منابع جاوا در وبسایت شرکت sun ، بنده حتی با مطالعه ی مقاله ای فارسی که پیوندش را شب گذشته ازطریق یکی از پست های همین تالار بدست آوردم و به طور خلاصه توضیحاتی در خصوص نسخه های مختلف داده ، هنوز احتیاج به راهنمایی دارم :
آیا می توانم همین نسخه ای را که در اختیار دارم ، به روز نمایم ( البته به همراه مستندات و در صورت امکان با کدهای منبع ) و با netbeans 3.6 ( که آنرا به روز هم کرده ام ) همراه کنم ؟ - البته سعی کردم از طریق فایلی که ظاهرا به همین منظور در پوشه ی j2re نصب شده روی ویندوزم قرار دارد - jucheck- استفاده کنم که ظاهرا به خاطر حوزه ی ip ایران ان امکان رو از ماها صلب کردند.
اصولا چه نسخه ای رو _ در میان نسخه های استاندارد _ برای بنده مناسب می دونید و اسم دقیقش _ در میان نسخه های متنوع ارایه شده _ چی هست و چطور می تونم به دست بیارمش ؟

2- اینطور که متوجه شدم ، تسلط بر کلاس های کتابخانه ای جاوا بسیار مهم و راهگشاست ، چرا که خود من در همین زمان اندک از آغاز،برایم بسیار پیش آمده که برای حل مسایل گوناگونی که تا کنون با آنها روبه رو بوده ام (البته مسایل کوچک به عنوان قطعاتی برای نرم افزارهای کامل بعدی) مدتی را - گاه به سرگردانی - در مستندات انگلیسی J2SDK می گذراندم. و البته این را هم می دانم که گنجاندن مشروح حتی نیمی از این کتابخانه هم حجمی به مراتب بیش از حجم کتاب حاضر را می طلبد.
همچنین برخی از دستورات زبان C++‎ که حتی در پیاده سازی کلاس های خود جاوا هم مورد استفاده قرارگرفته و برخی دیگر از ویژگیها چون دستکاری بیتی، در این کتاب حتی معرفی هم نشده اند ، نظیر این دستور که خود بنده نیز چند جا از آن استفاده کرده ام :
result = <expr1> ? <expr2> : expr3
مراد از عنوان نمودن این نمونه ، اینست :
که برای قدم های آتی و تسلط همه جانبه بر زبان جاوا - به ترتیب - چه منابعی را پیشنهاد می فرمایید ؟ مخصوصا اگربه فارسی منابعی موجود بوده که ترجمه ای چون همین منبع«جاوا،جاوا،جاوا» باشد ؟ یا مثلا میل دارم کار کردن با سخت افزار ( برنامه سازی سیستمی مثل درایورها ، سیستم عامل نرم افزارهای embeded و smart card ها و ... که فکر کنم به J2me برمیگرده ، رو فرا گیرم که نمیدانم باید از کجا شروع کنم و مواردی از این دست .

3- و در پایان : در خصوص منبع ، شما عزیزان در انجمن کم پست نزدید و بنده هم مروری سریع روی اونها داشتم ، و دو تا تفکر وجود داره که یکی منابع فارسی رو پیشنهاد می کنه و یکی هم به طور کل منابع فارسی رو نهی میکنه ، اما خود من از کتاب«جاوا،جاوا،جاوا» که یک ترجمه هست از« رالف مورللی » به مترجمی مهندسین «هادی محمدزاده و علی جهانیان» به عنوان کتابی که روی مفاهیم کلیدی و پایه ای طراحی شیء گرا تاکید داره راضی بودم و اگر ترجمه ی خوب وجود داشته باشه خب سرعت یادگیری در مقایسه با استفاده از منابع لاتین ( بسته به میزان توان انگلیسی ) بالاتر میره و در حال حاضر من به کتابی که بیشتر به پیاده سازی و معرفی و تشریح امکانات موجود بپردازه احتیاج دارم تا اینکه از اول بخواد به طور خلاصه شی ء گرایی رو معرفی کنه . مثلا تو همین مدت کوتاه از خود مستندات نسخه ی استاندارد(J2SE) ، خیلی بهره مند شدم ، ولی خب یه جاهایی هم احتیاج به تشریح و تمثیل بود که خب به Java Tutorial رجوع می کردم ( مثل How to use file choosers ) و در مجموع حس می کنم یه روش سلسله مراتبی برای یادگیری باید وجود داشته باشه که مثلا تا فلان قسمت رو روش کاملا تسلط پیدا نکردم بهتره رو قسمت بعدی نرم .
البته تصمیم گرفتم از همون java tutorial شروع کنم که دوس دارم نظرتونو مشخصا در این باره بدونم که آیا راهی ( منابعی) سراغ دارید که سریعتر به مقصد برسونند ؟
[SIZE="2"]
ازتون سپاسگزار میشم قدمهای بعدی رو برام نشون بذین جتی در حد پیوند دادن ، به هر حال شرایط حاضرم رو به تفصیل توصیف کردم ( و البته سرتونو هم درد آوردم :خجالت:)
بیصبرانه منتظرم :بوس:

cups_of_java
شنبه 14 شهریور 1388, 11:15 صبح
لطفن سوالاتتون رو مختصر و مفید مطرح کنید تا مطالعه بحث برای پاسخدهندگان و خوانندگان راحت و ممکن تر باشه.


1- در اختیار داشتن به روزترین ابزار :
در حال حاضر _ همانطور
اصولا چه نسخه ای رو _ در میان نسخه های استاندارد _ برای بنده مناسب می دونید و اسم دقیقش _ در میان نسخه های متنوع ارایه شده _ چی هست و چطور می تونم به دست بیارمش ؟

Java Development Kid یا JDK نرم افزاری هست که شامل کامپایلر و ابزار کمک برنامه نویس جاوا هست که در زمان توسعه و کامپایل بدرد شما می خوره. اما کی برنامه جاوا را اجرا می کنه؟ ماشین مجازی جاوا یا همون محیط اجرایی جاوا (Java Runtime Environment یا همون JRE) بنابراین برای اجرای برنامه جاوا به jre احتیاج هست و برای نوشتن و کامپابل اون jdk نیاز هست. ضمنن وقتی شما JDK نصب می کنی خودش JRE رو هم نصب می کنه.

نسخه کنونی استاندارد جاوا 7 (یا همون 1.7) هستش. اکثرن 6 (1.6)نصب هست رو ماشین هامون. برای برنامه نویس فرقی نمی کنه کدوم باشه. همون ۱.۶ مناسبه. (برای دانلودش تو همین سایت یا گوگل اگه بگردید می تونید لینک های متفرقه رو پیدا کنید)

ضمنن نسخه کنونی Netbeans هم ۶.۵ هست و مال شما قدیمیه.


2- اینطور که متوجه شدم ،... که نمیدانم باید از کجا شروع کنم و مواردی از این دست

3- و در پایان..

.

بهترین منبع برای شما Google هستش. اینقدر منبع و مقاله و ... هست که کارتون راه می افته. کتاب های خارجی هم ebook هاش هست. من کتاب فارسی رو توصیه نمی کنم. در هر زمینه ای کتاب خوب هست. مثلن Java, How to program کتابی هست که به سادگی خیلی از کتابخانه های جاوا رو که پر کاربرد هستند رو آموزش می ده.

jlover
یک شنبه 15 شهریور 1388, 01:04 صبح
ببینید دوست عزیز ، توی پستهای تالار هم خیلی کتابا ، چه فارسی چه انگلیسی معرفی شده و با گوگل کردن هم خب بیشمار منابع به دست میاد ...
مراد از این توضیح مفصل همین بود که شما شرایط بنده رو به درستی درک کنید ، نه اینکه به همون انذازه توضیح بدید ، حتی معرفی پیوند هم باعث خوشحالیم میشه ، چون هیچ ذوست ندارم دستتون رو برای تایپ طولانی خسته کنم ...می خواستم شما با تجربه ها از بین این همه تنوع برای شخصی مثل من چه منبع یا منابعی رو غربال می تونید بکنید ( چرا که این راه رو رفتید) و فقط هم معرفی کنید
مثلا راهنماییتون درباره همین java,how to program رو دنبال می کنم ، بارگیریش می کنم و اگه خوب بود به عنوان منبع بعدی ازش استفاده میکنم و خیلی هم ممنون دارتون هستم.
( چون بدون شک این :

Java Development Kid یا JDK نرم افزاری هست که شامل کامپایلر و ابزار کمک برنامه نویس جاوا هست که در زمان توسعه و کامپایل بدرد شما می خوره. اما کی برنامه جاوا را اجرا می کنه؟ ماشین مجازی جاوا یا همون محیط اجرایی جاوا (Java Runtime Environment یا همون JRE) بنابراین برای اجرای برنامه جاوا به jre احتیاج هست و برای نوشتن و کامپابل اون jdk نیاز هست. ضمنن وقتی شما JDK نصب می کنی خودش JRE رو هم نصب می کنه.
رو می دونستم .


نسخه کنونی استاندارد جاوا 7 (یا همون 1.7) هستش. اکثرن 6 (1.6)نصب هست رو ماشین هامون. برای برنامه نویس فرقی نمی کنه کدوم باشه. همون ۱.۶ مناسبه.

]چطور فرقی نمیکنه وقتی توی هر نسخه کلاسهایی جدید ممکنه بیاد یا کارایی کلاسهای قبلی بهبود پیدا میکنه و ما رو از طراحی کلاسهایی که در خود JDK موجود هست بینیاز میکنه ...
و عرض کردم ، من قبل از زدن این تاپیک ، سری به http://java.sun.com/javase/downloads/index.jsp
زدم و خب نمیدونم(یعنی دقیقا نمیدونم) بین 6 گزینه ی اوی دانیود ، کدوم مناسبترینه که بعد برم بگردم یه جایی واسه گرفتنش پیدا کنم.
jdk 7 رو هم که الان تو sun درباره ش کمی وقت گذاشتم و متوجه شدم که رسما نسخه ای بیرون نداده ( نمیدونم تایید می فرمایید یا نه ؟)
البته از پر گوییم متاسفم که باعث سرآوردن حوصله تون شدم احیانا

بازم ممنونم

cups_of_java
یک شنبه 15 شهریور 1388, 11:00 صبح
سایت JDK 7 اینجا (https://jdk7.dev.java.ne) هستش. که البته فیلتر هم هست برای آدرس های داخل ایران. می تونید از طریق این سایت نسخه کنونی در حال توسعش رو دانلود و استفاده کنید.
از نظر کتابخانه ها و پکیج ها تفاوت های اساسی و خاصی ندارند. در هر نسخه بهبود هایی حاصل می شه اما پکیج ها چندان دست نمی خورند. فقط در انتقال از نسخه ۱.۴ به ۱.۵ بود که پکیچ های زیادی اضافه شدند.
توصیه من اینه که شما در خانه - توسعه و کسب و کارتون از همون نسخه ۶ استفاده کنید.