الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البرمجة كمهنة ..... و البرمجة كهواية

مغلق
بدأه System Down في 16 يناير 2006 · 24 رد · 4,643 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

البرمجة كمهنة:

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

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

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

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

2. أوراكل: هناك سوء فهم شديد لدى العديد من شبابنا بأن أوراكل لغة برمجة و هذا خطأ. أوراكل قاعدة بيانات. كلمة مبرمج أوراكل تقصد شخص يستخدم تقنيات إنتاج البرامج التي تأتي مع أوراكل مثل الفورمز الديفيلوبر Forms Developer و الآن في النسخ الجديدة الـJ Developer. لا أنصح بتاتاً (خطين) بتعلم الفورمز ديفيلوبر. لأنها تقنية قديمة و في طريقها للإنقراض (أكثر من فيبي 6) و لم تعد تأتي مع الإصدارات الجديدة من أوراكل. أما الـJ Developer فشئ آخر تماماً و هي تعمل بلغة جافا و سأذكرها لوحدها بعد قليل.

3. جافا: حصتها ليست بحجم الفيبي 6 و لكنها ليست حصة صغيرة. قد لا تستعملها الشركات الصغرى كثيراً و لكنها حتماً منتشرة في الشركات الأكبر حجماً. مرونة هذه اللغة سمحت لها بالتغلغل في جميع أنواع التطبيقات. بدئاً من تطبيقات الويب إلى تطبيقات الويندوز وصولاً إلى "وصلات العمل" Business components المهمة جداً لدى الشركات الكبرى ذات العمليات الكثيرة.

4. فيجوال بيسك دوت نت و #C: الحصان الأسود الجديد في عالم البرمجيات. هذه اللغتين و تقنية الدوت نت عموماً هي تقنية حديثة نسبياً (لم يمر عليها أكثر من أربع سنوات) و لكن سوق العمل بدأ يتلقمها بسرعة متزايدة بالذات لدينا في العالم العربي. مثل الجافا مرونتها العالية تجعلها مناسبة لعدد كبير من التطبيقات. و دعم شركة ميكروسوفت لها شئ هائل. أي شخص حضر واحد من ورش العمل التي تقيمها ميكروسوفت لهذه التقنية يعرف تماماً عماذا أتكلم. هذه اللغتين (بالذات فيبي دوت نت) هي التي بدأت تأخذ حصة فيبي 6.

5. PHP: هذه اللغة ما زالت تتسيد عالم تطبيقات الويب و لو أن حصتها بدأت تتراجع قليلاً (جداً) لصالح جافا و منصة دوت نت. كونها لغة سهلة و ذات أداء جيد و مجانية يضمن بقائها في سباق تطبيقات الويب لمدة طويلة. و لكن تنبهوا أنها لغة محدودة نوعاً ما و مجالها الرئيسي هو الويب.

6. سيكول SQL: لازم لازم لازم تعلمها! هذه اللغة تستخدم للقراءة الكتابة من قواعد البيانات. و بما أن الغالبية العظمى البرامج في سوقنا هي برامج تعتمد إعتماد كلي على قواعد البيانات فتعلم على الإقل أساسيات هذه اللغة شئ حتمي فمن خلالها يمكنك التعامل مع أي من قواهد البيانات المستخدمة في السوق سواءً كانت أوراكل أو SQL Server أو أكسيس أو MySQL. و لكن ليس وحدها. فهي تتطلب العمل مع لغة أخرى لإنتاج تطبيق كامل. و يمكن تعلمها و أنت تتعلم لغة أخرى فهي سهلة جداً.

و للحديث بقية....

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

تم تعديل هذه المشاركة بواسطة System Down في 16 يناير 2006 في 20:29

#2

البرمجة كهواية:

هنا نصل إلى عالم مجانين الحاسب الآلي. هذه المخلوقات الغريبة التي تتغذى على إشعاعات شاشات الكمبيوتر و لا تنشط سوى ليلاً و تتجول في سراديب الإنترنت بحثاً عن الفرائس و الكنوز المخبأة و تتكلم بلغة غريبة مليئة بمصطلحات مكونة من ثلاث حروف و شعرهم لم يعد ينبت بسبب الشد المتواصل و التسمم الإشعاعي! لا تزعلوا فأنا واحدٌ منكم!! :lol:

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

