بما ان الاسم شدك ف يبقي اكيد عرفت احنا هنتكلم عن ايه بالظبط بس يا تري بقي تعرف ايه هي لغة الـ c++؟ ليه اتعملت وايه علاقتها بلغة الـ c؟ اتعملت امتي؟ وليه معظم كليات حاسبات وهندسة كمبيوتر بيدرسوها للطلبة في أول سنة؟ كل ده هنغطيه بشكل سريع وموجز.
لغة c++ تعتبر ثالث أشهر لغة برمجة حاليا بعد الجافا والـ c طبقا لموقع tiobe اتعملت سنة 1985 يعني من 35 سنة كدة طب يا تري ايه علاقتها بلغة الـ c ولا هو مجرد اختلاط أسامي؟ الـ c++ بالفعل تعتبر لغة محدثة من الـ c اللي اتعملت 1972 يعني بعد 13 سنة من الـ c واللي كانت تفتقد حاجات كتير زي الـ classes ولو مش عارفين ايه الـ classes ممكن نبقي نغطيها في بوست قريب بإذن الله المهم بعد ما عرفنا اصل الـ c++ وايه علاقتها بالـ c نخش في ليه تتعلم c++ اولا معلومة بسيطة لغة c++ لغة متوسطة الصعوبة مش هتتعب في تعلمها طب ايه أشهر استخداماتها؟ الـ c++ أشهر استخدام ليها بيكون في برمجة الـ embedded systems بس بردو ليها استخدامات تانية زي الـ desktop applications والألعاب وسيرفرات محركات البحث وطبعا من أشهرها جوجل وأكيد الـ c++ زيها زي أي لغة عددت بتحديثات كتير لحد ما وصلت للشكل الحالي فيها.
في سنة 1952 صنع ارثر صامويل اول تطبيق مبني علي التعلم الذاتي للكومبيوتر و كانت لعبة الداما draughts و كان كل ما يلعب مع الآلة اكتر كل ما الآلة اسلوب لعبها يتطور و تتعلم اكتر و في سنة 1997 كان اول تطور ملحوظ للذكاء الاصطناعي لما جهاز ال deep blue قدر يكسب بطل العالم للشطرنج و مازال الذكاء الاصطناعي يتطور لحد وقتنا الحالي.
طب ايه علاقة ال machine learning ب الذكاء الاصطناعي ؟
الmachine learning ما هو الا تطبيق علي فكرة الذكاء الاصطناعي
طب ايه هو الmachine learning بالظبط؟
هو عمليات تقييم و تحليل ال input data لإيجاد نمط مشترك بين كل البيانات و تقديم حلول او قرارات افضل في المستقبل من الالة نفسها نتيجة للتجارب السابقة
طب و ايه اشهر اللغات اللي هتحتاجها في الmachine learning ؟
في لغات كتير بس من اشهرها ال python و الجافا و ال c++ و ان شاء الله نغطيهم في الحكاوي الجية
من اشهر التطبيقات المعتمدة ع ال machine learning هي Google assistantو siri و alexa و اي recommendations بتطلعلك في اي website و محركات البحث
انهارده هنحكي حكاية ال c# و ازاي بدأت و ايه هي اشهر استخدماتها باختصار
تعتبر ال c# خامس اشهر لغة و اكثر اللغات شيوعا بين المبرمجين (Visual Studio magazine)
ال c# تندرج تحت مظلة عيلة ال c اتعملت سنة 2000 من مايكروسوفت و اللي قام ببرمجتها اندرس هيلسبرج و فريقه ك لغة من لغات تانية كتير في ال net framework.
طب ندخل بقي في استخداماتها؟
ال c# ملهاش استخدام واحد هي لغة متعددة الاستخدامات تقدر تستخدمها في برمجة التطبيقات علي windows بالاخص و برامج الموبايل سواء ios او Android
و بتستخدم كمان في برمجة الالعاب زي في Unity
من الاخر كدة دايسة في كل المجالات ان جاز التعبير.
ال c اتعملت سنة 1972 و هي من ال mid level languages.
و رغم انها قديمة نسبيا و في لغات كتير احدث و اسهل لكنها لسة بتستخدم من عدد كبير من المبرمجين و هي ما زالت من اشهر لغات البرمجة
معظم نظم التشغيل من apple os و windows و symbian تم برمجتها باستخدام ال c language.
و بتستخدم ال c language في ال embedded systems
و تم استخدامها في برمجة ال browsers زي google chrome .
و في قواعد البيانات زي my sql اللي من اشهر برامج قواعد البيانات.
ال c language اثرت ع لغات كتير و كانت السبب في وجود ال c++ و ال c# و غيرهم من اللغات.
من 25 سنة في سنة 1995 جيمس جوسلينج برمج لغة ال java و ع غير المنتشر اوركل مش هي اللي برمجت اللغة و لكن اوركل اشترت sun micro systems اللي كان شغال فيها جيمس
الجافا تشبه في طريقة الكودينج بتاعتها ال c و ال c++ يعني لو انت عارف اي لغة من التلاتة هتعرف تتعلم الباقيين بسهولة
تعتبر لغة الجافا high level language رغم انها بتعمل run بنفس سرعة ال low level language ع معظم ال platform
الجافا لغة متعددة الاستخدامات :
تستخدم في ال برامج اللي بتشتغل ع ال web browser و بتستخدم في ال server side applications زي ال stores و ال online forums
بتستخدم بردو في برمجة ال mobile application و ال micro controls و ال sensors و ال gateways و في ال remote Processor
تعتبر الجافا تاني اشهر لغة في العالم و تتنافس معاها ال python بفارق بسيط مبينهم ( tiobe index )
و ايوا عارفين انكم مستنيين المعلومة دي بس جافا ملهاش اي علاقة ب الجافا سكريبت و مجرد اشتباه اسماء مش اكتر.
بما اننا حكينا الجمعة اللي فاتت ال java ف قولنا نتكلم عن ال java script بحيث اننا نعرف اكتر الفرق ما بينهم
تعتبر جافا سكريبت اشهر لغة برمجة في العالم حاليا و واحدة من اساسيات ال web developing
اتعملت سنة 1995 من شركة netscape و اللي تم تبنيها من Microsoft بعدين
تعتبر ال JavaScript من ال high level programming languages
و زي مقولنا فوق انها من اساسيات ا ل web developing لاسباب كتير لانها بشكل اساسي هي لغة front end language لكن تقدر تستخدمها ك back end بس لو حابب تتعلم web developing يبقي ننصحك تبدأ ب html و css الاول ثم الجافا سكريبت ك front end web developing
تستخدم كمان الجافا سكريبت في برمجة ال mobile apps و في السيرفرات و برمجة الالعاب.
حكاية واحدة من اشهر اللغات حاليا و اللي شهرتها في اخر فترة في تزايد مستمر
اتعملت سنة 1991 ع ايد الالماني guido van rossum
ال Python من اسهل لغات البرمجة و لذلك معظم المبرمجين بينصحوا بيها للمبتدئين لسهولة تعلمها و سهولة استخدمها و لانها كمان لغة high level بتستخدم في حاجات كتير زي ال web development و ال game Development و ال Software Development و اهم استخدام ليها و هو في ال AI و ال machine learning و استخدمات تانية كتير
و دلوقتي تعتبر البايثون تاني اكثر لغة استخداماً من المبرمجين (tiobe index)
و احنا كمان طبعا ننصحكم بتعلمها لانها فعلا من اسهل اللغات للمبتدئين :)) و احنا السيزون اللي فات نزلنا سيشن تعلم ال python تقدرو تشوفوها علي قناتنا في اليوتيوب https://www.youtube.com/watch?v=Q8naCk483DU&feature=youtu.be
حكاية عن واحدة من أهم لغات البرمجة للـ Android apps
تعتبر لغة الـ Kotlin لغة high level جديدة اتعملت سنة 2011 على أيد شركة JetBrain واللي مبرمجينها إتأثروا في برمجتها من لغات تانية زي c# و java و python وأخذوا أفضل مميزات فيهم ووضعوها في لغة واحدة و هي الـ kotlin واللي خلاها تبقي أسهل في الاستخدام من بقية اللغات وهي فعلا أسهل من نواحي كتير وده اللي خلي جوجل تعلن رسمياً إن اـ kotlin هي أفضل لغة برمجة للـ Android applications و لكن تعتبر الـ kotlin في الأساس لغة متعددة الاستخدامات ف أنت تقدر تعمل compile للغة الـ kotlin لـ jvm وبكدة تقدر تستخدمها في كل مجالات استخدام الجافا واللي غطيناها في حكاية الجمعة من الحكاوي اللي فاتت
وتقدر تعملها compile مع JavaScript وتستخدم ك frontend language
و دلوقتي kotlin بتستخدم في الـ data science واللي ممكن تستبدل لغات قوية زي scala وpython.
حكاية خفيفة للغة تم برمجتها من جوجل و هي Go
لغة Go اتبرمجت سنة 2009 على يد مجموعة من المبرمجين وهم Robert Griesemer وRob pike وKen Thompson
لغة الـ Go هي لغة high level مزيج بين مميزات لغات كتير زي الـ runtime efficiency في الـ c++ واللي بيشتركوا في الـ syntax format كتير؛ و سهولة القراءة والاستخدام زي python
ورغم إنها تعتبر لغة حديثة النشأة ولكنها دلوقتي في المرتبة الـ 14 في الاستخدام بين المبرمجين ( GitHub - stackover flow)
و بما إنها زي ما قولنا إنها مزيج من لغات تانية ف هي لغة متعددة الاستخدامات زي في الـ back end والـ desktop applications والـ system programing.
حكاية عن واحدة من أهم لغات البرمجة
تعتبر لغة الـ R لغة high level اتعملت سنة 1993 على أيد R core team واللي مبرمجنها إتأثروا في برمجتها من لغات تانية زي الـ C والـ fortran أخذوا أفضل مميزات فيهم ووضعوها في لغة واحدة وهي الـ R وهي لغة اتعملت عشان تستخدم في الـ statistical computing والـ data mining وفي third party graphical interfaces زي Rstudio و jupyter.
بتحتل لغة الـ R المرتبة الـ 8 دلوقتي من حيث الشعبية علي موقع tiobe index
ودايما بيتم النصح بيها لأي statistician والـ data minors لبرمجة الـ statistical softwares
هنتكلم على Elon Reeve Musk بعد ما خلص جامعته في pennsylvania و أخد بكالوريوس في الفيزيا والإقتصاد وبعد ما قدم في جامعة stanford علشان ياخد دكتوراه في الفيزيا سابها علشان يأسس Zip2 سنة 1995 واللي إتباعت لـ compaq بـ 307 مليون دولار وبعدها عرف لنا بمفهوم الـ online banking في أول مرة في X.com واللي إندمجت مع confinity سنة 2000 ومن خلالها كان عمل paypal اللي أتباع لـ ebay بـ 1.5 مليار دولار في 2002.
من هنا إيلون ماسك كان جمع ثروة وشعر لحظتها إنها كفاية إنه يتجه لحلم طفولته إنه يزرع عالمريخ ومن هنا أسس SpaceX ولما راح لروسيا علشان يشتري صواريخ قابلة للسفر في الفضاء حس بإستهزاء من الحكومة الروسية وخصوصا إن ثروته ساعتها اللي كانت 100 مليون دولار مكانتش تسمحله إنه يشتري صاروخ بـ 8 مليون دولار مع التعديل اللي كان هيعمله ونسبة الفشل الكبيرة فبعدها قرر إنه هيعمل كل حاجة من الصفر مع عدد كبير من المحاولات والفشل ومع آخر 4 مليون دولار في ثورة إيلون أخيرا آخر محاولة إن الصاروخ يطلع من الغلاف الجوي نجحت ومن هنا NASA أعلنت سنة 2006 إن SpaceX واحدة من الشركتين المسؤولين على ISS وبعدها CRS program ومن هنا نجاح الشركة إبتدى في نفس الوقت إنه واحد من مؤسسي شركة Tesla وأكبر مستثمريها اللي كان بيمولها في خلال أذمته المالية في سنة 2004 والشركة اتجهت لأزمة مالية كبيرة مع تأخيرها في إنتاج أول عربية ليها لحد ما إيلون بعد نجاح شركته إدى لـ Tesla قبلة الحياة بتاعتها سنة 2008 اللي من هنا بدأوا ينتجوا أول عربية كهرباء ونجاح الشركة بدأ.
زي ما قلنا في الحكاية اللي فاتت إن صفحة الـ web تنقسم لجزئين الجزء الأول هو الـ front-end و الجزء الثاني هو الـ back-end.
هنتكلم النهاردة عن الجزء الثاني و اللي ناس كتير بتوصفه بالكواليس. و الجزء ده يهتم بالـ server و كل حاجة بتحصل لما تستخدم صفحة web زي تسجيل الدخول.
الـ back-end developers مهمتهم هي الشغل على قواعد البيانات والبرمجة، البرمجة اللي بيقوم بيها ال back-end developers هي المسؤولة عن التواصل اللي بيحصل بين قواعد البيانات ومحركات البحث.
مطورين ال back-end لازم يعرفوا علي الأقل لغة برمجة خاصة بالـ servers و هما java, python, ruby,.Net...etc ، و يكون عنده معرفة جيدة بمختلف برامج قواعد البيانات زي MySQL, MongoDB, Oracle, SQL Server, Redis ، و skills ثانية زي الـ APIs زي REST,SOAP.
دلوقتي بعد ما اتكلمنا عن الـ front-end و الـ back-end developer ممكن نشوف مثال نفهم منه الفرق بينهم:
لو فتحت في يوم مقال في صفحة ما ، الألوان و الخطوط و التصميمات إلخ.. بيمثلوا جزء الـ front-end من الصفحة. لكن محتوى المقال يتم عرضه عن طريق server و يتعرض من قاعدة بيانات الجزء ده هو جزء ال back-end.
بما إننا اتكلمنا قبل كده فى حكاوي الجمعة عن لغة c
ف تعالوا النهاردة نتكلم عن دينيس ريتشى
نال دينيس ريتشي مؤسس نظام يونكس ولغة سي مكانة كبيرة جدًا في تاريخ صناعة وبرمجة الحاسب الآلي، وده بسبب اختراعه لغة سي بالاشتراك مع زميله كين تومسون وتصميم وإنشاء نظام التشغيل يونكس.
درس دينيس فى جامعه هارفارد وحصل على شهادة فى الفيزياء والرياضيات التطبيقية.
وبدأ حياته العملية سنه 1967 فى معامل بيل التابعة لمركز علوم الحاسب والأبحاث وهو أحد أهم مراكز الابتكار الرقمى على مستوى العالم.
وحصل على الدكتوراه فى مجال الحاسوب سنه 1968
وكمان عمل مع كين تومبسون الذى يرجع الفضل إليه فى كتابه نظام يونكس الأساسى واستطاع دينيس أن يعمل على ترقيته وتطويره حتى يتناسب مع جميع الآلات.
وفي بداية السبعينيات ابتكر دينيس لغة البرمجة C
كلغة تطبيقية مخصصة لنظام التشغيل يونيكس، والذي كان واحدًا من أهم عوامل نجاح هذه اللغة، إلى جانب سهولة وبساطة إنشاء المترجمات فيها.
وفى عام 1971م ألَّف كتاب دليل مبرمجي يونكس.
وفي 1978م اشترك دينيس مع بريان كيرنيغهان في تأليف K&R كتاب لغة البرمجة سي ويُشار إلى الكتاب بالرمز
وهو اختصار لاسم كلا منهما
وكمان لعب دينيس ريتشى دورا كبيرا فى تطوير لغة limbo
وهى التى تستخدم فى تطوير تطبيقات النظام inferno