35

ما هي الأخطاء التي وقعت فيها منذ قررت تعلم البرمجة ؟

  • AB399

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

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

فقلت لما لا أطرح الموضوع فقط كسؤال ليشارك الجميع و تعظم الفائدة.


و هذه هي الأخطاء التي وقعت فيها أنا :

  • ما هي أفضل لغة برمجة : لا تتعب نفسك في البحث عن أفضل لغة برمجة فكلها تستطيع القيام بأي شيئ تريده و تتشارك نفس المنطق إختر أي لغة سواء بايثون - روبي - سي، و إبدأ في تعلمها

  • الإنتقال من لغة لأخرى : فور إنتهائك من تعلم أساسيات لغة ما الشيئ الذي يجب أن تفكر به هو ما هو المشروع الذي سأنفذه الآن و ليس ما هي اللغة التي سأتعلمها لاحقا تعلمك لأساسيات لغة من اللغات ليس كافيا لتقول عن نفسك مبرمج يجب أن تنتج برمجيات باللغة التي تتعلمها حتى تعلق بذهنك و يصبح تعاملك سلسا معها *البرمجة ليست دروس تاريخ *

  • تعلم أشياء متقدمة : لا تتعلم شيئا أنت لست مؤهلا له بل إبدأ بالتدريج (مبتدئ - متوسط - متقدم ......) تعلم الأساسيات مارس اللغة أنتج برمجيات بسيطة إقرأ عن مواضيع تستطيع أن تفهمها و هكذا حتى تجد نفسك تستطيع ان تفهم أي مسألة متعلقة بالبرمجة عكس لو إنتقلت مباشرة لمستوى متقدم ستصاب بالإحباط و لن تتعلم شيئا و تعود بنقطة الصفر


عموما هذا ما تذكرته الآن قد أضيف شيئا و قد أكتفي بمشاركاتكم في التعليقات

شكرا :)

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

التعليقات

16

المشاهدة اكثر من القراءة .. والقراءة اكثر من التطبيق

يوسف سيد أضف ردا

وقعتُ في نفس المشكلتين الأولتين، بالإضافة إلى:

  1. التركيز على التفاصيل، والتزامن في العمل: أكبر مشكلة أواجهها أني إن خططتُ لشيء ولو كان بكسلًا سيضاف تحت لوحة التحكم الفلانية التي لن يراها المستخدم لا أتوقفُ إلا عند صنعه -قد يكون العمل غير موافقٍ لذلك لكني أصر-، والمشكلة الأخرى المتعلقة بهذا أني أتزامن في الأعمال في المشروع الواحد لا أحس براحة عند الانتقال من النقطة A إلى B بدون إنهاء A.

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

  3. تعلم PHP كأول لغة أكتب بها مشاريع: اللغة فيما تصنعه وفي مجالها جيّدة لا محالة، لكن كلغة تجعل المبرمج سيء الكتابة، لا تعرف ماذا يريد مبرمجوها منها؟! كلما وجدواْ شيئًا جيّدًا في لغةٍ نسخوه إليها!، عانيتُ من أجل نسيان التصميم السيء لها، حمدًا لله تخلصتُ منها.

  4. لم أستخدم Git منذ أول شيفرة كتبتها أهلًا بالعالم!

  5. ظني أن القهوة، والسهر، سيزيدان من إنتاجي البرمجي.

  6. في مرحلةٍ ما كنت أظنُ كتابة شيفرات مختصرةً مبالغًا بها هو أمرًا رائعًا!؛ فكنتُ أختصر كل شيء، هو شيءٌ جيدٌ لكن المبالغة به سيئة لا أستطيع قراءة شيفرات تلك المرحلة بسهولة.

تعلم PHP كأول لغة أكتب بها مشاريع: اللغة فيما تصنعه وفي مجالها جيّدة لا محالة، لكن كلغة تجعل المبرمج سيء الكتابة، لا تعرف ماذا يريد مبرمجوها منها؟! كلما وجدواْ شيئًا جيّدًا في لغةٍ نسخوه إليها!

هل يمكنك التفصيل أكثر في هذه النقطة ؟

يوسف سيد أضف ردا

كبداية اِقرأ ردي على @ahmedsaoud31 الأمر يحتاج إلى مقال، للتحدث عن اللا تصميم لـPHP، أكرر مع هذا أكتب بها أحيانًا، لكن لا ينفي ذلك كون اللغة مرقعة.