ما زلتم تريدون خوض هذه الهواية؟ حسناً. هناك مجموعة أساسية من المهارات التي يجب أن تكون موجودة لديك لتكون مجنون برمجة

ناجح.

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

2. استخدام محركات البحث: كل من أراد في أي وقت من الأوقات أن يصرخ "استخدم البحث!!!!" و هو يقرأ أحد مواضيع هذا المنتدى (أو غيره) فليرفع يده.... شايفين؟ الإنترنت أداة رائعة للباحثين عن العلم و بالذات لهواة الحاسب. كم المعلومات فيه هائل و يفوق التصور. لديك مشكلة ما في البرمجة؟ تأكد تماماً أنه في 94% من الحالات أنك لست أول من واجه هذه المشكلة و أن الحل قد تم نشره في مكانٍ ما من الإنترنت ينتظرك لتجده. تذكروا، Google و غيرها هم صديقك الصدوق كهاوي و طالب حاسب. تعلم استخدامها!!

3. العقل المتفتح: مهم جداً. عالم البرمجة و الحاسب بشكل عام ملئ بالفلسفات و التقنيات المتضادة. صحيح أن شخصاً ما قد قال لك أن ++C هي أفضل لغة و أن MacOS X هو أفضل نظام تشغيل لكن هذا لا يعني أن تأخذ هذا الكلام بأنه حقيقة مسلمة. تعرف لماذا يعتبر هذا الشخص أن رأيه صائب و بعد ذلك إنظر الى الأراء المضادة و انظر لماذا يعتقدون هم أن رأيهم صواب. و حذاري حذاري من التعصب لتقنيةٍ ما. تذكر أنها مجرد تقنية. أسلوب عمل. أدوات مختلفة لأعمال مختلفة. مجموعة متراصة من واحد و صفر و ليست عقيدة تعلن فيها الجهاد على من يخالفك فيها. لا تخف من تعلم أكثر من لغة و أكثر من تقنية. فأنت مجنون كمبيوتر!

4. القراءة: بعضكم سيقولون: "Sysetm Down انخبل! أكيد نحن نعرف نقرأ! ألسنا نقرأ ترهاته الآن؟". لا أقصد هنا القراءة كمهارة تحويل مجموعة من الأشكال إلى مفاهيم يدركها العقل، بل مهارة قراءة المستندات التقنية و فهمها و القدرة على الرجوع إليها عند اللازم. هي ليست مهارة سهلة أبداً كما يعتقد البعض و لكنها مهارة أساسية في هذا العلم (أو أي علم). و لا تأتي سوى بالممارسة لذا هي أسهل على طلاب الحاسب من غيرهم (و لكن حتماً ليست مستحيلة). نعم مراجع الحاسب مرعبة. و ما زلت أراها مرعبة رغم كل السنين التي قضيتها و أنا أقرأها. و لكن خذوها خطوة خطوة. بمجرد أنك لم تفهم من أول مرة ليس عيباً. حاول مرة أخرى و ثانية و ثالثة. كما ذكرت سابقاً هذه الهواية تحتاج الى وقت و صبر كبيرين.

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

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

2. Java: هذه اللغة المرنة و القوية أكلت قضمة كبيرة من حصة ++C في عالم الحاسب. أعلن موقع SourceForge للبرامج المفتوحة المصدر أن غالبية المشاريع في الموقع معمولة بالجافا. ميزات تعدد المنصات و الإدارة الآلية للذاكرة جعلها اللغة الأولى للكثير من هواة البرمجة.

3. VB.NET و #C: المنافس الجديد لجافا. رغم حداثتها إلا أن مجموعة كبيرة من هواة الحاسب قد بدأوا البرمجة بشكل رئيسي بها. مثل جافا تتمتع بالإدارة الآلية للذاكرة و الآن بوجود Mono تتمتع أيضاً بتعدد المنصات. فوق هذا تتميز بتعدد اللغات. يمكنك البرمجة في منصة دوت نت بعدد هائل من اللغات منها الـ++C و الـDelphi و FORTRAN و COBOL و Eifel و الكثير الكثير من اللغات.

