PDA

View Full Version : ::بررسی زبانهای برنامه نویسی در لیناکس::



khafanovich
شنبه 06 فروردین 1384, 19:43 عصر
با عرض سلام و خسته نباشید خدمت همه دستان
من میخوام یک زبان همه فن حریف رو در لیناکس یاد بگیرم.
الان دارم رو c++و Qt تحقیق میکنم.
میخواستم اگه امکان داره در این تاپیک بحث زبانهای برنامه نویسی تحت لیناکس رو شروع کنیم.
ویژگیها - کاربردها - و...
لطفا این بحث رو بدون هیچگونه تعصبی دنبال کنید.
چون میخواهیم یک نتیجه گیری کلی در این زمینه داشته باشیم.
باز هم به این نکته اشاره میکنم لطفا تعصبی برخورد نکنید.
امیدوارم نتبجه گیری های این بحث مفید باشه .
برای شروع بحث از دوستان حرفه ای میخوام اول زبانهای برنامه نویسی که در لیناکس قابل استفاده هستند رو معرفی کنند.
و بعد در مورد تک تک زبانها نظر دوستان رو ببینیم.
قبل از هر چیزی از جناب inprise تشکر میکنم.
:mrgreen: :mrgreen: :D

Inprise
شنبه 06 فروردین 1384, 20:07 عصر
قبل از هر چیزی از جناب inprise تشکر میکنم

نمیدونم برای چی تشکر کردی ؛ لیکن بهر حال ممنون ، لازمه بدونی منم ازت تشکر خواهم کرد اگر دیگه از عبارت مجعول و مسخرهء "لیناکس" استفاده نکنی . عبارت Linux نه در لهجه امریکائی و نه در لهجه انگلیسی ، تلفظی که داخلش صدای "آ"ی فارسی وجود داشته باشه نداره . قبلا" یکی از مدیران لینک بحث خنده داری حول و حوش این موضوع رو تو یکی از سایتهای فارسی بهم داده و جالبه که میبینم بلافاصله بعد از اون مطلب ، کاربرد این واژه به این شکل داره متداول و مرسوم میشه . در مقام مقایسه لیناکس و لینوکس هر دو غلط هستند ، لیکن "آ" رو تحت هیچ عنوان نمیشه پذیرفت . مردم جائی که توش زندگی میکنم ، ( زبان انگلیسی اصولا اینجا متولد شده است ؛ لینوس توروالدز ، از انگلیسی ها ، انگلیسی رو بهتر صحبت نمیکنه و البته تو تلفظ اسم خودش - هم - "آ" وجود نداره ) لینوکس رو شبیه به لینوکس تلفظ میکنند ، نه لیناکس !

--


میخواستم اگه امکان داره در این تاپیک بحث زبانهای برنامه نویسی تحت لیناکس رو شروع کنیم.
ویژگیها - کاربردها - و...

