سؤال للمبرمجين والمهتمين بشكل عام بمجال البرمجة
- Amira3
- 2017-11-04T11:09:43+00:00
دائمًا ما يُقال عن البرمجة أنها مجال معقد جدًا، وأنه يصعب التميز فيها، سؤالي : بالنسبة لشخص لا يعرف أي شيء عن البرمجة هل بإمكانه تعلمها والتميز فيها فعلا؟
من أين يبدأ؟ وما هى المصادر لتعلم هذا المجال بإتقان ؟ ولا بأس أن تشاركوني بتجاربكم في هذا المجال خصوصًا في البدايات ..
هناك كلمة أحبّها في اللغة الإنكليزية
Hard تصف شيئا" يحتاج الكثير من الجهد لكنه متاح لأي شخص ذو قدرات عاديّة
و كلمة أخرى
Difficult هناك إحتمال للفشل في تلك المهمة حتى ولو كانت جهودك كبيرة فهي تتطلب قدرات خاصة (مستوى ذكاء معين, سرعة تعلم)
دعينا نعد للسؤال التي تسألينه :
البرمجة حرفيّا" Hard, ليست Difficult أبدا" (آسف أقحمت الإنكليزية لكي تميزي أكثر)
أؤمن بقدرة أي شخص عادي على تعلمها و الحصول على العمل إن أعطاها وقتا" و جهدا" مناسبين
ما تحتاجينه :
أن تبدأي الآن
ألا تيأسي فكلنا نواجه مشاكل مستعصية و نتجاوزها
أن تحاولي تعلم الإنكليزية إلى جانب تعلم البرمجة, عند مرحلة ما للأسف المحتوى العربي لن يكون مفيدا"
ما لا تحتاجينه"
المثبطين سواء كانوا داخلك أو من محيطك الخارجي
أنت تسألي "ما هي أفضل لغة" "أفضل framework"
من بين كل المعلقين هنا، أرى أنك أنت و
@zomorroda من وفقتما لأفضل إجابتين.
فتعليقك أجاب عن تساؤل @Amira3 الأول:
بالنسبة لشخص لا يعرف أي شيء عن البرمجة هل بإمكانه تعلمها والتميز فيها فعلا؟
بينما تعليق zomorroda@ أجاب عن تساؤلها الثاني:
من أين يبدأ؟ وما هى المصادر لتعلم هذا المجال بإتقان ؟ ولا بأس أن تشاركوني بتجاربكم في هذا المجال خصوصًا في البدايات
.
just thought I should say this
nope
كلا لا يمكن تعلم البرمجة، و كل المبرمجين خرجوا من بطون امهاتهم مبرمجين.
مرحبًا اميرة ^^
ما ستقرأينه هنا هو فقط من تجربتي البسيطة، والاطلاع على تجارب الاخرين.. اتمنى ان تجدي ردًا من اهل الخبرة فيها..
اقترح عليكِ التالي:
1) ضعي هدفًا واضحًا من تعلمك البرمجة، كأن تستهدفين مجال التطبيقات ولديك افكار فيها، او تستهدفين برمجة الالعاب، او المواقع...
2) بعد تحديدك للهدف، قومي بالبحث عن لغات البرمجة التي تلبي هدفك، وستجدين ملايين الاجابات عن السؤال الاسطوري (ما هي افضل لغة برمجة لأتعلمها).. في الواقع هذا السؤال من الصعب جدًا الاجابة عليه دون معرفة هدف المتعلم... وإن لم تحددي بعد هدفك، فقومي بالبحث عن المقارنات بين اللغات، وستجدين ألف سبب لتعلمها وعندها ستكون الرؤية اوضح لديكِ...
3) بعد ان تتخذي قرارك -الصعب -، حددي افضل طريقة تعلم لديكِ..
هناك من يتعلم بإنضمامه لدورة تعليمية من مواقع مثل يوديمي، كورسيرا، ادراك، وغيرها... وهناك موارد جيدة متاحة باللغة العربية ولكن ستجدين اكثر منها باللغة الإنجليزية...
هناك طريقة أخرى لتعلم البرمجة، كونها مهارة فهي تعتمد على نتاج تعلمك او المشاريع المنجزة كمؤشر للتعلم، حيث تضعين فكرة محددة في بالك، لنقل مثلًا انك تودين بناء تطبيق يفهرس الكتب المنزلية، وستنطلقين من الصفر. سيتطلب منك البحث عن لغات البرمجة الخاصة ببناء التطبيقات، والادوات المستخدمة كمحرر الاكواد، او البيئة البرمجية -ليس لدي الكثير من المعرفة عنها للاسف-، وهكذا وانتِ تمضين... ابحثي عن كل شيء، حتى عن الخط الزمني لانجاز التطبيقات مثلًا، في البداية ستشعرين ان الاشياء التي لا تعلمينها لا حد لها، ولكن واصلي فليس كل شيء تحتاجينه الآن... ولهذا اقول لكِ ضعي هدفًا..
ستثبّتين العديد من الاشياء التي لا تعرفينها، وستكتبين العديد من الاسطر التي لا تعلمين لماذا تعمل ولماذا لا تعمل... فقط وااصلي، وابحثي...
4) الآن لديك هدف، ادوات، طريقة تعلم، يبقى عليكِ ان تنضمي للمجتمعات التي تستهدف الموضوع، ستستطيعين تقييم نفسك وتعلمك، سترين كيف يبرمج الآخرين، وهذا امر ممتع، ستجدين اختلافات وتنوع في كيفية عمل الآخرين... وهذا يطورك اكثر...
اتمنى لكِ التوفيق للخير اميرة ^^
بالرغم من أني مبتدأ لكن حتّى الآن لم أرى أي شيء صعب فيها.. بل من المجالات الأسهل للتعلم على الإطلاق من بين العديد من المجالات التي عملت فيها سابقا.. والتي كنت أتساءل دائما كيف يمكن لهؤلاء الحمقى "رؤسائي في العمل" كيف يجدون حل لتلك المشاكل التي تجعلني عاجزا.. مقارنةً بالبرمجة تلك المجالات معقدة أكثر.. لكن بما أنك تسألين هل يمكن لشخص عادي.. فهؤلاء الحمقى بالرغم من مرونتهم الكبيرة في أعمالهم لكن لا ولن يستطيعوا أبدا أن يفهموا سطر كود واحد في البرمجة لأنهم بعيدون كل البعد عن التكنلوجيا وهذا بيت القصيد ان كنت تريدين أن تقيمي نفسك أقادرة أم عاجزة..
ان كنت تفهمين في هذه النقاط التي سأذكرها لك الآن فلن يشكل لك تعلمها أي مشكل على الإطلاق:
هل تجدين تنصيب أنظمة الحاسوب؟ ويندوز على الأقل
هل أنت مرنة في استخدام لوحة المفاتيح واختصاراتها ك ctl + x مثلا
هل لديك دقة وسرعة في استخدام الفأرة
هل تعرفين بروتوكول الأنترنت tcp/ip؟؟ أمزح 3:
المهم لا تستغربي من هذه النقاط التي ذكرتها فأغلب الأشخاص الذين يرون البرمجة غامضة جدا -ومنهم زملائي في الدراسة وأصدقائي) هم يعانون في النقاط التي ذكرتها فوق وبالتأكيد سيعانون أكثر مع البرمجة وهذا ما يحدث فعلا.. هم بطيؤون جدا في استخدام الحاسوب.
وبالنسبة لأين ستبدئين فسأحيلك لموقع/تطبيق مليء بالحياة والناس المهتمة وأفضل انطلاقة لك وهو sololearn.. فقط اختاري لغة وانطلقي.. والجميل في الأمر أنك ان تعلمتي أساسيات لغة واحدة فاللغات الأخرى تستطيعين الالمام بها في يومين أو قل أسبوع على الأكثر كما حدث معي بدأت بالسي++
وأنا الآن أتعلم الجافاسكريبت واندهشت أنّ نفس طريقة كتابة كود الأولى هو نفسه في الثانية حرفيا D:
بالتوفيق!!
- حذف بواسطة المستخدم
لا تحرجني 3:
توقفت عند الoop وأحتاج اعادة البحث والتعمق في فهم الpointers لأنها مستعصية قليلا والأمثلة التي يضعونها في الدروس سطحية للغاية (لحد الآن هذا هو الشيء الوحيد الذي يقلقني عند هذا المستوى الذي أنا فيه) لكن وضعت السي++ جانبا وبدأت في تعلم الويب لأنّ النتائج أسرع وأنا الآن في الجافاسكريبت عند الoop أيضا :D لا تقلق السي++ من بين اللغات التي لن أتخلى عنها أبدا :)
- حذف بواسطة المستخدم
تعلم لغة Brainfuck وستتقن المؤشرات بشكل جيد :) @Mostafa_36a2
السلام عليكم ورحمة الله تعالى وبركاته،
أود أن أبدأ ردي بالإشارة أو التنويه لمبادرة جديدة لتكوين المبرمجين العرب أو النهوض بالمجتمع العربي في هذا العلم ذو المستقبل الواعد. يمكن التسجيل في كطالب في الموقع الخاص من هنا:
أما التعلم أو إمكانية التعلم من ما هو موجود أو متوفر حاليا. فتمت الكثير من الدروس، الدورات التعليمية، المقالات وغيرها الكثير التي ستمح لأي شخص كان أن يتعلم البرمجة وعلوم الحاسوب وكل ما ينبثق عنهما من علوم أو تفرعات بشكل سهل، تلقائي وعفوي. وسوف أقوم بتقسيم الإقتراحات إلى قسمين بحسب لغة المحتوى (العربية، الإنجليزية).
أولا : العربية
إدراك
الموقع: https://www.edraak.org
منصة حديثة أنشأت من قبل جامعة أردينية (لا أدرك الاسم ولا أود البحث عنه) وجامعة MIT التي قامت بتطوير موقع edx. في الحقيقة إدراك تستعمل نفس نظام edx الذي تم إطلاقه كمشروع مفتوح المصدر تحت تسمية https://open.edx.org/. وهذا النظام من تطوير فريق مدعوم من قبل جامعتي MIT و Harvard. وسوق نقوم بالتحدث عن تلك المنصة في قسم المواقع الإنجليزية.
ما يهمك في الموقع أنه يحتوي على دروس في البرمجة وعلوم الحاسب. ويكنك البداية هناك، لأن التعليم أكاديمي بحت. هناك درس في "مقدمة في علوم الحاسب والبرمجة بلغة بايثون" قدم في edx ونقل إلى منصة إدراك مع إدخال بعض المحتوى العربي بالإضافة للترجمة وغيرها من الأمور. وهو درس رائع إلا أن الأستاد الذي يدرس سيشعرك بالنعاس في غالب الأحيان.
رواق
الموقع: https://www.rwaq.org
منصة أخرى عربية فيها دروس راقية، ويمكنك البدأ هنا لتفهم قواعد علوم الحاسب وحتى بعض المواضيع المتقدمة في البرمجة، وبرمجة الألعاب. العيب الوحيد أن المنصة ما زالت تعتمد على نظام الدورات والدروس تغلق بعد نهاية دورة معينة ولا يفتح حتى دورة قادمة. لا أدري إن تم إضافة (self-paced) إلى دروسهم بعد.
مهارة
الموقع: https://www.maharah.net
منصة أخرى تشبه منصة udemy الإنجليزية (udemy تدعم كل اللغات على كل حال ولكن أغلب الدروس بالإنجليزية، الإسبانية). يمكن لأي شخص يريد التعليم أو تقديم دروس في مجال ما، إنشاء درس في هذه المنصة. بغض النظر عن ذلك، هناك دروس رائعة فيما يخص البرمجة.
ولكي لا نظلم حسوب، هناك أكادمية حسوب التي تقدم بعض الدورات التعليمية من إن شاء المجتمع كما تقدم بعض الدروات المدفوعة من فريق منتقى.
ثانيا: الإنجليزية
هناك مواقع مثل موقع إدراك والذي تندرج تحت صنف MOOC. مثل edx، coursera. وهما من الرواد في هذا المجال ولديهم يد الفضل في تطويره. توجه هتين المنصتين أكاديمي بنسبة 90% ولكن في الآونة الأخيرة سمحوا بعض الشركات الرائدة بالدخول واستخدام المنصة لتقديم مساقات في مجال تخصصها.
udacity
الموقع: https://udacity.com
موقع رائع، دروسه كلها مجانية وأنشأت بالتعاون مع الشركات الرائدة في مجال التكنولوجيا والبرمجة مثل github، Google، Amazon، Facebook، A&T وغيرها من الشركات. وعندهم ايضا نظام الـ "Nanodegree" حيث يمكن للمتعلم التسجيل في دورة. بدفع مستحاقتها الشهرية التي تعد باهظة الثمن لأغلب المستخدمين العرب (لا تقل عن 200$ شهريا). وما يفرق هذه الدورات عن الدروس المجانية، هي المتابعة من قبل فريق تدريس، مع مدرس دائما، والحصول على شهادات ذات وزن ثقيل أغلبها ممنوح من الشركة المشاركة في الدورة مثلا (شهادة مطور أندرويد من جوجل). بالإضافة لوجود بوابة تابعة لنفس الموقع التي تربط المتخرج بشركة ليبدأ العمل حالما ينتهي، أو تم إعادة مستحقات الدورة أو نصفها على حسب ما ذكر في مواصفات الدورة. تخرج أيضا بمعرض لأعمالك في الدورة والتي تعد مشاريع في المستوى المحترف لمجال الدورة وبذلك يمكنك استعماله للعمل في شركات عالمية ببساطة.
Udemy
الموقع: https://www.udemy.com
موقع آخر رائع ومفتوح، يمكن لأي كان أن يقدم دروس فيه (بالطبع هناك نظام مراقبة وقبول للدروس). ويحتوي على موسوعة من الدروس فيما يخص البرمجة بمختلف أشكالها وألوانها.
Pluralsight
الموقع : https://pluralsight.com
موقع من شركة مايكروسوفت في الكثير من المدرسين المنتقين بشكل ممتاز، ويختص في البرمجة وكل ما يتعلق بعلوم الحاسب مع التصميم وغيرها من الأمور التي تمشي معا. يمكنك الحصول على حساب مجاني لمدة ثلاثة أشهر في الموقع من خلال برنامج الدمع الخاص بمايكروسوفت (Visual dev essentiels) والذي يمنحك عدة مساعدات تشجيعا لك للبدأ باستخدام تكنولوجيا وأدوات مايكروسوفت ولكن يمكنك استعمالها في اشباع رغباتك في العلوم والمجالات الأخرى كذلك (بالطبع كل المواقع تدور حول علوم الحاسب والبرمجة وغيرها من الأمور المشابهة).
أكاديمية مايكروسوفت (
كل ما فيها مجاني وفيها بعض الدروس القاعدية ولكن أغلب الدروس المقدمة فيها لمسة للشركة. في الآونة الأخيرة أصبحت تقدم دروسا متنوعة.
هناك أيضا مواقع مثل
وغيرها التي تقدم جو تفاعلي للطالب وكلها مجاني ما عدا codeschool وتبعتها codecademy في محاولة لجني بعض الأموال من برامجها المجانية. الدروس المقدمة هنا جيدة ومناسبة للمبتدئيين.
كما يجدر بنا ذكر freeCodeCamp الواحد الجديد للساحة (أصبح قديما الآن) ولكن سرعة تطوره وهيمنته في مجال تعليم تطوير المواقع كانت مبهرة. بالإضافة إلى أنه مجاني ومشروع مفتوح المصدر ويملك مجتمع نشيط وجاد لحد الإعياء. يمكنك تعلم الكثير هنا حتى لو كنت تعد نفسك محترفا. أنصحك بالدخول إلى هذا الموقع والتسجيل فور قراءتك لهذه الأسطر. لن تندم أبدا (سنحرر الحلبة من كل الشرور - النمر المقنع ههه).
يمكنك زيارة الموقع من هنا
أفضل درس للبدأ في هذا المجال هو درس مقدم من قبل جامعة هارفرد من طرف أستاذ يدعى دايفيد جي مالن، وهو يدرس درس بعنوان CS50 : Introduction to computer science أو مقدمة في علوم الحاسب. والدرس يحضى بتطوير جيد وعلى مدى السنوات الفارطة (منذ سنة 2012) وأنا أتابعه، درس ولا أروع. يمكن الإطلاع على الدرس من خلال موقع الرسمي، أو التسجيل فيه من خلال منصة edx.
كما يجدر بنا الذكر أنا المبادرة المذكورة أعلاه لها جوائز قيمة من أفضلها منحة لـ nanodegrees من udacity للطلاب الألف الأوائل في البرنامج على مدى 8 دورات.
تعبت من الكتابة الآن، لكن يمكنني الإجابة على تساؤلاتك في الردود.
- حذف بواسطة المستخدم
ابتسامة:) رد تلقائي جميل لا يدعو للتسليب.
أن تَفْهَمي كَلِمة "برمجة" على أنّهَا "ترجمة" شَيءٌ عَادِي وَالبَشر دَائِمًا ما يُخْطِئُون ،، وَلكِن أن لا تَقرأي بَقِيّة المُسَاهَمة وتُعلّقي مُباشرةً ، فَهذا شَيءٌ لا يُغْتَفَر .
حسوب أصبح غريب في الأونة الأخيرة . الشخص الذي يستحق التسليب لم يسلب بينما أنت سلبتي
انا ايضا اسلب ولا ادري لماذا
اريد ان اضيف موضوع لكن لا استطيع
بسبب التسليب
حاول التعليق بأشياء مفيدة وستحصل على تقييم إيجابي
إن كنت جديد هنا أنصحك بقراءة شروط الاستخدام
لا تكتب تعليقات لا تضيف أي فائدة للنقاش
أضن أن هذا سبب تسليبك في هذا التعليق
كنت مهتم بالبرمجة وتعلمها في المرحلة الثانوية ولكن لم يكن لدي الشغف الكامل للبدء في تعلمها، دخلت كلية الحاسبات وفي أيام ما قبل بدء الدراسة وجدت سلسلة فيديو لتعلم برمجة السي بلس بلس وبدأت فيها وأنهيتها وكنت قادراً على استخدام ما تعلمته في هذه الدورة. انا بطبيعة حالي أحب تنفيذ الأفكار، فدائما ما تأتي لي أفكار لمواقع او تطبيقات وأريد تنفيذها، لذا قررت الانتقال إلى تعلم لغة الجافا والاندرويد. أنهيت دورة عبدالله عيد في وقت قياسي لأني كنت على علم مسبق بمعظم الدروس الموجودة فيها. أنهيت الدورة ووجدت اللغة مملة وأني لن استطيع إكمال تعلم الاندرويد الان. كنت أريد التخصص في تعلم الآلة وأنا أقوم بالبرمجة كهواية لا أكثر حتى الآن، فبدأت بتعلم لغة البايثون ومن لحظتها وانا مستمتع بالبرمجة بالبايثون. إليك خلاصة تجربتي في بضع نقاط :
1- تعلم البرمجة طريق طويل وشاق، عليك التحلي بالصبر وأن تعملي بجد.
2- لا مانع أن تقومي بتجربة أكثر من مجال حتى تعلمي إلى أيهم تميلين.
3- لا تندمي على تجربتك أكثر من مجال، فعندما تجدي ضالتك ستكتشفي أنك لم تكوني على خطأ.
4- قمي بالتعلم من دورة واحدة او كتاب واحد فقط، أنصحك بمشاهدة سلسلة فيديو على اليوتيوب ثم الانتقال إلى التعلم من كتاب كامل.
5- قمي بتطبيق ما تتعلميه في كل فيديو، إذا لم تقومي بكتابة أي كود فستكتشفي أنك لم تتعلمي أي شئ.
6- إذا وجدتي نقطة أو جملة لم تفهميها، هناك جوجل و stack overflow ويمكنك مشاهدة فيديو من سلسلة أخرى تتحدث عن تلك النقطة.
7-لا يوجد لغة برمجة مُثلى، أنت تقعي في حب واحدة منهم وفقط.
8- عندما تشاهدي اول مشروع لك، سواء كان تطبيق للهاتف او موقع ويب ويفضل أن يكون برنامج يستطيع استخدامه أشخاص آخرين حتى ولو كانوا أصدقائك فقط، وتسمعي تجربتهم في استخدامهم لبرنامجك سيزيد شغفك وتقومي بتحسينات وبالتالي التعلم أكثر.
لماذا اخترت البايثون ؟
أستطيع برمجة تطبيقات سطح المكتب ومواقع الويب واستخدام مكتبات الذكاء الاصطناعي واللغة سهلة في كتابتها جداً.
إليكِ المصادر التي أرشحها لك لبدء البايثون:
1- سلسلة فيديو بسيطة يمكنك البدء بها :
2- كتاب learning python 5th edition
بالتوفيق
مرحبا,
أول سؤال لا يمكن الاجابة عنه بشكل دقيق لأنك اعلم بما تستطيعين فعله علي العموم كل ما تحتاجين هو ان تكونى شغوفة بالكمبيوتر على العموم وتكوني شغوفة بالبرمجة نفسها ان يكون باستطاعتك الجلوس على الكمبيوتر لمدة ايام متتالية لا تقومين الا لحاجة لا اطلب ان تفعلي فقط ان تكونى تستطيعين ذالك لأنك قد تضطرين :) .
ابدئي بتحديد نوع البرامج التي تريدين برمجتها (اذا كنت لا تعلمين فهي تستخدم لبناء البرامج :) فقط امزح أُقسم) ثانيا قومى بالتعلم اكثر عن المنصة التي اخترتي كيفية عملها، وكيفية عمل البرامج عليها ، مثلا برامج الويب تعلمي اكثر عن طريقة عمل المتصفح ، ثالثا سواء المنصة التي اخترتى (بما انك مبتدئة انصحك ببرامج الويب او المواقع) غالبا تكون برامجها تنقسم الي قسمين قسم الواجهة وقسم آخر خلفي مثلا في الويب القسم الخاص بالسيرفر ، بعد القراءة والاطلاع علي هذه الامور ستضح لك اللغة او التقنية التي تريدين البدء بتعلمها اختاري فقط ما تحبين ومن ثم ابدئي عملية التعلم بالكتب او دورات فيديو .
المصادر كثيرة : lynda, udemy, hsoub academy حسوب لديهم دورة للواجهات .
تجربتي : اول بداية لي كانت مع كتابٌ ولغة HTML قمت بالقراءة وبعد ان قرأت اول فقرة بعد المقدمة كان المؤلف يطلب فيها ان افتح المفكرة في النظام ومن ثم اكتب الكود المرفق واقوم بحفظ الملف واكتب بعد اسمه .html واقوم بفتحه في المتصفح عبر الخطوات التي يخبرني بها لقد اكتشفت لاحقا انني قمت بكتابة البرنامج الأشهر فى العالم كنت سعيداً جدا واقول في داخلي نعم لقد فعلتها لقد قمت بشيء مذهل :) للأسف لم يكن بجانبي من يشاركني لأنه لم يكن هناك من يعرف ما اقوم به .
بعض النصائح المهمة :
عليك بالصبر - ثلاثاً
قومي بتطبيق اي مثال تأتي عليه عيناك - ثلاثاً
لا تلقي بالا لكل النصائح التي يخبرونك بها هي فقط نصائح وانت بالتأكيد افعلي ما تحبينه مثلا اثناء تعلمك للبرمجة عندما تجدين صعوبات لا تتذكري اووه لقد قيل لي انها صعبة فعلا انها كذالك سأتراجع تذكري فقط انك تتعلمين مهارة لم تكوني تعرفينها هذا كل شيئ.
حاولي دائما ان تصلين للنتيجة بدون ان تسئلي .
أرجو لك التوفيق
هذا تحديداً ما أفعله أنا في تعلم لغة HTML، بدأت من ثلاثة أيام وأجدني مستمراً إن شاء الله
- حذف بواسطة المستخدم
صدقت في ما قلت بخصوص البرمجة .
أنا لم اقل انها يجب ان تصبر اياما وهي جالسة امام الكمبيوتر كي تتعلم البرمجة فقط قلت ان تكون تستطيع وكان هذا ربما مبالغة مني في شرح انها يجب ان تكون شغوفة بالكمبيوتر حتي انها تستطيع الجلوس امامه لأيام لا تنصرف الا لحاجة صلاة او نوم او ماشابه ، كما اني قلت "لا يجب عليك ابدا فعل ذالك" لأنه ربما يضر بصحتك مع الوقت ، كما ان خاتمة كلامي قدمت لها نصيحة ان كل ما تقرأه هو مجرد نصائح وهي تفعل ما تراه مناسبا ، وانها فقط ستتعلم مهارة جديدة كانت تجهلها فإذا ما لاقتها صعوبات تتذكر أنها لا تعرف هذه المهارة وانها تتعلم فمن الطبيعي ان تلاقي في بعض الأحيان صعوبات .
وبالنسبة للوصول للنتيجة بدون سؤال كانت نصيحة مني لها عن تجربة اذا واجهتك مشكلة ابحثي اقرئي وارجعي للمراجع التي كنتى تتعلمين عن طريقها وستجدين ان هذه الطريقة مفيدة جدا لك مع الوقت حيث تتعلمين اشياء جديدة وبعد ان لا تجدين النتيجة او ترين انها صعبة او تحتاج للمزيد من الشرح يمكنك بالطبع السؤال عنها في احد المواقع المعنية بذالك مثل مجتمع البرمجة هنا - ولم تكن النصيحة ولا اي من كلامي أفترض فيه او اتعصب انها يجب ان تقوم بهذا كي تتعلم مهارة ما :) لا علاقة للأمر بكلامي .
وشكرا لك كلامك صحيحٌ كل ما في الأمر انها مهارة جديدة ويجب بذل بعض الجهد في تعلمها .
بالنسبة لشخص لا يعرف أي شيء عن البرمجة هل بإمكانه تعلمها والتميز فيها فعلا؟
البرمجه طريقه تفكير اكثر من كونها كتابه اسطر برمجيه.
الشخص المبرمج اسلوب تفكيره وتحليله للامور اسلوب رياضي Mathematical Thinking or Computational Thinking
الشخص الذي يفكر بهده الطريقه ويحلل الامور بشكل رياضي يستطيع ان يبرع في البرمجه، هدا الامر قد يكتسب بالفطره وقد يكتسب بالتمرين.
من أين يبدأ؟ وما هى المصادر لتعلم هذا المجال بإتقان ؟
البرمجه تبدأ من فهمك لطريقة عمل الحاسوب، فهم ماذا يعني نظام تشغيل وكيف اليه عمله، ماهي وحده المعالجه CPU كيف تقوم بمعالجه البيانات وماهي وحده التخزين المؤقته RAM، ربما تكون هده الامور مؤلفه لمعظم الناس بشكل نظري لكن فهمه بشكل دقيقه ومعرفه اليه عملها هي تعتبر من اساسيه البرمجة.
الخطوة الثانيه تبدأ من تعلم لغه برمجه تستطيع من خلالها كتابه الاسطر البرمجه لحل مشكله ما.
تعلم البرمجة يحتاج ان يكون الشخص قارئ ومطلع على جديد التقنيه اول بآول
من افضل المصادر لتعلم البرمجه قناه thenewboston
هناك مايعرف بال bootcamp منتشره حول العالم وتوجد في بعض الدول العربيه، وهي عباره عن كورسات وورش عمل مكثفه لاتقل عن 3 اشهر تنظمها مؤسسات دوليه ومحليه مفيده جداً، يمكنك البحث في قوقل عن bootcamp programming.
اخي الكريم قبل دخولك هذا العالم انصحك بعدم العجلة و عليك بصبر و تذكر انه عليك بتدريب عقلك جيدا على المنطق لان البرمجة منطق اي لا يوجد شيء عشوائي في البرمجة
كذلك عليك تعلم اساسيات جيدا و فهمها و تذكر اذا اتقنت لغة واحد و عرفت كيف تتعامل معها فيمكنك تعلم اي لغة برمجة تريدها لان عقلك اصبح يعرف المنطق للغة البرمجة
برمجه مستويات
فيها البسيط html/css و متوسط c# , جافاا و معقد ك c++ و معقد جداا ك c و اسمبلي و برمجه هاردوير
العالم عربي يحتوي مستوى الاول و ثاني لا اكثر
ال c معقدة جداً ؟ غريب
هذه اول لغة اتعلمها و اجد الأمور سهلة
ربما لأنني في البداية فقط
حسناً لدي سؤال
ما هو سبب تعقيها برأيك و ما هو المميز بها او فائدة هذا التعقيد مثل هل هي اقري للغة الألة من ياقي الغات ( الأمر الذي اشكك فية فقط كمثال )
صحيح لم لجد دورات عربية تشرح الc لذلك قمت بشراء كتاب على عكس لغة الجافا التي يعج بها الأنترنت
انت تعلمت syntax لغه لا اكثر
c لها قدره لتتعامل مع هاردوير فهي تبسيط للاسمبلي لا اكثر لدلك c تشتغل عل اي نظام (معالج) مهما كان (تجد لها كومبايلر), نظام اصلا مبرمج بهاا فتلا لعرض كلمه بشاشه انت ستسعتعمل اوامر شاشه التي تاتي مع كتيب شاشه و تسمى عاده مقاطعات (شاهد اردوينو)
نظام وندوز يرفض اتصال مباشر مع هردوير فهو يممرك عبر طبقات اجبارياا لفلتره مدخلات و تصحيها
c ليست دا فايده للبرمجه لوندوز و ماك و لينكس . لتتعرف عل c شاهد دورات برمجه الانظمه نفسها و سترى التعقيد الدي اتحدث عنه
اما انا اضافتي ابدائي مع linux و خصوصا debian
بالطبع يمكنه تعلمها والتميز فيها؛ لم لا؟
من أين يبدأ؟ وما هى المصادر لتعلم هذا المجال بإتقان ؟
ببساطة -وللأسف- عليه أن يبدأ بتعلم اللغة الإنجليزية بشكل يؤهله لفهم النصوص التقنية والتعليمية، وهذا أسهل كثيراً من تعلم اللغة الإنجليزية بهدف قراءة الروايات الإنجليزية مثلاً، لأن لغة النصوص التقنية والشروحات المتعلقة بالبرمجة غير معقدة، ويندر أن تحتوي على كلمات غريبة.
بعد أن يتعلم الإنجليزية، سيُفتح أمامه باب واسع جداً من المصادر التعليمية ومن أفضل الجامعات والخبراء في العالم.
هذا إن كان يريد الإتقان والتوسع. أما إن أراد أن يتعلم البرمجة فحسب، فهناك عدد لا بأس به من المصادر العربية.
هذا بإجمال أما التفصيل فيتطلب موضوعاً مستقلاً.
اولا البرمجة ليست بصعبة واي شخص يريد ان يتعلمها سيتعلمها
ثانيا البرمجة هي من العلوم الاساسية للكمبيوتر بمعنى لابد ان تدرسي في البداية شئ ولو بسيط عن هذه العلوم وكيفية تعامل البرامج مع الكمبيوتر والمعالج والرام الخاصة به
ثالثا البرمجة انواع منها برمجة التطبيقات الخاصة بالكمبيوترووالتطبيقات الخاصة بالموبايل وبرمجة الانترنت وبرمجة الالعاب وبرمجة قواعد البيانات ....
انواع كثيرة ولكن تخصصي في مجال واحد
اتمنى ان اكون افدت ومستعد لاي استفسارات اخرى
البدأ فى البرمجه سهل
ولاكن الاحتراف صعب قليلا
ولاكن هذا حال كل شئ مثلا البدأ فى تعلم الكتابه والقرائه والحساب سهل , ويصبح اصعب كلما تقدمتى فى الدراسه
اذا كا ما تحتاجيه هو الاراده وعدم الاستعجال
انا تطورت من صناعه برامج بسيطه (حاسبه او ساعه) الى برامج معقده واجهزه
ولاكن كلما عرفت امور اصعب كلما استطعت بناء اشياء اكبر بسهوله
هل يقنعني أحد
لماذا تعلم البرمجة شيء مهم؟
لا أراه شيء مهم لأن تخصصي هو في اللغات وليس في البرمجة مثلا.......
هل مهم أفكر أتعلمها؟
ما يجعل معرفة البرمجيات صعبة ليس لكونها صعبة وإنما للأسف لتحفظ المحترفين فيها علي ما عندهم من علم كي يظلوا في المقدمة ونحن لهم تبعا ولو أدركنا أن الصفر الذي هو حجر الزاوية لعلم البرمجة لا أصل له علميا وفهمنا ذلك في إطار علمي منضبط لثابت الدائرة لتغيرت نظرتنا الشاملة لعلم البرمجيات هذا ولقد خلق الله لنا هذه الحياة ما ظهر منها وما بطن بقانون علمي دقيق وقدر لنا فيها كل شيء ما كان وما يكون لو كان كيف كان يكون ولا مجال فيه أبدا للصدفة ولا التنبؤات بل هي نتائج مقدمات علمية دقيقة ومن المستحيل أن يكون الصفر جزءا من مقدمات هذا القانون العلمي بل ومن العبث العلمي أن يعتقد العلماء خلق شيء من لا شيء وأن أصل الإبداع العلمي لدائرة الأرقام هو الواحد فقط ولا شيء غيره
ما يجعل معرفة البرمجيات صعبة ليس لكونها صعبة وإنما للأسف لتحفظ المحترفين فيها علي ما عندهم من علم كي يظلوا في المقدمة
هراء.
المحتوى التعليمي البرمجي المجاني على الانترنت غني جدّاً -خصوصاً في السنوات ال15 الأخيرة-
ولو أدركنا أن الصفر الذي هو حجر الزاوية لعلم البرمجة لا أصل له علميا وفهمنا ذلك في إطار علمي منضبط لثابت الدائرة لتغيرت نظرتنا الشاملة لعلم البرمجيات
شكراً على هذه البلاهة -وهنا لا أنعتك بأنك أبله، بل أصف هذه الجملة بأنها بلاهة-.
أولاً، من قال لك بأن الصفر هو حجر الزاوية لعلم البرمجة؟ و ما هي مؤهلاتك للحديث عن علم البرمجة بالأساس؟
ثانياً، ماذا تقصد "لا أصل له علميّاً"؟ الصفر لا أساس علمي له؟ إذا كانت إجابتك نعم فما هو السياق الذي تتحدث عنه ؟ درست الرياضيات على المستوى الجامعي و هذه أوّل مرّة أسمع بهذا الهراء!
ثالثاً، ما علاقة "الإطار العلمي المنضبط لثابت الدائرة" بالبرمجة؟
ومن المستحيل أن يكون الصفر جزءا من مقدمات هذا القانون العلمي
برهن ذلك رياضياً أو منطقياً. دون سفسطة وكثرة كلام.
ومن العبث العلمي أن يعتقد العلماء خلق شيء من لا شيء
المجتمع العلمي حتى اللحظة واثق من عدم قدرتنا على خلق شيء من اللاشيء (ربما سمعت بقانوني انحفاظ الطاقة والكتلة) -رغم أنّه يحاول بشتى الطرق التحقق من العكس-.
وأن أصل الإبداع العلمي لدائرة الأرقام هو الواحد فقط ولا شيء غيره
مجدداً، أثبت.
شكرا لك علي الدفاع عما تعرف من علم وهذا حقك وكل الإسقاطات الرائعة التي تعترض عليها في مكانها وإذا لم يتم الإجابة عليها علميا لك ولغيرك فهذا لا شك نوع من العبث الفكري ومضيعة للوقت في سفسطة علي حد تعبيرك وكلام فارغ لك أن تعرف فقط كل ما تتغني به البشرية من علوم هو نفطة من محيط علم الله تعالي تحياتي لك
مجتمع للمبرمجين من جميع المستويات لتبادل المعرفة والخبرات. ناقش لغات البرمجة المختلفة، الحلول البرمجية، والمشاريع.