شكرا أخي يوسف مشاركة جميلة

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

و أريد ان أضيف أيضا :

  • مشكلة تنظيم الوقت من المشاكل الكبيرة التي يقع فيها الكثير حاولت التخلص منها بشتى الطرق و منها طريقة (Pomodoro Technique) لم تفلح كثيرا. فوجدت طريقة ملائمة أكثر و هي وضع أهداف يومية غير محددة بوقت معين لكن يجب إنجازها قبل النوم.
  • PHP ليست بهذا السوء لا تروج لهذا :) صُممت هكذا واعتاد الناس عليها لغة مرنة تعلمتها بعد C و Java أجد إنتاجية أكبر عبرها بخلاف الـلغات ذات النمط القياسي الصارم في كتابة الأوامر كأمثلة Java و Go من تلك اللغات التي أحببت الكتابة بها بخلاف PHP هي Python.
يوسف سيد أضف ردا

صديقي لا تأخذ الأمر شخصيًا اللغة مرقعة، يكفي أن تقرأ عن تاريخها، مثلًا اقرأ كيف كانت في البداية PHP/FI ثم سبحان الله انتقلت كيف إلى الثالث ثم أصبحت لغة كائنية كاملة التوجه!، لا أتكلم عن الـWeakly typed، على سبيل المثال اقرأ الـAPI الخاص بـImageMagick ما هو تصميمه؟ ثم اقرأ الـAPI الخاص بشيء آخر GD مثلًا لن ترى أي منطق، هل هنالك أي نمط محدد في تسمية الدول بعكس لغات أخرى؟ مثلًا filename وarray_filter! وgetallheaders وget_current_user، وجدواْ الأنواع جيّدة بدأوا في تحويل اللغة إلى Strong Typed لا أستبعد أن تكون كذلك كاملًا في الإصدار الثامن!، يكفي أن تقرأ في أي مكان عن تصميم PHP السيء إن كان لها أصلًا تصميم ثابت، مع هذا أكتب بها في الكثير من الأحيان، لكن لا ينفي تصميمها السيء، قد أكتب مقالًا عن هذا النور التجاني

ahmedsaoud31 أضف ردا

صديقي لا تأخذ الأمر شخصيًا اللغة مرقعة

جملة لا أرى منها داع :)

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

  • لا شك أن هذا النمط اللاقياسي يؤثر سلباً على تطوير اللغة ذاتها، ولكن وبسبب الإنتشار الكبير لها يتم تطويعها في سياق قياسي محدد كالمتبع في أُطر العمل مثلاً مما يخفف من وطأه هذه التصميم ويجعله شبه مخفي خلف تصميم الإطار.

لا أعرف لما مبرمجو PHP يشعرون بالإهانة عند التحدث عن ترقيع اللغة، نعرف أنها اللغة رقم 1 في بناء صفحات الوِب، كل ما قلته أنّ تصميمها السيء يؤثر على المبرمج ولم أذكر المشروع ولا ما تفعله اللغة، ولا مقارنة بالوظائف بلغات أخرى، التصميم السيء يؤثر على المبرمج الذي يكتب بها، الكثير -إن لم يكن أغلب- مما رأيتهم يكتبون بهذه اللغة لأول مرة لا يتبعون تصميم معيّن، لا منهجية مجرد برمجة تؤدي الغرض، ووردبريس نفسه لديه من هذا رغم أن أغلب المدونات والكثير من المواقع تستخدمه.

لا أعرف لما مبرمجو PHP يشعرون بالإهانة عند التحدث عن ترقيع اللغة، نعرف أنها اللغة رقم 1 في بناء صفحات الوِب

هدئ من روعك يوسف :) فلم أقل أن اللغة ليست مرقعة أو تصميمها خرافي فقط ما أردت الإشارة إليه أني سئمت مُشاهدة الحديث عن تصميم PHP السيء كُلما ذُكرت كما سئمت سؤال "ما هي أفضل لغة برمجة؟" بالضبط.

يوسف سيد أضف ردا

سبحان الله يأ أحمد كل ما قلته "تعلم PHP كأول لغة أكتب بها مشاريع" بسبب أنها جعلت تصميمي سيء جدًا للشيفرات لفترة طويلة، وأنت ذهبتَ بنا إلى المقارنات وأفضل لغة برمجة :)

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

