اريد تعلم لغة برمجة وتخايرت بين delphi ;pascal ;vb اريد نصيحة
مادا تنصحوني
صديقي اتركك ممن يبحثون عن تعلم احدث التكنولوجيات في كل مكان انهم فقط مدمنون الاصدارات
هل تعرف ادمان الاصدار دعني اوضحه لك
انت تمتلك شئ ما لا تستخدمه وكلما تجد اصدار جديد منه تقم بتحميله ومع ذلك لا تستفاد شيئا
انت رايت مجموعه عملاء يحتاجون برامج ما بهذه اللغات تعلمها وابداء بتنفيذ مشاريعك وعندما تجد ان هذه اللغات لا تكفيك انتقل لاخري
ويجب ان تعلم ان تحلو النحو الخاص باي لغة لا يعني انك مبرمج اعتبر اللغة كالسيارة ليست المهم نوع السيارة لا كيف تسوق
Delphi افضل قولا واحدا, لناحية السرعة و القوة, و هى لغة تنافس السى++ فى تطوير برمجيات النظام و سطح المكتب. تستطيع استخدامها فى البرامج العامة و البرامج الEnterprise و كل شىء تقريبا.
من ناحية اخرى, VB اسهل كثيرا, و هى موجهة أكثر للبرامج الEnterprise (الحسابات, المخازن, البرامج المعتمدة بشكل كبير على الDB).
VB حاليا هى نفسها C# لكن بSyntax مختلف. شخصيا تبدو اكواد البيسك مقروءة و "أشيك" من اكواد السى#, لكن لناحية اخرى, سى# اكثر شعبية بعض الشىء.
اللغات التي ذكرتها ممتازة في برمجة تطبيقات سطح المكتب، وهي ايضا لغات سهلة، ابدا بأي واحدة، الانتقال من لغة الى اخرى (بعد تعلم الاساسيات)ليس صعبا.
بالنسبة ل pascal انصحك باستخدام lazarus ide
علي العموم هذه اللغات ليست شعبية حاليا (هذا لا يعني انها سيئة) ،لكني اعتقد ان pascal ممتازة جدا للتعلم(هي لغتي المفضلة).
هذه لغات أكل عليها الدهر والأفضل أن تجد غيرها ان كنت تريد تطبيقات سطح مكتب تعلم سي شارب أو سي بلس بلس مع qt أو تعلم جافاسكربت وتطوير تطبيقات الويب
Delphi ما تزال مستخدمة بشكل كبير فى كل مكان, و خصوصا فى تطبيقات سطح المكتب.
QT بطيئة و مجرد فوضى اكثر منها مكتبة! و لا تقترب حتى من مكتبات VCL الشاملة و السريعة و المرتبة بشكل جيد.
جافاسكريبت ليست لغة برمجة بالمعنى المفهوم, بل هى script لتصميم صفحات ويب تفاعلية.
سى# هى ليست بديل لسى++, بل هى "تسهيل" موجه اساسا للمبرمجين المبتدئين (اعذرنى) او للenterprise التى تعتمد بشكل كبير على الDB اكثر من البرمجة نفسها ( و بالتالى لا تحتاج الى لغة سريعة لأن المعالجة تعتمد بالأساس على محرك الDatabase و المكتوب على سى++ بالمناسبة!)
نفس هذا الكلام ينطبق على VB حاليا, فهى نفسها C# لكن مع syntax مختلف.
الDelphi هى البديل الوحيد لسى++ حاليا, فاذا اردت برمجة احترافية و لا تحب سى++ لسبب أو لأخر, فتقريبا بديلك البديهى الوحيد هو دلفى.
دلفى تعتمد على لغة باسكال, و هى لغة "أشيك" من سى++ و اسهل فى القراءة.
لا اعرف حقا ما المترجم الذى استخدمته, لكن يمكن بالطبع طباعة متغير ذى قيمة عشرية بشكل صحيح! و هذا شىء فعلته و متأكد ان ملايين غيرى فعلوه دون مشاكل!
فى formatting output انت تدخل طول العدد الاقصى و هذا المفترض ان يكون معروفا او متوقعا, الأمر نفسه فى سى++ اذا اردت تحويل الرقم الى متغير حرفى (دالة gcvt).
عموما فى Delphi فان مكتبات VCL توفر وسائل أسهل لاخراج المتغيرات العشرية مثل formatfloat
وكيف عرفت قيمة المتغير؟ هل قمت باستخدام ال debugger ؟ ربما خطأ في حساباتك
الدالة formatfloat موجودة في المترجمين Free pascal و delphi وهي تستخدم لتغيير ال format وليس القيمة
وكما قال فادي
ملايين غيرى فعلوه دون مشاكل!
هل يمكن ان ترينا الكود الذي تسبب في المشكلة؟
اولا الحاسوب يقوم بتقريب الكسور ، يعني طول (او دقة) الرقم محدودة لذا النتيجة صحيحة
4.99999999999999999979E-0004 = 0.0005
و الرقم 0.0005 هو رقم دوري في النظام الثنائي
يمكنك استخدام
WriteLn(FormatFloat('0.######################',x));
اعتقد ان عدد المنازل العشرية اكثر من كافي
اذا لم تكن تعرف برمجة بعد انصحك بالبايثون (اغلب كورسات مخادل واساسيات البرمجة خاصة كائنية التوجه موجودة على منصات الموك العالمية تستعملها ) كما انها لغة سهلة / قوية / متعددة استعملات وهي حاليا تتصدر ترندات المستقبلية اي ذكاء اصطناعي / بيغ ديتا / الى اشياء العمومية مثل برمجة تطبيقات ومواقع
فهي تدمج بين بساطة و قوة (في نفس الوقت التي توجه للمبتدئين . منظمات كبرى مثل الناسا تستخدمها في اعمالها )
بالمناسبة فازت البايثون بلغة العام 2018 في موقع تيوبي الشهير لتصنيف لغات برمجة وتوجهاتها
التعليقات