نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *

الأربعاء، 25 ديسمبر 2019

لغة JavaScript من ابتكرها هو Each Brendan
وكان يعمل في شركة Netscape وابتكر اللغة كإضافة للغة html وكانت تعمل في Netscape Navigator متصفح الإصدار الثاني وكان الاسم الخاص بالجافا سكربت في البداية هو اسم mocha ومع صدور الإصدارات الأولية للجافا السكربت حصلت على اسم Script Live ثم أخيرا حصلت على اسم JavaScript وهناك فرق شاسع بين لغة Java ولغة JavaScript لغة JavaScript من لغات Language interpreted interpreted يعني لغة بتحتاج لمترجم علشان يترجم أكواد اللغه علشان تتعامل مع الكمبيوتر والمترجم هو Browser أي المتصفح أي كان نوعه. ولغة JavaScript تدعم البرمجة الكائنية وهي Programming Oriented Object وهي OOP معظم استخدام لغه JavaScript بيكون مع الكلاين سايت مع المتصفح يعني بعيد عن السيرفر يعني تقوم بتغيير محتوى المتصفح يتجعلك تتحكم في المتصفح وحاليا الجافا تتعامل مع السيرفر سايت عن طريقة لغه النود وتم دعم لغه الجافا سكريبت من قبل شركة مايكروسوفت في عام ٩٦ في متصفح انترنت إكسبلورر الإصدار الثالثة

الخميس، 24 يناير 2019





الموضوع الشاااامل لمجال الويب ( Front + Back + Mean ) :D ============================

همشى بالترتيب ومن الصفر فى كل مجال وكل لغه هقولها هكتبلك المصادر سواء ( فيديوهات + كتب ) لكل لغة باذن الله وطبعا مش هكتب مصدر واحد لأ .. هكتبلك كذا مصدر وهعتمد على الانجليزى اكتر باذن الله