4. Python: هذه لغة جميلة جداً و هي حب جديد طرأ في حياتي (ما زلنا في فترة الخطوبة!). نعم هي لغة interpreted و بالتالي أبطأ نوعاً ما من اللغات السابقة و لكن ليس كثيراً. لها واحد من أجمل الـsyntax التي رأيته في حياتي. و هي لغة سهلة جداً يمكن لأي مبتدأ تعلمها و تعمل على جميع أنظمة التشغيل. و هي لغة قوية أيضاً و تصلح لعدد كبير من التطبيقات بما فيها تطبيقات الويب و الويندوز و حتى الألعاب. و تستطيع البرمجة بها بأكثر من طريقة فهي تدعم الـProcedural Programming و الـOOP و الـFunctional Programming. هذه الأخيرة أسلوب جميل جداً كان في السابق حكر على مجموعة من اللغات الغير معروفة نسبياً مثل الـLISP و Scheme و Haskell. و هي أسلوب برمجة يعتمد على الدوال بشكل كامل (دوال تنتج دوال! تصوروا ذلك!). البريمج التالي من بايثون هو دالة كاملة للقيام بعملية الترتيب من نوع Quick Sort:

def qsort(L):
  if L == []: return []
  return qsort([x for x in L[1:] if x< L[0] ]) + L[0:1] + qsort([x for x in L[1:] if x>=L[0] ])

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

http://www.byteofpython.info/download/

تم تعديل هذه المشاركة بواسطة System Down في 16 يناير 2006 في 21:56

#3
System Down كتب:
3. جافا: حصتها ليست بحجم الفيبي 6 و لكنها ليست حصة صغيرة. قد لا تستعملها الشركات الصغرى كثيراً و لكنها حتماً منتشرة في الشركات الأكبر حجماً. مرونة هذه اللغة سمحت لها بالتغلغل في جميع أنواع التطبيقات. بدئاً من تطبيقات الويب إلى تطبيقات الويندوز وصولاً إلى "وصلات العمل" Business components المهمة جداً لدى الشركات الكبرى ذات العمليات الكثيرة.

والأخطر فى smartphones , PDAs يعنى شغل الموبايلات كله (h)

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

بقالى أسبوع مع J2ME وبحاول أشيل منها أوامر الجافا :angry: :angry:

اقتباس
5. PHP: هذه اللغة ما زالت تتسيد عالم تطبيقات الويب و لو أن حصتها بدأت تتراجع قليلاً (جداً) لصالح جافا و منصة دوت نت. كونها لغة سهلة و ذات أداء جيد و مجانية يضمن بقائها في سباق تطبيقات الويب لمدة طويلة. و لكن تنبهوا أنها لغة محدودة نوعاً ما و مجالها الرئيسي هو الويب.

لا أعتقد أنها تتراجع لأن معدل الانتشار يزداد يوما بعد يوم .. تقريبا كل التطبيقات الكبيره المجانيه على الويب هى php من منتديات ومجلات ونظم CMS ... الخ

وكون مجالها فى الويب فهو تخصص وليس محدوديه! تخيل لغة بنوها بالكامل من مشتقات السى لتعمل على السيرفر! وبتشتغل على أى سيرفر بأى جهاز بأى امكانيات فى أى وقت ;)

ومع ذلك تقدر تجعلها تعمل على أى منصه client side ولكن ربنا يكون فى العون ساعتها :lol: :lol:

============

