الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لغة D

مغلق
بدأه hasan_aljudy في 20 مايو 2005 · 16 رد · 1,162 مشاهدة · في ارشيف قسم C/C++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

http://digitalmars.com/d

لغة جديدة تاخذ السي بلص بلص و تعيد تشكيلها باخذ نقاط القوة و التخلص مننقاط الضعف فيها.

الشكل العام للـ syntax يشبه السي و اقربائها (C++, java)

الصراحة اللغة تبدو لي بديل جيد للسي بلص بلص للتخلص من تعقيداتها.

هل سمع بها احد؟ انا شخصيا انصح الجميع على الأقل بالنظر اليها ليرو بانفسهم.

انا شخصيا بدأت اتحول من السي بلص بلص الى الدي.

هناك بعض الاختبارات في الموقع تظهر مقارنة في السرعة مع السي بلص بلص و تظزهر تفوقا لـ D على الـ ++C

اللغة جديدة بعض الشيء, لكنها تبدوا لي واعدة.

ما هي آرائكم؟

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 20 مايو 2005 في 23:55

#2

انا لا انصح اي احد بتغيرر لغته الى الدي

وذلك لان السي++ مدعومه من اكبر شركات العالم وهي ميكروسوفت اما الدي فلا ادري ممن مدعومه ...

فلذلك لا اظن انها ستصل الى درجات السي++.......

يا اخي التعقيدات غير مهم . لا تنظر الى التعقيدات بل الى الايجابيات ...

السي++ يمكن ان تدوم السنوات الكثير وهي تحت ظل ميكروسوفت ولكن الدي من سيدعمها

* لا مستحيل في برمجة الالعاب *

** بالنسبه لدروس الرياضيات والفيزياء والسي++ والدايركت اكس فقد قمت في موقعنا بالبدأ من الصفر وحتى اتقان الاساسيات ( يعني اساسيات كل من سي++ ودايركت اكس وفيزياء ورياضيات) فمن يريد البدأ معنا فلينضم **

** الموقع الخاص للطريق حول برمجة الالعاب www.gamedev4arab.44w.com **

#3

انا سمعت عن لغة D قبل كدة من فترة و كانت لسة قيد التطوير بس شكلها نزلت خلاص

بس الحقيقة الكود مش فارق كتير و ال++C لغة قوية و منتشرة بصورة قوية في جميع الانظمة بلااستثناء من الMicrocontrollers حتى الMobiles مرورا بجميع انواع الاجهزة المعروفة على وجه الارض

اعتقد ان لغة جديدة لا تقدم تكنولوجيا جديدة هي تضييع وقت

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#4

لا اعتقد ان مايكروسوفت تدعم السي بلص بلص, مايكروسوفت تدعم لغاتها الخاصة VB و #C, ثم ان السي بلص بلص ليست ملك مايكروسوفت, فهي ليست تحت ظل مايكروسوفت. لا اعتقد ان دعم مايكروسوفت للسي بلص بلص هو اللذي اكسبها حضورها و انتشارها, بل بالعكس, انتشار السي بلص بلص هو اللذي اجبر مايكروسوفت على دعمها, و الا فمايكروسوفت تفضل دعم سي شارب.

بالنسبة للتعقيدات, فالسي بلص بلص مليئة بالتعقيدات, و اعتقد ان اللذي يبرمجون مشاريع كبيرة الحجم هم اللذين يشعرون بهذا العبئ, فصيانة البرامج المكتوبة بالسي بلص بلص يصبح صعب للغاية كلما كبر حجم البرنامج.

لذلك الكثير من الشركات تفضل استخدام لغات غير السي بلص بلص في هكذا نوع من المشاريع, مثل جافا.

السي بلص بلص منتشرة,و لكن قبل ان توجد السي بلص بلص كانت السي هي المنتشرة, الجافا لم تنزل قبل فترة طويلة جدا, لكنها اصبحت منتشرة بكثرة.

مسألة الانتشار مسألة وقت حسب ما أظن - ليس إلا.

#5

مشكلة الجافا الحقيقية انها محدودة في نوعيات معينة من الApplications مثال في الهواتف المحمولة لا يمكنك ان تصل بالجافا حتى الى الContact او SMS Server او اي شئ له علاقة بالSystem الا باستخدام ال++C و ايضا على الPC لا يمكنك ان تستخدم الHardware الا باستخدام ال++C و الJava محمدودة جدا ايضا و اذا كان الApplication يحتاج سرعة وكفاءة عالية ايضا تحتاج ++C و تتراجع الJava

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#6

السلام عليكم