--------------------------------------------------------------
>>> مجال الفرونت Front End Developer ... <<<
-----------------------------------------------------------------
1- هتتعلم لـغة الـ HTML وهيا المسئول عن بناء اى صفحه ويب
** الفيديوهات ** :
قناة net nenja من هنا : https://goo.gl/3a2kft
قناة حازم نبيل : https://goo.gl/899dRj
قناة EJ MEdia من هنا : https://goo.gl/A7pJaD
قناة Traversy من هنا : https://goo.gl/S6M4zn
** الكتب ** :
- HTML & CSS: Design and Build Web Sites
- Head First HTML with CSS & XHTML
- HTML and CSS: Visual Quickstart Guide
**************************
2- هتتعلم لغـة الـ CSS عشان الالوان بقى والحركات
** الفيديوهات ** :
قناة net ninja من هنا : https://goo.gl/sn1gTu
قناة حازم نبيل : https://goo.gl/mJePwQ
قناة Traversy من هنا : https://goo.gl/PHv4xk
قناة w3school من هنا : https://goo.gl/sTJxkP
** الكتب ** :
- HTML & CSS: Design and Build Web Sites
- Head First HTML with CSS & XHTML
- HTML and CSS: Visual Quickstart Guide
**************************
3- هتتعلم لغـة الـ JS الاساسيات من غير اى اضافات نهائى فى الاول
** الفيديوهات ** :
قناة net ninja من هنا : https://goo.gl/ybxqCn
قناة حازم نبيل : https://goo.gl/fqWS6n
قناة bucky من هنا : https://goo.gl/U2AJs9
قناة Traversy من هنا : https://goo.gl/hHntGV
** الكتب ** :
- JavaScript: The Good Parts
- You Don’t Know JS
- JavaScript Allongé: The Six Edition
**************************
4- هتتعلم HTML 5
** الفيديوهات ** :
قناة Ej Media من هنا : https://goo.gl/sidXy7
قناة حازم نبيل : https://goo.gl/fJmtbM
** الكتب ** :
- Beginning HTML5 and CSS3: The Web Evolved
- The Missing Manual (Missing Manuals)
- HTML5 and CSS3 All-in-One Book For Dummies
- HTML5 in Action
**************************
5- هتتعلم CSS 3
** الفيديوهات ** :
قناة Derek من هنا : https://goo.gl/wyXzT6
قناة Leveluptuts من هنا : https://goo.gl/Ze2ike
قناة حازم نبيل : https://goo.gl/D7Gg1I
** الكتب ** :
- CSS3 for Web Designers
- How to Code in HTML5 and CSS3
- Beginning HTML5 and CSS3: The Web Evolved
**************************
6- هتتعلم jQuery
** الفيديوهات ** :
قناة net ninja من هنا : https://goo.gl/QCxH7u
قناة Traversy من هنا : https://goo.gl/WSHfR3
قناة حازم نبيل : https://goo.gl/8vxW1D
** الكتب ** :
- Head First JQuery
- JavaScript & JQuery: The Missing Manual
- jQuery in Action
- A Smarter Way to Learn jQuery
**************************
6- هتتعلم Bootstrap 4
** الفيديوهات ** :
قناة sonar من هنا : https://goo.gl/zu8eYz
قناة brad من هنا : https://goo.gl/873Qx5
قناة Traversy من هنا : https://goo.gl/DzpF3T
قناة حازم نبيل : https://goo.gl/qVFjFf
قناة net ninja من هنا : https://goo.gl/8C97fL
** الكتب ** :
- Bootstrap in 24 Hours
- Jump Start Bootstrap
**************************
7- هتتعلم الـ media Query او Responsive عموما
** الفيديوهات ** :
قناة حازم نبيل : https://goo.gl/H8gefB
قناة Telmo من هنا : https://goo.gl/E42AJW
قناة Full stack من هنا : https://goo.gl/qp4wuq
** الكتب ** :
- Responsive Web Design
- Responsive Web Design with HTML5 and CSS3
**************************
--------------------------------
هنوقف شويه مرحلة الكورسات ونخش بقى مرحلة التطبيقات شويه
- تطبيقات القناة بتاعتنا بالينكات ال github كلها
****************************************************
- تصميم موقع كامل باستخدام HTML و CSS
لينك الكورس : https://goo.gl/74m2iA
ملفات التصميم : https://goo.gl/NZWE7u
**************************
- تصميم موقع كامل باستخدام HTML و CSS و JS
لينك الكورس : https://goo.gl/a123q9
ملفات التصميم : https://goo.gl/fPPk1P
**************************
- تصميم موقع كامل باستخدام HTML , CSS متعدد الصفحات
لينك الكورس : https://goo.gl/qgbgi2
ملفات التصميم : https://goo.gl/L7BPu2
**************************
تصميم موقع كامل باستخدم HTML , CSS , jQuery
لينك الكورس : https://goo.gl/hjunn9
ملفات التصميم : https://goo.gl/m5pBCX
**************************
- تصميم موقع كامل باستخدام HTML 5 , CSS 3 , Bootstrap
لينك الكورس : https://goo.gl/M8J2Zz
ملفات التصميم : https://goo.gl/e5SQPA
**************************
- تصميم موقع كامل باستخدام HTML 5 , CSS 3 , jQuery
لينك الكورس : https://goo.gl/NmLLjE
ملفات التصميم : https://goo.gl/e7vZdf
**************************
- تصميم موقع كامل باستخدام الـ HTML 5 , CSS 3
لينك الكورس : https://goo.gl/LjGJWA
ملفات التصميم : https://goo.gl/t5pHk7
**************************
- تصميم موقع كامل باستخدام الـ HTML , CSS , Media Query
لينك الكورس : https://goo.gl/BhRnSu
ملفات التصميم : https://goo.gl/vnZZeB
**************************
- تصميم موقع كامل باستخدام الـ HTML 5 CSS3 jQuery Bootstrap
لينك الكورس : https://goo.gl/MfUkSb
ملفات التصميم : https://goo.gl/m6MqaU
****************************************************
تطبيقات مع Traversy البرنس
- تصميم موقع بسيط
- https://goo.gl/78oiP7
- تصميم موقع Parallex
- https://goo.gl/veir9Y
----------------------------------------------------------
طبقنا على الحاجات اللى فاتت .. تعالوا نرجع نكمل مرحله الكورسات تانى
8- هتتعلم CSS Grid
قناة net ninja من هنا : https://goo.gl/rFFkD8
قناة Free Code من هنا : https://goo.gl/dQ7iP7
قناة Traversy من هنا : https://goo.gl/mJVc5k
**************************
9- ايه الفرق بين Flexbox و Grid وانهى افضل
قناة Academind من هنا : https://goo.gl/uqzC7A
قناة Stefan من هنا : https://goo.gl/1GVnsd
#تعالوا بقى نخش فى مرحلة التقدم شويه ونتعلم الاتى :
11 - اتعلم javascript dom + bom
** الفيديوهات ** :
قناة net ninja من هنا : https://goo.gl/p6mzDZ
قناة Traversy من هنا : https://goo.gl/zJRsHi
** الكتب ** :
- DOM Scripting. Web Design with JavaScript
**************************
12- هتتعلم Sass
** الفيديوهات ** :
- قناة leveluptuts من هنا : https://goo.gl/wV0azu
- قناة net ninja من هنا : https://goo.gl/6WqCnE
- قناة Derek من هنا : https://goo.gl/1xDJWs
** الكتب ** :
- Sass and Compass for Designers
- Instant SASS CSS How-to
- Pragmatic Guide to Sass : Tame the Modern Style Sheet
- Mastering Sass
**************************
14- هتتعلم Pug او Jade
قناة تكنوفوبيا : https://goo.gl/vDTsnH
قناة Derek من هنا : https://goo.gl/7pz6ny
**************************
15- هتتعلم LESS
قناة Traversy من هنا : https://goo.gl/2yjsBn
**************************
16- اتعلم Gulpjs
قناة تكنوفوبيا : https://goo.gl/g8Auvp
قناة Traversy من هنا : https://goo.gl/YnRCjj
**************************
18- اتعلم Coffeescript
قناة Derek من هنا : https://goo.gl/VeFUuD
قناة leveluptuts من هنا : https://goo.gl/2Q3jdU
**************************
19- اتعلم Materialize CSS
قناة Traversy من هنا : https://goo.gl/g7V1Vt
**************************
20- اتعلم Foundation
قناة Traversy من هنا : https://goo.gl/VxLqZ7
**************************
21- اتعلم Rejx او regular expression
قناة net nenja من هنا : https://goo.gl/dRREiU
**************************
22- اتعلم js oop لااااااااااااااااااااازم
قناة learnwebcode من هنا : https://goo.gl/XhLAOi
قناة mosh من هنا : https://goo.gl/agzX2H
قناة Derek من هنا : https://goo.gl/3znM6o
**************************
23- اتعلم ازاى توسطن العناصر بكل الطريق ب css
قناة حازم نبيل : https://goo.gl/deq2ac
**************************
24- اتعلم Es6
قناة Traversy من هنا : https://goo.gl/px8SGM
قناة codeevloution من هنا : https://goo.gl/kDSxUe
**************************
25- افهم تتعامل ازاى مع UX
https://goo.gl/HBbA5p
**************************
#تعالوا نطبق تانى مع الباشا Traversy
- تطبيق على ال html و css و Grid
https://goo.gl/mBb5BL
**************************
- تطبيق على Foundation مع Sass
https://goo.gl/NrxikM
**************************
- تطبيق على responsive + grid
https://goo.gl/KwcVRZ
**************************
- تطبيق على materialize
https://goo.gl/iUGk5q
**************************
حاول تشوف الليست ديه مهمه جدا جدا جدا جدا : https://goo.gl/zTND33
===========================================
>>> مجال الـ Mean Stack ... <<<
نصيحه .. المجال ده بقى مطلوب كتتيييير جدا فى السوق او بعض اللغات منه
بقت مطلوبه جداااا ولازم تكون عااااارفهااا عشان مفيش اى شركه ترفضك
بل بالعكس هيتخانقوا عليك لو عارف الحاجات ديه
1- اتعلم Mongodb
** الفيديوهات ** :
قناة Traversy من هنا : https://goo.gl/lL3Uly
قناة net ninja من هنا : https://goo.gl/wufg7S
**************************
2- اتعلم Express
**الفيديوهات ** :
قناة Traversy من هنا : https://goo.gl/xA1FqE
قناة Derek من هنا : https://goo.gl/pBE6r2
**************************
3- اتعلم Typescript
قناة أحمد ناصر : https://goo.gl/gmUixe
قناة Mosh من هنا : https://goo.gl/qAbFGC
قناة Traversy من هنا : https://goo.gl/rrhxEa
**************************
4- اتعلم +Angular 4
** الفيديوهات ** :
قناة Traversy من هنا : https://goo.gl/M85Mya
قناة Mosh من هنا : https://goo.gl/9J6DvB
قناة Academind ( جامده جدااااا ) من هنا : https://goo.gl/vMFJDS
قناة احمد ناااصر : https://goo.gl/bBEFFN
**************************
5- اتعلم webpack
** الفيديوهات :
قناة Traversy من هنا : https://goo.gl/iW2Sb4
قناة Academind من هنا : https://goo.gl/b6hk21
**************************
6- اتعلم NodeJs
** الفيديوهات ** :
قناة Traversy من هنا : https://goo.gl/zgHHmz
قناة net ninja من هنا : https://goo.gl/PkVWdd
قناة mosh من هنا : https://goo.gl/QMCi6L
**************************
7- اتعلم ReactJS
** الفيديوهات :
- قناة codeacademy من هنا : https://goo.gl/LYHz44
- قناة traversy من هنا : https://goo.gl/3B5sFB
- قناه العبدلله : https://www.youtube.com/playlist…
**************************
8- اتعلم React Native
** الفيديوهات :
قناة Traversy من هنا : https://goo.gl/mJiWDT
قناة khalid من هنا : https://goo.gl/455f8B
**************************
9- اتعلم Ionic
** الفيديوهات :
قناة Traversy من هنا : https://goo.gl/nj8oJh
قناة codeamn من هنا : https://goo.gl/8s1fxs
**************************
10- اتعلم VueJS
** الفيديوهات :
قناة Traversy من هنا : https://goo.gl/Pehh06
قناة net ninja من هنا : https://goo.gl/Rt5rEi
قناة GoArabGo من هنا : https://goo.gl/mRtHxH
**************************
11- اتعلم Rest Api
** الفيديوهات :
قناة net ninja من هنا : https://goo.gl/ZJEqPT
==== تطبيقات بقى على مجال الـ mean ======
- التطبيق الاول ( React Simple Todo App )
الفيديوهات : https://www.youtube.com/playlist…
- التطبيق التانى ( Crud System - Course App )
الفيديوهات : https://www.youtube.com/playlist…
- التطبيق التالت ( React Weather App )
الفيديوهات : https://www.youtube.com/playlist…
- تطبيق على عمل شات باستخدام ال vue + firebase
https://goo.gl/wJVcEE
- تطبيق موقع باستخدام ال angular و firebase
https://goo.gl/FWYJYK
- تطبيق ecommerce على ال angular و firebase
https://goo.gl/By8duJ
- ازاى تعمل restfull api مع express و node
https://goo.gl/p3mMnT
- تطبيق كامل على Mean stack كلها
https://goo.gl/rtvi6C
- دورة كامله بتطبيق على Mean stack من traversy
https://goo.gl/yHLGQd
- ساعة كاملة فيها تطبيق على mean stack
https://goo.gl/JVBdPr
===========================================
>>> مجال الـ Back End ... <<<
اول حاجه لازم طبعا يكون عندك خلفيه على الاقل عن html css js
دول اقل حاجه كبدايه للباك اند + تعرف بقى الحاجات ديه تبقى فل اوى
1- اتعلم PHP او Asp على حسب اللى انت حابه
** الفيديوهات لـ php ** :
قناة Traversy من هنا : https://goo.gl/CSTEhS
قناة mmtuts من هنا : https://goo.gl/5u68kC
قناة حازم نبيل : https://goo.gl/HhSvMb
قناة محمد يحيى : https://goo.gl/qeH6xJ
**************************
** فيديوهات ASP ** :
قناة خالد السعدنى : https://goo.gl/1d4gFo
قناة kudvenkat من هنا : https://goo.gl/0tqCDe
تطبيق كامل مع خالد السعدنى : https://goo.gl/UFqBHn
** الكتب ** :
- Head First PHP & MySQL: A Brain-Friendly Guide
- Learning PHP, MySQL & JavaScript: With JQuery, CSS & HTML5
- PHP & MySQL Novice to Ninja
**************************
2- اتعلم Mysql او PDO
** الفيديوهات ** :
قناة Traversy من هنا : https://goo.gl/BgMv3r
قناة Traversy من هنا : https://goo.gl/suoZM1
قناة Derek من هنا : https://goo.gl/aq4GjW
قناة محمد يحيى : https://goo.gl/PQ2V4y
**************************
3- اتعلم بقى الـ Framework زى Laravel
** الفيديوهات ** :
قناة Traversy من هنا : https://goo.gl/J897Kj
قناة Saffa من هنا : https://goo.gl/ek6Sg8
قناة بغداد : https://goo.gl/Aw1VG2
قناة Academine من هنا ( دورة + تطبيق شامل ) : https://goo.gl/xIt99W
**************************
4- اتعلم Codeginator
** الفيديوهات :
قناة Traversy من هنا : https://goo.gl/CqCUcD
قناة Solution من هنا : https://goo.gl/Ja8Pmn
**************************
5- اتعلم Zend Framework
قناة Traversy من هنا : https://goo.gl/8QqrrH
قناة دورات : https://goo.gl/gL6CnU
**************************
6- اتعلم Symfony
قناة Traversy من هنا : https://goo.gl/jNj54V
**************************
ملحوظة : اتعلم فريمورك واحد بس مش شرط كله طبعااا
7- اتعلم نظام ادارة المحتوى سواء Wordpress او joomla او Drupal
** الفيديوهات لـ wordpress
قناة Levelup من هنا : https://goo.gl/T7jWoJ
قناة Alessandor من هنا : https://goo.gl/EuPMkB
** فيديوهات لـ Drupal
قناة Levelup من هنا : https://goo.gl/yo9N3M
قناة Ostraining من هنا : https://goo.gl/L8oJSR
** فيديوهات لـ joomla
قناة osTraining من هنا : https://goo.gl/v61hd7
قناة site من هنا : https://goo.gl/ed49kN
**************************
8- ممكن تستخدم Java عادى
وتراك الجافا كله هتلاقيه فى قناه الريس محمد عيسى
مليانه كورسات جافا للويب : https://goo.gl/lya74Z
**************************
9- متنساش طبعا تتعلم تقنيه ال Ajax
قناة محمد يحيى : https://goo.gl/kSEUSN
قناة Traversy من هنا : https://goo.gl/9ePHjw
**************************
10- ديه نقطه مش تبع مجال الباك
ده لازم تتعلم Git عشان هيفيدك فى مشاريعك جداا
قناة net ninja من هنا : https://goo.gl/czxeex
قناة رامى حكم : https://goo.gl/sU41u6
===== تطبيقات على مجال الـ Back ========
- تطبيق ecommerce باستخدام laravel
https://goo.gl/vb7nV1
- تطبيق shopping cade باستخدام laravel + node
https://goo.gl/ja6wXm
- تطبيق ecommerce باستخدام laravel + vue
https://goo.gl/RofuYg
- تطبيق كامل باستخدام php mvc و oop
https://goo.gl/SXWx38
- تطبيق المخزن الالكترونى لمحمد يحيى
https://goo.gl/r1mrwk
=====================================
البرامج بقى اللى ممكن تشتغل بيها
- برنامج Brackets .. نزله من هنا : https://goo.gl/MNsQB
- برنامج Atom .. نزله من هنا : https://goo.gl/LGBVzh
- برنامج visual studio code .. نزله من هنا : https://goo.gl/0b7Wgm
- برنامج Komodo .. نزله من هنا : https://goo.gl/IKh1
- برنامج Sublime .. نزله من هنا : https://goo.gl/mdQBHT
- برنامج notepad++ .. نزله من هنا : https://goo.gl/zFwleQ
- برنامج Aptana Studio .. نزله من هنا : https://goo.gl/1gXT
- برنامج PHP Storm .. نزله من هنا : https://goo.gl/ISHyD
=======================================
نصيحه مهمه جدا جدا جدا
حاول تتعلم Data structure و Algorithm كويس جدا جدا
هيفرقوا جدااا معاك فى اى كورس هتاخده بعد كده
قناة وليد يوسف لتعلم الداتا ستراكتشر : https://goo.gl/bPGLVc
قناة كود مصرى عشان تتعلم الالجوريزم : https://goo.gl/x00tQG
======================================
بس كده خلاااص اقدر اقول كده جمعت معظم الحاجات