خساره البايثون الجميله مش بتتطلع فى المنتدى :(

#4

موضوعك روعة أخي

وبارك الله فيك

لقد قرأته بعناية

#5

أشكرك على هذا المقال أخي العـزيز ....

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

هذه قدرة الرسام على فنـه .. فما هي قدرة المبرمج على فنه الذي ربما يعتاش به أو يهـواه أو ربما يعشقـه ..

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

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

آسف لأني خرجت عـن الموضوع الأساسي ...

#6
Sultan_Althibity كتب:
هذه نظرتي الخاصة لا أقل ولا أكثر ... ربما تأثرتَ هذه النظرة بتعقيدات الأدب والبرمجـة خاصة أني أعشق لغتين من أعقد اللغات ..... فن المبرمج أو ربما المحلل ... هـو قدرته على كسر التعقيد .. هذا هـو في نظري اختصار الفن البرمجي ... (كسر التعقيد) ... في عالم البرمجـة كل شيء معقد لا وجود للسهل .. حتى عـند جمع عـددين احتجنا حينما كنا مبتدئين التفكير ملياً في خطواتها ... بالرغـم من أني اختصرت هذا الفـن كله في "كسر التعقيد" إلا أن هذا الاختصار يحمل في طياته الكثير ... وليس بهذه السهـولة ... هذا الفـن هـو في حد ذاته تعقيد وليس كسراً له ... كسر التعقيد يعـني النظر للأمـور -وأنا هـنا أتكلم من وجهـة شيئية- وكأننا لأول مرة ننظر إليها .. الكائنـات علينا أن نتعمق فيها وأن نعرف مهامها وأن نقلل إلى أقصى حد فيما بينها التزاوج ... هذه بالرغـم من أنها طريقة بديهية للعقل .. إلا أنه عـند التعمق فيهاننظر إلى أمور لأول مرة نراها ... مثل هذه النظرة عليها أن تكون متمثلة في أغلب برامجنا ... وبصراحـة ما أكثر البرامج الفاشلة التي لا تطبق مثل هذه النظرة ... أيضاً فإن هذا الاختصار يعـني في برمجـة الألعاب ... تناغم الرياضيات والفيزياء والميكانيكا في قالب واحد لخلق واقع كاذب .. واقع ليس فيه إلا الصفر والواحد ... بالرغـم من أن الكثيرين الآن سيقولون أننا الآن في حالة تعقيد وليس في حالة كسر لهذا التعقيد .. إلا أنني أقول أننا حتى نصل إلى مرحلة "كسر التعقيد" علينا أن نمر بمرحلة التعقيد .. وأن نحقق في هذه المرحلة أقصى ما نستطيع لنحقق في رأيي هـدفين فقط هـما الذان سيكسران هذا التعقيد إعادة الإستخدام .. وإمكانية التوسعية( التطوير عـن طريق الوراثة مثلاً) .. بالطبع ليس مفهوم كسر التعقيد مختصر في هذين الهـدفين ... النظرة الكائنية هي محاولة لكسر التعقيد .. قواعد البيانات هي محاولة لكسر التعقيد .......

حلو تعبير "كسر التعقيد" هذا. :)

#7

تشكر علي الموضوع

gaza3-3.jpg
#8

على فكره أنا وضعت ردى قبل أن يضع System Down المشاركه رقم 2 ولكن بسبب انقطاع الخط بقيت رقم 3 :angry: :angry:

ومع ذلك كتبت البايثون فى الآخر برضه (h)

======

أنا منتظر شباب الجافا .. عاوز اتخانق شويه من نفسى :D :D

#9
اقتباس
4. Python: هذه لغة جميلة جداً و هي حب جديد طرأ في حياتي (ما زلنا في فترة الخطوبة!). نعم هي لغة interpreted و بالتالي أبطأ نوعاً ما من اللغات السابقة و لكن ليس كثيراً. لها واحد من أجمل الـsyntax التي رأيته في حياتي.

فعلا .. البايثون أيضا شدتني ... لا اعلم سبب انتشارها الواسع .. لكن ..شدتني :D .

مقال مميز .. تشكر .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#10

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

ما أقصده هو ان من يريد تعلم البرمجة يحتاج لكثير من الصبر, و بتصوري لنفسية (و هي نفسية نمطية) من يريد البرمجة من أجل العمل فقط, انه سيكون على عجلة من أمره .. يريد التعلم بسرعة من اجل ان "يخلص بقة" و يبدأ في الشغل "علشان ياكل عيئه بئه ..!"

قد يتمكن هذا الشخص من القيام بأشياء معينة, لكن من الصعب عليه ان يفهم البرمجة بعمق.

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

هذا رأيي الشخصي فقط بالطبع, أتمنى ان لا يثير غضب أحد!

#11

