PDA

View Full Version : جاوا، تعریف از خود یا واقعیت.



pershianix
سه شنبه 17 دی 1387, 21:18 عصر
توی آموزش آنلاین سایت جاوا نوشته:


Write less code: Comparisons of program metrics (class counts, method counts, and so on) suggest that a program written in the Java programming language can be four times smaller than the same program written in C++!!!!!!!!

Develop programs more quickly: The Java programming language is simpler than C++, and as such, your development time could be up to twice as fast when writing in it. Your programs will also require fewer lines of code!!!!!!!!!!!!!!!!!
اینا که نوشته که کاملا خلاف بحث هاییه که توی این انجمن شده. مثلا نوشته کدهای یه برنامه با جاوا 4 برابر کمتر از کدهای همون برنامه با زبان C++ هه.
کسی نظری نداره؟
یه سوالم دارم. توی سایت سان، نوشته شده که netbeans روی JVM اجرا میشه و این یعنی اینکه با جاوا نوشته شده. پس واسه همینه که یکم کنده. نظر شما چیه؟

The NetBeans IDE runs on the Java platform

manvaputra
چهارشنبه 18 دی 1387, 03:53 صبح
جاوا، تعریف از خود یا واقعیت.

خوب به هر حال هر شرکتی از خودش تعریف می کنه ، اصلا تبلیغات یعنی بزرگ نمایی ولی خوب کاری که سان می کنه اصلا در برابر سرو صداهایی که این مایکروسافت و هواداراش راه می ندازن به چشم نمیاد!


اینا که نوشته که کاملا خلاف بحث هاییه که توی این انجمن شده. مثلا نوشته کدهای یه برنامه با جاوا 4 برابر کمتر از کدهای همون برنامه با زبان C++ هه.

خوب این بستگی به نوع برنامه و کلی پارامتر داره.


ه سوالم دارم. توی سایت سان، نوشته شده که netbeans روی JVM اجرا میشه و این یعنی اینکه با جاوا نوشته شده. پس واسه همینه که یکم کنده. نظر شما چیه؟

خوب حتما می خواین نتیجه بگیرید برنامه های جاوا کند هستند!!!!!!

mazdadoost
چهارشنبه 18 دی 1387, 08:48 صبح
توی آموزش آنلاین سایت جاوا نوشته:


Write less code: Comparisons of program metrics (class counts, method counts, and so on) suggest that a program written in the Java programming language can be four times smaller than the same program written in C++!!!!!!!!

Develop programs more quickly: The Java programming language is simpler than C++, and as such, your development time could be up to twice as fast when writing in it. Your programs will also require fewer lines of code!!!!!!!!!!!!!!!!!
اینا که نوشته که کاملا خلاف بحث هاییه که توی این انجمن شده. مثلا نوشته کدهای یه برنامه با جاوا 4 برابر کمتر از کدهای همون برنامه با زبان C++ هه.
کسی نظری نداره؟
یه سوالم دارم. توی سایت سان، نوشته شده که netbeans روی JVM اجرا میشه و این یعنی اینکه با جاوا نوشته شده. پس واسه همینه که یکم کنده. نظر شما چیه؟

The NetBeans IDE runs on the Java platform
دوست عزیز :
قبل از هر چیز لطفا لینک مطلب آموزش آنلاین سایت آموزش جاوا رو بذارید تا کامل مطالعش کنم.بعد لینک تاپیک هایی رو که فرمودین : اینا که نوشته که کاملا خلاف بحث هاییه که توی این انجمن شده. رو بذارید تا اون ها رو هم مطالعه کنم . تا بتونم جواب درستی بهتون بگم.
با تشکر.

pershianix
چهارشنبه 18 دی 1387, 17:20 عصر
خوب به هر حال هر شرکتی از خودش تعریف می کنه ، اصلا تبلیغات یعنی بزرگ نمایی ولی خوب کاری که سان می کنه اصلا در برابر سرو صداهایی که این مایکروسافت و هواداراش راه می ندازن به چشم نمیاد!



خوب این بستگی به نوع برنامه و کلی پارامتر داره.



خوب حتما می خواین نتیجه بگیرید برنامه های جاوا کند هستند!!!!!!

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

pershianix
چهارشنبه 18 دی 1387, 17:21 عصر
دوست عزیز :
قبل از هر چیز لطفا لینک مطلب آموزش آنلاین سایت آموزش جاوا رو بذارید تا کامل مطالعش کنم.بعد لینک تاپیک هایی رو که فرمودین : اینا که نوشته که کاملا خلاف بحث هاییه که توی این انجمن شده. رو بذارید تا اون ها رو هم مطالعه کنم . تا بتونم جواب درستی بهتون بگم.
با تشکر.