الأربعاء، 10 أكتوبر 2018





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


ما ذنبُك إذا أحببت العلم و رغبت بأن تضع أقدامك على أول الطريق و سؤالُك يضعك في ألف طريق.


فكيف إذا ما فرشنا لك الطريق بالعلوم و الخبرات لتبدأ طريقك لتعلم البرمجة من الالف الى الياء؟


بنهاية هذه التدوينة ستستطيع الإجابة على كل الأسئلة الأساسية التي تجول بذهن الراغب بتعلم البرمجة، كما ستستطيع أن تبدأ تعلم البرمجة دون حيرة!


تعلم البرمجة من الصفر بدايتهُ هذه التدوينة.


حمّل قائمة الخطوات السريعة المختصرة لتعلُّم البرمجة








1. المفهوم العظيم للغة البرمجة


قبل البدء بالحديث عن البرمجة، فلنضع في بالنا أن هناك فرقاً كبيراً بين المبرمج و المصمم.


هنا نتحدث عن البرمجة، وسنتعرف إلى الفرق بين البرمجة و التصميم بعد قليل.


إليك هذا:


لنفترض أنك وصلتَ إلى أمام البائع لتشتري هاتفاً، كيف تُخبر البائع بالنوع الذي ترغب بشراءه؟


لا بُد و أن تُخاطب البائع لتطلب مبتغاك، أليس كذلك؟ ولكن ماذا إذا كان البائع لا يتحدث لسانك ولا لغتك؟