این بحث تا بحال چند بار مطرح شده . برای مطالعهء جوابهای دوستان میتونی جستجو کنی ؛ به عنوان یک جواب خلاصه : زبان غالب روی ix* ها C است و لا غیر . همهء اعضای این خانواده با C نوشته شده اند ، هر چند برخی از قسمتهای مدرن تر ( مثلا" KDE‌) از CPP هم استفاده میکنند . Perl و Python هم به عنوان ابزارهای خودکار سازی وظایف مدیریتی و هم به عنوان ابزارهای تولید نرم افزارهای کاربردی قابل توجه هستند ، این روزها علاقه مندی به Python در حال گسترشه . Java همه جا زندگی میکنه ، لینوکس نیز عضو همه جا ست ، و جاوا هم طرفداران و منتقدین خودش رو داره . Pascal هم با کندی روی لینوکس به حیات خودش ادامه میده ، Free Pascal معروفترین کامپایلر پاسکال است که این روزها عده ای دارن تلاش میکنن از اون ، جایگزینی برای دلفی روی لینوکس بسازند . Kylix که مبتنی بر CLX‌ ( مشابه VCL مبتنی بر QT‌) است با حمایت همزمان Delphi و CPP یکی دیگر از گزینه های موجوده . حمایت بورلند از این محصول در حال حاضر تقریبا" معادل صفره هر چند Patch های Unofficialی که منتشر شده کمک های زیادی میکنند ، محیط توسعهء Kylix بسیار شبیه دلفی و BCB است . QT یک Framework چند زبانه قدرتمند است که نرم افزارهای بزرگ و حساسی ازش استفاده میکنند ، شی گراست و با CPP ترکیب خوبی رو تشکیل میدن ؛ برنامه های CPP/QT براحتی روی بسترهای مختلف قابل انتقال هستند . GTK ابزار معروفی برای طراحی رابطهای کاربری است که روی بسترهای مختلف منتشر شده ، شی گرا نیست و ترکیب C/GTK ستون فقرات برنامه های مختلفی هستند که سالهاست دارن خوب جواب میدن لیکن قابلیت انتقال چندانی وجود نداره ، چرا که GTK مانند QT یک Framework همه جانبه نیست و قاعدتا" بسیاری از وظایف رو باید با استفاده از امکانات درونی لینوکس و سی انجام بدی که لزوما" قابل انتقال نیستند . TCL هم مثل پرل کاربرد های روزمره و مدیریتی پر رنگ تری نسبت به سایر وجود داره ، هر چند میتونی برنامه های خوبی رو که با ترکیب TCL/TK نوشته شده اند پیدا کنی ( TK چیزی شبیه به GTK است ؛ یک Toolkit ) . بورلند چیزی بنام CPP builderX منتشر کرده که از یک IDE مبتنی بر جاوا و حمایت از چندین کامپایلر برخورداره . نسخهء مبتنی بر لینوکسش رو تست نکردم لیکن روی سولاریس و ویندوز ، از GCC و کامپایلر سی اینتل ( فقط 32 بیتی - اینتل ) حمایت خوبی میکنه ؛ این فقط یک Dev Env است نه چیزی بیشتر . Kdevelop محیطی مبتنی بر QT برای توسعه برنامه است . از GCC استفاده میکنه ( لزوما" قرار نیست اینطور باشه ) و به GDB و Kdesigner مجهزه . اگر قراره یک برنامه کاربردی برای لینوکس تهیه کنی به احتمال قریب به یقین گزینهء CPP/QT/KDevelop/QT Designer یکی از گزینه های قابل تامل خواهد بود . مونو که قراره چیزی "شبیه" به دات نت باشه ، روی لینوکس ، توسعهء قابل توجهی پیدا کرده و ترکیب #GTK و مونو هم میتونه روی تصمیماتی که قراره برای یک آیندهء نزدیک گرفته میشن یک گزینهء قابل توجه باشه . برخی از توزیعات لینوکس مانند SuSe حمایت قابل توجهی از مونو کرده اند ( طبیعی هم هست ؛ ناول ، مالک مونو است ) مونو هم یک محیط توسعهء بصری داره که میتونه برای خیلی ها جالب باشه . علیهذا ، میشه روی لینوکس با اسمبلی یا حتی آپکدهای زبان ماشین نیز نرم افزار تولید کرد ؛ محیط توسعه میتونه vi باشه !!

موفق باشی

:wise1:

مهدی کرامتی
شنبه 06 فروردین 1384, 21:26 عصر
از توضیحات کامل ات متشکرم. :تشویق:

oxygenws
شنبه 06 فروردین 1384, 21:26 عصر
برادر اینپی عزیز، نظری در مورد GTK+ ندارید؟؟ آیا جایگزینی برای QT هست یا نه؟ (منظورم فقط بحث شی گرایی اش می باشد)

ممنون.

khafanovich
شنبه 06 فروردین 1384, 23:29 عصر
من برای همین تشکر کردم...با این حال منتظر نظر دوستان هم هستیم.
"لینکس - ل ینوکس - لیناکس -لاینوکس و....:wink:
همرو بیخیال : فقط Linux

Inprise
یک شنبه 07 فروردین 1384, 06:53 صبح
@ حاج مهدی : چاکرم .

-


نظری در مورد GTK+ ندارید؟؟ آیا جایگزینی برای QT هست یا نه؟ (منظورم فقط بحث شی گرایی اش می باشد)

مقایسهء GTK و QT قیاس مع الفارق است . GTK یک Framework نیست ، یعنی چرخهء کامل حیاتی یک نرم افزار نمیتونه کاملا" مبتنی بر اون باشه ؛ برای نوشتن یک برنامه C/GTK به توابع محیطی ویندوز یا لینوکس و سی احتیاج خواهی داشت ؛ لیکن QT یک Framework است ، یعنی اگر یک برنامه کاملا" مبتنی بر QT توسعه داده بشه و قواعد مربوطه رعایت بشه ، برنامه از محیط مستقل خواهد بود ؛ میشه ماهیت QT و VCL و dotNET Framework رو مشابه فرض کرد ؛ یعنی هر چیزی در برنامه از طریق یک لایهء یکریخت و یکدست ، به سمت مقصد حرکت میکنه ، و اون لایه روی بسترهای مختلف ، میتونه ، یکسان باشه .

توسعه گران GIMP در کنار GTK کتابخانه های دیگری نیز توسعه داده اند که عنوان ترکیب اونها +GTK است ؛ یعنی ترکیب GLib - GObject - ATK - GDK - Pango ؛ این مجموعه به لحاظ ساختار با QT قابل مقایسه است چون همه چیز برای مدیریت چرخهء حیاتی کامل یک نرم افزار توش وجود داره ؛

نظر شخصی : خوشبختانه هر دوی QT و +GTK رو تجربه کرده ام و متاسفانه فقط از کاربرد QT لذت بردم . علی الخصوص که ساختارش بسیار به ساختار VCL عزیزم نزدیکه . هر چند اگر هدف ، توسعه نرم افزار با زبانی غیر از C باشه ، +GTK بهترین گزینهء موجود روی لینوکسه .

QT هنوز به یک محیط واقعا" فرا-بستر مبدل نشده . روی ویندوز مشکلات زیادی باهاش داشته و دارم ؛ فی المثل بعد از بیست بار تلاش و آزمون ، هنوز موفق به نصب اون روی VC7 نشدم ، نصبش روی BCB غیر ممکنه ( بر خلاف مدعیات ترالتک ) و ناچارا" هنوز از استودیوی باگ-خیز VC6 استفاده میکنم . QT Designer هم چنان که باید کارگشا و قدرتمند نیست ؛ توسعهء یک IDE خوشریخت و خوشدست قطعا" نمیتونه وظیفهء دشواری برای ترالتک باشه ، لیکن هنوز این اتفاق نیفتاده . روی لینوکس ، QT واقعا" ایده آل است و بعیده به این زودیها به فکر چیز دیگری بیفتم ، هر چند مونو ، پیشنهاد وسوسه کننده ای است .

دوستانی دارم که موفق به سرانجام رساندن یک سناریوی کامل توسعه با QT Embedded شده اند ، به دلائلی از ذکر جزئیاتش معذورم ، لیکن ، مجموع تجربه های موجود بهم میگه به صراحت بگم ، برای توسعه بر فراز لینوکس ، QT یکی از پر رنگ ترین گزینه ها است .

موفق باشید :wise1:

khafanovich
یک شنبه 07 فروردین 1384, 08:59 صبح
آقای اینپرایز میشه لینکهایی رو شامل توضیحات کامل در زمینه مونو ارائه دهید؟
آیا IDE مناسب و رایگانی برای آن وجود دارد؟
اگر امکان دارد بحثی را در زمینه برنامه نویسی و تکنولوژی های تحت وب در Linux را شروع کنیم.
بنده شخصا دارم مطالب این فروم را بصورت یک داکیومنت در می آورم.البته لازم به ذکر است که حضرت استاد اینپرایز اینقدر خوش ذوق و کامل نوشته اند که بنده کاری جز کپی پیست انجام نمیدهم.
موفق باشید.

oxygenws
یک شنبه 07 فروردین 1384, 11:40 صبح
سپاسگذارم :) :flower:

hosseinzadeh
یک شنبه 07 فروردین 1384, 20:39 عصر
:flower: :flower: :D
ممنون

Gladiator
دوشنبه 08 فروردین 1384, 17:07 عصر
نمیدونم برای چی تشکر کردی ؛ لیکن بهر حال ممنون ، لازمه بدونی منم ازت تشکر خواهم کرد اگر دیگه از عبارت مجعول و مسخرهء "لیناکس" استفاده نکنی . عبارت Linux نه در لهجه امریکائی و نه در لهجه انگلیسی ، تلفظی که داخلش صدای "آ"ی فارسی وجود داشته باشه نداره . قبلا" یکی از مدیران لینک بحث خنده داری حول و حوش این موضوع رو تو یکی از سایتهای فارسی بهم داده و جالبه که میبینم بلافاصله بعد از اون مطلب ، کاربرد این واژه به این شکل داره متداول و مرسوم میشه . در مقام مقایسه لیناکس و لینوکس هر دو غلط هستند ، لیکن "آ" رو تحت هیچ عنوان نمیشه پذیرفت . مردم جائی که توش زندگی میکنم ، ( زبان انگلیسی اصولا اینجا متولد شده است ؛ لینوس توروالدز ، از انگلیسی ها ، انگلیسی رو بهتر صحبت نمیکنه و البته تو تلفظ اسم خودش - هم - "آ" وجود نداره ) لینوکس رو شبیه به لینوکس تلفظ میکنند ، نه لیناکس !

یه برنامه تلویزیونی بود که از شبکه ITC پخش میشد ٬ یه مشت آدم بیکار و تقریبا بی سواد ٬ شبکه ای رو راه انداخته بودن که فقط جهت آموزش کامپیوتر بود . اونجا هم یارو با اون همه ادعا لینوکس رو لیناکس تلفظ میکرد .

جالب صحبت کردنش در مورد سرورهای CompaQ بود که در حقیقت با اون صحبتها آبروی خودش رو برد :mrgreen:

houtanal
دوشنبه 08 فروردین 1384, 18:13 عصر
اون صحبتها عابروی خودش رو برد
منظورت آبرو هست دیگه (کسی ندید) :mrgreen:
بابا این که چیزی نیست یه بار رفتم خونه یکی از بچه ها هم خونه ایش تعریف می کرد من با جاوا اسریپت برنامه سرویس گیرنده ftp نوشتم :strange: (اینی که می گم یه موجود منحصر به فردیه!)

Gladiator
دوشنبه 08 فروردین 1384, 20:14 عصر
اون صحبتها عابروی خودش رو برد
منظورت آبرو هست دیگه (کسی ندید) :mrgreen:
بابا این که چیزی نیست یه بار رفتم خونه یکی از بچه ها هم خونه ایش تعریف می کرد من با جاوا اسریپت برنامه سرویس گیرنده ftp نوشتم :strange: (اینی که می گم یه موجود منحصر به فردیه!)

اینی که تو میگی تازه هیچ هم که نیست ٬ از هیچی هم هیچی تره .

یه رفیقی دارم ٬ البته من با هر کسی رفیق نمیشم ٬ فقط جنسش ماده باشه ٬ این بنده خدا چند روزی با ما چت میکرد ٬ خلاصه یه شب بهم گفت که رفته توی یک رووم و یکی بهش پی ام داده و تهدیدش کرده که هکش میکنه ٬ از من پرسید که هک چیه ٬ طرف بهم گفته میزنم سی پی یوتو میسوزونم ٬ خلاصه ما هم توضیح دادیم که طرف چرت و پرت گفته و تو خیالت راحت باشه . یه چند روزی گذشت دوباره با خانوم چت کردیم گفتیم چه خبر ؟ گفت همین الان داشتم یکی رو هک میکردم صدای سوختن کامپیوترش از توی هد ستم میومد :kaf: :strange: :strange: :strange: :strange:

طرف احتمالا از آبادان چت میکرد .

در مورد اون غلط املایی هم زیاد به دل نگیر من بار اولم نیست . :mrgreen:
یادمه اول راهنمایی که بودم یکبار دیکته -2 گرفتم . :kaf: :flower: یارو معلمه حیرون مونده بود که چی بگه بهم .

oxygenws
دوشنبه 08 فروردین 1384, 20:28 عصر
جالب صحبت کردنش در مورد سرورهای Compac بود که در حقیقت با اون صحبتها عابروی خودش رو برد
same you :P

عابرو = آبرو
Compac = Compaq

دوست داریم گلادی :)
بد نیست مطالب زیر رو بخونی:
http://oxygenws.com/blog/archives/7-.html
http://oxygenws.com/blog/archives/16-.html