اینم لینک:
http://java.sun.com/docs/books/tutorial/getStarted/intro/changemylife.html
تاپیکها هم که پره. فقط یه سرچ ساده میخواد

manvaputra
چهارشنبه 18 دی 1387, 18:29 عصر
البته توی سایت سان ننوشته که به نوع برنامه و اینجور چیزا داره.دوست عزیز اگه جملات رو دقیق بخونی، متوجه این نکته میشی که سان دقیقا به این نکته اشاره کرده. وقتی میگه می تونه چهار برابر کمتر باشه خوب یه معنیشم اینه که نمی تونه، و این فکر می کنم از لحاظ ادبی یعنی اینکه بستگی داره! بر فرض اینکه جناب سان هم به این نکته اشاره نکرده باشن کاملا واضه و مبرهن است که تعداد خطوط برنامه به خیلی چیزا بستگی داره یکیش تخصص برنامه نویسه ، و یا نوع برنامه ، مثلا اگه توی یک تکنیک جاوا برتری داره به بقیه زبانها و طبعا با تعداد کد کمتری اون متد رو پیاده سازی می کنه دلیل نمیشه توی همه زمینه ها این برتری رو داشته باشه و این از دید من برای اکثر زبانها صدق می کنه.

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

We can't promise you fame, fortune, or even a job if you learn the Java programming language.در انتها با امید به اینکه بیش از حد گیر نداده باشم میشه بفرمایید به چه دلیل در روند محدودیت برای ایرانیان از طرف سان در اون شعاری که صادر فرمودید! بازنده نهایی جاواست!!!!!!

mazdadoost
چهارشنبه 18 دی 1387, 21:22 عصر
دوست عزیز :
نکته اصلی در متن اینه:
We believe that Java technology will help you do the following
به فناوریو کمک دقت کنید.
چند نکته :
1-سان به تکنولوژی جاوا اشاره میکنه و نه زبان جاوا:اشاره به کم شدن کد هاتون رویه پلت فرم (های) جاوا داره ند کمتر شدن کد ها!(که به شکل ضمنی میشه کم شدن کد ها رو هم برداشت کرد!) با یاد گیری زبان جاوا (به عنوان زبان اولی که میتونید از تکنولوژی جاوا استفاده کنید!) شما میتونید با استفاده از فناوری هایه سان برایه جاوا استفاده کنید
2-سان ازعان داره جاوا زبان شی گرایی کامله با این وجود دوره آموزشش کوتاهتر از c و cpp هست. که هست .
هر چند انعطاف پذیریه اونها رو از نظر من نداره (و اصولا قرار نیست که داشته باشه چرا 1-فلسفه جاوا سادگیه .انعطاف پذیری بیشتر یعنی پیچیدگی بیشتر.2-پیچیدگی بیشتر رو برنامه نویس ها یی در اختیار دارند که بخوان الگوریتمها -ساختار هایه داده -عملیات I/O -کدینگ و دکدینگ-پردازش تصاویر - پیاده سازی پرتکل هایه اینترنتی وووو رو خودشون از صفر پیاده سازی کنند .یک برنامه نویس فناوری جاوا میتونه از تمام اینها از طریق API دسترسی داشته باشه.مثلا وکت هایه اینترنتی باز کنه ووو همه اینها از قبل در جاوا هست و این یعنی... )
3-برنامه نویس جاوا کد کمتری مینویسه چرا -1- عمده کاری که برنامهنویس جاوا انجام میده استفاده از API هست!پس لازم نیست برایه کار با مثلا رشته ها -ورودی و خروجی وووو خودش کد بنویسه کافیه با API به هدفش برسه! 2-کدی اینچنین که صرفا بیان منطق کاری برنامست برایه خوندن هم آسونتر میشه و اینیعنی کد ما اگه در دسترس شخص دیگری هم قرار بگیره راحتتر میتونه توسعش بده!(یکی از دلایل موفقیت جاوا در اپنسورس!).
4-Distribute software more easily:که مطلب بسیار مفصلیه.(اگر که به توصیه آخر این پست توجه کنبد خوشحال میشم براتون بگم).
5-برنامه هایه جاوا تا حد زیادی مستقل از پلت فرم هستند و این یعنی این که وقتی شما برنامه ای رو برایه جاوا مینویسید دیگه لازمنیست برایه همه پلت فرم ها دوباره بنویسید (شاید بگید با C و CPP هم میشه مستقل از پلات فرم بود:یک بار مینویسیم و کامپایل میکنیمو n بار برایه هر پلت فرمی لینک میکنیم اما شما فقط در حد استانداردهایه محدود کتاب خانههایه استاندارد ANCI و STL میتونید رویه انتقال کد هاتون استفاده کنید!اگر در کد هاتون در ویندوز از مثلا GDI استفاده کنید UI برنامتون در Unix-Linux وووو باید دوباره باز باید کد هاتون رو بازنویسی کنید.QT ؟بله!ولی QT روشما نمینویسیدو البته حتما از Swing سخت تر و مفصل تره!).این یعنی کد کمتر!
6-درباره مسئله سرعت : این مطلب هم واقعا مفصله. فقط نظرتون رو به این نکته جلب میکنم که در جاوا شما با فناوری هایی مثل JIT-مدیریت حافظه خود کار و موازی و چند هسته ای و پردازش چند هسته ای به علاوه پردازش موازی با نوشتن کمترین میزان کد و کمترین باگ مواجهید!این یه قطره از دریاست.