،

كُلما ذُكرت كما سئمت سؤال "ما هي أفضل لغة برمجة؟"

لم أذكر أبدًا "ما هي أفضل لغة برمجة؟" وقلتُ لك اللغة هي الأكثر شهرة ومن الأفضل في بناء صفحات الويب الآن.

أنا قبل PHP مرررت بـ Fortran,Pascal,C,Java فليس الموضع مدافعة عن اللغة أو ماشابه

لم أذكر أبدًا "ما هي أفضل لغة برمجة؟" وقلتُ لك اللغة هي الأكثر شهرة ومن الأفضل في بناء صفحات الويب الآن.

ذكرت هذا للتشبية فقط، قصدت "بكما سئمت" "كمثل"

رغم أني إفتتحت الموضوع ممازحاً بقولي التالي لم أقصد من وراءه شيء :

PHP ليست بهذا السوء لا تروج لهذا :)

أنت حقا شغوفك بكرهك لPHP يا يوسف وأعتقد أن لك تجربة مروعة معها أليس كذلك؟

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

يوسف سيد أضف ردا

أنت حقا شغوفك بكرهك لPHP يا يوسف وأعتقد أن لك تجربة مروعة معها أليس كذلك؟

لن تصدق إن قلتَ لك أني أحبها، وليس تمامًا ليس لدي تجربة مروعة معها، أستخدمها دائمًا، كنت أتضايق عندما يتحدث أحدهم عن تصميم PHP لكن عندما برمجتُ بلغات أخرى وعملتُ على مشاريع بلغات أخرى، قلتُ ما هذا الهراء الذي كنت أتعامل معه! تعرف من يومين فقط كنت أعدل على مشروعٍ بلغة PHP وقبله كنت أكتب واحدًا،

ما لم أعرف ايصاله إلى @ahmedsaoud31 أيضًا.

طالما مطورووا اللغة مدركون لماضيها الأسود والأخطاء التي فيها ويعملون على إصلاحها وجعلها أكثر تنظيما ..

حتى PHP 5 تحتوي ترقيعات جديدة وتغيرات في الإتجاه للغة!، الأمر حقًا يدعو للسخرية أن تحضر قطة ضالة من الطريق، وتنفخها وتكتب عليها "فيل" تحته عبارة بخطٍ صغيرٍ "ليس قطةً" :)

بالنسبة لي

  1. الجري وراء الدروس بدل التطبيق المشاريع

  2. عدم الذهاب للبايثون مباشرة

  3. ترك بعض الاشياء لأن الناس قالوا لي انها صعبة، لأكتشف لاحقا انها سهلة

الجري وراء الدروس بدل التطبيق المشاريع

التعلم بالتطبيق أفضل شيئ

عدم الذهاب للبايثون مباشرة

لماذا ؟

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

Lama_III أضف ردا

أخي أريد نصيحتك ..

أنا بدأت بتعلم لغة C# ..

الهدف المنصوب أمام عيني حاليًا هو التمكن بشكل متقن من المنطق البرمجي ..

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

فهل تنصحني أن أذهب إلى لغة البايثون مباشرة وأكمل تعلم البرمجة هناك .. أم أنهي تعلمي للغة C# ثم أتمكن منها- لكوني قد بدأت فيها - بعد ذلك يمكنني بعدها تعلم البايثون ؟

شكرًا مقدمًا ..

بما انك بدأت في لغة اكملها للنهاية، فالتخبط سيء جدا.

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

مثلا تفهم الخوارزميات و هياكل بيانات و كيفية عمل الشيء الفلاني حتي لو بدون اي لغة محددة

بعدها تسطيع الذهاب الى اي لغة

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

بالنسبة لي

  • التنقل بين اللغات في محاولة لإيجاد اللغة المثالية

  • متابعة الكثير من الدورات وعدم إنشاء مشروع من الصفر

  • محاولة تعلم أطر العمل والمكتبات البرمجية قبل تعلم اللغة الرئيسية

  • كتابة الأكواد مباشرة بدون تخطيط مسبق

كذلك أنا صادفتني الاخطاء التي ذكرتها ... ولكن أكبر خطأ بالنسبة لي والذي ندمت عليها كثيرا هي حرق المراحل حيث اني لم اتعلم الاساسيات بالطريقة الصحيحة :/

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

  • مشاهدة جميع الدروس دفعة واحدة وعدم التطبيق الا عند الانتهاء

