ماهي الادوات الازمة لكتابة كود DNS سيرفر

  • kikoknkn

بعد انقطاع 10 اعوام عن البرمجة " منذ أيام الجامعة " قررت العودة و كتابت برنامج DNS سيرفر . من الصفر

نقاط هامة قبل طرح الاسئلة:

  • نظام التشغيل للسيرفر Linux

  • لغة البرمجة C أو C++

  • البرنامج سيكون نواة لمجموعة افكار ارغب بتطبيقها في مجال اختصاصي " هندسة الاتصالات "

  • البرنامج لن يحتاج الى واجهة للاستخدام

  • البرنامج سيكون مفتوح المصدر ومجاني

فهل من مجيب على اسئلتي التالية :

1- هل يمكن استخدام IDE يعمل في بيئة ويندوز لكتابة تطبيق يعمل على Linux؟

2 - أي IDE اختار . بحيث يكون مجاني ويحوي ميزات تفيد في كشف الاخطاء و اختبار البرنامج؟

3- أي C_compilers أختار ؟

4- أنا محتار اي لغة اتعلم C أو C++ لتنفيذ المشروع حيث أنني افضل التركيز على لغة واحدة في الفترة الحالية ؟

5- أخر سؤال : ماهي افضل المصادر للتعلم " مواقع دورات و اسماء كتب " باللغة العربية أو الانكليزية

في موسوعة wikipedia يوجد جدول يعدد كل من C_compilers و IDE

https://en.wikipedia.org/wi... https://en..org/wiki/List_o...

ملاحظة : لا يمكن بأي حال من الاحوال استخدام اي برنامج غير مجاني " مع كرك " و بخاصة أن هدفي بالمستقبل ان يكون له استخدام تجاري

تعديل: تم اضافة السؤال 5

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

1- هل يمكن استخدام IDE يعمل في بيئة ويندوز لكتابة تطبيق يعمل على Linux؟

طالما أنك ستستخدم C / C++

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

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

لكن لو استخدمت الجافا مثلاً فنقدر نقول نعم 100%

2 - أي IDE اختار . بحيث يكون مجاني ويحوي ميزات تفيد في كشف الاخطاء و اختبار البرنامج؟

eclipse

او

netbeans

3- أي C_compilers أختار ؟

gcc او g++

4- أنا محتار اي لغة اتعلم C أو C++ لتنفيذ المشروع حيث أنني افضل التركيز على لغة واحدة في الفترة الحالية ؟

اذا حصرت نفسك في هذين الخيارين فربما ++C أفضل لأنها تدعم أكواد السي

لكن لو قررت تستخدم الجافا

فالمفروض تكون البرمجة الشبكية بالجافا أسهل وأوضح وأكثر اختصاراً

5- أخر سؤال : ماهي افضل المصادر للتعلم " مواقع دورات و اسماء كتب " باللغة العربية أو الانكليزية؟

على حسب من أين ستبدأ

لكن لو بحثت في قوقل ويوتيوب ستجد مبتغاك إن شاء الله

اذا ما قررت استخدام الجافا وتريد تعلمها من نقطة الصفر

فعندي دورة في شرح أساسيات البرمجة بلغة الجافا

ولي نية في عمل دورات متقدمة

بالتوفيق

اشكرك على الاجابة ..

ومن الواضح تعلقك بلغة جافا ... فمثلا اجابتك على السؤال الثاني كانت :

eclipse

او

netbeans

وهما مكتوبان بلغة جافا ..

وسوف يكونان اول اداة سوف اجربها ...

اما بخصوص اختيار الجافا .

فلغة جافا لها الكثير من الايجابيات ... ولكن لغة c++ تتفوق عليها من ناحية الاداء .

انا احصيت اشهر 9 برامج DNS سيرفر مفتوحة المصدر وكان 6 منها مكتوبة بلغة c

و 3 مكتوبة بلغة C++

ويمكنني ذكرهم

BIND

DNSMASQ

POWER DNS

PDNSD

POSADIS

ONBOUND

GDNSD

YADIFA

YAKU-NS

مرحبا أخي الحبيب

لا أخفي محبتي للجافا

لكن سبب اختياري لمحررين نتبينز وايكلبس هو أنك تستطيع تشتغل عليهم في الويندوز والماك واللنكس بالإضافة إلى كونهما مجانيين وهما يدعمان السي والسي بلس بلس

وهذا سيسهل عليك الوصول إلى مطلوبك في كتابة الكود في الويندوز ليعمل في اللنكس


أما من ناحية أفضلية ++C بسبب الأداء (وأظنك تقصد السرعة)

فالأفضلية نسبية ولها قيمة محسوسة اذا ما كنت تتعامل مع الـ graphics

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

وأرجوا أن لا تفهم كلامي على أنه مدح للجافا على حساب السي او السي بلس بلس

فأنا لن أنصح ابداً شخص يبرمج بالسي او السي بلس بلس أن يترك تلك اللغتين لأجل كتابة برامج بالجافا

السبب الوحيد الذي جعلني اشير للجافا هو ما لمسته من حاجتك للعمل في بيئات مختلفة وهذا يجعل الجافا خيار أنسب

وكذلك كونك ستبدأ في تعلم البرمجة بالسي والسي بلس بلس من البداية

فأحببت لك أن تعرف أن خيار الجافا متاح لك ايضاً

بخصوص السرفرات المفتوحة المصدر

فأظن كثير منها ستكون بالسي والسي بلس بلس كون هاتين اللغتين أقدم من الجافا

وأعلم بوجود سرفرات مفتوحة المصدر مكتوبة بالجافا

لكن بصراحة ليس لي إطلاع حول أي هذا النوع من السرفرات أفضل وما هي عيوب وإيجابيات كل سرفر

لذلك ربما تكون أفضل السرفرات هي سرفرات السي والسي بلس بلس لأسباب منطقية زائدة عن اللغة البرمجية المستخدمة في انشائها

أتمنى لك التوفيق