مقالة روعة اخي System Down و اعطيك عليها 5 نجمات stars .. بها الكثير من الواقع .. و هناك العديد من الاشياء التي اريد ان اناقشها معك .. لكن دعني اقرأها مره اخرى .. فقد اوفر عليك العناء :)

بنت اليمن ،،

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#12
الشمري كتب:
فعلا .. البايثون أيضا شدتني ... لا اعلم سبب انتشارها الواسع .. لكن ..شدتني :D .

مقال مميز ..  تشكر .

البايثون انتشرت أولاً في أوساط لينوكس و يونيكس كبديل حقيقي و قوي للغة بيرل Perl المستخدمة بكثرة هناك (بالذات في مجال السكربيتينغ Scripting) و ذلك بسبب أن لها syntax أبسط بكثير و أسهل للفهم و مكتبتها الرئيسية ضخمة و تحتوي على دوال للقيام تقرياً بكل شئ. على فكرة لغة بايثون تستخدم بشكل كبير جداً في شركة google.

#13

مقال جميل جدا ... ومتعوب عليه..

أنا شخصيا استفدت من كل معلومة فيه..

يا شباب نبغى مقالات زي كذا وأكثر..

تطبيق المعرفة قوة Applying the Knowledge is Power

#14

مشاء الله موضوع غاية في الروعة لا يسعني غير قول بارك الله فيك

اعجبني اسلوبك تنظيمك لا تحرم المبرمجين العرب من كتاباتك كان الله في عونك

يابن ادم ولدتك امك باكياً والناس حولك سروراً فعمل لي يوم اذا بكوا في يوم موتك ضاحكاً مسروراً

اطلب اي ملف Testking او كتاب من كتب ميكروسوفت في اي مجال

#15

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

وتحية عطرة لكل من:

الكاتب( system down )

Sultan_Althibity ( أيضا أنا أعجبتني جدا عبارة "كسر التعقيد" )

hasan_aljudy

نريد منكم ( اللذين ذكرت أسمائهم أعلاه :D ) أن تتحفونا بمثل هذه المقالات الأكثر من رائعة والتي نستفيد منها كمبتدئين في البرمجة

#16

السلام عليكم

البرمجة علم و يمكن أن تستخدم للعمل بها

كذلك مادة اللغة العربية علم ويمكن أن تستخدم للعمل بها

وكذلك علوم الشريعة علم ويمكن أن تستخدم للعمل بها

والكارثة هي أن أتعلم علم ما ويكون هدفي أول فيه أن أعمل به

لأن هذه الفلسلفة سوف تخرج لنا عاهات :D

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

طبعا من يظن أن البرمجة هي تعلم لغة برمجة فهو واهم

علم البرمجة ما هو إلا تفريع من الرياضيات ،هذه حقيقة علمية.

وهي في الأساس تعتمد على الإثبات والاستنتاج القائم على أسس.

وهي تحتاج أيضا إلى ابتكار وتخيل ، ونوضح ذلك بمثال،

طبعا الكل يعرف أنه يوجد العديد من الشركات من قامت بعمل كومبايلر للغة السي++، على سبيل المثال

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

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

ولكن كلهم يقومون بشيء مهم جدا ، وهو محك البرمجة ، وبه يتميز المبرمجون

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

وهذا الأمر لا يتأتى إلا بأن يكون للمبرمج عقلية مرنة رياضية

والعقلية الرياضية لا تأتي من فراغ

وإنما تأتي من دراسة علم

يدعى

علم الرياضيات

ودمتم سالمين

System Engineer

Red Hat Certified Engineer

Red Hat Certificate Number

805010381752078

#17

شكرا اخي العزيز علي موضوعك الشيق

ونرجو منك المزيد

اخوكم في الله

م/ منصور محمد حسن سليمان

شكرا اخي العزيز علي موضوعك الشيق

ونرجو منك المزيد

اخوكم في الله

م/ منصور محمد حسن سليمان

#18

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

#19

موضوع رائع جدّاً ...

واعجبني جدًّا أسلوبك اللغوي، أسلوب سلس، مرح.. ومرن!

لو كنّا في منتدى أدبي لملأت الصفحة ثناءا على اسلوبك.

#20