موفق باشید، امید :wink:

Gladiator
دوشنبه 08 فروردین 1384, 21:39 عصر
جالب صحبت کردنش در مورد سرورهای Compac بود که در حقیقت با اون صحبتها عابروی خودش رو برد
same you :P

عابرو = آبرو
Compac = Compaq

دوست داریم گلادی :)
بد نیست مطالب زیر رو بخونی:
http://oxygenws.com/blog/archives/7-.html
http://oxygenws.com/blog/archives/16-.html

موفق باشید، امید :wink:

سلام امید خان ٬ بیشتر توش بگرد شاید چیزای دیگه ای هم پیدا کنی . :kaf:


در مورد اون غلط املایی هم زیاد به دل نگیر من بار اولم نیست .
یادمه اول راهنمایی که بودم یکبار دیکته -2 گرفتم . یارو معلمه حیرون مونده بود که چی بگه بهم .

خودم که قبلا هم اعتراف کرده بودم ٬ من کاملا بی سواد هستم . :flower:

khafanovich
چهارشنبه 10 فروردین 1384, 07:58 صبح
سلام..
میگم مثل اینکه آقای کرامتی باید دوباره فروم مربوط به طنز های کامپیوتری رو راه بندازن...بابا ما تاپیک چی زدیم چی شد.
در مورد تلفظ Linux :
من در شرکت یکی از دوستان دو تا فیلم دیدم ( که احتمالا برادر امید هم دیدن)
یکی ارز فیلم ها مربوط به شبکه BBC و دیگری رو نمیدونم مال کدوم شرکت بود موضوع این دو فیلم خبری تاریخچه Linux و OpenSource است.
در این دو فیلم Linux بصورت لینکس تلفظ میشود.
در مورد اون شبکه تلویزیونی.
دوست عزیز گلادیاتور درسته که این شبکه دارای ضعف های بسیار زیادی است هم از نظر محتوا و هم از نظر مباحث تکنیکی ( منظورم اینه که سوتی زیاد میدن)
ولی اینو بدون که خیلی ها علاقه مند به اون هستند و شاید بشه گفت این شبکه نقش نسبتا موثری در زمینه فرهنگ سازی کامپیوتر داشته.
در این فروم خودمون که واقعا افراد متخصص وجود دارند از همان ابتدا ( زمانی که سایتی بنام NovinMedia ) وجود داشت ما اینجا تا دلت بخاد سوتی دیدیم.و سوتی دادیم.
با این حال چاکر همه دوستان هستیم..آقا جون ما این بحث و حرفه ای ترش کنیم.

oxygenws
چهارشنبه 10 فروردین 1384, 12:56 عصر
مهدی، ظاهرا فقط تاپیک هایی که زدی رو می بینی.
اینجا رو ببین -> http://www.barnamenevis.org/forum/viewtopic.php?t=22906

در ضمن، من با حرفه ای تر کردن بحث موافقم.