همه اینه رو نگفتم که از JAVA طرفداری کردم.فقط سعی کردم تا حدی مطلب سانروروشن کنم. یه سوال و یه توصیه دارم .
سوال چقدر با جاوا آشنایی دارید؟
چند تا برنامه با C یا CPP نوشتید ؟یا دات نت یا هر زبانی ؟ چقدر در عمل با سرعت -کارایی -مقیاس پذیری برنامه هاتون از هر شکلی در گیر شدین ؟
توصیم اینه که هر کمی (کمی بیشتر با جاوا کار کنید) تا بتونید خودتون با نقاط ظعف و قوتش در عمل آشنابشید . و به نظرمن این بهترین راهه.البته این ها به شکل توصیه با توجه با سوالتون و اینکه نظر خواستید عرض کردم و لا نه بنده با شما آشنایی دارم وه شما با بنده!

موفق و سربلند باشید.

pershianix
چهارشنبه 18 دی 1387, 21:33 عصر
Manvaputra ی عزیز
1: توی متن این نوشته دقیقا ذکر شده که یک برنامه ی مشخص، (چون اسمی نبرده و به طور کل اعلام کرده ما فرض میکنیم که اون برنامه یه لیبله که حاوی یه متنه) با جاوا کمتر کد میبره تا با C++. و خوب معلومه که این غیر ممکنه. نمیدونم شاید نخواسته کامل بست بده و بگه که در شرایطی هم این امر صادق نیست. به هر حال خیلی دقیق گفته که کد یه برنامه ی مشخص توی جاوا کمتره. و صد البته اینی که شما بهش اشاره کردید در مورد تعداد خطوط یه برنامه و عوامل مربوطه کاملا درست و صحیحه اما به نظر من سان باید اینو صریحا اعلام میکرد که این گفته ی سان به این چیزا هم بستگی داره. به هر حال به نظر من بیان خلاصه و کلی به این شکل یه نوع تبلیغه.
2: من سان رو به چیزی متهم نکردم. من جمله ای نوشتم که احتیاج به تعمق داشت. همین.
3: در مورد امضامم که خیلی معلومه چرا! یه قصه ی همیشگی در رابطه با شرکتهای تجاری. برای شروع از ضعیفها سواستفاده میشه و هنگام به قدرت رسیدن این قشر نادیده گرفته میشه. مثلا شما فایرفاکسو ببین. بیشترین دانلود آسیایی فایرفاکس مربوط به ایران میشد و اون مربوط به الانیه که فایرفاکس باید کاربر جذب کنه. حالا به نظر شما وقتی این مرورگر به هدفش که همانا برتری در رقابت بین غولهای مرورگر هست برسه بازهم دست ایرانیهارو اینقدر باز خواهد گذاشت؟
بازنده ی نهایی جاواست چون سیاست اشتباهی اتخاذ کرده. کسی در دنیای وب پیروزه که حامی بیشتر و کاربر بیشتری داشته باشه. حتی به اندازه ی یک کاربر بیشتر!
در نهایت من خیلی خیلی تعجب میکنم که چرا جامعه ی ایران نسبت به این اقدام چندساله ی سان این قدر بی تفاوته و هیچ اقدامی انجام نداده. شما دلیلشو میدونی؟

