Data Structures
- im_tayeh
- 2023-08-23T20:17:13+00:00
السلام عليكم.. سأبدأ بتعلم Data Structures ولكن محتار بين دورتين على اليوتيوب أحدهما بايثون والأخرى جافا (وأنا تعلمت كلاهما) فأي الدورات تنصحوني ؟
ارجو افادتي لمن لديه اطلاع وشكرا.
عند اختيار تعلم هياكل البيانات Data Structures، لا يهم كثيراً إن كان المقرر بلغة Python أو Java.
المهم هو تركيزك على المفاهيم الأساسية مثل:
- المصفوفات Arrays
- القوائم المرتبطة Linked Lists
- المكدسة Stacks
- الطوابير Queues
- الأشجار Trees
- الرسوميات Graphs
وكيفية تنفيذ واستخدام هذه الهياكل بشكل صحيح ومثالي.اللغة نفسها ليست مهمة جداً. يمكنك تعلم هياكل البيانات باللغة التي تشعر بالراحة أكثر فيها.
وبما أنك تعلمت Python وJava، فالاختيار بينهما مناسب. أنصح باختيار الدورة التي تركز أكثر على شرح المفاهيم ويقدم أمثلة و إذا كانت الدورتين متساويتين في جودة المحتوى وأسلوب الشرح، فمن الأفضل اختيار الدورة التي تستخدم اللغة التي تعتزم استخدامها في المشاريع المستقبلية أو التي تعتقد أنها تناسب أهدافك البرمجية.
في البداية دعني اتحدث معك عن ال Data Structure في الحقيقة هذه الدراسة او الكورس عبارة عن هيكيلية البيانات نفسها، بمعنى انك تقوم بتصميم الهيكل البرمجي للبيانات بحد ذاتها، ويعتمد الموضوع اعتماد كلي على ما طريقة البرمجة المشهورة البرمجة الشيئية ولكي تهضم المحتوى بشكل معرفي جيد وتطبيقي يجب ان تطبق بلغة برمجية عتيقة احتوت على جميع انواع الطرق المستخدمة في البرمجة الشيئية وهذا متفق مع ال Java.
وبالمناسبة فان تعلمت ال Data Structure بلغة ال C++ سيكون هذا افضل بمراحل كثيرة، وهذا سيساعدك كثيرا على فهم و هضم المحتوى، وحين فهمها ستستطيع تطبيقها في اي لغة برمجة تريد.
فيما يتعلق بتعلم هياكل البيانات فمن الأفضل التعلم من خلال لغة متوسطة المستوى وليست عالية المستوى مثل Java أو C++، وذلك للأسباب التالية:
- جافا أكثر وضوحًا من بايثون،بمعنى أن جافا تجبر المبرمج على أن يكون أكثر تحديدًا بشأن ما يفعله، مما قد يساعد المبتدئين على تجنب ارتكاب الأخطاء، ومثلاً في بايثون، يمكنك تعيين اسم لقيمة دون تحديد نوعها لكن في جافا، يجب عليك تحديد نوع كل متغير مما يجعل من الواضح للمبرمج نوع البيانات التي يمكن للمتغير تخزينها ومنع الأخطاء.
- جافا أكثر صرامة من بايثون وذلك لأن جافا تفرض قواعد معينة حول كيفية كتابة الكود. على سبيل المثال، في بايثون، يمكنك كتابة كود سيعمل فقط في وقت التشغيل. في جافا، سيحذرك المترجم من أي أخطاء في الكود قبل تنفيذه مما يساعد المبتدئين على تعلم قواعد البرمجة وتجنب ارتكاب الأخطاء.
- جافا أكثر كائنية التوجه من بايثون أي أن كود جافا منظم حول الكائنات، وهي وحدات مستقلة من البيانات والتعليمات البرمجية، والبرمجة الكائنية التوجه هي طريقة قوية لكتابة الكود، وتستخدم في العديد من لغات البرمجة الشهيرة، وتعلم البرمجة الكائنية التوجه يمنح المبتدئين أساسًا جيدًا لتعلم لغات البرمجة الأخرى.
و بايثون تمنح المبتدء الوهم بالكفاءة لأنها لغة نسبيًا سهلة التعلم، ويتمكن من كتابة كود يعمل دون فهم حقًا ما يفعلونه وبالتالي يؤدي ذلك إلى مشاكل لاحقًا، عندما يحاول المبتدئ كتابة كود أكثر تعقيدًا.
بينما جافا تعطي المبتدء فهمًا أفضل لإدارة الذاكرة، وأنواع البيانات، وأشياء مثل تعقيد الوقت time complexity، وغيرها من أساسيات البرمجة التي يحتاج إلى فهمها جيدًا إذا كانوا يريد فهم كيفية عمل هياكل البيانات بشكل أعمق.
وعليكم السلام
يجب أن تسأل نفسك سؤال ، عند تعلم لغات البرمجة جافا وبايثون أي اللغات التي رأيت نفسك بها جيداً وتستطيع الإستمرار بها كمل ومصدر دخل لك . وبعد الجواب على هذا السؤال سوف تستيطع تحديد أي الدورة سوف تختار.
دراسة هياكل البيانات في جافا:-
- جافا هي واحدة من أشهر لغات البرمجة وأكثرها استخدامًا في مجموعة متنوعة من التطبيقات، بما في ذلك تطبيقات الويب وتطبيقات الجوال وغيرها. لذلك، فهياكل البيانات في جافا تكون مفيدة في سياقات مختلفة.
- بسبب شعبية جافا، ستجد العديد من المصادر التعليمية على الإنترنت، بما في ذلك الدروس والدورات والكتب التي تغطي هياكل البيانات والخوارزميات باستخدام جافا بشكل وافر.
- بالنظر إلى أن جافا لغة قوية وقواعدية، قد يكون العمل مع هياكل البيانات فيها تحديًا إضافيًا. هذا يمكن أن يكون جيدًا إذا كنت تريد تحدي نفسك والتعامل مع مفاهيم معقدة.
دراسة هياكل البيانات في بايثون:-
- بايثون تعتبر من لغات البرمجة سهلة التعلم والقراءة. لديها قواعد بسيطة وبنية أكثر تجربة للعديد من المبتدئين، مما يجعل دراسة هياكل البيانات فيها أقل تعقيدًا.
- إذا كان هدفك هو فهم أساسيات هياكل البيانات دون تعقيدات كبيرة، فإن بايثون قد تكون خيارًا جيدًا. يمكنك التركيز على المفاهيم الأساسية بدون الالتفات إلى تفاصيل تقنية معقدة.
- بايثون تُستخدم في مجموعة واسعة من المجالات، بما في ذلك علم البيانات وتطوير الويب والتطبيقات العلمية. لذلك، قد تكون هياكل البيانات في بايثون مفيدة في مجموعة متنوعة من السياقات.
الاختيار بين جافا وبايثون يعتمد على احتياجاتك واهتماماتك. إذا كنت تريد تحديات أكبر وأن تكون قادرًا على التعامل مع تطبيقات متنوعة، فجافا قد تكون الخيار. إذا كنت تبحث عن تعلم الأساسيات بسهولة، فإن بايثون قد تكون الخيار الأفضل.
مرحبا أخي ابراهيم، من الواضح أن لديك خلفية في كل من لغة البرمجة Python و Java، وهذا يمكن أن يكون له تأثير على اختيار الدورة المناسبة بالنسبة لك. عند اختيار دورة تعلم هياكل البيانات، ينبغي أن تنظر إلى عدة عوامل:
- احتياجات المشروع أو الهدف: إذا كنت تعمل على مشروع محدد أو لديك هدف معين يشمل إحدى اللغتين، قد يكون من الأفضل اختيار اللغة التي تتوافق مع هذه الاحتياجات.
- راحتك وخبرتك: إذا كنت أكثر راحة في إحدى اللغتين، فقد يكون من الأفضل البدء بالدورة التي تستخدم هذه اللغة، حيث ستكون تجربة التعلم أكثر سلاسة.
- توافر المصادر: تأكد من توفر مصادر تعليمية جيدة وشاملة للدورة التي تختارها، سواء كانت باللغة Python أو Java.
بالنسبة لمساري أنا بدأت بلغة Java ثم توجهت لل Python . فعندما تكون لديك خلفية في Java، تكتسب فهمًا أعمق للبنية والتصميم السليم للبرمجة، وهذا يمكن أن يسهم في تعزيز تصميماتك البرمجية بشكل عام.
مهما كان اختيارك، من الجيد أنك تمتلك خلفية في كل من Python و Java، مما يمنحك مرونة في اختيار الدورة الملائمة وتجنب أيضًا الاستهلاك الزائد للوقت في تعلم لغة جديدة.
مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.