لن تستطيع أن تحصل على ما ترغب به إلا إذا وجدت شخصاً يستطيع أن يتحدث مع البائع بلغته.


هذا هو حالك مع الحاسب…


أنت المشتري و الحاسب هو البائع، أنت يا صديقي تحتاج إلى هذا البائع لما يملكه من مميزات و قدرات لا تملكها أنت، لذا يجب عليك أنت أن تتعلم كيف يتحدث هذا البائع (الحاسب) و كيف تستطيع أن تحصل على ما ترغب به.


لغاتُ البرمجة ليست إلا “لغات” ? بمعنى الكلمة، ما تؤديه فقط هو ترجمة ما ترغب به إلى ما يستطيع الحاسب تأديته.


ولكن، لماذا لغات البرمجة مختلفة؟


اللغة العربية بها 28 حرفاً، و الإنجليزية 26 حرفاً، إحدى الكلمات العربية تحتاج إلى جملة كاملة بالإنجليزية لترجمتها مثل “أنُلزمُكموها”.


هكذا اللغات تختلف عن بعضها في قدراتها و تكويناتها، مع وجود فروقات طفيفة في لغات البرمجة.


لغات البرمجة مثل اللغات الطبيعية لها ذخيرة لغوية و كلمات، و لكن تتميز أن اللغة بعد تطورها قد تأخذ إسماً آخر.


