سؤال

هو د اللغة بديل موثوق Java و C++?ما سوف تصبح ذات مصداقية البديل ؟ يجب أن تهتم تعلم ذلك ؟ هل يستحق تنصير ؟

السبب الرئيسي أطلبه هو أن مع C++ (c++0x) تقريبا هنا ، فإنه من الواضح لي أن اللغة قد ذهب تجاوزنا نقطة اللاعودة فيما يخص أي شخص من أي وقت مضى فهم ذلك.وأنا أعلم أن C/C++ لن يموت ولكن في مرحلة نحن بحاجة للمضي قدما.حتى COBOL كان يوم جافا في كثير من النواحي التراجع C++.إذن ما هي الخطوة التالية ؟ لا د ملء الفاتورة ؟

هل كانت مفيدة؟

المحلول

ما الذي يحدد نجاح وشعبية من لغة برمجة في العالم الحقيقي تطوير البرمجيات جزئيا فقط تتعلق بنوعية اللغة نفسها.كما محض اللغة ، د يمكن القول أن لديها العديد من المزايا على C++ و Java.على الأقل هو بديل ذي مصداقية بوصفها لغة نقية ، كل الأمور الأخرى متساوية.

ولكن أشياء أخرى مسألة تطوير البرمجيات - تقريبا أكثر من اللغة نفسها:قابلية (كيف العديد من المنصات على تعمل) ، المصحح الدعم ، IDE دعم المكتبة القياسية الجودة ، مكتبة ديناميكية الدعم ، الارتباطات المشتركة واجهات برمجة التطبيقات والوثائق المطور المجتمع الزخم والدعم التجاري فقط غيض من فيض.في كل واحدة من تلك التحيات ، د هو يائس وراء Java, C++ و C#.في الحقيقة اود القول انه حتى وراء ما يسمى "البرمجة" لغات مثل Python, Perl, PHP, Ruby, وحتى جافا سكريبت في هذا الشأن.

أن يكون صريحا, كنت ببساطة لا يمكن أن نبني على نطاق واسع ، عبر منصة التطبيق باستخدام D.مع غير ناضجة المكتبة القياسية ، لا يوجد دعم في أي حديث ايديس (هناك الإضافات لكل من Visual Studio و Xamarin Studio/MonoDevelop), ديناميكية محدودة/المكتبة المشتركة ودعم بعض الارتباطات إلى لغات أخرى ، د هو ببساطة ليس خيارا اليوم.

إذا كنت مثل ما ترى D يعني تعلم أنه لا ينبغي أن تستغرق وقتا طويلا إذا كنت تعرف بالفعل Java و C++.لا أعتقد الكرازة سيكون من المفيد في هذه النقطة إذا د سوف تنجح ، ما يحتاج إليه أكثر الناس بهدوء استخدامه ومعالجة أوجه القصور الرئيسية مثل المكتبة القياسية و IDE الدعم.

أخيرا, مثل C++, في حين أن معظم نتفق على لغة معقدة جدا ، الآلاف من الشركات بنجاح باستخدام C++ كجزء من مزيج صحي من اللغات من خلال السماح فقط أصغر واضحة المعالم فرعية من اللغة.فإنه لا يزال من الصعب الفوز C++ عند كل أداء الخام الصغيرة استخدام الذاكرة المطلوبة.

نصائح أخرى

فقط لإضافة تجاربي الخاصة في مزيج:

قبل سنة تقريبا عملت على نطاق صغير لعبة project (3 المبرمجون) دائم 3 أشهر, حيث كنا D كما لدينا الابتدائية اللغة.اخترنا ذلك جزئيا كتجربة ، جزئيا لأنه بالفعل روابط SDL و بعض الأدوات الأخرى التي كنا نستخدمها, و في الغالب فوائد ويبدو أن يكون على C++.

نحن أحب استخدامه.كان سريع التعلم وسهلة الكتابة.العديد من الميزات أثبتت أنها لا تقدر بثمن ، اشتقت لهم بعد أن ذهب إلى C++.

ومع ذلك ، فإن النقاط التالية جعلت حياتنا أكثر صعوبة:

  1. لم يكن هناك جيدة IDE في الوقت الذي كانت قضية رئيسية.لقد انتهى الأمر جعل منطقتنا عن طريق تخصيص Scite.هذا عمل طيب ، ولكن لم تكن مثالية.
  2. لا يوجد مصحح في ذلك الوقت.تمكنا من الحصول على WINDBG للعمل على ضرب أو يغيب الاساس ولكن كان لا يمكن الاعتماد عليها.تصحيح التعليمات البرمجية دون المصحح الحياة الجهنمية في بعض الأحيان.
  3. هناك 2 المكتبات القياسية للاختيار من بينها في ذلك الوقت (تانغو " و " فوبوس).بدأنا مع أحد ، تحولت إلى أخرى ، هناك حاجة فعلا خليط من الميزات من كل من (Tangobos!).تسبب هذا الصداع وبعض رمز إعادة كتابة.
  4. الارتباطات إلى الأدوات الأخرى غير متوفرة.في النهاية كان علينا أن التحول إلى DirectX (لأسباب لن ندخل).لا توجد روابط دايركت المتاحة لذلك كان علينا أن نكتب في C++, بناء على أنها .dll و ربط ذلك.وكان هذا إلى حد ما سيئة العمل استغرق بعض الوقت.

