16

ماهي لغة Pascal وما فائدة تعلمها؟

في آخر السنة الدراسية القادمة، يتوجب عليّ الاختيار بين مجموعة شعب، وبمـا أنني أكره كل ما يتعلق بالتاريخ والجغرافيا والأدب، قررت أنني سأختار شعبة الإعلامية..

فبينمـا كنت أقرأ عن ما يتم تدريسه في تلك الشعبة (أفضل أن أدرس كل شيء على الأنترنت، قبل أن أدرسه في الثانوية، لكي أضمن التفوق) قرات أنه يتم تدريس لغة Pascal ... فمـاهي هذه اللغة وما فائدتها؟ وهل ترون أنه يتوجب علي تعلمها؟ أم أتعلم «الجاڥاسكريپت» السنة القادمة، تحضيرا للسنوات التي بعدها؟

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

التعليقات

19

الباسكال لغة قوية جدا خاصة لتطبيقات سطح المكتب, و تطبيقات نظم التشغيل, و لا تقل بحال من الاحوال عن قوة لغة السى و السى++.

حاليا أشهر بيئة تطوير للباسكال هى الDelphi من انتاج شركة امباركاديرو, و تكتب البرامج بلغة Object Pascal و هى لغة الباسكال لكن مع الكائنات. و هى بيئة تطوير شهيرة تستخدم للعديد من البرامج التجارية منها على سبيل المثال لا الحصر برنامج المحادثات الشهير "سكايبى" الذى كتب على الباسكال.

فى الماضى كانت بعض أنظمة التشغيل تكتب على الباسكال, أشهرها على الاطلاق هو MAC OS classic (القديم الذى انتهى فى 1999 و ليس الحالى), لكن الان معظمها يكتب على السى.

أنـا لا أحب البرمجة لسطح المكتب.. إذن لا فـائدة من تعلمها إلا إذا كـانت ضمن النظام التعليمي في الثانوية؟

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

أنا مشكلتي ليس لي توجهات محددة في الدراسة، لذلك وقعت في هذه الحيرة، فلا أرى فائدة من دخول شعبة الإعلامية إذ أنني لست مهووسا بها، إنما هوسي لا يتعدى تكويد القوالب ولا أهتم بباقي فروع البرمجة التي سأمضي 3 سنوات أتعملها بلا فائدة.

شعبة الاعلامية سهلة، لكن الأمر محيّر، يمكن أن أدخل للرياضيات لكنني لا أحبها لكن يمكن أن أتفوق فيها، نفس الشيء للعلوم، الإقتصاد لا أحب دخوله لانني لا احب دراسة الجغرافيا والتاريخ.

أظن النهاية ستكون للإعلامية :/

لا أهتم بباقي فروع البرمجة

الاعلامية ليست كلها برمجة هناك اشياء اخر

سأمضي 3 سنوات أتعملها بلا فائدة.

صحيح البرمجة التي يتم تعليمها في المدارس التونسية لن تنفع 3 سنوات كاملة سوف تمضيها في تعلم اشياء تستطيع تعلمها في سنة واحدة

السؤال المطروح، هل سأجد الوقت للعمل على الواب أثناء الدراسة ؟!

بتأكيد سوف تجد الوقت لكن اقل من الوقت الذي تجده الان

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

أهم نقطة ستدفعك لتعلم الباسكال هي أنها ستعلمك طريقة التفكير وحل المشاكل الرياضية (الخوارزميات)

اه اجل , حتي Pseudocode قريب جدا من الباسكال

كلام المهندس فادي صحيح

لذلك لا أنصحك بتعلمها، تعلم شيء آخر، جافا سكريبت أفضل لك

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

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

إذن، إذا كـان توجهي لبرمجة الويب، فلا فائدة من تعلمها أليس كذلك؟ ... لكن ماذا لو كان يتم تعليمها في الثانوية؟

يمكن برمجة الويب عبر الباسكال لناحية الserver side.

اما من خلال الDelphi و vcl for web الا ان هذا نادر الاستخدام.

