اینجا تاپیکهای زیادی وجود داره ولی تو هیچ کدوم از اونا در مورد برنامه نویسی با جاوا چیز کلاسیکی که از سطح مقدماتی شروع شده باشه و با همکاری بقیه ادامه پیدا بکنه وجود نداره . اگر بقیه هم کمک کنن می تونیم یه همچین کاری رو اینجا انجام بدیم .
اینجا تاپیکهای زیادی وجود داره ولی تو هیچ کدوم از اونا در مورد برنامه نویسی با جاوا چیز کلاسیکی که از سطح مقدماتی شروع شده باشه و با همکاری بقیه ادامه پیدا بکنه وجود نداره . اگر بقیه هم کمک کنن می تونیم یه همچین کاری رو اینجا انجام بدیم .
سلام
چرا هست از مقدماتی شروع کرده و من هم برای شروع اوایل از اون استفاده کردم. به شکل pdf هم هست. توی قسمت مقالات سایت را از اینجا بخواهید هم هست.
____________________________
همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)
با سلامنوشته شده توسط rezaTavak
دیدمش اتفاقا مطالب خوبی داره .
ولی برای برنامه نویسی فقط خواندن کتاب یا دیدن مثالهای آماده کافی نیست و باید واقعا برنامه نوشت تا یاد بگیریم .
با سلام
برای پله اول یه سوال پیش میاد :
برای برنامه نویسی با جاوا از چه محیطی استفاده می کنید ؟
سلام من اولین پستم رو در این انجمن تجربه می کنم .نوشته شده توسط magina
از محیط Jbuilder X هم برای برنامه نویسی جاوا استفاده می کنم .
در ضمن خوشحال می شم اگه کمکی در این راستا بکنم .
NeatBeans-Eclipse-VimEditor!
____________________________
همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)
با سلام
خوش به حالتون !
من تازه دارم یاد می گیرم با Eclipse کار کنم .
با سلامنوشته شده توسط mahyar_dodo2
پیشنهاد من اینه که با بازخوانی قسمتهای مختلف از آموزش جاوا برای هر قسمت چند تا تمرین پیشنهاد بدیم و با هم انجامشون بدیم .
فقط این که این تمرینا باید تا حدی آسون باشن که تازه کارایی مثل من هم بتونن انجامش بدن .
پیشنهاد می کنم فعلا رفرنس آموزشیمونم همون PDF موجود برای اموزش جاوا باشه.
من قصد یادگیری جاوا رو ندارم ( چون پیش تر ها یادگرفتم ) ولی اگه بخوایید می تونم در مورد این
تمرین ها کمک کنم
با سلامنوشته شده توسط persianshadow
قصد من از ایجاد این تاپیک این بود که اونایی که بلدن کمک کنن تا تازه کارایی مثل من بتونن چیزای بیشتری از جاوا یاد بگیرن .
با سلام
یه سوال :
. Class چیه ؟ (یه تعریف ساده )
لطفا یه پیشنهاد برای ساخت یک کلاس ساده به عنوان اولین تمرین
آخرین ویرایش به وسیله magina : شنبه 06 اسفند 1384 در 17:22 عصر
کلاس یک مدل انتزاعی هست که تنها یک موضوع واقعی و یا یک مسئله رو مدل می کند ولی قابل
اجرا نیست. اشیا از روی کلاس ها ساخته می شوند و قدرت اجرایی دارند.
من پیشنهاد می کنم که : کلاسی طراحی کنید که یک ماشین را مدل کند.
در ضمن به یک نکته هم اشاره کنم نیاز نیست به حزئیات زیاد دقت کنید. اصولا بعضی از روش
های پیاده سازی بسیار دست و پا گیر هستن و فرصت توسعه را کند می کنند . مثلا متدهای
دست یاب و مواردی از این دست.
سلام به دوستان عزیز جاوا کار
اگر میخواهید جاوا یاد بگیرید توصیه میکنم از netBeans استفاده کنید. در نگارش پنج آن امکانات بسیار جالبی وجود دارد و کار کردن با آن بسیار ساده است و شرکت Sun از آن حمایت میکند. در مورد Eclipse باید بگوییم که کار کردن با آن سخت است و قابلیتی بهتر از netBeans ندارد. اگر در مورد Object Oriented مشکل داشتید من در خدمتتان هستم.
آخرین ویرایش به وسیله azizi-ra : یک شنبه 07 اسفند 1384 در 12:06 عصر
دوستان عزیزم من فکر کنم که جاوا نیازی به هیچ گونه محیطی ندارد و می توان تمام کدهای جاوا را دیک notepad و یا در یک فایل TXT نوشت و با داشتن virtual machine آن، آن رو در هر platforme اجرا کرد. سعی کنیم که خودمون کامپلر خودمون باشیم.
محیطی هایی که تاکنون برای java موجود هست به نظر من از لحاظ راحت بودن editor من نظرم با sun java راحتر می شه کارکرد. نسخه جدید اون همکنون بصورت free در سایت آن هست.
با سلامنوشته شده توسط persianshadow
ممنون از تعریفی که ارایه کردید .
کلاس الگویی است که اشیا بر اساس آن ایجاد می شوند . هر کلاس خاوی خصایص مربوط به داده هایی است که شیی را به همراه اعمالی که قادر به انجام آنها است توصیف می کند .
لطفا منظورتان از یک ماشین را روشنتر بیان کنید . ( اتومبیل یا ماشین ابزار ؟ )
با سلامنوشته شده توسط javaphantom
به نظر من :
واقعیتشو بخواهید بیشترین تاثیر یک محیط کار برای جاوا همون راحت بودن اون برای برنامه نویسیه .
به عنوان یک مثال ساده یک کلاس برای نام و نام خانوادگی در یک خانواده :
class familyMember {
String surname = "majidi";
String name;
}
با عرض سلام
منظور دوست عزیزمون از کلاسهای انتزاعی همان abstract class می باشد که بعداً به صورت مفصل درباره آن صحبت خواهد شد.
کلاس برای ایجاد شیئی بکارمی رود. همانطور که استاد بنده فرمودند.
طبق قرارداد نام گذاری در جاوا نام کلاس باید با حروف بزرگ نمایش داده شود.
حرف کلیدی public درپشت کلاس به این معنا هست که هر کاربری می تواند از ان کلاس نمونه تعریف کند و اگر چیزی نیویسد به معنای یک package می باشد که بعدً در مورد آن صحبت خواهیم کرد.
فایلی که در ان کد جاوا می نویسید باید با پسوند java باشد و نام فایل با نام public class شما کاملا یکی باشد. در یک فایل جاوا فقط یک public class می توان تعریف کرد. باقی همه با هیچی یا همان package شناخته می شوند. بجز inner class ها که بعداً در مورد آن صحبت خواهد شد.
برای run کردن برنامه از method مین(main) که همیشه بصورت public static ودرای آرگومان یک آرایه از String[] x می باشد استفاده می شود. دلیل آن بعداً گفته می شود.
از آنجایی که جا یک زبان کاملا object oriented هست method main نیز باید درون یک کلاس نوشته شود مانند C# برخلاف C++.
برای کامپایل کردن FileName.java باید از jdk که virtual machine جاوا هست و تا نسخه 1_5 موجود هست استفاده شود.(به امزمامه ستهای اولیه). با درستور javac FileName.java برنامه کامپایل و بادستور java FileName برنامه اجرا.(در منوی run windows یا در محیط dos ) یادآوری با فرمان cmd در منوی Run وارد محیط dos می شوید.
از آنجایی که java یک زبان مستقل از محیط است می توانید برنامه خود رو در یک notepad یا edit داس بنویسید.
مثال: برنامه ای که در خروچی پیغامه hello world را چاپ کند.
اول در notepad یک فایل به نام MyFirstClass.java درست کرده و چنین بنویسید.
public class MyFirstClass {
public static void main(String[] s) {
System.out.println("hello world");
}
}
می دونم که همه اینجا استاد من هستند ولی من این نمونه را برای کسانی که دوست دارند از نو یاد بگیرند نوشتم
هر گونه سوال دیگری نیز بود خوشحال میشم بتونم کمک کنم و یاد بگیرم از سوالهای درستتون.
با سلامنوشته شده توسط javaphantom
ممنونم که کمک می کنید .
پس نتیجه می گیریم که یک برنامه جاوا مجموعه ای از کلاسهاست و که متد main در آن قرار دارد حتما مشخصه public دارد .
نکته : در هر فایل ایجاد شده برای جاوا فقط یک کلاس با مشخصه public قرار دارد .
آخرین ویرایش به وسیله magina : دوشنبه 08 اسفند 1384 در 22:12 عصر
با سلام
متد main از چند لحاظ با بقیه متد ها فرق دارد :
- تنها یک بار در برنامه ظاهر می شود .
- این متد همواره static است .
- به ندرت مقداری را برمی گرداند و معمولا دارای یک نوع بازگشتی void است .
- لیست پارامترهای ورودی آن همواره یکسان است ( [] String args ).
- معمولا تنها متد برنامه است که یک شیی از روی کلاس خود ایجاد می کند.
Every Java application must contain a main method whose signature looks like this:
public static void main(String[] args)
The method signature for the main method contains three modifiers:
public indicates that the main method can be called by any object. Controlling Access to Members of a Class covers the ins and outs of the access modifiers supported by the Java language.
static indicates that the main method is a class method. Understanding Instance and Class Members talks about class methods and variables.
void indicates that the main method doesn't return any value.
http://java.sun.com/docs/books/tutor...tion/main.html
آخرین ویرایش به وسیله magina : دوشنبه 08 اسفند 1384 در 22:50 عصر
با سلام
به عنوان مثال :
import java.lang.*;
public class sur {
public static void main(String[] args) {
familyMember dad = new familyMember();
dad.name = "Reza ";
System.out.print(dad.name);
System.out.println(dad.surname);
}
}
class familyMember {
String surname = "Mahtabi";
String name;
}
دوستمون magina نتیجه گرفته بودن که در یک برنامه جاوا تنها یک کلاس به صورت public تعریف
می شود و آنهم کلاسی است که شامل متد main هست که این موضوع اشتباهه. ما می تونیم
تویه یک برنامه صدتا کلاس public داشته باشیم.
سلام
در هر فایل جاوا فقط یک فایل Public است اما ایک برنامه می تواند از چند فایل تشکیل شود. کلاس public باید با نام فایل یکی باشد.
____________________________
همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)
فکر کنم منظور دوستمون این بوده که در یک فایل نمیتوان چند کلاس public داشت نه برنامه. شما هم زیاد سخت نگیرید. همه اینجا هستیم تا چیز یاد بگیریمنوشته شده توسط persianshadow
قابل توجه دوستانی که تازه شروع به یاد گیری جاوا کرده اند و در مفاهیم Class و Object مشکل دارند
من سعی کرده ام یک سری متن آموزشی به زبان شیرین فارسی در این مورد تهیه کنم و اگر این کار باعث پیشرفت شما عزیزان بشود که البته جای بسی خوشهالی است برای من
در این مقاله ها که به صورت چند قسمتی تهیه شده سعی کرده ام با زبان ساده مفاهیم Object Oriented را توضیح بدهم . این آموزش در راستای مکالمات دو نفر به نامهای مبتدی و مهندس آماده شده که زیاد خشک و خسته کننده نباشد. البته من این مقاله ها را برای یک نشریه معتبر آموزشی آماده میکنم ولی اگر شما هم دوست داشتید در اختیار شما هم قرار میدهم. این متنها را میتوانید در weblog خودم مشاهده کنید . پیشاپیش از انتقادات سازنده شما تشکر میکنم.
آخرین ویرایش به وسیله azizi-ra : دوشنبه 08 اسفند 1384 در 13:33 عصر
سلام
این متد می تواند در هر کلاسی وجود داشته باشد و برای تست هر کلاس می تواند به کار رود.با سلام
متد main از چند لحاظ با بقیه متد ها فرق دارد :
- تنها یک بار در برنامه ظاهر می شود .
- این متد همواره static است .
- به ندرت مقداری را برمی گرداند و معمولا دارای یک نوع بازگشتی void است .
- لیست پارامترهای ورودی آن همواره یکسان است ( [] String args ).
- معمولا تنها متد برنامه است که یک شیی از روی کلاس خود ایجاد می کند.
می تواند استاتیک نباشد.
می تواند مقدار بر گرداند.
لیست پارامترهای آن یکسان نیست.
شما برای ساخت شی اولین چیزی که هست سازنده کلاس است که با نام کلاس یکی است.
اما این متد به ارث برده از c است. می دانید در سی فقط یک بار تابع تعریف می شود ولی در جاوا چون متدها در کلاس محصور شده اند می تواند هر کلاس یک متد main داشته باشد. همچنین هر کلاس چند متد main می تواند داشته باشد.
اگر یک کلاس ترجمه شده را اجرا کنید به سراغ متد main در کلاس همنام فایل می رود. که چون سیستم عامل معمولا مقدار عددی را به عنوان نتیجه بر میگرداند (errorlevel) این مقدار اصولا عددی است. و چون لیست پارامترها از سیستم عامل معمولا ارسال می شود از اصول سیستم عامل می دانید که هر برنامه می تواند سوئیچ داشته باشد که همین مقدار ارسال شده به تایع main است.
http://java.sun.com/docs/books/tutor...tion/main.html
The main MethodThe first bold line in the following listing begins the definition of the main method./**
* The HelloWorldApp class implements an application that
* simply displays "Hello World!" to the standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the string.How the main Method Gets Invoked}In the Java programming language,
}
every application must contain a main method whose signature looks like this:public static void main(String[] args)You can name the argument whatever you want,
but most programmers choose "args" as shown above.
Also, the modifiers public and static can be written in either
order (public static or static public) but the convention
is to use public static as shown above.
The method signature for the main method contains three modifiers:
- public indicates that the main method can be invoked by any object. Controlling Access to Members of a Class covers the ins and outs of the access modifiers supported by the Java programming language.
- static indicates that the main method is a class method (as opposed to an instance method). Understanding Instance and Class Members talks about class methods and variables.
- void indicates that the main method doesn't return any value.
The main method is similar to the main function in C and C++.Arguments to the main Method
When the interpreter executes an application,
it starts by calling the class's main method.
The main method then calls all the other methods required to run your application.
If you try to invoke the interpreter on a class that does not have a main method,
the interpreter refuses to run your program and displays an error message similar to this:In class NoMain: void main(String argv[]) is not defined
As you can see from the following code snippet, the main method accepts a single argument: an array of elements of type String.public static void main(String[] args)This array is the mechanism through which the runtime system passes information to your application.
Each String in the array is called a command-line argument.
Command-line arguments let users affect the operation of the application without recompiling it.
For example, a sorting program might allow the user to specify
that the data be sorted in descending order with this command-line argument:-descendingThe "Hello World" application ignores its command-line arguments, so there isn't much more to discuss here. However, you can get more information about command-line arguments, including the framework for a command-line parser that you can modify for your specific needs, in the Setting Program Attributes lesson.
Note to C and C++ Programmers: The number and type of arguments passed to the main method in the runtime environment differ from the number and type of arguments passed to C and C++'s main function. For further information refer to Command-Line Arguments in the Setting Program Attributes lesson.
____________________________
همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)
سلام
نه حتما دلیل نداره که اگر ما یک public class داشته باشیم حتما در آن method main نیز وجود داشته باشد. مهم اینکه که اگر یک public class در یک فایل جاوا داشته باشیم دیگر نمی توان public class دیگری تعریف کرد د هما فایل. مگر بخواهیم inner class داشته باشیم. ما می توانیم چند فایل جاوا داشته باشیم که در هر کدام از آنها یک public class تعریف شده باشد و د هیچ کدامشون method main وجود نداشته باشه و حتا می تونه داشته باشه .
در مبحث package , interface , inheritance, innerclass در باره معمار کار بیشتر صحبت می کنیم.
از ساده شروع می کنیم کم کم سخت می کنیم . ممکنه خیلی از دوستان تا بحال با object oriented خوب آشنا نشده باشند.
فعلا این فرق رو در جاوا بر خلاف ++C مشاهده کردیم(مبتدیان گوش کنند و حفظ کنند فعلا) که method main
1.حتما باید داخل یک کلاس باشد.
2.حتما public باشد
3.حتما static باشد. در مود static method ها باید بطور کامل بعدا صحبت بشه.
4.آرگومان ورودی از نوع آرایه String باشند.
5.مقدار بازگشتی آن حتماٌ باید void (باطل) باشد به زبان ساده تر هیج مقدار بازگشتی ندارد بر خلاف ++C
از استاد عزیزم آقای tavak بسیار تشکر می کنم که متن کاملی رو برای ما گذاشته .
من فقط می خواهم تا می تونم ساده بگم تا طرفتار جمع بشه همین.
بازم اگر جایی در نوشته های من اشکال مشاهده شد از دوستان خواهش می کنم حتما تصیح کنند.
آخرین ویرایش به وسیله javaphantom : دوشنبه 08 اسفند 1384 در 11:56 صبح
نوشته شده توسط persianshadowبا سلامنوشته شده توسط rezaTavak
با تشکر از توجه و تذکر به جای دوستان
پست مورد نظر اصلاح شد .
یک توضیح هم دارم :
در واقع با توجه به این که هر برنامه ایجاد شده در جاوا خودش هم یک کلاس است و در هر برنامه دیگری هم می توانیم از آن استفاده بکنیم ؛ با استفاده از کلاسهای قبلی ما داریم از شیی ایجاد شده از آنها استفاده می کنیم و نه از کلاس اصلی . بنابراین می تونیم نتیجه بگیریم که توی یک برنامه فقط یک کلاس Public داریم ولی می تونیم از تعداد زیادی شیی استفاده بکنیم که کلاس انها قبلا به صورت برنامه های مجزا که خودشان هم دارای کلاس Public بوده اند تهیه شده است.
با سلام
تا من بجنبم و پست قبلی رو بنویسم این دو تا پست جدید هم اومدن
فکر می کنم بهتر است یک نکته توضیح داده بشه اونم اینه که زبان جاوا یک زبان شیی گرای کامل است . هر برنامه هم بعد از ایجاد ، تبدیل به یک کلاس می شود و می توان از آن در هر برنامه دیگری استفاده کرد . بنابراین وقتی از یک برنامه حرف می زنیم داریم از یک کلاس در حال ایجاد حرف می زنیم که کی تواند از کلاسهای بالاتر از خودش ارث ببرد و از اشیای خیلی زیاد دیگری هم که از روی کلاسهای ایجاد شده قبلی ساخته شده اند استفاده بکند .
با سلامنوشته شده توسط javaphantom
از توضیحی که دادید ممنونم
با سلام
در ابتدای برنامه های جاوا معمولا از واژه کلیدی import استفاده می کنیم. این مکانیسم امکان دستیابی به کلاسهای موجود در کتابخانه های کلاسهای جاوا را به برنامه می دهد . بر خلاف تصور بعضی این برنامه پکیجهای مورد نظر را به برنامه ادغام نمی کند بلکه صرفا توجه کامپایلر جاوا را به مکان دیگری که باید برای یافتن کلاسها و متدهای مورد استفاده در برنامه جستجو کند ، جلب می کند.
معمولا هنگام استفاده بهتر است همه کلاسهای مورد استفاده در پکیج را با استفاده از * وارد کنیم :
import java.lang.*
با توجه به اینکه این کار در واقع چیزی را در برنامه ادغام نمی کند ، این کار نه زمان ترجمه و نه اندازه کلاس ایجاد شده را افزایش نخواهد داد.
سلام
اما زمان ترجمه را زیاد خواهد کرد.
____________________________
همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)
یه نکته جالب دیگه هم راجع به پکیج ها اینه که تنها در جاوا پکیج های بصورت فیزیکی و در اصل
بر اساس پوشه ها وجود دارند. به عنوان مثال در دات نت مفهوم Namespace وجود داره که همون
پکیج ها هست ولی پوشه ای در کار نیست.
با سلامنوشته شده توسط persianshadow
احتمالا دلیلش اینه که چون جاوا یک شیی گرای کامل است از کلاسهای مستقل ایجاد شده قبلی ( که باید به صورت فیزیکی وجود داشته باشند) به عنوان کتابخانه استفاده می کند .
با سلام به اساتیت محترم
من احساس می کنم که خیلی داریم تند حرکت می کنیم. من که امروز می گم دارم جاوا می خونم اگر کسی از من بپرسه چرا جاوا خوب برو بیسیک بخون اصلا الان #C مد شده و خیلی هم قوی هست چرا نمی ری اون کار کنی اصلا ژ++C که دیگه اخرشه با هاش سیستم عامل می نویسن اصلا همین جاوا رو می گن با C++ نوشتن خوب برو اونو کار کن، من چی بگم؟ چه جوری از هدفم دفاع کنم؟ بگم جاوا چیه؟ یک جایی در اندونزی؟!
از دوستان خواهش دارم که در باره فهرست زیر به سادگی و اختصار و اون چیزی که خودشون فهمیدن به منهم یاد بدن. واقعا دعاتون می کنم اگر به من بگین مفاهیم زیر در جاوا که میگن یعنی چه؟
1:Simplicity سادگی
2.Object Oriented شیئی گرایی
3.Distributed توزیع پذیری
4.Robust پرقدرت
5.Secure امنیت
6.Portable قابل جابجایی
7.Flexible انعطاف پذیری
9.Interpreted تفسیر کنندگی
10.Multithreaded موازی عمل
11.Dynamic پویا بودن
12.Applet برنامک
13.Servlet
14.Beans
java script همون جاوای خودمونه یا از خانواده جاواست
16. JDK, JRE
اینجوری تازه می تونم بفهم که اصلا جاوا بدرد کار من میخوره یا نه یا برم یک چیزه دیگه یاد بگیرم مثلا C# که الان بد روی بورس. البته لازم به ذکر که C omega هم اومده برای ویندوز 64 بیتی.
امان از این MicroSoft :D
آخرین ویرایش به وسیله javaphantom : سه شنبه 09 اسفند 1384 در 01:27 صبح
مطلب خوبی را عنوان کردید. به نظر من ما نباید روی تکنولوژیهای کامپیوتری تعصب داشته باشیم این تکنولوژیها ایجاد شده اند تا ما با خیال راحت بدون درگیر شدن با موضوعات سیستمی روئ حل مشکل اصلی کار کنیم. البته بعضی از این تکنولوژیها در یک کلاس هستند و بسیار شبیه هم عمل میکنند مانند سی شارپ و جاوا که البته تفاوتهای هم دارند. یاد گرفتن هر دو هم اگر چه خوب است ولی کاری است بسیار سخت. در اینجا منظورم یاد گرفتم قواعد کد نویسی نیست بلکه تجربه طراحی نرم افزارهای پیچیده است.نوشته شده توسط javaphantom
حالا دو مسیر برای حرکت داریم (به نظر من)
یک - راه مایکروسافت که راه خوبی است ولی در این مسیر شما خود را منحصر به یک سیستم میکنید چون اساس کار مایکروسافت انحصار است.
دو - راه کد باز یا Open source که جاوا در این مسیر قدم بر میدارد. در این مسیر طراحان نرم افزار با استفاده از تجربیات هم به جلو میروند و خود این تجربیات را بدون هیچ چشمداشتی در اخیار دیگران قرار میدهند . البته این مسیر برای ما ایرانیان یک کمی سخت است چون ما از لحاظ ژنتیکی روی مسایل شراکت و کار گروهی مشکل داریم دور از جون شما البته
در مورد مطالبی که در باره آنها توضیح خواسته بودید باید بگویم که هر کدام از این کلمات برای خودشان چندین صفحه توضیح دارند که پیشنهاد میکنم هر نفر راجب یک مورد توضیح کامل بدهد. در باره Object Oriented اگر دوست داشتید به weblog من رجوع کنید.
راستی ، javascript هم هیچ ربطی به جاوا ندارد ، در هیچ ضمینه ای بجز اسم
موفق باشید
آخرین ویرایش به وسیله azizi-ra : سه شنبه 09 اسفند 1384 در 10:51 صبح
سلام
هدف => زبان برنامه نویسی
____________________________
همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)
سلام دوباره
علت بیان مطالب بالا براین پایه استوار بود که شعار یا تیتر این تالار اینکه بیایم جاوا رو از پایه شروع کنیم پس هر کس که وارد این بخش می شه در قدم اول باید با داستان این برنامه آشنا باشه.
اما ایجاد این سئوالات به این معنا نیست که من به جواب آنها اشراف ندارم بلکه فقط ایجاد یک جرقه برای مرور بعضی مطالب برای دوستان با تجربه و نقطه شروعی برای دوستان مبتدی که اهل مطالعه نیستند یا وقت کافی برای مطالعه ندارند و نیاز به یک سری مطالب ساده وصریح دارند.
امروزه بحث بر سر انیکه C# یک زبان برنامه نویسی Flexible هست و من با تجربه ای که در زبان برنامه نویسی C# دارم با یک مثال نقض مسئله رو براتون روشن می کنم و ثابت می کنم که جاوا یک زبان برنامه نویسی flexible یا انعطاف پذیره نه C و خانواده آن.
شما در C و خانواده اون وقتی یک متغییر از نوع int تعریف می کنید چند بایت حافظه اشغال می شود؟
2 بایت 4 بایت 8 بایت؟ در جاوا چطور؟
چواب : بستگی به نوع CPU شما دارد اگر شما از ریزپردازنده 32 بیتی استفاده می کنید 4 بایت اگر از 16 بیتی استفاده می کنید 2 بایت و اگر از 64 بیتی استفاده می کنید 8 بایت C و خانواده اون برای شما اندازه حافظه در نظر گرفته می شود. نمونه تمام نسخه های برنامه های نوشته شده برای 32 بیت یا 64 بیت که در بازار امروزه موجوده. پس می بینیم که C# با اون همه سر و صدا یک برنامه flexible یا انعطاف پذیر نیست .
اما در جاوا داستان کاملا متفاوت است و در حاوا همیشه مقدار 4 بایت به حافظه تخصیص می دهد و با عوض شدن نوع ریزپردازنده virtual machine جاوا بصورت خودکار اندازه حافظه رو تغییر می دهد.
پس جاوا یک زبان برنامه نویسی کاملا flexible یا انعطاف پذیره
آخرین ویرایش به وسیله javaphantom : سه شنبه 09 اسفند 1384 در 11:17 صبح
من هم با نظر شما موافقم.