شكلها لغه ممتازه يا باشمهندس واعتقد إن ليها مستقبل, طبعاً لم اجرب الكمبايلر ولكن اللغه تاخذ قوة السى بلس بلس وسهولة الجافا.

مشكلة الجافا رغم سهولتها إلا انك لا تبرمج جهاز وإنما تبرمج جهاز وهمى VM حاولت ان اقوم بعمل برامج سريعه فى الجافا بدون فائده.

مشكلة السى بلس بلس انها معقده وفى الواقع انا اجد السى بلس بلس اعقد من الاسمبلى بمراحل, بعكس السى والتى تشبه الاسمبلى إلى حد كبير, لذلك إذا اردت ان تتعامل معى السى بلس بلس من الافضل ان لا تفكر بلغة السى لانهما لغتان مختلفتين تماماً.

طبعاً انا هنا لا اتحدث عن برنامج hello world لان برنامج hello world فى السى والسى بلس بلس متشابه, وكن اتحدث عن المشاريع الكبيره.

انا اعتقد ان السوق بحاجه إلى لغه جديده تسهل البرمجه لان اللغات المتوفره حالياً فاشله او معقده, طبعاُ لغة الـVB لاتعتبر لغة برمجه لان المبرمج لايعرف ما الذى يحدث وإذا عرف ما الذى يحدث لانتقل إلى لغه اخرى, لغة السى شارب هى لغه من إختراع مايكروسفت تريد ان تجبر العالم على إستخدامها, ربما اللغه الوحيده التى اكتسبت إحترامى هى لغه الدلفى ولكن للاسف ليست مشهوره على مستوى المستخدمين العاديين, ولكن الشركات الكبيره تعتمدها كبديل للسى بلس بلس.

والسلا م عليكم

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#7

لغة الDelphi لغة رائعة و لا يختلف عليها اثنين و لكن اعظم انظمة العالم و اكثرها تعقيدا و انظمة التشغيل و الHardware Drivers كلها مكتوبة بال C و ال ++C كما ان لو لاحظت تجد ان اي feature تفتخر لغة بوجودها هي مقتبسة من ميزة من الاف المزايا في ال++C

كما ان ال++C تسمح لك ان تكتب Assembly مع ال++C لضمان تحكم كامل بكل الSystem في جميع مستوياته

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#8

الجافا تحل *بعض* مشاكل السي بلص بلص, و لما كما ذكرت انت, الجافا نفسها فيها مشاكل ..

هنا تأتي D, حيث انها تحافظ على سرعة و كفاءة ++C و كذلك تسمح لك بكتابة assembly مباشرة. (مع العلم اني سمعت ان الـ standard الخاص بالسي بلص بلص لا يذكر شيئا عن الـ assembly, يعني ليس جزءا معتمدا من اللغة, لكن معظم الكومبايلرات توفر هذه الخاصية)

لا اعتقد ان السي بلص بلص تضيف اي قوة الى السي, لان تقريبا قوتها كلها جاية من السي نفسها. مع العلم اني لست من اعداء السي بلص بلص, لكن احد استذتي و هو smalltalker يعني من محبي لغة smalltalk يكره سي بلص بلص و ربما أثر علي قليلا, و لكن انا شخصيا عانيت من عدة اشياء في السي بلص بلص:

اولا حكاية ملفات الـ .h و بعدين كلما تريد تكتب كلاس لازم تعمل ملفين, واحد .h و واحد .cpp

و المسألة الثانية ان الـ template syntax قبيح للغاية و معقد, خصوصا في الـ STL, و حتى الـ STL فيها شوية ضعف, يعني معقوملة ما فيها hash map ولا hash table!!

انا استخدمت الـ map كبديل, و لكن كلما استخدمها اغلفها في كلاس لان السنتاكس مزعج للغاية.

على فكرة, في الـ D, الـ hashtables هي builtin, يعني جزء اساسي من اللغة. و اسمها Associative Arrays

http://www.digitalmars.com/d/arrays.html#associative

التعامل مع الـ arrays في الـ D ديناميكي حتى أكثر من جافا. لدرجة ان اللغة لا يوجد فيها كلاس للـ string, لانه لا داعي له, فمعظم العمليات اللتي سيوفرها الكلاس هي اصلا موجودة حاليا كجزء من اللغة في التعامل مع الـ dynamic arrays, و لكن في نفس الوقت فإذا اردت استخدام array خفيف الوزن (مثل السي و السي بلص بلص) تستطيع ذلك, فهناك Static Arrays.

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 21 مايو 2005 في 03:18

#9

السلام عليكم