أو و هذا الخيار الافضل من خلال Delphi Prism و هى لهجة من الباسكال للASP.Net و تعمل كاضافة على Visual Studio كنتيجة للتعاون بين Embarcadero و شركة مايكروسوفت.

او استخدام الباسكال و واجهة الcgi الا ان هذا أيضا نادر الاستخدام بعض الشىء.

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

15

في السابق كُنت استخدم دلفي لعمل برامج ويب داخلية عن طريق Web Broker بإستخدام ISAPI وقد كانت سريعة جداً، وكان بعض المبرمجون لا يصدقون أنها تعمل من المخدم قالوا أنها ويب في الجهاز الذي استخدمه من سرعتها. ومازال البرنامج الذي عملته بها يعمل إلى اﻵن بدون مشاكل.

في بيئة فري باسكال/لازارس قُمت بعمل framework يُحاكي نفس فكرة الـ Web Broker اسميته FreeSpider لكن بإستخدام CGI بإعتباره يعمل في كل اﻷنظمة، وبعد فترة عملت apache module وهي أسرع وأقرب لفكرة ISAPI. استخدمت هذه المكتبة في برنامج ويب واحد لشركة إتصالات خارج السودان، ومرة عملت بها خدمة ويب لشركة إتصالات في السودان، ويوجد من يستخدمون هذه المكتبة في عدة دول منها جنوب أفريقيا والبرازيل ودائماً يراسلوني، وقد وجدت أنها تم إضافتها في ويكيبيديا في هذه الصفحة:

وهذه هي صفحتها:

قام احد اصدقائي مرة بتحويلها إلى حزمة متوافقة مع الدلفي

أحييك بشدة على هذا العمل الرائع,

قمت بشىء مشابه لكن هذه المرة بالc++ builder,

طلب منى عمل نسخة مخففة من احدى تطبيقات سطح المكتب ليعمل على الويب, و بما اننى لم اعمل من قبل على php او ASP.net, ففضلت استخدام ما اعرفه جيدا,

كان لدى بدايات لكود web server صغير من مشروع سابق لى, قمت باعادة استخدامه و عمل ويب سرفر صغير على سى يعمل على واجهة تشبه الcgi (لكنها ليست cgi), و أضفت مكتبة openssl اليه (و كان ترجمتها على سى++ بيلدر تحدى حقيقى نجحت فيه أخيرا).

يتصل الويب سرفر الخفيف ببرامج سى++ تقوم بتوليد محتوى الصفحات.

الرائع هنا أن الصفحات تفتح فعلا بشكل سريع جدا, و قد اندهش احدى الأصدقاء الذين يعملون بASP.net من السرعة الفائقة للتحميل, و كيف لا يحدث ذلك و ما يولد الموقع هو برنامج صغير لا يتعدى حجمه ال300 kb.

بالنسبة لي شخصياً اعطي اﻷولوية لاستخدام اللغات التي ينتج عنها برامج طبيعية في نظام التشغيل Native بسبب السرعة وعدم ألاحتياج لأي مكتبات إضافية فإن لم توجد فأتحول إلى جافا التي ينتج عنها برنامج تنفيذي أما لغات الـ ٍscripting فلا أميل إليها أبداً، حيث لا احب أن يكون مصدر البرنامج موجود في المخدم.

كلما قل اعتماد البرنامج على برامج خارجية فهذا يزيد من عمر البرنامج مثلاً إذا حدثت ترقية لنظام التشغيل فهذا لا يؤثر عليه.

المشكلة الكبيرة في عمل مخدم ويب من الصفر هو الـ concurrency control اي عند التعامل مع عدد من الطلبات في نفس الوقت، تحتاج لمجهود وحذر حتى لا يحدث access violation أو إنتظار في صف فماذا فعلت أنت بالنسبة لهذا البرنامج؟

سؤال: هل البرامج التي تنتج عن السي بلدر حجمها صغير، لأن الدلفي احدى مشاكله أن برامجه كبيرة الجحم لأنه يضع جزء من مكتبة الـ VCL داخل الملف التنفيذي.

بالنسبة لمخدم الويب فالفكرة الاساسية ان كل طلب جديد من client يتم فتح له Thread جديد, يقوم الthread بالتعامل مع الطلب, و بهذا يمكن فتح عدة طلبات فى نفس الوقت.