الجافا مثلاً تطورت من لغة C++ ، سُميّت جافا و أصبحت لغة برمجة مختلفة ? و إضافة إلى لغات البرمجة الكثيرة!





خذ هذه المعلومة:


مهما اختلفت لغات البرمجة، فجميعها في نهاية الأمر تتحول إلى شيء وحيد، و هو الصفر واحد، فمهما اختلفت لغات البرمجة تظل هي لغات عليا تسهل على المتحدث (المبرمج) أن يتخاطب مع الحاسب.


هذا التسهيل ضروري لأن الحاسب في الحقيقة يتعامل فقط مع شيئين هما 0 و 1، و من الصعب على المبرمج أن يكتب أوامره بالصفر و الواحد لأن عملية التحويل صعبة و الكتابة كثيرة .. مثل أن يكتب بدل الرقم 3 [11] و بدلاً من الرقم 9 [1001].
2. إتخاذ قرار: البرمجة أم التصميم؟


سترى لاحقاً كيف أن البرامج حازت على نصيب الأسد من التحكم في حياتنا و تسيير أمورنا و تسهيلها، ولكن من هم منشئو هذه البرامج.


يوجد خلط كبير بين المسميات الوظيفية لمن يعملون في المجالات البرمجية، لذا سنتطرق لأهم وأشهر وظيفيتين برمجيتين في الأسطر التالية.


وظيفتان منتشرتان في عالم البرمجة: مصمم برامج و مبرمج.





المهم في الأمر:


هاتين الوظيفتين أو المهمتين (البرمجة و التصميم) مرتبطيتن معاً كما الإخوة لا تفترقان بتاتاً، و لكن بينهما فروق جوهرية لا بد ان تعلمها حتى تستطيع أن تحدد مسارك المهني و العملي.


حتى نعرف تلك الفروق لا بد أن نتعرف إلى طريقة عمل البرنامج ?.


البرامج تتكون من شاشة يراها المستخدم، هذه الشاشة هي التي يتعامل معها المستخدم، يُدخل فيها بياناته و يختار منها ما يرغب باختياره، يعتقد بعض المُستخدمين أن هذا هو البرنامج، و لكن الحقيقة هي أن هذه الشاشة تماثل هيكل للسيارة.


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


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


إذا ما اتفقت معي فأنت قد ملكت الفرق بين المصمم و المبرمج.


في شاشة تسجيل الدخول مثلاً يكون المصمم هو من يصمم شكل الشاشة التي يراها المستخدم و يضع الصور و يختار الألوان و يُنشئ الأزرار و الأماكن التي سيكتب فيها المستخدم.


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


من يُنشئ عملية التعرف هذه هو المبرمج.


خلاصة الأمر، أي برنامج يخدم المستخدم لا بد فيه من واجهة مستخدم و عمليات خلفية، يقوم بهما المصمم و المبرمج سوياً.


لكل من المبرمج و المصمم صفات شخصية يتسمون بها ليستطيعا التعامل مع مجالهما باحترافية و ينجحا فيه


صفات شخصية المصمم
تذوق الألوان ?.
الإبداع و الإبتكار.


صفات شخصية المبرمج
التفكير المنطقي.
القدرة على حل المشاكل.
3. إنتشار البرمجة خارقٌ للعادة


توجد أسباب كثيرة لتتعلم البرمجة، ربما تملك هدفاً مُسبقاً ولكن ربما معرفتك بالآفاق التي وصلتها البرمجة تزيد من فضولك لهذا المجال.


ما يعجبني في هذا المجال أن البرمجة تصب في مجال النظم، و النظم تخدم جميع المجالات البشرية، بل أكثر من ذلك أرى أن البرمجة هي التي صنعت من عصرنا عصرنا…


أوّاهُ لحياتنا بلا برامج ?

نمو عدد البرامج في قووقل بلي




من المجالات التي تؤثر فيها البرمجة الآن -وليس جميعها-
برمجة الترفيه: من الشائع أن تكون قد لعبت أو أنك تدمنُ اللعب الآن على أحد الألعاب التي لا تعمل إلا على كرت شاشة خاص لجمال رسوماتها، هذه الألعاب فيها قدر عالٍ جداً من البرمجة.
و لكن يظل الأمر أن الألعاب الحاسوبية ليست الوحيدة في مجال الترفيه، فإدارة الملاهي الكبيرة و الألعاب فيها و البرامج السياحية و إصدار تذاكر الطيران و غيرها من الأمور التي تؤثر فيها البرمجة بقوة.
برمجة الطب: ما أدق التشخيص و أنت ترى الطبيب يطلب منك إصدار صورة اشعة مُلائمة لحالك لتذهب -سلمك الله من كل سوء- إلى أخصائي الأشعة ليلعب الأزرار التي تُدار عن طريق برنامج ليُجري لك الأشعة.
الطب بصورة خاصة وصل إلى درجة أعلى بأن الطب له تخصص يُسمى بنظم المعلومات الطبية!
برمجة السياسة: من المرات النادرة التي ربما ترى فيها السياسة في مدونة علوم، و لكنها تتأثر أيضاً بمجال البرمجة بشدة، فإدارة أنظمة الإقتراع و الحكومات الإلكترونية و التطبيقات التي تسهل حياة البشر من أهم ما يمكن أن تفعله الحكومات لمحكوميها.
برمجة علوم الفضاء: يجعلني أتعجب جداً ذاك القدر من الدقة الذي يتوفر ببرامج تُدير ماكوكاً فضائياً، أن الجزء من الثانية يعني حياة بشر و جهود سنين عددا! فلغة HAL/S مثلاً تلعب دوراً دقيقاً في ناسا.
ولكن حتى تعرف تأثير البرمجة على علوم الفضاء، هل تذكر الصور التي تصاحب إقلاع أو هبوط أحد الصواريخ؟ دوماً تجد عدداً من المهندسين يجلسون أمام عدد كبير من الشاشات و يقفزون فرحاً عند نجاح العملية.
برمجة المنازل: ليس هذا الأمر مزحاً، مهما صغرت البرامج تبقى برامجاً، فالمكيف يملك مؤقتاً، و التلفاز يُبرمج لإستقبال القنوات و الغسالة تعمل إلكترونياً بلا تدخل بشري لإحتوائها على برامج مُختلفة.


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