عموما, نحن أحب إلى كتابة D.جعلت في الواقع كتابة التعليمات البرمجية سهلة و سريعة للتعلم.قضايا لقد ذكر صدى الإجابة التي تمت الموافقة على هذا السؤال - إنه "إضافية" بت التي تحتاج إلى معالجة في د ، جوهر هو الصلبة.

أوافق على أن C++ أصبحت مسدود اللغة و يؤلمني أن أقول أنه بعد استخدامه لمدة 17 عاما.

أعتقد أن د هو الوريث الشرعي إلى C++.من لغة منظور أنه "يفعل كل الأشياء الصحيحة" (حتى لو كنت لا أتفق مع كل دقيقة المقرر).أعتقد مع C و C++ في الانخفاض ليس هناك أنظمة أخرى على مستوى اللغة التي حقا يمكن أن تفعل ما تفعل ، في حين عقد نفسها في عالم اللغات الحديثة - إلا D!ليس فقط د ملء هذا الدور - أنها تتفوق في ذلك!نظرة على D1.× يجب أن يكون كافيا لاقناع لكم من ذلك - ولكن عندما ننظر D2.0 ضربات كنت بعيدا.فمن رأيي أنه لا توجد لغة أخرى حول اليوم الذي يعمل وكذلك D2.0 في سد حتمية وظيفية نماذج البرمجة - التي ستصبح أكثر أهمية في السنوات القادمة.

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

وأعتقد أن الفرق سوف يأتي عن ويرجع ذلك في جزء كبير منه ، إلى اندريه Alexandrescu مشاركة.هذا ليس تشويه سمعة والتر مشرق في أي شكل من الأشكال ، الذي قام الجسام وظيفة في إحضار د إلى العالم.ولكن Alexandrescu مهم, ومقنعة, الرقم بالتأكيد C++ المجتمع - و هناك أكثر من احتمال د المحولات سوف تأتي من.و كما قدمت مساهمة كبيرة ومهمة D2.0 في دعم البرمجة الوظيفية.

قد تتحول إلى أن د محكوم عليه أن يكون بيتاماكس من أنظمة مستوى اللغات - ولكن بلدي المال على ذلك تحول حولها في غضون العامين المقبلين.

أحب أن د هو عمل عبقري في المقام الأول عقل واحد - والتر مشرق ، الذي Zortech المترجم كان رائعا في اليوم.

في المقابل C++ كثيرا تصميم من قبل اللجنة ، حتى إذا Bjarne هو تأثير.الكثير من الميزات الإضافية غريبة و جديدة في بناء الجملة.هذا الفرق في سهولة التعلم وسهولة الاستخدام اليومي ، عدد أقل من الأخطاء.

أكثر تماسكا اللغات يؤدي إلى تحسين الإنتاجية و مبرمج الفرح - ولكن هذا هو ذاتي و يمكن القول!(أعتقد أنني يجب أن التصويت بلدي الإجابة أسفل)

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

أنصح تبحث في د المقارنة بين برامج لمعرفة ما هي الميزات التي هي اللغة ومعرفة ما إذا كان يبدو لك الحق.

د اللغة الحديثة.لا اللغة و لا يوجد شك في هذا.ولكن اللغات ولد لجعل الحياة أسهل.حيث د اللغة مقارنة C++ لديها الكثير من ميزات جيدة من حيث التعقيد.العديد من لغة أخرى الجمع بين التخصص هو المشاركة ، مما يساعد المبرمجون إلى التعليمات البرمجية بشكل أسرع مع أعلى الميزات المقدمة من قبل لغات أخرى.يرجى الاطلاع أيضا:لمزيد من التفاصيل عن د و اللغات الأخرى

  • د vs C++, هو التوافق ، حيث ضخمة C++ اللغات المعنية ، يتطلب التوافق مع D.د تسمح بالفعل 100 ٪ التوافق مع ج ، وهو جيد الفوز لا يزال.

  • د vs C++, C++ هو رأيي جميلة جدا اللغة ، ولكن من الصعب رمز وتستغرق وقتا طويلا ، يتطلب المزيد والمزيد من الخبرة للحصول على النجاح ، ولكن د تسمح أن تفعل الشيء نفسه مع البساطة

  • د vs C++, أنا لست متأكدا مما إذا كان C++ لا, لكن هل تسمح أي نوع تقييد تعيين متغير استخدام "السيارات", وهو أمر جيد أن يكون متغير ديناميكي, عندما تتطلب يمكنك جعل صارمة نوع

  • د vs C++, إذا كان لديك لغة أخرى تجربة مباشرة يمكن أن تبدأ مع ذلك ، فقد سهلة التعلم خارطة الطريق و الحصول على تصميم قوي فريق من ذوي الخبرة و الشركة الدعم

  • د vs C++, والشيء الجميل جدا وجدت من د ، هو رمز النمط ، فإنه يعطي نظرة ويشعر نفسه تماما مثل C/C++, في حين الترميز ويذكر أفعله حقا الحديث C/C++ التي دعا D

