مختبر عيناوي
النبض البرمجي

قائمة الأوائل للغات البرمجة

16‏/01‏/2010

الجدول التالي يبين قائمة الأوائل للغات البرمجة المشهورة (ومن ضمنها لغة Go من Google)، وعلى الرغم من حداثتها إلا أنها تبوأت مركزا متقدما. على أية حال، الجدول يتم حسابه طبقا لمعادلات وشروط معينة ولمعرفتها عليك زيارة الموقع الأم www.tiobe.com.

Position
Jan 2010
Position
Jan 2009
Delta
in Position
Programming
Language
Ratings
Jan 2010
Delta
Jan 2009
Status
1
1

Java
17.482%
-1.54%
A
2
2

C
16.215%
+0.28%
A
3
5



PHP
10.071%
+1.19%
A
4
3



C++
9.709%
-0.41%
A
5
4



(Visual) Basic
7.354%
-1.81%
A
6
6

C#
5.767%
+0.16%
A
7
7

Python
4.453%
-0.28%
A
8
8

Perl
3.562%
-0.74%
A
9
9

JavaScript
2.707%
-0.65%
A
10
11



Ruby
2.474%
-0.67%
A
11
10



Delphi
2.392%
-0.91%
A
12
37



Objective-C
1.379%
+1.24%
A
13
-



Go
1.247%
+1.25%
A--
14
14

SAS
0.809%
+0.01%
A
15
13



PL/SQL
0.718%
-0.29%
A
16
18



ABAP
0.641%
+0.10%
A--
17
15



Pascal
0.624%
-0.04%
B
18
23



Lisp/Scheme
0.576%
+0.14%
B
19
20



ActionScript
0.566%
+0.11%
B
20
24



MATLAB
0.540%
+0.11%
B

قوانين الأمن الغير قابلة للتغيير - 1

15‏/01‏/2010

القانون الأول

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

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

أسطورة أسمها المبرمج الهندي!

13‏/01‏/2010

تعريف في هذه المقالة المصطلح "مبرمج" يعني "كاتب طابع" أي ناسخ أي غير قادر على الفهم أو الاستيعاب أي غير قادر على التفكير أي لا توجد لديه مُخيلة أي بالإنجليزي Coder.

لقد صدمت بمعرفة حقيقة "أن المبرمجين الهنود عبارة عن مضيعة للوقت والمال". إذا كنت تضن أنه بإمكانك الاستعانة بهؤلاء البشر فأعد التفكير ألف مرة فهناك الكثير من المحترفين من جنسيات أخرى (إماراتيين مثلا) أفضل بكثير من هؤلاء المخادعين! لقد عملت بل كنت مسؤولا عن مالا يقل عن 13 مبرمج هندي. وبما أنني كنت حديث عهد بخبراتهم ومستواهم البرمجي ضننت أننا قادرين على الاعتماد عليهم لإنجاز المشاريع البرمجية على مستوى كبير بل وكبير جداً.

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


لقد بدأت فضائحهم تظهر لنا علنا حيث اكتشفنا أن أحدهم (وقال ذلك صراحة) أنه يقوم بمراجعة ملفاتهم البرمجية لتصحيح أخطائهم وتعديل ما يمكن تعديله في كل مرة! حيث يزيد ذلك من مسؤولياته وتشعب مهامه وواجباته وهو لايشعر. وعلى الرغم من أنه أفضلهم إلا أننا لا نقبل بذلك بتاتا. مبرمج آخر كان يقوم بتسمية حقول الجداول في قواعد البيانات بتسميات مختصرة جدا!!!!! وآخر يقوم بكتابة تقريباً 200 سطر (Select Statement) لجلب معلومات من النظام!!!!! وثالث لا يستطيع إنجاز مشروع صغير جداً عبارة عن جدول رئيسي وبعض الجداول الفرعية باستخدام VB.NET للنوافذ بحجة أنه كان يعمل على الويب ASP.NET وأن النوافذ أصعب بكثير!!!!! إننا الآن بصدد وضع حد لهذه المهزلة حيث سيتم الاستغناء عنهم والاستعاضة بالمواطنيين بمشيئة الله.

هذه بعض الروابط التي أرسلها لي صديق عزيز "A.AlNuaimi" لتعرفوا حقيقتهم فلسنا الوحيدين الذين نعاني من هذه المشكلة.

الفوضى الإدارية

09‏/01‏/2010

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

فن إدارة المشاريع

علم وفن إدارة المشاريع ليس بالجديد وقد يعرفه الفني والتقني قبل الإداري ولكن نقص الدراية في أهميته يحجب فوائده وتصبح هذه المشاريع هائمه وتحت رحمة المرؤوسين لإنجازها. إن في إدارة المشاريع (التقنية) فوائد كثيرة تعود بالنفع على القائمين على هذه المشاريع حيث توفر الجهد والوقت بل وتنظم دورة التطوير في جميع مراحلها. والغريب في الأمر أن هناك الكثير من الإداريين في مجالات مختلفة على علم بأهمية إدارة المشاريع وتنظيمها ولكن للأسف لا يفرضون هذه الإدارة على مرؤوسيهم. لذلك أنصح القائمين على إدارة المشاريع التقنية إتباع هذه النقاط العامة (من خبرتي الشخصية) التي قد تساعد في بدء تطبيق هذا الفن:
  • تحديد المسؤوليات لكل فرد رئيسا كان أم مرؤوسا من الموظفين
  • إعلام الموظفين في بداية العمل لديك بأن من واجباتهم ومهامهم فهم متطلبات المشروع وتوثيقها في منظومة خاصة لإدارتها
  • فرض ومتابعة منظومة إدارة المشاريع (Project Management) عن طريق مسؤولي المشاريع
  • التأكد من متابعة كل موظف لمهامه الشخصية لكل مشروع وأنه على علم بما يفعل
  • تحديد نهاية كل مهمة في المشروع لكل موظف ومتابعة ومحاسبة المقصرين

غياب التنسيق

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





وكما قيل
نقطة إتصال واحدة = تقليل الأخطاء = النجاح

وأخيرا تم الإنتهاء من تفعيل السمة للمدونة

تمكنت أخيرا من تفعيل السمة التي اخترتها للمدونة...هذا لا يعني أنها نهائية!