حمّل قائمة الخطوات السريعة المختصرة لتعلُّم البرمجة








4. السؤال الأسطوري: تعلم البرمجة سهل أم صعب؟


“هل تعلم البرمجة صعب” ، “هل يمكن تعلم البرمجة“


هل واجهتك هذه الأسئلة أو جالت بخاطرك في يومٍ ما؟


أتفق معك إبتداءً أن تحديد مدى صعوبة أو سهولة ما ترغب بتعلمه يجب أن لا يكون المعيار الوحيد لمواصلة التعلم، أليس كذلك؟


إليك هذا السر:


وفقاً لتجاربي مع المبتدئين بتعلم البرمجة فإنهم يسألون أنفسهم و غيرهم هذا السؤال ليس لمعرفة درجة صعوبة أو سهولة البرمجة، و إنما للتأكد من قدرتهم على تعلم البرمجة.


في بعض الأحيان أيضاً يُخلط ما بين تعلم البرمجة و تعلم نظام التشغيل، لن نتحدث عن نظام التشغيل في هذه الجزئية ولكن نتحدث عنه في الجزء التالي مباشرة.


إذا ما كُنت ترغب في تعلم أي علم من العلوم فبدايتُه أن تثق أنك ستستطيع تعلمه و أن تبذل أقصى جهدك لتعلمه ?.


البرمجة ليست بعيدة عن بقية العلوم، لذا سأضع بين يديك إجابة السؤال عن صعوبة و سهولة تعلم البرمجة لتنساه.


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


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





الإجابة:


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


ولا شيء يُضاهي رؤية نتاج مجهودك و تعلمك (البرامج) و هي تعمل أمام ناظريك.
5. نظام التشغيل الحاضن للغة البرمجة


كلنا على الأقل سمع بنظام التشغيل ويندوز Windows. هناك معرفة لازمٌ استصحابها في تعلمك للبرمجة تتعلق به.


إنها معرفة مفهوم و أنواع نظم التشغيل، إذا كُنت تعرف جيداً ما هي نظم التشغيل و أنواعها فاقفز إلى الجزئية التالية.


هيا فلنتعرف على عمل نظام التشغيل.


إن الحاسب الذي تستخدمه أو يستخدمه غيرك يتكون من أجهزة إلكترونية (معالجات و ذواكر و مخازن بيانات..إلخ) لن تعمل دون أن يوجد مدير يتحكم بهذه الأجهزة.


هذا المدير يسمى بنظام التشغيل، لاحظ أن إسمه يدل على وظيفته [تشغيل الحاسب].





حتى تعرف كيف يدير نظام التشغيل الحاسب لنتعرف على كيفية عمل نظام الويندوز بما أنه أكثر النظم انتشاراً.


عند ضغطك على زر تشغيل الحاسب ? يتم تحميل نظام التشغيل (ويندوز) وفقاً لإعدادات بسيطة ليتم تسليم نظام التشغيل دفة إدارة كافة أجهزة الحاسب.


عندها يبدأ الويندوز بإظهار الشاشات المألوفة و القابلة للتعامل معها بالفأرة، مثل الشاشة التي تحتوي على شعار ويندوز و ما يليها من الشاشات، كما يدير الويندوز الذاكرة العشوائية (RAM) و المعالج و كافة أجهزة الحاسب القابلة للإدارة.


ولكن هناك إحتمال آخر:


من الممكن أن يكون مدير النظام الذي يعمل عند الضغط على زر تشغيل الحاسب مختلفاً، و الشاشات التي تراها عند بدء نظام التشغيل مختلفة.


هنا تأتي أنواع أخرى من أنظمة التشغيل، إذا لم تكن تعرفها فهذا لأنها أقل انتشاراً و شعبية.


من أنظمة التشغيل الأقل شهرة من ويندوز لينكس و سولارس و ماكنتوش.


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


إذا ما تساءلت لماذا يجب أن تتعرف إلى هذه المعلومات عن أنظمة التشغيل، فإن هذا لأن لغات البرمجة ترتبط إرتباطاً مباشراً ولا فكاك منه بأنظمة التشغيل، فالبرنامج الذي تبذل لتطويره أياماً وليالي سيعمل على (أحد أو بعض أو كل) أنظمة التشغيل.


ولإختلاف أنظمة التشغيل و اختلاف طريقة تعاملها مع الأجهزة و إختلاف شاشاتها يجب أن تعلم كيف سيعالج برنامجك هذه الإختلافات.
6. مصادر الدخل بين (مفتوح المصدر و مغلق المصدر)


ستمر عليك هاتين العبارتين كثيراً في مسيرة تعلمك للبرمجة و عملك فيها.


ما يفعله المبرمج كما تعلم هو أنه يكتب شفراته البرمجية (Source code)، ثم تُترجَم هذه الشفرات إلى لغة الحاسب لتعمل.