pershianix
چهارشنبه 18 دی 1387, 21:57 عصر
دوست عزیز :
نکته اصلی در متن اینه:
We believe that Java technology will help you do the following
به فناوریو کمک دقت کنید.
چند نکته :
1-سان به تکنولوژی جاوا اشاره میکنه و نه زبان جاوا:اشاره به کم شدن کد هاتون رویه پلت فرم (های) جاوا داره ند کمتر شدن کد ها!(که به شکل ضمنی میشه کم شدن کد ها رو هم برداشت کرد!) با یاد گیری زبان جاوا (به عنوان زبان اولی که میتونید از تکنولوژی جاوا استفاده کنید!) شما میتونید با استفاده از فناوری هایه سان برایه جاوا استفاده کنید
2-سان ازعان داره جاوا زبان شی گرایی کامله با این وجود دوره آموزشش کوتاهتر از c و cpp هست. که هست .
هر چند انعطاف پذیریه اونها رو از نظر من نداره (و اصولا قرار نیست که داشته باشه چرا 1-فلسفه جاوا سادگیه .انعطاف پذیری بیشتر یعنی پیچیدگی بیشتر.2-پیچیدگی بیشتر رو برنامه نویس ها یی در اختیار دارند که بخوان الگوریتمها -ساختار هایه داده -عملیات I/O -کدینگ و دکدینگ-پردازش تصاویر - پیاده سازی پرتکل هایه اینترنتی وووو رو خودشون از صفر پیاده سازی کنند .یک برنامه نویس فناوری جاوا میتونه از تمام اینها از طریق API دسترسی داشته باشه.مثلا وکت هایه اینترنتی باز کنه ووو همه اینها از قبل در جاوا هست و این یعنی... )
3-برنامه نویس جاوا کد کمتری مینویسه چرا -1- عمده کاری که برنامهنویس جاوا انجام میده استفاده از API هست!پس لازم نیست برایه کار با مثلا رشته ها -ورودی و خروجی وووو خودش کد بنویسه کافیه با API به هدفش برسه! 2-کدی اینچنین که صرفا بیان منطق کاری برنامست برایه خوندن هم آسونتر میشه و اینیعنی کد ما اگه در دسترس شخص دیگری هم قرار بگیره راحتتر میتونه توسعش بده!(یکی از دلایل موفقیت جاوا در اپنسورس!).
4-Distribute software more easily:که مطلب بسیار مفصلیه.(اگر که به توصیه آخر این پست توجه کنبد خوشحال میشم براتون بگم).
5-برنامه هایه جاوا تا حد زیادی مستقل از پلت فرم هستند و این یعنی این که وقتی شما برنامه ای رو برایه جاوا مینویسید دیگه لازمنیست برایه همه پلت فرم ها دوباره بنویسید (شاید بگید با C و CPP هم میشه مستقل از پلات فرم بود:یک بار مینویسیم و کامپایل میکنیمو n بار برایه هر پلت فرمی لینک میکنیم اما شما فقط در حد استانداردهایه محدود کتاب خانههایه استاندارد ANCI و STL میتونید رویه انتقال کد هاتون استفاده کنید!اگر در کد هاتون در ویندوز از مثلا GDI استفاده کنید UI برنامتون در Unix-Linux وووو باید دوباره باز باید کد هاتون رو بازنویسی کنید.QT ؟بله!ولی QT روشما نمینویسیدو البته حتما از Swing سخت تر و مفصل تره!).این یعنی کد کمتر!
6-درباره مسئله سرعت : این مطلب هم واقعا مفصله. فقط نظرتون رو به این نکته جلب میکنم که در جاوا شما با فناوری هایی مثل JIT-مدیریت حافظه خود کار و موازی و چند هسته ای و پردازش چند هسته ای به علاوه پردازش موازی با نوشتن کمترین میزان کد و کمترین باگ مواجهید!این یه قطره از دریاست.



همه اینه رو نگفتم که از JAVA طرفداری کردم.فقط سعی کردم تا حدی مطلب سانروروشن کنم. یه سوال و یه توصیه دارم .
سوال چقدر با جاوا آشنایی دارید؟
چند تا برنامه با C یا CPP نوشتید ؟یا دات نت یا هر زبانی ؟ چقدر در عمل با سرعت -کارایی -مقیاس پذیری برنامه هاتون از هر شکلی در گیر شدین ؟
توصیم اینه که هر کمی (کمی بیشتر با جاوا کار کنید) تا بتونید خودتون با نقاط ظعف و قوتش در عمل آشنابشید . و به نظرمن این بهترین راهه.البته این ها به شکل توصیه با توجه با سوالتون و اینکه نظر خواستید عرض کردم و لا نه بنده با شما آشنایی دارم وه شما با بنده!