طبعا عدد الthreads محدد لأن الذاكرة لن تحتمل اكثر من عدد معين, و قد حددته ب1000 طلب فى نفس الوقت (و هو عدد كافى), و ما زاد عن ذلك سوف ينتظر فى الصف.

أكبر مشكلة بالطبع هى الaccess violations و الaccess overruns صعبة الاكتشاف, و التى تظهر بعد وقت معين, و لكن codeguard قام بعمل رائع, أخذت وقتا فى الdebugging و كانت هناك مشاكل تظهر من memory leak و access overruns و تؤدى الى توقف السرفر عن العمل, لكن استخدمت codeguard و نجحت فى تنقيحه و حاليا يعمل لشهور دون مشاكل.

المشكلة الأكبر هى الامان, حيث ان الويب سرفر هو حلقة وصل بين ملفات السرفر الداخلية و العالم الخارجى, و أى ثغرة أمنية قد تؤدى الى الوصول لجميع ملفات السرفر. حاليا, بما ان الويب سرفر البسيط الخاص بى يعمل لموقع واحد فقط و الweb services خاصة بى, فالأمر سهل و يكفى تحجيمه داخل folder واحد فقط و لملفات معينة,

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

السى++ بيلدر يضمن مكتبات VCL بشكل افتراضى, لكن يمكن حذفها و ترجمة البرنامج بدونها, و قد فضلت ذلك خاصة ان الweb services بدون واجهة رسومية, و بدون اتصال مع database (حيث ان الdatabase موجودة فى ملفات ثنائية عادية), لذا لا حاجة حقيقية الى الvcl.

لكن حتى مع vcl, فان برامج الدلفى و السى++ بيلدر تبقى سريعة و خفيفة, أعتقد انه يمكنك اختيار المكتبات التى تحتاجها فقط, لتقليل الحجم النهائى.

حاليا أفكر فى نشر الويب سرفر للجميع, لكننى لن أفعل ذلك الا بعد اختبار الامان, و دعم الvirtual hosting و الfast cgi عندما أجد الوقت.

الـ Fast CGI من المواضيع المهمة في مخدم الويب، وقد طلب مني الكثيرون أن أقوم بدعمه في مكتبة FreeSpider لكن لم أجد مدخل للأسف، لم أجد وثيقة تدلني على بداية الطريق كما وجدت CGI و الـ apache module. لكن أعتقد أنه موضوع ممتع كونه يعمد على برمجة السوكت ويحتاج لأي يكون البرنامج متعدد المهام، لكن مشكلته أن به تعقيد في تثبيت البرامج التي تعمل به مع الويب.

لن تتوسع كثيرا في دراسة لغة الباسكال في الثانوية فقط الأساسيات لا Delphi و لا Objet Pascal فقط Turbo Pascal 1.5 فهم يعلمونك الباسكال لتتعلم أساسيات البرمجة فقط و تحضيرا للدراسة الجامعية(طبعا إن قررت المواصلة في شعبة الإعلامية) حيث ستتعلم في السنة الأولى c و الجافا في السنة الثانية و الثالثة ، عليك تعلم (الخوارزميات) فإن تعلمتها فلن تجد صعوبة في البرمجة بالباسكال،

و بما أنك مهتم ببرمجة الويب فأنصحك أن تبدأ بتعلم PHP و Java script و SQL لأنك ستحتاجها في دراستك.

السلام عليكم و رحمة الله

لغة الباسكال مما تملكه من عراقة و حداثة في التطور تمزج أيضا معه النسق الأكاديمي

تفضل قناتي فيها دوة للأوبجكت باسكال علها تفيدك و تستطيع تعلمها بسهولة

ثم بمكنك الانطلاق الى اي لغة برمجة أخرى بعد تعلمك للأساسيات و المفاهيم و الخوارزميات

أخي الكريم أنا ايضا تخصصت في شعبة تكنولوجيا الاعلامية و سندرس الباسكال السنة المقبلة ان شاء الله

ما رأيك في الشعبة ؟ و هل ممكن تعطني نصائح ؟