بارك الله فيك والله مقالة اكثر من رائعة وفدية جداااااااااااا زذ من هذة النقالات جزاك الله خيرا

يالله

فليتك تحلو والحياة مريرة

وليتك ترضى والانام غضاب

وليت الذى بينى وبينك عامر

وبينى وبين العالمين خراب

اذا صح منك الود فالكل هين

وكل الذى فوق التراب تراب

#21

شكرأ أخ "برق" على تعليقك الجميل وأحب أن أضيف

لو رتبت جميع العلوم بحسب استغنائها عن بعضها البعض تأتى الرياضيات فى المرتبه الأولى

الرياضيات هى التى تضبط جميع العلوم وتجعلها متزنة ودقيقة

برمجة - قواعد بيانات
http://www.pmpsoft.com

#22
اقتباس
مشاء الله موضوع غاية في الروعة لا يسعني غير قول بارك الله فيك

اعجبني اسلوبك تنظيمك لا تحرم المبرمجين العرب من كتاباتك كان الله في عونك

فعلا اسلوب كتابي و تسلسل في عرض الافكار جميل جميل جميل و جميل من هون لصبح ........... ;)

hasan_aljudy كتب:
البرمجة فعلا فن! انا اتصور (و هذا تصوري الشخصي البحت) ان من لا يعشق البرمجة من الصعب ان يحقق فيها الكثير من الانجازات. أقصد ان من يريد تعلم البرمجة *فقط* من اجل العمل, سيواجه مصاعب كثيرة. لأن فيها الكثير من الأشياء المعقدة و اللتي تحتاج لفهم عميق, و من الصعب ان يحصل على هذا الفهم من لا يهمه سوى تعلمها بسرعة من اجل ان يبدأ في العمل و كسب المال. أنا هنا لا أعيب الارتزاق او العمل في البرمجة, بالعكس تماما, انا طالب علوم حاسبات و اتعلم البرمجة من أجل حبي لها و من أجل العمل أيضا.

ما أقصده هو ان من يريد تعلم البرمجة يحتاج لكثير من الصبر, و بتصوري لنفسية (و هي نفسية نمطية) من يريد البرمجة من أجل العمل فقط, انه سيكون على عجلة من أمره .. يريد التعلم بسرعة من اجل ان "يخلص بقة" و يبدأ في الشغل "علشان ياكل عيئه بئه ..!"

قد يتمكن هذا الشخص من القيام بأشياء معينة, لكن من الصعب عليه ان يفهم البرمجة بعمق.

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

هذا رأيي الشخصي فقط بالطبع, أتمنى ان لا يثير غضب أحد!

راي من رايك اخي الكريم في كل حرف

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

لكن اظن ان البرمجة تعتمد بشكل كبير على الرياضات في بعض المسائل

و ان ايضا اظن ولا عمري كتبت برنامج باستخدام الخورازمية بالشكل المتعارف عليه ((اشكال مربعات و غير ذلك))

يكمن اصفن صفنه غريبة امام الجهاز ثم ياتي الحل من وين الله اعلم

طبعا بعد تجربة و الخظأ

اخ ((System Down)) شعرت ان لك خبر كبيرةو عظيمة في السوق فارجو ان تساعدني في الموضوع على الرابط التالي الذي لم يشفي غليلي احد ويساعدني فيه

رابط الموضوع

و الى الخوة الكرم اي شخص لديه فكرة عن الموضوع ارجو ان لا يبخل علينا :P ............... و السلام عليكم

مع تحيات : عبدالرحمن نورالله
بيلار الدولية للتكنولوجيا لتصميم وأستضافة مواقع الأنترنت ، شركة مسجلة في المملكة الاردنية الهاشمية

أستضافة مواقع (Website Hosting) ابتداء من 35دينار اردني (50$) سنوي 962799247524+ أضغط هنا

logo.png

#23

السلام عليكم اخواني و كل عام و انتم بخير و ان شاء الله ينعاد علينا و عليكم بالصحة و السلامة.

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

C++,Java,.NET

؟؟؟

راكان الحنيطي

Be Open Source

opensource-550x4752.gif

#24

موضوع رائع...................... بارك الله فيك

هذا الموضوع مغلق.

مواضيع مشابهة