موفق و سربلند باشید.
خوب دقت کنید:
a program written in the Java programming language can be four times smaller than the same program written in C++
خیلی واضحه که! کاملا نوشته: زبان برنامه نویسی جاوا و نه پلتفرم جاوا.
در مورد توضیحات باقیتون هم کاملا موافقم و از قبل اینا کاملا برام واضح بوده. من جاوا را از جنبه هایی قدرتمندترین زبان برنامه نویسی میدونم اما باید بپذیریم که بعضی محدودیتها رو هم داره. مثلا همین اجرا شدنش روی پلتفرم جاوا یعنی کاهش سرعت. خیلی ساده به قضیه نگاه میکنیم. اگه حتی این پلتفرم جاوا هیچ کاری انجام نمیداد و فقط کد کامپایل شده اونم به زبان ماشین رو میگرفت و بعد این کد رو میداد به سخت افزار، خوب همین یعنی کاهش سرعت. به هر حال توی تحویل کد به سخت افزار یه مرحله ی اضافی وجود میداشتو حتی اگه توی این مرحله کاری انجام نمیش.
در مورد کراس پلتفرم هم که من نه موافقم نه مخالف. یه چیزی بین این دو. به هر حال برای اجرای برنامه های جاوا باید پلتفرم جاوا روی سیستم مقصد نصب باشه. من به شخصه بین این کار و کامپایل کد برنامه برای هر پلتفرم فرق چندانی نمیبینم. البته در سطح نرم افزارهای رومیزی وگرنه در سطح کاربرد تحت وب که قضیه کاملا فرق میکنه. واسه همینم تا حالا هرچی با خودم کلنجار رفتم و جاوا را با هر زبانی مقایسه کردم زبانی بهتر و قدرتمندتر از جاوا ندیدم. (در جمع بندی همه ی توانمندیهاش روی هم.)
اما دو سه نکته در مورد جاوا و جاوا کارهای ایرانی هست. یک بازار کار جاوا که البته داره بهتر میشه و دو از همه مهمتر تحریم غیر منطقی ایران توسط سان. شما در حالی که راحت میتونین از تکنولوژیهای مایکروسافت استفاده کنید و مدرک بگیرید و کار کنید یا با دهها زبان دیگه چه تحت وب و چه رومیزی بدون کوچکترین مشکلی کار کنین اما با جاوا مشکلات فراوانی خواهید داشت. یه نمونه ی خیلی پیش پا افتاده مربوط میشه به وقتی که سان کیت توسعه ی خودشو بروز میکنه. ببینید فقط واسه دانلود یه کیت ساده چقدر باید پست بنویسیم. چقدر باید گوگل کنیم و مسائلی از این دست. من خودم الان دنبال آخرین آپدیت آموزش آنلاین جاوا واسه برادرم میگردم که واسش دانلود کنم. اما تا حالا به نتیجه ای نرسیدم.
شاید بگید که این چند خط آخر چه ربطی به جاوا داشت. اما من میگم خیلی ربط داره. واسه یه برنامه نویس همه چی باید مهم باشه. اونم مسئله ی به این مهمی یعنی تحریم. جدا چرا جامعه ی برنامه نویس جاوا در ایران هیچ اقدامی در این مورد انجام نمیده؟
کلام آخر: واسه این که به جاواکارهای عزیز برنخوره و سوتفاهمی نشه من خودم عاشق جاوا هستم. اما چه کنم که وقتی یاد تحریم میفتم واقعا یه حال دیگه میشم.

manvaputra
پنج شنبه 19 دی 1387, 05:31 صبح
در نهایت من خیلی خیلی تعجب میکنم که چرا جامعه ی ایران نسبت به این اقدام چندساله ی سان این قدر بی تفاوته و هیچ اقدامی انجام نداده. شما دلیلشو میدونی؟

آخه چه اقدامی! یکی دو تا که نیستن ما از طرف شرکت هایی مثل سیسکو، مایکروسافت و اوراکل هم تحریم هستیم.

pershianix
پنج شنبه 19 دی 1387, 07:00 صبح
آخه چه اقدامی! یکی دو تا که نیستن ما از طرف شرکت هایی مثل سیسکو، مایکروسافت و اوراکل هم تحریم هستیم.
حداقل اقدامات ممکنه. هر چی که از دستمون بر بیاد. مثلا شما در روز چندتا پست توی اینترنت میزنی؟ فرض کنیم ده تا. اگه فقط یکی از پستاتو در روز اختصاص بدی به نوشتن یه اعتراض در صفحه ی امور کاربران سان، و این کارو تبلیغ کنی توی همه ی انجمن ها تا همه ی کاربران ایرانی هم این کارو بکنن خیلی راحت و بدون کوچکترین فشاری، روزانه یک دهم پستهای کاربران ایرانی اختصاص پیدا میکنه به اعتراض علیه سیاستهای سان. این به نظر شما فرقی نمیاره؟