هناك الكثير من المزيد من سبب وجيه د اللغة ، ليس هناك من سبب أن نقلل من أي لغة ، دائما اختيار المستخدم.

أنها حقا يتوقف على ما هي احتياجاتك - التجارية على نطاق واسع التطبيقات المكتوبة في د هل موجودة على جانب الملقم ، و أن د (عادة باستخدام تانجو/المانجو) هو حلا مثاليا, و أنت من المحتمل أن تكون قادرة على خدمة طلبات أكثر من أي لغة أخرى/منصة.

لمزيد من الحلول المتخصصة في مجال بروتوكولات والتفاعل (وهو كثير) سيكون لديك المزيد من المشاكل في العثور على الحاجة المكتبات ، وعدم وجود الأدوات التي من المرجح أن تؤثر عليك أكثر.

د مؤثرة جدا و اندريه كتاب حول هذا الموضوع هو مكتوب بشكل جيد.ولكن كما قال آخرون ، كنت في حاجة إلى أدوات دعم منصة.GDC قد بمرور الوقت يكون الجواب كلا.

هل رأيت هذا ؟

"GNU Debugger يضيف د دعم اللغة":http://www.linux.com/news/enterprise/biz-enterprise/358956-gnu-debugger-adds-d-language-support

كما digitalmars الموقع يحتوي على صفحات مناقشة التواصل إلى C و C++ (بالنسبة لأولئك المكتبات أنت فقط لا يمكن أن يعيش بدون).وأتساءل عما إذا كان هناك أي أدوات أنه نظرا C رأس الملف ، سوف تأخذ طعنة في كتابة د النماذج.

شخصيا لم أكن في هذه المرحلة دفع لعمل مشروع كبير في د ، ولكن أنا أن استخدام د في المنزل أدوات الحصول على الخبرة في هذا المجال و تقديم الآخرين على ذلك.

كان السؤال الأصلي سواء د هو بديل موثوق Java و C++.لا أعتقد أن د و جافا تسير حقا أن تنافس كبير في الممارسة العملية ؛ د يتنافس مع C++ و انتقل الآن.أسئلة أخرى تتناول الخلافات بين D و الذهاب يعتبر عموما أسهل للاستخدام.لذلك أظن أن مستقبل D يعتمد كثيرا على مدى الغرفة هناك من أجل أن تتنفس بين C++, الملك الحالي التل ، وتذهب ، أسهل بكثير من البديل الذي قد Google النسخ.

تحديث:لقد اكتشفت للتو أن الفصل المفضل اندريه كتاب, واحد على التزامن ، وهو متاح مجانا على الإنترنت.بالتأكيد تستحق القراءة!

وهنا loooong النقاش حول المزايا النسبية/الأهداف/النهج من الذهاب D.

يبدو أن السؤال قد أجاب.D هو أفضل اللغة مقارنة مع C++.

مسألة ما إذا كان لأغراض عملية د تحسين البنية التحتية في جميع أنحاء الثانوي.

باختصار إذا كان كلاهما العلامة التجارية الجديدة لغات دون أي دعم من حولهم D هو أفضل اللغة ، ولهذا فمن الأفضل اللغة.

كلغة, لقد شعرت دائما أن د هو أقرب إلى C# من C++.لا في الميزات و المكتبات, ولكن في "الشعور".انها أنظف بكثير,أجمل ...متعة (من C++).IMHO أكبر عقبة في أن تصبح ذات مصداقية البديل أدوات IDE و المصحح.إذا د تتغلب على بعض العقبات على نطاق واسع الاستخدام/اعتماد المزيد من الأدوات والمكتبات سوف تظهر.(أنا نفسي العودة إلى د ، إذا كان هناك سوف تكون قابلة للاستخدام IDE و المصحح.)

يعمل كبيرة ل بلدي الحيوانات الأليفة المشاريع.أود أن استخدام أرباب العمل في المشاريع ولكن لا يعرفون كيف سوف يكون من الصعب بالنسبة لهم أن تجد شخص لتولي المصدر بعد الانتقال.لا توجد أسباب فنية لتجنب ذلك ، على الأقل على الأنظمة الأساسية المعتمدة.(دق على الخشب)

نهج واحد هو البحث عن وظائف في المجال الخاص بك.العثور على وظيفة كنت ترغب في القيام به ونرى ما هي المهارات التي يطلبون.إذا كانوا يطلبون C++ أو روبي أو أوراكل أو د ، ثم وهذا هو المهارة التي في الغالب أن تساعدك على الحصول على الوظيفة التي تريدها.

يبدو مصممة بشكل جيد جدا اللغة ؛ أفضل بكثير من C - C++ - الهدف C.لا يمكن أن يعيش دون IDE أو المصحح لفترة من الوقت ، ولكن ليس بدون توثيق مكتبة د 2.0.

أنا سوف تحقق مرة أخرى في 6 أشهر...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top