إذا اضفت اسمبلى للغة السى بلس بلس لم تصبح سى بلس بلس, لان الغرض من هذه اللغه هى ان تتمكن من إستخدامها فى انظمه مختلفه, بالتاكيد لغه السى بلس بلس هى من اقوى اللغات بل هى اقوى لغه على الاطلاق, ولكنها معقده, معقده لدرجه ان اغلب الكتب التى كتبت لهذه اللغه لا تعتبر إحترافيه.

كذلك عدد المحترفين الحقيقين لهذه اللغه يعتبرو اقليه ويحصلون على افضل الوظائف فى ارقى الشركات, كل هذا بسبب ان اللغه تتطلب فهم كامل للOOP بالاضافه إلى بنية الحاسوب, وهى تقريباً اللغه الوحيده التى يتطلب من المبرمج إتقان الجزئين إتقان كامل حتى يستطيع ان يكتب برامج إحترافيه.

والسلام

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#10

Smalltalk هي لغة Pure Object Oriented و لكنها ابطأ من ال Java و تحتاج Memory اكثر من الJava و لهذا فهي لا تستخدم بكثرة

اقتباس
.h و بعدين كلما تريد تكتب كلاس لازم تعمل ملفين, واحد .h و واحد .cpp

مين قال كده عاوز تكتب كله في ملف cpp واحد انت حر ماحدش غصب عليك تعمل .h مع انه من اهم الاشياء فيها :D

ايضا لم تتضمن الspecs على الموقع الخاص بلغة D اي تفاصيل عن طريقة عمل ال GUI .

تم تعديل هذه المشاركة بواسطة bashmohandes في 21 مايو 2005 في 03:38

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#11

بالنسبه لعمل الـGUI فهو لا دخل له بلغة البرنجه يمكنك عمل برامج للوندوز بلغة الاسمبلى لان الكل يعتمد على API.

بالنسبه لتعدد الملفات فى السى بلس بلس لا اجدها مشكله يعنى .h ارى انه جيد ويساعد المبرمج على التنظيم, ولكن الـtempte كما ذكر يا اخ حسن اجد طريقتها فى التعريف طريقه قبيحه فعلاً.

طبعاً لا نريد ان نظلم لغة السى بلس بلس فهى فيها اشياء جميله ايضاً, مثلاُ الـoperation overload ممتازه هذا فقط على سبيل المثال لا الحصر.

والسلام عليكم

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#12

اذا تم الاعتماد على ال APIs الخاصة بالSystem يبقى ال D حتبقى بنفس تعقيد ال Assembly او ال ++C في ال GUI و هو ماسيجعلها تندثر

امال احنا ليه بنقول ال Delphi لغة لا يختلف عليها اثنين كل شيء محدد وواضح فيها حتى ال GUI و ال Java ايضا

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#13

ليه هيا السى بلس بلس مش معتمده على الـAPI والخاصه بالسستم ولا انا فاهم غلط., هو إحنا لما نكتب :

MessageBox(....)

مش كدا يبقى إعتمدنا على الـAPI الموجوده فى السستم ولا انا غلطان؟؟

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#14

ماهو ده سبب تعقيد ال++C في ال GUI بالذات انها تعتمد على الSystem APIs و التي تتغير من OS لاخر و قد ظهرت العديد من ال Cross platform GUI frameworks مثل wedgets .

فاذا كان ال D تنوي ان تكون مثلها فهي لن تضيف جديدا

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#15

الـ GUI فريم ورك مالهوش علاقة باللغة, ممكن بسهولة تعمل انترفيس للفريم ورك باي لغة (من الناحية النظرية على الأقل).

هناك عدة بورتات لعدة جويات (جمع gui) للغة D.

DWT

A port of the SWT (Standard Widget Toolkit) GUI Library

DUI

a D language graphical user interface based on GTK+ graphical toolkit

WXD

wxD is wxWidgets bindings for D language. wxWidgets is cross-platform GUI toolkit

و غيرها:

http://www.prowiki.org/wiki4d/wiki.cgi?AvailableGuiLibraries

اغلبها لا تزال مشاريع في مراحلها الأولى.

بعدين تعقيد السي بلص بلص غير متعلق بالـ GUI.

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 21 مايو 2005 في 05:21

#16

على العموم مش حتخسر لو ربنا وفقهم و اللغة دي نفعت يبقى كسبنا لعيب جديد مانفعتش يبقى ماخسرناش حاجة

Sr. Software Development Engineer
Hulu, LLC
My Blogs

هذا الموضوع مغلق.

مواضيع مشابهة