📚موسوعة الحاسوب و البرمجة📚
11.7K subscribers
875 photos
275 videos
3.95K files
913 links
تحتوي على اي كتب او برامج او فيديوهات او دورات تتعلق بالحاسوب او البرمجة وصيانة الهواتف
قنواتنا
للتواصل @mosoaa_bot
قناتنا في اليوتيوب
https://youtube.com/@musuaamsg
Download Telegram
Forwarded from كتب + برامج في الالكترونيات
برنامج يعمل على أنظمة Android يقوم المستخدم بكتابة وتجربة البرامج عليه .. ولأكثر من لغة برمجة👇👇👇👇
Forwarded from كتب + برامج في الالكترونيات
Forwarded from كتب + برامج في الالكترونيات
FETBiasing.pdf
883.9 KB
Forwarded from كتب + برامج في الالكترونيات
Transistor Basics.pdf
499.9 KB
Forwarded from كتب + برامج في الالكترونيات
Buffers and Codes Converters.pdf
272.7 KB
Forwarded from كتب + برامج في الالكترونيات
Decoders.pdf
1 MB
Forwarded from كتب + برامج في الالكترونيات
Multiplexers (Data Selectors).pdf
700.4 KB
Forwarded from كتب + برامج في الالكترونيات
Programmable Logic Array.pdf
1.4 MB
Forwarded from كتب + برامج في الالكترونيات
Forwarded from كتب + برامج في الالكترونيات
Michael_R_Lindeburg_FE_Electrical.pdf
89.6 MB
Forwarded from كتب + برامج في الالكترونيات
كتاب مبسط عن الروبتات .. عربي
Forwarded from كتب + برامج في الالكترونيات
Robotec simply.pdf
21.1 MB
Forwarded from كتب + برامج في الالكترونيات
برنامج يعمل على أنظمة Android يقوم المستخدم بكتابة وتجربة البرامج عليه .. ولأكثر من لغة برمجة👇👇👇👇
Forwarded from المكتبة الشاملة (أ/أم الرشيدين)
This media is not supported in your browser
VIEW IN TELEGRAM
7 أشياء تدمر حياة المبرمجين
ﺍﻹﻧﻄﻮﺍﺋﻴﺔ ﻭ ﺍﻟﻌﻘﻼﻧﻴﺔ ﺻﻔﺎﺕ ﻟﻜﺄﻧﻬﺎ ﺗﺄﺗﻲ ﺑﺎﻟﻔﻄﺮﺓ ﻣﻊ ﻛﻞ
ﻣﺒﺮﻣﺞ!
ﻳﺘﺸﺎﺭﻙ ﺍﻟﻤﺒﺮﻣﺠﻴﻦ ﻓﻲ ﻛﺜﻴﺮ ﻣﻦ ﺍﻟﺼﻔﺎﺕ ﺍﻟﺸﺨﺼﻴﺔ ﺍﻟﺘﻲ
ﺗﺘﻮﻟﺪ ﻟﺪﻳﻬﻢ ﺑﻔﻌﻞ ﻃﺮﻳﻘﺔ ﺍﻟﻌﻤﻞ ﻭ ﺍﻹﻧﻐﻤﺎﺱ ﻓﻴﻪ، ﻭ ﺫﺍﻙ ﺃﻥ
ﺍﻟﻌﻤﻞ ﺍﻟﺒﺮﻣﺠﻲ ﻳﺆﺛﺮ ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ ﻋﻠﻰ ﻃﺮﻳﻘﺔ ﺗﻔﻜﻴﺮ
ﺍﻟﻤﺒﺮﻣﺞ ﻭ ﺭﺑﻤﺎ ﻃﺮﻳﻘﺔ ﺗﻮﺍﺻﻠﻪ ﻣﻊ ﻣﺤﻴﻄﻪ ﻭ ﺃﺻﺪﻗﺎﺋﻪ .
ﺑﺎﻟﻤﺜﻞ ﻳﻌﺎﻧﻲ ﺍﻟﻤﺒﺮﻣﺠﻮﻥ ﻣﻦ ﺃﺷﻴﺎﺀ ﻣﺸﺘﺮﻛﺔ ﺗﻤﺜﻞ ﻟﻬﻢ ﻃﻌﻨﺔ
ﻓﻲ ﺻﻤﻴﻢ ﺍﻟﻘﻠﺐ ﺃﻭ ﺳﻬﻤﺎً ﺧﺎﺭﻗﺎً ﻓﻲ ﺍﻟﻈﻬﺮ ﻓﻲ ﻟﺤﻈﺔ ﺃﻣﺎﻥ.
ﻓﻲ ﻫﺬﻩ ﺍﻟﺘﺪﻭﻳﻨﺔ ﺃﺗﺸﺎﺭﻙ ﻣﻌﻚ ﺑﻌﺾ ﺍﻷﺷﻴﺎﺀ ﺍﻟﻤﺪﻣﺮﺓ ﻓﻲ
ﺣﻴﺎﺓ ﺍﻟﻤﺒﺮﻣﺠﻴﻦ
.1 ﺍﻟﺘﻌﺎﻣﻞ ﻣﻊ ﺍﻟﻌﻤﻼﺀ ﻏﻴﺮ ﺍﻟﻤﻨﻄﻘﻴﻴﻦ
ﻓﻲ ﺍﻟﻌﻤﻞ ﺍﻟﺤﺮ ﺃﻛﺜﺮ ﻣﻦ ﺍﻟﻌﻤﻞ ﺍﻟﻮﻇﻴﻔﻲ ﻳﻌﺎﻧﻲ
ﺍﻟﻤﺒﺮﻣﺠﻮﻥ ﻣﻦ ﺍﻟﻌﻤﻼﺀ ﻏﻴﺮ ﺍﻟﻤﻨﻄﻘﻴﻴﻦ. ﻟﻦ ﺗﺴﺘﻄﻴﻊ
ﺗﻮﻗﻊ ﺇﺣﺴﺎﺱ ﺍﻟﻤﺒﺮﻣﺞ ﻋﻨﺪﻣﺎ ﻳﺘﻔﻖ ﻣﻊ ﺃﺣﺪ ﺍﻟﻌﻤﻼﺀ ﻭ
ﻳﻨﻬﻲ ﺍﻟﺠﺰﺀ ﺍﻟﻤﻨﻮﻁ ﺑﻪ ﻟﻴﺄﺗﻲ ﺍﻟﻌﻤﻴﻞ ﺭﺍﺩﺍً ﺍﻟﻌﻤﻞ ﺑﻌﺒﺎﺭﺓ
“ ﻟﻜﻨﻪ ﻟﻢ ﻳﻌﺠﺒﻨﻲ .”
ﻳﺎ ﺃﻳﻬﺎ ﺍﻟﻌﻤﻴﻞ ﺍﻟﻌﺰﻳﺰ، ﺍﻟﻤﺒﺮﻣﺞ ﻟﻴﺲ ﺁﻟﺔ ﻟﺘﺤﻘﻴﻖ
ﺍﻷﺣﻼﻡ ﻭ ﻟﻢ ﻳﺴﺎﻓﺮ ﻋﺒﺮ ﺍﻟﺰﻣﻦ ﻣﺴﺘﻘﺒﻼً ﻭﻻ ﺗﺎﺭﻳﺨﺎً
ﻟﻴﻌﻠﻢ ﻣﺎ ﺗﺤﺐ، ﻭ ﺣﺘﻰ ﺃﻧﺖ ﻧﻔﺴﻚ ﻻ ﺗﺴﺘﻄﻴﻊ ﻭﺻﻒ
ﺫﻭﻗﻚ ﺑﺪﻗﺔ ﻟﻴﺘﻢ ﺗﻨﻔﻴﺬﻩ ﻟﻚ ! ﻓﻜﻴﻒ ﺗﻄﺎﻟﺐ ﺍﻟﻤﺒﺮﻣﺞ
ﺑﺬﻟﻚ !
.2 ﻛُﻞ ﺷﻲﺀ ﺻﺤﻴﺢ ﻭ ﺍﻟﺒﺮﻧﺎﻣﺞ ﻻ ﻳﻌﻤﻞ
ﻣﻦ ﺍﻟﺴﻬﻞ ﺟﺪﺍً ﻋﻠﻰ ﺍﻟﻤﺒﺮﻣﺞ ﺃﻥ ﻳﻜﻤﻞ ﺑﺮﻣﺠﺔ ﺑﺮﻧﺎﻣﺞ
ﻛﺎﻣﻞ ﺑﺴﻌﺎﺩﺓ ﻣﻘﺎﺭﻧﺔ ﺑﻤﺤﺎﻭﻟﺘﻪ ﺇﻳﺠﺎﺩ ﻣﺸﻜﻠﺔ ﻓﻲ ﺑﺮﻧﺎﻣﺞ
ﻳﺮﺍﻩُ ﺻﺤﻴﺤﺎً.
ﻫﺬﻩ ﺍﻟﺤﺎﻟﺔ ﻻ ﺑُﺪ ﻭ ﺃﻥ ﺗﻤﺮ ﻋﻠﻰ ﻛﻞ ﻣﺒﺮﻣﺞ ﻳﻌﻤﻞ ﻓﻲ
ﻫﺬﺍ ﺍﻟﻤﺠﺎﻝ، ﻭ ﺫﺍﻙ ﻷﻥ ﺍﻟﺒﺮﻣﺠﺔ ﺗﻌﺘﻤﺪ ﻋﻠﻰ ﺍﻟﺘﺮﻛﻴﺰ ﻭ
ﺍﻟﺠﻬﺪ ﺍﻟﺬﻫﻨﻲ ﻭ ﺍﻟﺘﺮﻛﻴﺰ ﺍﻟﺪﻗﻴﻖ، ﻓﺈﺫﺍ ﻛﺎﻥ ﺍﻟﻤﺒﺮﻣﺞ
ﻣﺸﺘﺘﺎً ﻭﻟﻮ ﻗﻠﻴﻼً، ﺃﻭ ﻣﺠﻬﺪﺍً ﺫﻫﻨﻴﺎً ﺇﻟﻰ ﺣﺪ ﻣﺎ ﻓﻘﺪ ﻻ
ﻳﺴﺘﻄﻴﻊ ﺗﻤﻴﻴﺰ ﻣﺸﻜﻠﺔ ﺻﻐﻴﺮﺓ ﻓﻲ ﺷﻔﺮﺗﻪ ﺍﻟﺒﺮﻣﺠﻴﺔ
ﺗﻮﻗﻒ ﺍﻟﺒﺮﻧﺎﻣﺞ ﻋﻦ ﺍﻟﻌﻤﻞ ﺩﻭﻥ ﺃﻥ ﻳﺴﺘﻄﻴﻊ ﺇﻳﺠﺎﺩﻫﺎ
ﻟﺴﺎﻋﺎﺕ.
ﻭ ﻋﻨﺪﻣﺎ ﻳﺠﺪﻫﺎ ﻣﻦ ﺍﻟﻤﻤﻜﻦ ﺃﻥ ﺗﻜﻮﻥ ﻧﻘﻄﺔ ‏(. ‏) ﻧﺎﻗﺼﺔ
ﺃﻭ ﻓﺎﺻﻠﺔ ﻣﻨﻘﻮﻃﺔ (;) ﻏﻴﺮ ﻣﻮﺟﻮﺩﺓ ﺃﻭ ﺣﺮﻑ ﺻﻐﻴﺮ
ﻳﺠﺐ ﻛﺘﺎﺑﺘﻪ ﻛﺤﺮﻑ ﻛﺒﻴﺮ ‏( showproduct /
showProduct‏) .
ﺧﻤﺲ ﺳﺎﻋﺎﺕ ﻹﻳﺠﺎﺩ ﻫﻜﺬﺍ ﻣﺸﻜﻠﺔ ﻓﻘﻂ!
.3 ﻛﺎﻥ ﻳﻌﻤﻞ ﻓﻲ ﺣﺎﺳﺒﻲ
ﺃﺻﺒﺤﺖ ﺍﻟﺘﻘﻨﻴﺔ ﻛﻤﺜﻞ ﺍﻟﻤﺎﻝ، ﻋﺼﺒﺎً ﻟﻠﺤﻴﺎﺓ، ﻓﺪﺧﻠﺖ
ﻓﻲ ﻛﻞ ﻣﻨﺎﺣﻲ ﺍﻟﺤﻴﺎﺓ ﻭ ﻣﺠﺎﻻﺗﻬﺎ.
ﻟﺬﺍ ﺗﺠﺪ ﺃﻥ ﺍﻟﻤﺒﺮﻣﺞ ﻳﻮﺟﺪ ﻓﻲ ﺃﻭ ﻳﺘﻌﺎﻣﻞ ﻣﻊ ﺟﻤﻴﻊ
ﺃﻧﻮﺍﻉ ﺍﻟﺸﺮﻛﺎﺕ ﻭ ﺍﻟﻤﺆﺳﺴﺎﺕ ﻣﻦ ﺃﻣﺜﺎﻝ ﻧﺎﺳﺎ ﻓﻲ ﺇﻃﻼﻕ
ﺍﻟﺼﻮﺍﺭﻳﺦ ﺇﻟﻰ ﺍﻟﻔﻀﺎﺀ ﻭ ﺣﺘﻰ ﺍﻟﻤﺤﻼﺕ ﺍﻟﺼﻐﻴﺮﺓ ﻓﻲ ﺇﺩﺍﺭﺓ
ﺣﺴﺎﺑﺎﺗﻬﺎ .
ﻳﻌﻤﻞ ﺍﻟﻤﺒﺮﻣﺞ ﻟﺘﺠﻬﻴﺰ ﺑﺮﻧﺎﻣﺠﻪ، ﻭ ﻓﻲ ﻧﻬﺎﻳﺔ ﺍﻻﻣﺮ ﻳﻜﻮﻥ
ﺍﺟﺘﻤﺎﻉ ﻋﻠﻰ ﻗﺪﺭ ﻋﺎﻝ ﻣﻦ ﺍﻷﻫﻤﻴﺔ ﻣﻊ ﻣﻤﻮﻝ ﺍﻟﻤﺸﺮﻭﻉ ﻭ
ﺍﻟﺬﻱ ﻳﺮﻏﺐ ﻓﻲ ﺃﻥ ﻳﻨﻈﺮ ﺑﺜﻘﺔ ﻭ ﺃﻣﺎﻥ ﺇﻟﻰ ﺍﻟﻤﻨﺘﺞ ﺍﻟﺬﻱ
ﺗﻢ ﺇﻧﺠﺎﺯﻩ ﺣﺘﻰ ﻳﺘﺄﻛﺪ ﻣﻦ ﻋﻤﻠﻪ، ﻭ ﺍﻟﻤﺒﺮﻣﺞ ﺃﻳﻀﺎً ﻳﺜﻖ
ﻓﻲ ﻋﻤﻠﻪ ﺍﻟﺬﻱ ﺃﻧﻬﺎﻩ ﻭ ﻳﺮﻏﺐ ﻓﻲ ﺃﻥ ﻳﺰﻫﻮ ﺑﻌﻤﻠﻪ ﺃﻣﺎﻡ
ﺍﻟﺠﻤﻴﻊ .. ﻭ ﻟﻜﻦ
ﺍﻟﻘﺎﻋﺪﺓ ﺗﻘﻮﻝ ﺃﻥ ﺍﻟﺒﺮﻧﺎﻣﺞ ﻳﺤﺐ ﺃﻥ ﻳُﺤﺮﺝ ﺍﻟﻤﺒﺮﻣﺞ ﺩﺍﺋﻤﺎً
ﻓﻌﻨﺪﻣﺎ ﻳﻨﺘﻘﻞ ﺍﻟﻤﺒﺮﻣﺞ ﺇﻟﻰ ﻋﺮﺽ ﺍﻟﺒﺮﻧﺎﻣﺞ ﻳﺘﻮﻗﻒ
ﺍﻟﺒﺮﻧﺎﻣﺞ ﻋﻦ ﺍﻟﻌﻤﻞ ﺃﺛﻨﺎﺀ ﻋﺮﺿﻪ ﺃﻣﺎﻡ ﺍﻟﻤﻤﻮﻝ ﻭ ﻣﺪﻳﺮ
ﺍﻟﻤﺸﺮﻭﻉ ﻭ ﻏﻴﺮﻫﻢ ﻣﻦ ﺃﺻﺤﺎﺏ ﺍﻟﻤﻜﺎﻧﺔ ﻭ ﻳﺤﺎﻭﻝ ﺇﻇﻬﺎﺭ
ﺟﻤﻴﻊ ﻣﺎ ﻳﺴﺘﻄﻴﻊ ﻣﻦ ﻣﺸﺎﻛﻞ ﻟﻢ ﻳُﻌﻠﻤﻚ ﺑﻬﺎ ﺣﻴﻦ ﻋﻤﻠﻚ
ﻭ ﺗﺠﺮﺑﺘﻚ ﻟﻪ !
ﺣﻴﻨﻬﺎ ﻳُﺤﺲ ﺍﻟﻤﺒﺮﻣﺞ ﻭ ﻛﺄﻥ ﺍﻟﺒﺮﻧﺎﻣﺞ ﻳﻤﺪ ﻟﺴﺎﻧﻪُ ﺳﺎﺧﺮﺍً
ﻣﻨﻪ ﻭ ﻳﻀﻴﻊ ﺟﻬﻮﺩﻩُ ﺳُﺪﻯ
.4 ﺃﺭﺟﻮ ﺇﻧﻬﺎﺀ ﺍﻟﻌﻤﻞ ﻗﺒﻞ ﺍﻟﺬﻫﺎﺏ ﺇﻟﻰ ﺍﻟﻤﻨﺰﻝ
ﻫﺬﻩ ﺍﻟﻤﺸﻜﻠﺔ – ﺭﻏﻢ ﺇﻳﻤﺎﻧﻲ ﺃﻧﻬﺎ ﻗﺎﺑﻠﺔ ﻟﻠﺤﻞ – ﻟﻜﻨﻬﺎ
ﺗﻤﺜﻞ ﺑُﻌﺒﻌﺎً ﻟﻠﻤﺒﺮﻣﺠﻴﻦ ﺍﻟﻌﺎﻣﻠﻴﻦ ﻓﻲ ﺍﻟﻤﺠﺎﻻﺕ ﺍﻟﺘﻲ
ﻳﻜﻮﻥ ﻓﻴﻬﺎ ﺑﺮﻧﺎﻣﺠﻪ ﻫﻮ ﺍﻟﻤﺤﺮﻙ ﺍﻟﺮﺋﻴﺴﻲ
ﻟﻸﻋﻤﺎﻝ ﻭﺑﺪﻭﻧﻪ ﻳﺘﻮﻗﻒ ﺍﻟﻌﻤﻞ ﺗﻤﺎﻣﺎً.
ﻋﻨﺪﻫﺎ ﻳُﺼﺒﺢ ﺍﻟﻤﺒﺮﻣﺞ ﻣﺜﻠُﻪ ﻣﺜﻞ ﺍﻟﻄﺒﻴﺐ، ﻳُﺴﺘﺪﻋﻰ
ﻋﻨﺪ ﺍﻷﻭﻗﺎﺕ ﺍﻟﺤﺮﺟﺔ ﻭ ﻋﻨﺪﻣﺎ ﻳﺮﻏﺐ ﺑﻤﻐﺎﺩﺭﺓ ﺍﻟﻌﻤﻞ
ﻣﻤﻨﻴﺎً ﻧﻔﺴﻪ ﺑﻠﺤﻈﺎﺕ ﺳﻌﻴﺪﺓ ﻣﻊ ﺍﻟﻌﺎﺋﻠﺔ ﻭ ﻗﻀﺎﺀ ﺃﻭﻗﺎﺕ
ﺟﻤﻴﻠﺔ ﻣﻊ ﺍﻷﺻﺪﻗﺎﺀ ﺗُﻨﻴﺮ ﺍﻟﺸﺎﺭﺓ ﺍﻟﺤﻤﺮﺍﺀ ﺑﺄﻥ ﻫﻨﺎﻙ
ﻣُﺸﻜﻠﺔ ﻣﺎ ﺑﻬﺬﺍ ﺍﻟﺒﺮﻧﺎﻣﺞ ﻻ ﺑُﺪ ﻭ ﺃﻥ ﺗُﺤﻞ ﺍﻵﻥ …
ﺳﻴﻌﻤﻞ ﺍﻟﻤُﺒﺮﻣﺞ ﻓﻮﺭﺍً ﻋﻠﻰ ﺣﻞ ﻫﺬﻩ ﺍﻟﻤﺸﻜﻠﺔ ﺩﻭﻥ ﺃﻥ
ﻳﻌﺮﻑ ﺍﻵﺧﺮﻳﻦ ﺍﻵﺛﺎﺭ ﺍﻟﻨﻔﺴﻴﺔ ﻟﻬﺬﻩ ﺍﻟﻌﺒﺎﺭﺓ ﺍﻟﺒﺴﻴﻄﺔ
ﻋﻠﻴﻪ
.5 ﺳﻮﺑﺮﻣﺎﻥ
ﻟﺴﺖُ ﻣﻦ ﺃﻧﺼﺎﺭ ﺍﻟﺴﺨﺮﻳﺔ ﻣﻦ ﻋﺪﻡ ﺍﻟﻤﻌﺮﻓﺔ ﺑﺘﺨﺼﺺ
ﺍﻟﺒﺮﻣﺠﺔ ..
ﻭ ﻟﻜﻦ ﻫﺬﻩ ﻣﻌﺎﻧﺎﺓ ﺣﻘﻴﻘﻴﺔ ﻟﻠﻤُﺒﺮﻣﺞ، ﻣﺤﻴﻂ ﺍﻟﻤﺒﺮﻣﺞ ﻭ
ﻋﺎﺋﻠﺘﻪ ﻭ ﺃﺻﺪﻗﺎﺋﻪ ﻻ ﻳﻌﺮﻓﻮﻥ ﻣﺎ ﻫﻮ ﺗﺨﺼﺼﻪ ﻓﻌﻼً ﻭ ﻣﺎ
ﻳﻌﺮﻓﻪ ﻣﻤﺎ ﻻ ﻳﻌﺮﻓﻪ ﻓﻴﺘﻮﻗﻌﻮﻥ ﻣﻨﻪ ﺃﻥ ﻳﺤﻞ ﻣﺸﺎﻛﻞ
ﺍﻟﺠﻮﺍﻻﺕ ﺍﻟﺘﻲ ﺗﺘﻮﻗﻒ ﻭ ﺷﺎﺷﺎﺕ ﺍﻟﺘﻠﻔﺎﺯ ﺍﻟﻤﺘﻌﻄﻠﺔ ﻭ
ﺍﻟﻮﻳﻨﺪﻭﺯ ﺍﻟﺬﻱ ﻳﺘﻮﻗﻒ ﻋﻦ ﺍﻟﻌﻤﻞ ﺩﻭﻥ ﺃﻥ ﻳﻌﻠﻤﻮﺍ ﺃﻥ ﻫﺬﺍ
ﺍﻟﻤﺒﺮﻣﺞ ﻳﺤﻤﻞ ﻣﺎ ﺗﻌﻄﻞ ﺇﻟﻰ ﺍﻟﻤﺨﺘﺺ ﻣﺜﻠُﻪ ﻣﺜﻞ ﺍﻟﺠﻤﻴﻊ
ﺣﺘﻰ ﻳُﺼﻠﺢ !
ﻭﻟﻜﻦ ﻗﻮﺓ ﺍﻟﻌﻼﻗﺎﺕ ﻛﺜﻴﺮﺍً ﻣﺎ ﺗﻜﻮﻥ ﻃﺎﻏﻴﺔ ﻋﻠﻰ ﺍﻟﻤﻨﻄﻖ
ﻓﻴﺤﺎﻭﻝ ﺍﻟﻤﺒﺮﻣﺞ ﺣﻞ ﻫﺬﻩ ﺍﻟﻤﺸﺎﻛﻞ ﺑﺎﺫﻻً ﺟﻬﺪﻩ ﻓﻌﻼً
ﻣﺤﺎﻭﻻً، ﻓﻴﻔﺸﻞ ﻓﻴُﺤﺮﺝ ﻓﻲ ﺍﻻﻋﺘﺬﺍﺭ ﺑﺄﻧﻪ ﻻ ﻳﻌﻠﻢ ﺛﻢ
ﺑﺎﻟﻨﻬﺎﻳﺔ ﻳُﺴﺪﻯ ﺍﻟﻨﺼﻴﺤﺔ ﺑﺄﻥ ﻫﻨﺎﻙ ﺷﺨﺺٌ ﻣﺎ ﻣُﺘﺨﺼﺺ
ﻓﻲ ﺣﻞ ﻫﺬﻩ ﺍﻟﻤﺸﺎﻛﻞ !
.6 ﺗِﻚ ﺗِﻚ ﺗِﻚ
ﻛﻤﺎ ﺫﻛﺮﺕُ ﻟﻚ ﻓﺎﻟﺒﺮﻣﺠﺔ ﻣﺠﺎﻝ ﻳﻌﺘﻤﺪ ﻋﻠﻰ ﺍﻟﺠﻬﺪ
ﺍﻟﺬﻫﻨﻲ ﻭ ﺍﻟﺘﺮﻛﻴﺰ ﺍﻟﻌﺎﻟﻲ، ﺭﺑﻤﺎ ﻫﺬﺍ ﻣﺎ ﻳﺠﻌﻞ ﺍﻟﻤﺒﺮﻣﺠﻴﻦ
ﻳﻌﺘﺎﺩﻭﻥ ﺍﻟﻌﺰﻟﺔ ﻭ ﺍﻟﻬﺪﻭﺀ ﻭ ﺍﻟﺒﻌﺪ ﻋﻦ ﺍﻟﺒﺸﺮ ﻷﻧﻬﻢ
ﻳﻌﻴﺸﻮﻥ ﻣﻊ ﻋﻘﻮﻟﻬﻢ ﺍﻟﺘﻲ ﺗﻌﻤﻞ ﻋﻠﻰ ﻛﺜﻴﺮﺍً.
ﺍﻟﻤﺒﺮﻣﺞ ﻳﺤﻠﺲ ﻋﺎﺯﻻً ﻧﻔﺴﻪ ﻓﻲ ﻫﺪﻭﺀ ﻭ ﺗﻨﺴﻜﺐ
ﺍﻟﺸﻔﺮﺍﺕ ﺍﻟﺒﺮﻣﺠﻴﺔ ﻣﻦ ﻋﻘﻠﻪ ﺇﻟﻰ ﻳﺪﻳﻪ ﺑﺴﻼﺳﺔ ﺑﻌﺪ ﺃﻥ
ﻃﺒﺨﻬﺎ ﻓﻲ ﻋﻘﻠﻪ ﺑﺎﺗﺼﺎﻝ ﻟﻤﺪﺓ ﺳﺎﻋﺔ .. ﺛﻢ ﻓﺠﺄﺓ ﻳﺴﻤﻊ
ﻫﺬﺍ ﺍﻟﺼﻮﺕ .. ﺗِﻚ ﺗِﻚ ﺗِﻚ
ﻟﻦ ﺃﺧﺒﺮﻙ ﻋﻦ ﺍﻟﻤﺒﺮﻣﺠﻴﻦ ﺍﻟﺬﻳﻦ ﻳﻀﻌﻮﻥ ﺃﻭﺭﺍﻗﺎً ﺗﺤﻤﻞ
ﻋﺒﺎﺭﺍﺕ ﻣﺜﻞ “ﺃﺭﺟﻮ ﻋﺪﻡ ﺍﻹﺯﻋﺎﺝ” ﺃﻭ “ﻣﺘﺼﻞ ﺣﺎﻟﻴﺎً ” ﺃﻭ
“ ﻻ ﺗﺰﻋﺠﻨﻲ ” ﻭ ﻟﻜﻦ ﺍﻋﻠﻢ ﺃﻥ ﻫﺬﺍ ﺍﻟﺼﻮﺕ ﻣﻦ ﺃﻛﺜﺮ
ﺍﻷﺻﻮﺍﺕ ﻟﻴﺲ ﺇﺯﻋﺎﺟﺎً ﻓﻘﻂ ﺑﻞ ﺃﻟﻤﺎً ﻟﻠﻤﺒﺮﻣﺞ!
ﻓﻌﻼً ﻫﺬﻩ ﺍﻷﻓﻜﺎﺭ ﺍﻟﺘﻲ ﻳﻄﺒﺨﻬﺎ ﺍﻟﻤﺒﺮﻣﺞ ﻓﻲ ﻋﻘﻠﻪ ﻋﻠﻰ
ﻧﺎﺭ ﻫﺎﺩﺋﺔ ﻟﺴﺎﻋﺎﺕ ﺭﺑﻤﺎ ﺗﻬﺮﺏ ﺑﻜﻞ ﺑﺴﺎﻃﺔ ﺑﻌﺪ ﺃﻥ
ﻳﺪﺧﻞ ﻓﻲ ﺃﻗﻞ ﻣﺤﺎﺩﺛﺔ ﺗﺸ
ﺘﺖ ﺗﺮﻛﻴﺰﻩ، ﻭ ﺫﺍﻙ ﺍﻟﺴﻄﺮ
ﺍﻟﺬﻱ ﻛﺘﺒﻪ ﻗﺒﻞ ﺩﻗﺎﺋﻖ ﻣﻦ ﺑﺪﺍﻳﺔ ﺍﻟﻤﺤﺎﺩﺛﺔ ﺍﻟﺨﺎﺭﺟﻴﺔ
ﺳﻴﻨﺴﻰ ﻟﻤﺎﺫﺍ ﻛﺘﺒﻪ ﻭ ﻣﺎ ﻫﻲ ﻣﻬﻤﺘﻪ ﻓﻲ ﻓﻜﺮﺗﻪ ﺍﻟﻌﺒﻘﺮﻳﺔ
ﺍﻟﺘﻲ ﻛﺎﻥ ﻳُﻨﻔﺬﻫﺎ !
ﻓﺎﺭﺣﻢ ﻣُﺒﺮﻣﺠﺎً ﻣﻌﺰﻭﻻً ﻭ ﺍﻋﻄﻪ ﻣﺴﺎﺣﺘﻪ ﻭ ﻭﻗﺘﻪ !
.7 ﺍﻟﻤﺒﺮﻣﺞ ﺇﻧﺴﺎﻥُ ﺑﻼ ﻗﻠﺐ
ﻓﻲ ﺭﺃﻳﻲ ﻣﻦ ﻛﺜﺮﺓ ﺍﻟﺘﻔﻜﻴﺮ ﺍﻟﻤﻨﻄﻘﻲ ﻭ ﺍﻟﻌﻘﻼﻧﻲ ﺍﻟﺬﻱ
ﻳﻤﺮ ﺑﻪ ﺍﻟﻤﺒﺮﻣﺞ ﻓﻲ ﻋﻤﻠﻪ ﻓﺈﻥ ﺷﺨﺼﻴﺘﻪ ﻭ ﻃﺮﻳﻘﺔ
ﺗﻔﻜﻴﺮﻩ ﺗﺘﻐﻴﺮ ﺑﻄﺮﻳﻘﺔ ﻛﺒﻴﺮﺓ.
ﻓﺎﻟﻤﺒﺮﻣﺞ ﻳﺤﺎﻭﻝ ﺃﻥ ﻳﻀﻊ ﺧﻮﺍﺭﺯﻣﻴﺔ ﻟﻜﻞ ﻣﺸﻜﻠﺔ، ﻭ ﻻ
ﻳﻮﺟﺪ ﻟﺪﻳﻪ ﻣﺎ ﻳُﺴﻤﻰ ﺑﺎﻟﻤُﺴﺘﺤﻴﻞ، ﻫﻨﺎ ﻣُﺸﻜﻠﺔ ﻳﺠﺐ ﺃﻥ
ﺗُﺤﻞ ﻭ ﻫﻨﺎﻙ ﺇﺣﺘﻤﺎﻻﺕ ﻟﻮﺟﻮﺩ ﺍﻷﺧﻄﺎﺀ ﻭ ﻋﻨﺪﻣﺎ ﻳﺤﺪﺙ
ﺍﻟﺨﻄﺄ ﻓﻴﺠﺐ ﺃﻥ ﻧﻔﻌﻞ ﻛﺬﺍ ﻟﻨﺤﻞ ﻫﺬﻩ ﺍﻟﻤﺸﻜﻠﺔ ﻭ ﻫﻨﺎﻙ
ﺃﻛﺜﺮ ﻣﻦ ﺳﻴﻨﺎﺭﻳﻮ ﻟﻜﻞ ﺣﻞ ﺳﻴﺪﺭﺳﻬﻢ ﺍﻟﻤﺒﺮﻣﺞ ﺟﻤﻴﻌﻬﻢ
ﻗﺒﻞ ﺃﻥ ﻳﻄﺒﻘﻬﻢ.
ﻫﺬﺍ ﻫﻮ ﻋﻘﻞ ﺍﻟﻤﺒﺮﻣﺞ!
ﻭ ﺍﻵﻥ ﻫﺬﻩ ﻫﻲ ﺍﻟﺤﻘﻴﻘﺔ، ﺍﻟﺒﺸﺮ ﺍﻟﻌﺎﺩﻳﻮﻥ ﻻ ﻳﻔﻜﺮﻭﻥ
ﻫﻜﺬﺍ ﻳﺎ ﺻﺪﻳﻘﻲ …
ﻟﺬﺍ ﻋﻨﺪﻣﺎ ﻳﺤﺲ ﺍﻟﻜﺜﻴﺮﻭﻥ ﺃﻥ ﺍﻟﻤﺒﺮﻣﺞ ﻣﺘﺒﻠﺪ
ﺍﻟﺤﺲ ! ﺗﺤﺪﺙ ﺍﻟﻤﺼﺎﺋﺐ ﺍﻟﺘﻲ ﻳﺠﺰﻉ ﻟﻬﺎ ﺍﻟﻨﺎﺱ ﻭ ﺗﺠﺪﻩ
ﺑﺎﺭﺩﺍً ﻻ ﻳﺘﻔﺎﻋﻞ، ﻫﺬﺍ ﻣﻦ ﻭﺟﻬﺔ ﻧﻈﺮﻫﻢ، ﻭ ﻟﻜﻦ ﻓﻲ
ﻧﻔﺲ ﺍﻟﻠﺤﻈﺔ ﻳﻜﻮﻥ ﻋﻘﻞ ﺍﻟﻤﺒﺮﻣﺞ ﻳﺮﻯ ﻫﺬﻩ ﺍﻟﻤﺼﻴﺒﺔ
ﻛﻤﺸﻜﻠﺔ ﺑﺮﻣﺠﻴﺔ ﻟﻬﺎ ﺣﻞ ﻳﺴﺘﻄﻴﻊ ﺃﻥ ﻳﺠﺪﻩ ﻭ ﻟﻬﺎ
ﺳﻴﻨﺎﺭﻳﻮﻫﺎﺕ ﻭ ﻋﻘﻠﻪ ﻳﻌﻤﻞ ﻟﻮﺿﻌﻬﺎ.
ﻟﺬﺍ ﻻ ﺗﻈﻠﻢ ﺍﻟﻤﺒﺮﻣﺞ ﺑﺄﻥ ﺗﺼﻔﻪ ﺑﺎﻟﺘﺒﻠﺪ، ﺻﺪﻗﻨﻲ ﻫﻮ
ﻳُﺤﺲ ﻓﻌﻼً،، ﻭ ﻟﻜﻦ ﻋﻘﻠﻪ ﻳﻌﻤﻞ ﺩﻭﻣﺎً
ﻟﻔﺮﻕ ﺑﻴﻦ ﺍﻟﺠﺎﻓﺎ ﻭﺍﻟﺠﺎﻓﺎ
ﺳﻜﺮﻳﺒﺖ .
ﻣﺎ ﻫﻲ ﺍﻟﺠﺎﻓﺎ ‏( java ‏)
ﻧﺒﺬﺓ ﻋﻦ ﺍﻟﺠﺎﻓﺎ
ﺍﻟﺠﺎﻓﺎ ﻫﻲ ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﻛﺎﺋﻨﻴﺔ ﺍﻟﺘﻮﺟﻪ ‏(oop ‏)
ﺃﺳﺴﻬﺎ ﺍﻟﻤﻄﻮﺭ ﺍﻟﺸﻬﻴﺮ ﺟﻴﻤﺲ ﻏﻮﺳﻠﻴﻨﻎ ﻋﺎﻡ 994
ﻭﻇﻬﺮﺕ ﻟﻠﻌﺎﻟﻢ ﻋﺎﻡ 1995 ﻭﻛﺎﻥ ﻫﺬﺍ ﻟﺼﺎﻟﺢ ﺮﻛﺔ
‏( Microsystems Sun ‏) , ﻭﻫﻲ ﺑﻤﺜﺎﺑﺔ ﻌﻘﻞ
ﻓﻲ ﻣﻌﻈﻢ ﺍﺟﻬﺰﺓ ﺍﻟﺘﺸﻐﻴﻞ ﺍﻟﺬﻛﻴﺔ , ﻭﻫﻲ ﺗﺸﺒﻪ
ﺍﻟﻰ ﺣﺪ ﻣﺎ C++ ﻭﻟﻜﻨﻬﺎ ﺍﻛﺜﺮ ﺍﻧﺘﺎﺟﺎً .
ﺍﻟﻬﺪﻑ ﻣﻦ ﺇﻧﺸﺎﺀ ﺍﻟﺠﺎﻓﺎ
ﻭﻛﺎﻥ ﺍﻟﻬﺪﻑ ﻣﻦ ﺇﻧﺸﺎﺋﻬﺎ ﻫﻮ ﻛﺘﺎﺑﺔ ﻛﻮﺩ ﻭﺍﺣﺪ ﻌﻤﻞ
ﻓﻲ ﻛﻞ ﻣﻜﺎﻥ ‏(ﻧﻈﺎﻡ ﺗﺸﻐﻴﻞ ‏) ﺣﻴﺚ ﻛﺎﻥ ﺍﻟﺸﻌﺎﺭ
ﺍﻟﺨﺎﺹ ﺑﻠﻐﺔ ﺍﻟﺠﺎﻓﺎ " ﺍﻛﺘﺐ ﻣﺮﺓ ﻭﺷﻐﻞ ﻓﻲ ﺃﻱ
ﻣﻜﺎﻥ " ‏( ﺑﺎﻹﻧﺠﻠﻴﺰﻳﺔ : Write Once
Run Anywhere ‏) , ﺣﻴﺚ ﺍﻧﻚ ﺍﺫﺍ ﺍﺭﺩﺕ ﺍﻥ ﺗﻘﻮﻡ
ﺑﻌﻤﻞ ﺗﻄﺒﻴﻖ ﻳﻌﻤﻞ ﻋﻠﻰ ﻛﻞ ﺍﻧﻈﻤﺔ ﺍﻟﺘﺸﻐﻴﻞ ,
ﻓﺴﺘﻘﻮﻡ ﺑﺎﻟﺒﺮﻣﺠﺔ ﺍﻛﺜﺮ ﻣﻦ ﺑﺄﻛﺜﺮ ﻣﻦ ﻟﻐﺔ ﻭﻟﻜﻦ
ﻣﻊ ﺟﺎﻓﺎ ﻓﻘﺪ ﺣﻠﺖ ﻫﺬﻩ ﺍﻟﻤﺸﻜﻠﺔ .
ﻣﻤﻴﺰﺍﺕ ﺍﻟﺠﺎﻓﺎ
ﺗﺘﻤﻴﺰ ﻟﻐﺔ ﺍﻟﺠﺎﻓﺎ ﻋﻦ ﻋﻦ ﻏﻴﺮﻫﺎ ﺑﺎﻟﻌﺪﻳﺪ ﻣﻦ
ﺍﻟﺨﺼﺎﺋﺺ ﻭﻣﻦ ﺍﻫﻤﻬﺎ :
ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﻛﺎﺋﻨﻴﺔ ﺍﻟﺘﻮﺟﻪ ﺃﻱ ﺃﻧﻬﺎ ﺗﺘﻜﻮﻥ ﻦ
‏( class ‏)
ﺑﺴﻴﻄﺔ : ﻳﻤﻜﻦ ﻷﻱ ﺍﺣﺪ ﺍﻥ ﻳﺘﻌﻠﻤﻬﺎ ﺃﺻﺒﺤﺖ
ﺳﻬﻮﻟﺔ ﺍﻵﻥ
ﺍﻟﻌﻤﻞ ﻓﻲ ﺃﻱ ﻣﻜﺎﻥ
ﺍﻷﻣﺎﻥ
ﺩﻳﻨﺎﻣﻴﻜﻴﺔ
ﻓﻴﻤﺎ ﺗﺴﺘﺨﺪﻡ ﻟﻐﺔ ﺍﻟﺠﺎﻓﺎ
ﺗﺴﺘﺨﺪﻡ ﻟﻐﺔ ﺍﻟﺠﺎﻓﺎ ﺍﻟﻌﺪﻳﺪ ﻣﻦ ﺍﻷﺷﻴﺎﺀ ﻣﺜﻞ :
ﺃﻧﻈﻤﺔ ﺍﻟﺼﺮﻑ ﺍﻵﻟﻲ
ﺗﻄﺒﻴﻘﺎﺕ ﺳﻄﺢ ﺍﻟﻤﻜﺘﺐ
ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻤﻮﺑﺎﻳﻞ
ﺗﻄﺒﻴﻘﺎﺕ ﺍﻟﻮﻳﺐ
ﺑﺮﻣﺠﺔ ﺍﻟﺸﺮﺍﺋﺢ ﺍﻟﺬﻛﻴﺔ
ﻭﺍﻻﻥ ﻋﺮﻓﻨﺎ ﺑﻌﺾ ﺧﺼﺎﺋﺺ ﺍﻟﺠﺎﻓﺎ ﺑﻘﻲ ﺃﻥ ﻧﻌﺮﻑ
ﻣﺎ ﻫﻲ ﺍﻟﺠﺎﻓﺎﺳﻜﺮﺑﺖ
ﻣﺎ ﻫﻲ ﺍﻟﺠﺎﻓﺎﺳﻜﺮﺑﺖ
ﻧﺒﺬﺓ ﻋﻦ ﺍﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ
ﺍﻟﺠﺎﻓﺎﺳﻜﺮﺑﺖ ﻣﻦ ﺃﻓﻀﻞ ﺍﻟﻠﻐﺎﺕ ﺍﻟﺘﻲ ﺳﺘﻘﺎﺑﻠﻬﺎ ﻓﻰ
ﺣﻴﺎﺗﻚ ﻭﻫﻲ ﻟﻐﺔ ﺑﺮﻣﺠﺔ ﻋﺎﻟﻴﺔ ﺍﻟﻤﺴﺘﻮﻯ ﺗﺨﺎﻃﺐ
ﻣﺘﺼﻔﺤﺎﺕ ﺍﻟﻮﻳﺐ ﻣﺜﻞ : ﺟﻮﺟﻞ ﻛﺮﻭﻡ ﻭ ﺎﻳﺮﻓﻮﻛﺲ
ﺍﻟﺦ ... .
ﻗﺎﻡ ﺑﺘﺼﻤﻴﻤﻬﺎ ﺍﻟﻤﺒﺮﻣﺞ ﺍﻷﻣﺮﻳﻜﻲ ﻣﻦ ﺃﺻﻞ ﺃﻟﻤﺎﻧﻲ
ﻭﺍﻟﺮﺋﻴﺲ ﺍﻟﺘﻨﻔﻴﺬﻱ ﻟﻤﺆﺳﺴﺔ ﻣﻮﺯﻳﻼ ﻭﻫﻮ ﺑﺮﻧﺪﺍﻥ
ﺁﻳﺦ ‏( Brendan Eich ‏)
ﻛﺎﻧﺖ ﻟﻐﺔ ﺍﻟﺠﺎﻓﺎ ﺳﻜﺮﻳﺒﺖ ﻣﻮﺟﻬﺔ ﻟﻠﻤﺒﺮﻣﺠﻴﻦ
ﺍﻟﻬﻮﺍﺓ ﻭﻏﻴﺮ ﺍﻟﻤﺤﺘﺮﻓﻴﻦ، ﺇﻻ ﺃﻧﻪ ﺗﺰﺍﻳﺪ ﺍﻻﻫﺘﻤﺎﻡ
ﺑﻬﺎ ﻭﺟﺬﺑﺖ ﺍﻫﺘﻤﺎﻡ ﻣﺒﺮﻣﺠﻴﻦ ﻣﺤﺘﺮﻓﻴﻦ ﺑﻌﺪ
ﺇﺿﺎﻓﺘﻬﺎ ﻟﺘﻘﻨﻴﺎﺕ ﺟﺪﻳﺪﺓ ﻛﺎﻧﺘﺸﺎﺭ ﺗﻘﻨﻴﺔ
ﺃﺟﺎﻛﺲ ﺍﻟﺘﻲ ﺃﺩﺕ ﺇﻟﻰ ﺳﺮﻋﺔ ﻓﻲ ﺍﻟﺘﻔﺎﻋﻞ ﺑﻴﻦ
ﺍﻟﺨﺎﺩﻡ ﻭﺍﻟﻌﻤﻴﻞ .
ﻣﻤﻴﺰﺍﺕ ﺍﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ
ﺳﻬﻠﺔ ﺍﻻﺳﺘﺨﺪﺍﻡ ﺣﻴﺚ ﺍﻧﻪ ﺗﺘﻢ ﻣﻌﺎﻟﺠﺔ
ﺍﻟﺠﺎﻓﺎﺳﻜﺮﺑﺖ ﻛﻨﺺ ﻣﺼﺪﺭﻱ ﻋﻜﺲ ﺍﻟﺠﺎﻓﺎ ﻮﻝ
ﺇﻟﻰ Bytecode .
ﻻ ﻳﻠﺰﻡ ﺗﻌﺮﻳﻒ ﻧﻮﻉ ﺍﻟﻤﺘﻐﻴﺮﺍﺕ ﻣﺜﻞ ﺍﻟﺠﺎﻓﺎ ﻦ
ﻓﻲ ﺍﻟﺠﺎﻓﺎﺳﻜﺮﺑﺖ ﺗﻜﻮﻥ ﺑﺸﻜﻞ ﺃﻛﺜﺮ ﻳﻨﺎﻣﻴﻜﻴﺔ
ﺣﻴﺚ ﻳﺘﻢ ﺍﻟﺘﻌﺮﻑ ﻋﻠﻰ ﻧﻮﻉ ﺍﻟﻤﺘﻐﻴﺮ ﺑﺸﻜﻞ
ﺩﻳﻨﺎﻣﻴﻜﻲ .
ﺗﺪﻋﻢ ﺍﻟﺒﺮﻣﺠﺔ ﺍﻷﻣﺮﻳﺔ
ﻓﻴﻤﺎ ﺗﺴﺘﺨﺪﻡ ﺍﻟﺠﺎﻓﺎ ﺳﻜﺮﺑﺖ
ﺗﺴﺘﺨﺪﻡ ﺍﻟﺠﺎﻓﺎ ﺳﻜﺮﻳﺒﺖ ﺑﺸﻜﻞ ﻛﺒﻴﺮ ﻓﻲ ﺗﺼﻤﻴﻢ
ﻭﺑﺮﻣﺠﺔ ﺻﻔﺤﺎﺕ ﺍﻟﻮﻳﺐ ﺳﻮﺍﺀ ﻣﻦ ﺟﺎﻧﺐ ﻟﻤﺘﺼﻔﺢ
ﺍﻭ ﻭﺍﻳﻀﺎً ﺗﺴﺘﺨﺪﻡ ﻓﻲ ﻣﺠﺎﻝ ﺑﺮﻣﺠﺔ
ﺍﻻﻟﻌﺎﺏ ﺑﺸﻜﻞ ﻛﺒﻴﺮ
ﻭﻫﺬﺍ ﻫﻮ ﺍﻟﻔﺮﻕ ﺑﻴﻦ ﺍﻟﺠﺎﻓﺎ ﻭﺍﻟﺠﺎﻓﺎ ﺳﻜﺮﻳﺒﺖ