ونتج عن ذلك :

  • الرجوع الا الدروس مرة أخرى للمراجعة

  • التطبيق كان صعب ويأخذ وقت أكبر

    • المشاريع الكثيرة وبدون هدف

ونتج عن ذلك :

  • الانتقال بين المشاريع بين فترة وفترة ودون تقدم يذكر بسبب اختلاط الاعمال والمشاريع فوق بعضها

    • الدخول في المشاريع قبل اتقان اللغة

ونتج عن ذلك :

  • الرجوع الى المراجع تكراراً ومراراً

  • كثرة الأخطاء

    • التردد بن لغات البرمجة

ونتج عن ذلك :

  • التأخر في دخول عالم البرمجة

انا الآن اعاني من مشكلة مشاكل التنفيذ من برامج التطبيقات مثل اندرويد ستديو

sami-abdo أضف ردا

كثرة إستخدام المكتبات الجاهزة ، و دائماً أقول في نفسي (لماذا تريد إعادة إختراع العجلة ؟) ، إضافة للزبائن المستعجلين ، يسألك هل يمكنك تطوير موقع مثل حسوب io في 10 أيام ؟ -_- << هذا مثال رمزي

Kotasha أضف ردا

كثيرا ما كان يجول في رأسي نقطة معينة الا وهي كيف صُنِع الشيء .. لازلت مبتدأ في البرمجة ولكن في البدايات كان مما يسبب لي الصداع هو التفكير بكيف أُسّسَت البرمجة كان تفكيري يعتمد على ان المبرمج يجب ان يكون مستوعبا لأسس ما يعمل عليه، بشكل اوضح : بدأت بالبرمجة على جافا و كنت ارى انّي افقد الكثير مع العلم اني لست مضطرا مثلا لاتقان لغات البرمجة ذات المستوى الضعيف assembly languages ولا تزال هذه المشكلة ترافقني .. اشعر ان هذا المجال يسري بسرعة خيالة و لا ادري أي سرعة يجب ان نتحلى بها لنلحق به و هذا ما يخيفني و ليس فقط ما يقلقني .. فخطئي نفسي و ليس برمجي ..

مجهول
  • حذف بواسطة المستخدم
MohamedEbrahimAli أضف ردا

قصتى غريبة نوعا ما حيث دخلت عالم البرمجة فى فترة ازدهرت فيها لغة بايثون وحازت على إنتشار واسع على الإنترنت .. كل الصفحات والمجموعات والإعلانات عن الكورسات المجانية العربية منها والأجنبية تتحدث عن بايثون .. تعلمتها حوالى 6 اشهر ولم استطع الاستمرار اكثر من ذلك .. اردت شىء يُمكننى من التعامل مباشرة مع الكائنات والواجهات الرسومية .. لم احب فكرة العمل امام الشاشة السوداء لوقت طويل دون إنتاج اى شىء ملموس اللهم غير الأكواد ! .. إتجهت للفيجوال ورغم مرور شهرين ألا إنى أنجزت 6 مشاريع لا بأس بها وأحببتها جدااا لأننى أكتب الكود ومن ثم أشاهد ما أنتجه لى على الواجهات الرسومية هذا ما أريده .. وبالطبع لا أحكم على بايثون انا فقط حكيت إنطباعى عن فترة تعلمى لها وأنها لم تحقق لى ما أردته

إتجهت للفيجوال ورغم مرور شهرين ألا إنى أنجزت 6 مشاريع لا بأس بها

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

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

فى الحقيقة بدءت من الفيجوال بيسك 6 هكذا نصحنى مُعلمى وقد تفرغت أكثر لأتطور سريعاً فى التعلم :))

بعض الأخطاء من تجربتي:

  • عدم الوضوح الأهذاف، لا تتعلم الشيء بمجرد رغبتك في التعلم حدد هذفك أولا.

  • لا تتعلم الشيء حتى تحتاج إليه. تذكر أن الوقت أغلى ماتملك

اكبر غلط

اذهب نحو شغفك وارعب الخصوم واختر اقوى لغة لكي تصعق الجميع من حولك

طبعا الي الان ادخل في هذا غلط