نصائح و استشارات برمجية
1.45K subscribers
545 photos
10 videos
83 files
396 links
• نصائح واستشارات برمجية متعلقة باسئلة تم طرحها

• لطرح استفسار او سؤال: @m4md24
Download Telegram
- الاول لازم تتعلم ازاي تتعامل مع الحاسوب، لو عارف تمام ولو مش عارف تعلم
- ثانياً بتتعلم اساسيات البرمجة ما قبل الخاصة بما قبل التخصص
- ثالثاً بتختار تخصص و تتأسس فيه

~ هنمشي خطوة خطوة واقولك من اول (ثانياً) ايش تسوي بالظبط، بالنسبة (لثالثاً) فا خليها لوقتها بعد ما تخلص (ثانيا)
~ قدامك اكثر من لغة تقدر تتعلم بيهم الاساس:
- C++
- C#
- Java
- و تقريباً C

~ بس انصحك بـ C++ لانه فيها مفاهيم زيادة عن معظم اللغات، بتساعدك في التاسيس بشكل افضل لانه زي ما ذكرت هتطرق لمفاهيم مش موجودة في معظم اللغات و دا بيرجع لشئ، وهو ان لغة C++ هى لغة عالية المستى، بس قريبة من لغات منخفضة المستوى
~ ما معنى لغات منخفضة المستوى و عالية المستوى؟
- لغات عالية المستوى: تتميز بفهمها بشكل بسيط (المسميات ما بتكون معقدة)، و تساعد في تطوير مثلاً تطبيقات المواقع و الموبايل والالعاب.
- لغات منخفضة المستوى: بتكون قريبة من لغة الألة و غالباً تستخدم في عمل انظمة التشغيل  و برامج النظام و تطبيقات الاداء العالي، و يتيح ذلك النوع التحكم في الموارد المتاحة في النظام.

~ ما هى لغة الألة؟
- بتكون على هيئة اصفار و وحايد و هذا النظام يسمى في الانظمة العددية باسم:
(النظام الثنائي - Binary System)

~ طيب شلون اتعلم اللغة و الى اي مدى اقدر اقول اني تمام فيها و اروح لشئ اخر بعده؟
- اولاً، عايزك تفهم و تعرف ان الاساس ما بينتهي ومحدش انهاه قبل كدا ابداً حسب علمي، في الموضوع مستمر معاك (دايماً هتتعلم اشياء جديدة و تطبق عليها).
- ثانياً، البرمجة اساسها الاساسي مش بيخلص في 4 ولا 6 شهور ولا سنة لو انسان عادي .. بتقضي يمكن سنتين عشان تكون فاهم الدنيا كويس من حيث اساسيات البرمجة، اما بالنسبة لاساسيات التخصص فا الوقت بيكون اقل لانه بيكون اسهل سواء في الفهم او في التطبيق و ما الى ذلك
- ثالثاً، بخصوص شلون تتعلم، تقدر تتعلم حالياً لو انت تقدر تتعلم ذاتياً انك تخلي مصادر تعلمك من الانترنت، سواء بحثت عنها في جوجل او يوتيوب او منصة من المنصات التعليمية، بتقدر تبحث عن المفاهيم الرئيسية و تتعلمها، من عناوين المفاهيم الاساسية التي يجب تعلم فروعها:
1. Basics
2. Testing
3. Handling
4. OOP (Object Oriented Programming)
5. Data Structures
6. Algorithms
7. DSA (Data Structures and Algorithms)
8. Database
9. Network
10. OOD (Object Oriented Design)
11. Solid Principles
12. Design Patterns

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

- مدة الانتهاء تختلف عن فرد لاخر بس المهم انك تنهي جزء كويس من العناوين اللي تم طرحها
يعني ما هقدر اخلص كل عنوان بشكل كامل؟
اه، دا اكيد في الغالب

~ طيب اتعلم من وين هالامور؟
- ذكرت في (ثالثاً) من وين بالظبط، واعطيتك عناوين مفاهيم تدرس جزء كبير بداخلهم .. بس انصحك تتابع مع شخص متمرس و ممتاز، عشان اكيد مش هتقدر تتعلم وحدك و تمشي مليون في المية على الطريق الصح بشكل مستمر لازم هتلاقي حالك انحرفت شوية عن الخط و تلاقي حالك خبطت في الحيط و بعدين تتعلم من خطأك و ترجع لمسارك و دا بيأثر على مدة التعلم، عشان كدا نصحتك انك تتابع مع شخص متمرس و ممتاز.
This media is not supported in your browser
VIEW IN TELEGRAM
ازاي بتحدد امتى تسيب اللغة و تبدا اللي بعدها
بنمشي ازاي؟
أول حاجة بندخل في أساسيات البداية للبرمجة بلغة C++
دي تعتبر أحسن لغة للتأسيس، عشان المفاهيم البرمجية اللي فيها عن باقي اللغات
بعدين بنحل مسائل
بنسميها مشكلات
على مواقع مختلفة زي
w3schools
w3resource
coderhub
codeforces
leetcode
hackerrank


satr
(تقومي تعملي مشاريع صغيرة لو توفر في الدورات)
وبعدين بندخل على أساسيات التخصص
بنشوف اي هى اللغات اللي في التخصص اللي اختارتيه
البرمجة فيها لغات برمجة أمرية و لغات برمجية وصفية
الوصفية زي html و css و xml
الأمرية زي c++ و java و python
في طبعاً لغات أكتر
نصائح و استشارات برمجية
بنشوف اي هى اللغات اللي في التخصص اللي اختارتيه
أنا مختار مجال تطوير الأندرويد native

في فرق بين native و
cross platform

ال native أداءه أقوي لكن الكود اللي هتكتبيه هيبقى محدد لمنصة واحدة، فا بالتالي هتحتاجي مبرمجين أكتر
يعني مبرمج أندرويد
مبرمج للويندوز
مبرمج للمواقع
وهكذا

ال cross platform أداءه أقل من ال native لكن الكود بتاعه يقدر يتصدر لأكتر من منصة زي مثلاً الكود يشتغل على الأندرويد والويندوز وكموقع بنفس الوقت
في تقنيات بتعمل حاجات مختلفة عن الموضوع دا مش شرط الكود يشتغل على كل شيء
و للمعلومة في إطار عمل اسمه
react native

هو في الواقع مش native هو
cross platform
ال native اسم فحسب
إطار العمل نعتبره التخصص اللي بيتخصصه الشخص
تقنية بيتم استخدامها للعمل بيها لإنشاء مشروع معين
نصائح و استشارات برمجية
أنا مختار مجال تطوير الأندرويد native
أنا اخترت المجال اللي عايزو، وعرفت اللغات عندي
أقوم أتعلم اللغات طريقة الكتابة إزاي وأحل مسائل عليها من مواقع مختلفة واعمل مشاريع
لما بنييجي نتعلم لغة برمجة أمرية للمعلومة بتبقى المشاريع من نوع اسمه
console app

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