حسناً، لنُضف إضافة مهمة…


بعد ترجمة شفرتك البرمجية فإن مُترجماً افتراضياً يتكفل بتحويل تلك الشفرات إلى ملف آخر قابل للتنفيذ.


مثل أن يحول المترجم شفرتك البرمجية إلى ملف بالإمتداد exe على ويندوز.


جميع البرامج في الكون من الممكن أن تكون مفتوحة المصدر أو مُغلقته.


كيف ذلك؟


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


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


مايكروسوفت من الشركات التي تتبنى مفهوم البرامج مغلقة المصدر منذ سنوات، فنظام التشغيل ويندوز هو نظام مغلق المصدر ولم تُنشر شفرته البرمجية بتاتاً منذ بدايته و حتى اليوم.


أما نظام التشغيل لينكس فهو نظام مفتوح المصدر و شفرته البرمجية متاحة للجميع للتطوير و التعديل عليها.


مفاهيم مهمة في تحديد نوع البرنامج (مفتوح أم مغلق المصدر).
البرامج مفتوحة المصدر تعني أن الجميع يستطيع التطوير فيها و البدء من حيث انتهى الآخرون.
هذا التطوير يعني تطوراً أسرع لهذا البرنامج.
مغلق المصدر يعني أن هناك فئة محددة تعتني بتطوير البرنامج.
البرامج مغلقة المصدر من السهل التحكم فيها تجارياً، على عكس البرامج مفتوحة المصدر.
البرامج مفتوحة المصدر لا تعني أن البرنامج مجاني، بل تعني فقط أن الشفرة ستكون متاحة للجميع.
7. كيف تختار لغة البرمجة في أول الطريق


بعد أن تقتنع بأنك ترغب بتعلم لغة برمجة، تنتقل إلى مرحلة أعلى و هي اختيار لغة البرمجة التي ستتعلمها.


أعتقد أن اختيار لغة البرمجة ليس صعباً كما يُعتقد.


السبب:


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


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


بعد أن تحدد هدفك حاول البحث عن لغات البرمجة التي تملك المؤهلات لتحقيق أهدافك.





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


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


حمّل قائمة الخطوات السريعة المختصرة لتعلُّم البرمجة








8. تأثير السوق على اختيار لغة البرمجة


تعلم لغة البرمجة لا يقف عند الهواية فقط، البرمجة مجال عملي و مهني و يتوقع المبرمج أن يحصل على عائد ? من أعماله.


و كنتيجة لمجهوداتك المستمرة، فإن برامجك أيضاً كنتيجة طبيعية ستكون جزءاً من مؤسسات و شركات أو مستخدمة من قبل مختلف المستخدمين.


إليك ما يجب أن تفعله:


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


السوق المُستهدف ربما يعني مكان تواجد مستخدمي برامجك.


من الممكن أن يكون السوق المستهدف حقيقي أو افتراضي.


مثال السوق الحقيقي أن تستهدف بيع برامجك في مدينة الكويت، أما مثال السوق الإفتراضي أن تستهدف مستخدمي ألعاب فيسبوك.


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





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


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


من الطرق أيضاً أن تبحث عن أكثر دورات لغات البرمجة توفراً، فكلما كانت الطلب على لغة البرمجة أعلى توفرت لها دورات أكثر. و لكن أرى أن هذا المعيار ليس دقيقاً تماماً.


المهم في الأمر، بعد اختيار لغة البرمجة التي ترغب بتعلمها يتحتم أن لا تكون على جزيرة منعزلة لا تجد من تتعلم منه ولا من يرغب بتوظيفك ولا من يرغب بأن تطور له البرامج.
9. التخلص من عقدة اللغة الإنجليزية في البرمجة


عندما بدأ العلم كان العرب و المسلمون هم رُعاتُه = تاريخ.


تتفق معي أننا الآن و في أيامنا هذه أصبحت اللغة الإنجليزية هي عماد العلوم و اللغة العالمية للتخاطب و التعلم.


قبل أن أتحدث عن اللغة الإنجليزية أود أن أعبر عما بخاطري.


أؤمن تماماً بأن اللغة العربية بإمكانها أن تعبر عن العلوم جميعها إذا ما تُرجمت العلوم الموجودة إلى اللغة العربية و كُتبت المؤلفات العلمية باللغة العربية.


فلنعُد.. و بما أن اللغة الإنجليزية هي عماد العلوم في عصرنا و خاصةً في مجال الحاسب الآلي و البرمجة، فهل يجب أن تكون جيداً في اللغة الإنجليزية لتتعلم الحاسب؟


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


التحول الإيجابي:


بالتأكيد إذا ما كنت جيداً في اللغة الإنجليزية فإن هذا سيسهل عليك فهم أمور كثيرة.


كما أن الكُتب الجيدة عن البرمجة عادة ما تكون متوفرة باللغة الإنجليزية. لاحظ قولي عادة وليس دائماً. يوجد بعض الكُتّاب المميزون في مجالات الحاسب و البرمجة في وطننا العربي.


لا تفكر كثيراً في اللغة الإنجليزية فهي لن تقف عائقاً في طريق تعلمك للبرمجة.


ولكن بلا شك.. يبقى تعلمها فائدة كبيرة، و أداة تزيد من سرعتك في تعلم العلوم عامة.
10. لا يكفي أن تتعلم فقط


البرمجة ليست نظريات… فقط.


في بدايات تعلم البرمجة و طوال تعلمك و عملك تستصحبك نظريات عديدة تسهل من عملك و تطور من مستواك العملي و العلمي.


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


البرمجة تتحدث عن إنشاء منتج محسوس..


تتحدث عن نتاج مجهود و عمل و تفكير..


تتحدث عن تحويل الأفكار إلى واقع..


هذا يعني أن البرمجة لا تتوقف على تعلم النظريات فقط، لا تضيّع وقتك في تعلم نظريات لن تطبقها.


ما عليك أن تفعله فعلاً هو أن تتعلم النظريات من ناحية لتؤثر في طريقة عملك و مخرجاتك، ما يجب أن تفعله هو أن تطبق هذه النظريات و ترى نتائجها و تعتمدها إن نجحت و تغادرها إن فشلت.
11. السحر الخفي: التعلم في 24 ساعة و 3 أيام و 7 أيام


أنا و أنت و غيرنا … نرغب بالحصول على أفضل النتائج في أقصر وقت ممكن.


هذا هو السر في النجاحات التي تحققها مثل هذه الكتب.


ولكن المنطق يقول، إذا كانت البرمجة أو غيرها من المواضيع التي تتعلق بالكتب التي تسمى بتعلم البرمجة خلال … (وقت قصير جداً و غير منطقي) فعلاً تحول الشخص إلى مبرمج، فهذا يعني أنه بإمكانك أن تكون محترفاً لـ 10 مجالات خلال 10 أيام لتبدأ العمل باحدى الشركات ثم يأتي غيرك و قد قرأ 11 كتاب خلال 11 يوم ليكون أفضل منك .. و هكذا !!!





أعجبني تعلم الروحانيات في يوم ?


من الجلي أن الأمر ليس منطقياً.


ولكن هل من الممكن تعلم لغة البرمجة بسرعة على كل حال؟


نعم، السرعة ممكن إذا حددت هدفك.


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


ولكن إحتراف لغة برمجة تم تطويرها خلال سنوات من العمل المتصل و خبرات مئات أو آلاف الأشخاص الموثقة في آلاف الصفحات يتم إستخلاصها في 20 صُفيحة صغيرة… يا للدهشة!


ستقرأ لاحقاً في هذه التدوينة آراء خبراء في البرمجة عن تعلم البرمجة و كم من الوقت يستلزم تعلم البرمجة و هذا سيضع بعض النقاط فوق الحروف.
12. حياة المبرمج العملية


بما أنك تقرأ حتى هنا، فهذا يعني أنك ترغب بتعلم البرمجة حتماً، ولكن..


هل تعلم كيف هي حياة المبرمج العملية؟


قبل أن تتعرف إلى حياة المبرمج العملية سنتطرق إلى شيء أهم و هي نماذج تطوير البرمجيات.


من أبسط نماذج تطوير البرمجيات هو نموذج الشلال، هذا النموذج يعتمد على إجراء مرحلة واحدة ثم الإنتقال إلى التالية دون


مراحل التطوير هي:



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

لا تنخدع بهذا العدد:


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


أما المشاريع الفردية و البرامج الصغيرة فيؤدي فيها المبرمج كامل المهام.


هل لاحظت أين هو دور المبرمج في نموذج تطوير البرمجيات؟


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


وكلما كانت الشركة أقل احترافية أو كان البرنامج أصغر كثُرت المهام التي تؤديها.
13. ماذا قال خبراء الحاسب


الإستماع لآراء الخبراء قبل تعلم لغة البرمجة من الأمور المساعدة لاختيار الطريق الصحيح و توفير الكثير من الوقت و العناء.

أحمد معتصم




أحمد معتصم (رحِمهُ الله، أسألُكَ الدُّعاء لهُ) مطور نظم:
أتقن لغة السي شارب.
تعلمت السي شارب لأنني علمتُ أن الطلب عليها من قبل الشركات كبير.
يحتاج المبتدئ لإنشاء برامج كبيرة بلغة السي الشارب إلى 3 أشهر تقريباً إذا أمضى 4 ساعات يومياً بالتعلم.
تطلب لغة السي شارب من قبل شركات تطوير المواقع الالكترونية و بعض الجهات الحكومية وشركات تطوير الألعاب التي تستخدم إطار عمل framework يعتمد على الدوت نت.


محمد علي الطيب مبرمج شيربوينت:
اتقن لغة الجافا، البي اتش بي، السي شارب.
الجافا تم تدريسها في الجامعه، واول شركه عملت بها كانت تستخدم الجافا كلغة برمجه اساسيه ومن ثم استخدمتها في تطوير تطبيقات الاندرويد.
البي اتش بي تعلمتها بعد الجامعه من اجل تطوير مواقع الويب لانها اكثر لغه مشهوره على الانترنت وبالاضافه لكثرة العمل الحر للغة البي اتش بي واشهر انظمة ادارة المحتوى مبنيه على البي اتش بي (ويردبرس، جوملا، دروبل).
السي شارب: تعلمتها فقط بدافع الفضول وتجربة لغة برمجه جديده ولم اتقنها الا بعد عدة سنين عند عملي كمبرمج في شركه وكانت اللغه المستخدمه لبرمجه جميع التطبيقات هي السي شارب.
اعتقد اسبوع الى عشره ايام تكفي لتعلم كافة الاساسيات لاي لغه والبدء في بناء تطبيق كامل.
لم تواجهني اي صعوبات في عملي بسبب تعلمي لغة برمجة محددة.
تطلب الجافا من قبل الشركات التي تعمل في برمجة تطبيقات الجوال ومن بعض الشركات التي تقوم ببناء انظمه كبيره(Enterprise).
البي اتش بي تطلب من قبل الشركات التي تعمل في بناء المواقع الالكترونيه والانظمه المبنيه على الويب.
السي شارب تطلب من قبل شركات برمجة تطبيقات الجوال (ويندوز فون) وبالاضافه للشركات التي تعمل في برمجه التطبيقات لنظام التشغيل ويندوز بالاضافه للشركات التي تقوم ببناء التطبيقات المبنيه على الويب.


حمّل قائمة الخطوات السريعة المختصرة لتعلُّم البرمجة







خاتمة


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


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


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