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

لماذا مايكروسوفت

رائج
بدأه بسام العيساوي في 20 أبريل 2010 · 182 رد · 15,916 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#151
hasan_aljudy كتب:

من قال لك انني لست نصف مبرمج؟ بالتأكيد انا لست مبرمج "كامل"

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

من يكتفي بما وصل اليه من "الخبرة" (بين قوسين .. لانها ليست خبرة حقيقية) لا يعتبر مبرمج حقيقي.

لست انا من يحكم بذلك، بل هذا بحسب ما اظن هو رأي الكثير من المبرمجين.

المشكلة حين يقيس الشخص نفسه (و حتى الاخرين) على مدى مواكبتهم لتقنيات مايكروسوفت

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

hasan_aljudy كتب:

كما ان قياس البرمجة كحرفة بناءا على مدى قدرة الشخص لارضاء احد الزبائن ليس مقياسا علميا،

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

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

bastr3 كتب:

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

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

bastr3 كتب:

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

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

bastr3 كتب:
ميكو تظهر أن البرمجيات الأخرى منقوصه وأنه ﻻ يمكن الإعتماد عليها مع أنها غير ذلك كيف كان موقفك من قراءه هذا الموضوع , هو نفس موقفي إزاء سياسه ميكو.

وكذلك تفعل كل الشركات.

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

bastr3 كتب:

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

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

3
#152
اقتباس
ربما اني ذكرت أو أنتقصت من لغة دوت نت << تراجع في الأقوال , أقول أن دوت نت لغة برمجه ولكن نسبه مستخدموها باعتبار أنهم مستخدمين ﻻ أكثر وسبب هذه النسبه الكبيره هي اهتمام الدوت نت في السهوله مما يجعل المستخدم لها يعتمد على الكمبونانت الجاهزه لفتره طويله حتى تظهر له مشاكل عندها إما يبدأ طريق البرمجه أو يلتف حولها ويبقى كما هو.

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

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

The world has moved, get over it or go home.

بالعربي العالم تغير, اذا لم يعجبك التغيير ارحل.

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

كلام غير مفهوم, ماذا تقصد؟؟؟

الخلاصة يا أخ Bastr3 أنت فاتك قطار الدوت نت و وجدت العالم تغير من حولك و أنت لازلت متمسكاً بالVB6 فبدل من أن تحاول أن تلحق بركب التقنية الجديدة جلست تندب حظك و تلعن الظلام بدلاً من أن تُشعل شمعة, و كما قلنا من قبل التكنولوجيا هدف متحرك, ما ان احسست أنك وصلت الى مرحلة مستقرة إلا و تحرك الى مرحلة أسرع و هذا ليس عيباً و ليس مسئولية Microsoft و لكن يبدو أنك لا تنظر حولك.

تم تعديل هذه المشاركة بواسطة motamayez في 29 أبريل 2010 في 10:20

2 −2

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#153

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

انا لا اقصد من السابق ان انتقد او اتفلسف فقد استفدنا جميعا من النقاش .

بالنسبة للسؤال موضوع المناقشة وهوا لماذا مايكروسوفت ؟؟؟

الدارس لعلم الكمبيوتر وخصوصا مادة مثل software engineering يتعلم من البداية مبدأ مشهور هوا KISS principle و KISS هي اختصار لـ Keep It Simple, Stupid وميكروسوفت كشركة نجحت ببساطة لأنها اتبعت مبدأ من هذا النوعية اسمه The Unified Api

هذا ببساطة سر نجاح ميكروسوفت وهذا ببساطة سر ثقة ملايين ملايين المبرمجين حول العالم بميكروسوفت فنحن نعلم ان ميكروسوفت ستدعم البرامج التي نكتبها ولن تغير Api بشكل عبثي كما يفعل الكثير من موفري التقنية في العالم.

طبعا هذا رأيي الذي قد يحتمل الخطأ ولكم مني كل تحية وتقدير وشكرا للجميع :thumb_up:

4 −1
#154

بما ان الموضوع كلام عام عن ميكو

سأقول اكثر ما اكرهه فيها هو ,, اعتقادها الجازم : I'm The Standard

شىء لا يحتمل من اى احد يعى ما حوله

2
#155
ASDen كتب:

بما ان الموضوع كلام عام عن ميكو

سأقول اكثر ما اكرهه فيها هو ,, اعتقادها الجازم : I'm The Standard

شىء لا يحتمل من اى احد يعى ما حوله

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

و هناك الكثير من الأمثلة على هذا التحول في سياسة Microsoft للأفضل في موضوع المعايير القياسية, مثلاً دعم ODF بشكل أساسي في Office 2007 Sp2 و أيضاً Office 2010

و يوجد بعض الأمثلة الأصغر مثلاً Outlook Web Access و Share Point في نسخة 2010 يدعمان جميع المتصفحات بلا استثناء

2

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#156
اقتباس
إذن المشكلة مشكلة الشخص وليست التقنية. لهذا أرى أن لوم تقنية بحد ذاتها بأنها سبب "الهبوط" هو أمر غير صحيح.

لا صحيح

التقنية ليست "مجرد" تقنية،

كل تقنية تكون culture (ثقافة) حولها، و هناك اسباب منطقية لذلك

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

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

مشكلة فجول بيسك ليس انها سهلة، لاحظ مثلا ان بايثون ايضا مصممة خصيصا لتكون سهلة القراءة و الكتابة، و مع ذلك لم تكون حول نفسها ثقافة انصاف المبرمجين.

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

هناك ايضا ثقافة حول visual studio، و ربما يمكن ان الخصها في سطر واحد: "لن استخدام لغة X الى ان تصبح مدعومة في visual studio لانني لا استطيع البرمجة بدون IDE"

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

4 −2
#157
hasan_aljudy كتب:

لا صحيح

التقنية ليست "مجرد" تقنية،

كل تقنية تكون culture (ثقافة) حولها، و هناك اسباب منطقية لذلك

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

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

مشكلة فجول بيسك ليس انها سهلة، لاحظ مثلا ان بايثون ايضا مصممة خصيصا لتكون سهلة القراءة و الكتابة، و مع ذلك لم تكون حول نفسها ثقافة انصاف المبرمجين.

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

هناك ايضا ثقافة حول visual studio، و ربما يمكن ان الخصها في سطر واحد: "لن استخدام لغة X الى ان تصبح مدعومة في visual studio لانني لا استطيع البرمجة بدون IDE"

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

+1

1 −1
#158

الVisual Basic لغة ظهرت لتدعم ما يُسمى الRapid Application Development أو التطبيقات السريعة, التي تعتمد بالأساس على الواجهة الرسومية بالاضافة الى سهولة في كتابة الكود و تشغيله و أداء جيد جداُ.

و لكن لترى الوضع بالشكل الصحيح حاول أن تتخيل لغة Visual Basic عندما ظهرت لأول مرة! كانت بمثابة طفرة في عالم البرمجة لأنها قدمت ما لم يتخيل أحد أنه ممكن, فعلى سبيل المثال ما نعتبره الان شئ مسلم به في جميع برامج التطوير و هي خاصية السحب و الافلات للمكونات و ربط الواجهة بالكود باستخدام الEvents و لكن تخيل أن هذا ظهر لأول مرة في وقت كان انشاء نافذة واحدة بالC أو ++C يتطلب صفحات من الأكواد الخزعبلية, و أيضاً الVB لم يظهر وحده بل ظهر معه العديد من المكونات مثل الADO لدعم تطوير برامج التعامل مع قواعد البيانات و أيضاً قابلية انشاء ملفات OCX و بيعها كمكونات جاهزة ساعدت على انتشار التقنية بشكل سريع للغاية.

و لهذا قبل أن نتسرع و نصف التقنية بأنها تقنية سيئة, أو ساعدت على دخول أنصاف مبرمجين, و كل هذا يجب أن نتذكر أن هذه التقنية بمزاياها و مساوئها هي التي ارتقت بمستوى توقعات المبرمجين لما يجب أن تقدمه أي تقنية تدعم برمجة واجهات المستخدم, و لم يعد المبرمج على نظام ويندوز يقبل بأي تقنية تقدم له ما هو أقل من هذا.

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#159

لإلخص فقط ما توصلت له من النقاش الذي دار هنا , هو التالي :

1- لا يوجد تقنية كاملة نستطيع أن نقول عنها أنها تصلح لكل شيء , وهذا شيء طبيعي , لكن هناك شركات تتوجه نحو هذا التوجه و تحديدا الشركات التي باتت تقدم أطر عمل , وملاحظة أن الدنيا قد تغيرت , ففي القديم كنا نعتمد على لغة برمجة , أما الاّن فنعتمد على أطر عمل متنوعة ونستعمل تقريبا نفس لغة البرمجة في كل شيء , فأصبحت لغات البرمجة لهجة , و العمل الأساسي مصبوب في أطر العمل التي تستطيع لغات البرمجة التعامل معها ...

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

3- نقطة بخصوص إطار العمل net. , مايكروسفت أنضج من أي وقت مضى , وتعي تماما أن المطورين سيكون لهم دور أساسي في مستقبل أي شركة , لذلك في السنوات الماضية تحديدا بعد إطلاق الـ net. لاحظت زيادة إهتمامها بالمطورين , ورهان الشركة واضح للعلن بالنسبة لإطار العمل net. , إنتهت مايكروسوفت التي تعتمد فقط على منتجاتها الداخلية بالنسبة للمبرمجين , فالـ net. تدعمه على ما أذكر أكثر من 44 لغة ,والـ MSIL هو معتمد من قبل ECMA , هذا بحد ذاته تنازل عن السياسات القديمة , ولا ننسا أن مايكروسوفت تتجه إلى عمل Standardizing لمنتجاتها , فيبدو أنا أول من فكر في عمل Implementation حقيقية للـ HTML 5 هي مايكروسفت , لو كانت مايكروسوفت بنفس عقلية التسعينات لما قامت بذلك , وعاندت الجميع , لأنها ببساطة تملك الـ Silverlight الذي يحوي أكثر ربما مما تحويه الـ HTML 5 من تقنيات , لكنها لم تستمر بعقليتها القديمة في معاكسة التيار , فها هي تعمل و تتعلم من أخطاء الماضي ... ولا ننسى بإنخراطها بفكرة المصادر المفتوحة التي للأسف تبدو للبعض على أنها شيء لا يمكن أن يلتقي مع مايكروسوفت في غرفة واحدة , فأكبر مثال على ذلك الـ Codeplex ولا ننسى أيضا بأنها قامت ببناء الـ DLR في الـ 4 net. بمساهمة من مجتمع المطورين ,كود الـ DLR موجود الاّن على Codeplex ...

و أضم صوتي أيضا إلى أحد الأخوة , ما فائدة مشاركة أحد في النقاش فإذا بالبعض ينهال عليه بالتقييم السلبي , ففعلا هذا إسلوب قمعي , وشكرا لكم

تم تعديل هذه المشاركة بواسطة AliBazzi في 30 أبريل 2010 في 20:51

2
#160

النقاش تحول إلى "هل المبرمج" يستطيع إنتاج شيء باستخدام أي تقنية يعمل بها, سواء كانت Flash أو #C؟ الإجابة بكل بساطة هي نعم, المبرمج يستطيع التكيف مع التقنية التي يعمل بها. و لكن لم يكن هذا الذي تناقشنا حوله أصلاً!

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

المشكلة الحقيقية, برأيي أن هناك أشخاص يقومون "بإنتاج" برامج باستخدام تقنيات Microsoft في الغالب و غيرها من التقنيات بشكل عام, ليس لديهم أدنى الأساسيات. شخصياً, رأيت "مبرمجين" يقومون بكتابة برامج من النوع المعروف في عالمنا العربي, دون أدنى معرفة بأساسيات البرمجة, من حيث اختيار الـ Data Structure المناسبة, و هكذا. هذا طبعاً إن كنت متفائلاً, و كان ذلك الشخص "مبرمج" جيد حسب التصنيف! ما بالك "بمبرمجين" لا يعرفون ماهي الـ Stack أو الـ Queue و لايعرف أبسط أنواع البحث و الترتيب. رجاءً, الـ Abstraction ليس له علاقة بهذه الأمور, لأن هذه الأمور هي من اختصاص المبرمج, و الـ Framework يقوم بتوفيرها لا أكثر. طبعاً, هذه هي النتيجة عندما تقنع البشر بأنهم يمكن أن يكونوا مبرمجين بتعلمهم لـ IDE و كيفية وضع عدة أزرار على form و من ثم عمل compile و بالصلاة على النبي أصبح لدينا برنامج.

أنا لم أقل, أنه يجب على الجميع أن يعمل في أخطر أنواع البرمجيات, كل ما قلناه هو أن القوقعة التي يعيش فيها البعض يجب أن يخرج منها, لأنه في النهاية تعلم كيفية إنتاج ملفات تنفيذية باستخدام IDE معين, حسب Guidelines معينة, و هذا لا يجعل منه مبرمجاً. و هذا الأمر ليس إهانة كما يعتقد البعض, و إنما هو دعوة لكي نرجع للأساسيات قبل أن ننتج برامج لا تستحق أن تعمل.

و أنا مع الرأي القائل, بأن المستقبل هو الـ Concurrent Programming, و لاداعي لأن أقول بأن أي شخص ليس لديه الأساسيات لن يستطيع استيعاب مواضيع البرمجة المتوازية, وبالعربي الفصيح "ما راح ياكل خبز".

هذه ليست "فلسفة" أكاديمية, هذا واقع نعيشه للأسف. نحن لم نطالب بأن تكتب Iterative Quick Sort, أو كتابة خوارزميات في الـ Graph Theory. كل ما قلناه, هو أنه يجب أن تكون هناك أساسيات قبل أن تقدم على فعل أي شيء. و تلك الأساسيات لحسن الحظ متوفرة حتى على الويب, و لكنها تحتاج إلى من يلتقطها, و هذا ما أكدته بأن هناك مبرمجين حقيقيين لم يدخلو أسوار الجامعات أصلاً, و ربما يكونوا أفضل ممن دخلوها و المنتدى شاهد على ذلك. أما من يصعد إلى آخر السلم خطوة واحدة, فسيقع في النهاية.

تحياتي...

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 30 أبريل 2010 في 23:48

6
#161

لقد قلت ما وددت ان اقوله يا خالد

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#162
Khaled.Alshaya كتب:

النقاش تحول إلى "هل المبرمج" يستطيع إنتاج شيء باستخدام أي تقنية يعمل بها, سواء كانت Flash أو #C؟ الإجابة بكل بساطة هي نعم, المبرمج يستطيع التكيف مع التقنية التي يعمل بها. و لكن لم يكن هذا الذي تناقشنا حوله أصلاً!

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

المشكلة الحقيقية, برأيي أن هناك أشخاص يقومون "بإنتاج" برامج باستخدام تقنيات Microsoft في الغالب و غيرها من التقنيات بشكل عام, ليس لديهم أدنى الأساسيات. شخصياً, رأيت "مبرمجين" يقومون بكتابة برامج من النوع المعروف في عالمنا العربي, دون أدنى معرفة بأساسيات البرمجة, من حيث اختيار الـ Data Structure المناسبة, و هكذا. هذا طبعاً إن كنت متفائلاً, و كان ذلك الشخص "مبرمج" جيد حسب التصنيف! ما بالك "بمبرمجين" لا يعرفون ماهي الـ Stack أو الـ Queue و لايعرف أبسط أنواع البحث و الترتيب. رجاءً, الـ Abstraction ليس له علاقة بهذه الأمور, لأن هذه الأمور هي من اختصاص المبرمج, و الـ Framework يقوم بتوفيرها لا أكثر. طبعاً, هذه هي النتيجة عندما تقنع البشر بأنهم يمكن أن يكونوا مبرمجين بتعلمهم لـ IDE و كيفية وضع عدة أزرار على form و من ثم عمل compile و بالصلاة على النبي أصبح لدينا برنامج.

أنا لم أقل, أنه يجب على الجميع أن يعمل في أخطر أنواع البرمجيات, كل ما قلناه هو أن القوقعة التي يعيش فيها البعض يجب أن يخرج منها, لأنه في النهاية تعلم كيفية إنتاج ملفات تنفيذية باستخدام IDE معين, حسب Guidelines معينة, و هذا لا يجعل منه مبرمجاً. و هذا الأمر ليس إهانة كما يعتقد البعض, و إنما هو دعوة لكي نرجع للأساسيات قبل أن ننتج برامج لا تستحق أن تعمل.

و أنا مع الرأي القائل, بأن المستقبل هو الـ Concurrent Programming, و لاداعي لأن أقول بأن أي شخص ليس لديه الأساسيات لن يستطيع استيعاب مواضيع البرمجة المتوازية, وبالعربي الفصيح "ما راح ياكل خبز".

هذه ليست "فلسفة" أكاديمية, هذا واقع نعيشه للأسف. نحن لم نطالب بأن تكتب Iterative Quick Sort, أو كتابة خوارزميات في الـ Graph Theory. كل ما قلناه, هو أنه يجب أن تكون هناك أساسيات قبل أن تقدم على فعل أي شيء. و تلك الأساسيات لحسن الحظ متوفرة حتى على الويب, و لكنها تحتاج إلى من يلتقطها, و هذا ما أكدته بأن هناك مبرمجين حقيقيين لم يدخلو أسوار الجامعات أصلاً, و ربما يكونوا أفضل ممن دخلوها و المنتدى شاهد على ذلك. أما من يصعد إلى آخر السلم خطوة واحدة, فسيقع في النهاية.

تحياتي...

كلام سليم أخي خالد , لكن سأطرح سؤال ربما حساس قليلا ؟ و ربما يكون بغير محله , الرجاء أخبروني :

ما قامت Microsoft بفعله من سياسة تسويقية في المثال الذي طرحته في VB هو لتسهيل البرمجة , من تصويرها لسهولة البرمجة وما إلى ذلك , مع إنني لم أجد دلائل حسية على ذلك (ربما يقول قائل , ولماذا لا نأخذها من وجهة نظر تسهيل البرمجة للمبرمجين الحاليين , وطرح لغة تسد ما كان منقوس في تلك الأزمان Rapid Application Development ) على العموم ,ألا تعتقد أخي أن "المبرمج العربي" تحديدا دونا عن غيره , يريد أن يصل إلى اّخر السلم , دون التعب على نفسه في التعمق بالأساسيات , قد ينجحون , لكنهم ما يلبثو أن يكتشفو أنهم لم يكونو مبرمجين حقيقين ...

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

فكرة ثانية هامة , مهنتنا تتمحور بشكل أساسي حول تمكين المستخدم النهائي للـ Computer من الإستفادة منه إلى أقصى درجاته , وتسهيل حياته اليومية , إن كان بالعمل أو بالمنزل ,عن طريق كتابة برامج له , أليس من المعيب نحن من يقوم بتسهيل حياة البشر أن يرفض فكرة شركة تقوم بتسهيل عمل المبرمجين , بحجة أننا لا نعرف أن نكتب بدون IDE معينة ؟

معذرة لكن أريد هنا أن أضع الشكل التالي :

Curve%20of%20Learning.PNG

هل نفهم من الشكل السابق بأن منصة العمل net. على سبيل المثال , هي برنامج ؟ وليس إطار عمل حقيقي موجه لمحترفين , بالحقيقة أنا شخصيا أفهم ذلك يوميا , عندما أرى الكثير من زملائي الجامعين , من إكتفو بالثلث الأول من الشكل , في بذل مجهودهم وطاقتهم , للتعلم و الإحتراف , ليس العيب و المشكلة في الـ net. أو Microsoft لأنها صممته بهذه الطريقة , لكن العيب في من يستخدمه , إذا أراد أن يقف في بداية الطريق معتقدا أنه قد وصل إلى أعلى درجات العلم , إذا قام بتصميم برنامج صغير بكذا وكذا , وبالمقابل , ليس من المعيب أيضا أن تجد شخص ملم إلماما كبيرا بالبرمجة عن طريق تحصيله العلمي (جامعي مثلا) يقوم بإستعمال IDE أو Components جاهزة , لأنه ببساطة لديه عمل أهم من ذلك , ليقوم به , من أن يكتب في Notepad , أو أن يقوم بتلقيم الـ Compiler ملفات الـ Source Code واحد تلو الاّخر لكي يوسم هذا الشخص بالإحترافية , دعونا نتفق على معنى الإحترافية , عندها نستطيع نبذ من هم دخلاء على هذه المهنة ...

أكثر ما يحزنني فعلا , عند دخولي قسم الـ #C مثلا أو الـ net. أو بقية الأقسام , كثرة المواضيع التي يطلب أصحابها كود لعمل ذلك أو هناك مشكل في الكود التالي , عذرا لكن هناك إختراع إسمه Documentation , وبكل بساطة من هو غير قادر على كتابة مشروع معين , كيف قام بتسّلم عمل مثل هكذا مشروع , هل يعتقد صاحب الموضوع أنه يقوم بزراعة بطيخ مثلا ؟

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

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

شكرا إخوتي و أعتذر على الإطالة ... تقبلو مشاركتي برحابة صدر ...

تم تعديل هذه المشاركة بواسطة AliBazzi في 1 مايو 2010 في 01:28

#163
hasan_aljudy كتب:

لا صحيح

التقنية ليست "مجرد" تقنية،

كل تقنية تكون culture (ثقافة) حولها، و هناك اسباب منطقية لذلك

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

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

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

hasan_aljudy كتب:

مشكلة فجول بيسك ليس انها سهلة، لاحظ مثلا ان بايثون ايضا مصممة خصيصا لتكون سهلة القراءة و الكتابة، و مع ذلك لم تكون حول نفسها ثقافة انصاف المبرمجين.

لغة باثون نفسها سهلة جداً، وقد تكون مفرداتها النحوية أسهل من تلك في لغات البيسك. أنا معك في هذا. ولكن هل هي، بشكل عام، تقنية يسهل الدخول إليها من قبل المبتدئين مثل VB6؟ أنا لا أعتقد ذلك. أولاً، بايثون ما زال ليس لديها IDE بسهولة Visual Studio وأقول هذا كشخص يبرمج بالإثنين. برمجة الـGUI بالذات لا توجد منافسة أصلاً. ثانياً، هناك نقص كبير جداً في الموارد التعليمية العربية للبايثون مقارنةً بـVB6 التي لا تخلو مكتبة (حتى الآن) من كتب لها. ثالثاً، حتى الآن فقط المختصون هم من يعرفون بهذه اللغة. معظم الجامعات لا تدرسها، لا توجد طلبات توظيف كثيرة لها، لا توجد دورات تعليمية لها... إلخ.

hasan_aljudy كتب:

هناك ايضا ثقافة حول visual studio، و ربما يمكن ان الخصها في سطر واحد: "لن استخدام لغة X الى ان تصبح مدعومة في visual studio لانني لا استطيع البرمجة بدون IDE"

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

hasan_aljudy كتب:

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

من هم مستخدمو اللينوكس؟ جوهر جمهورها هم من المختصين والهواة الجادون.

Khaled.Alshaya كتب:

النقاش تحول إلى "هل المبرمج" يستطيع إنتاج شيء باستخدام أي تقنية يعمل بها, سواء كانت Flash أو #C؟ الإجابة بكل بساطة هي نعم, المبرمج يستطيع التكيف مع التقنية التي يعمل بها. و لكن لم يكن هذا الذي تناقشنا حوله أصلاً!

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

Khaled.Alshaya كتب:

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

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

Khaled.Alshaya كتب:

هذه ليست "فلسفة" أكاديمية, هذا واقع نعيشه للأسف. نحن لم نطالب بأن تكتب Iterative Quick Sort, أو كتابة خوارزميات في الـ Graph Theory. كل ما قلناه, هو أنه يجب أن تكون هناك أساسيات قبل أن تقدم على فعل أي شيء. و تلك الأساسيات لحسن الحظ متوفرة حتى على الويب, و لكنها تحتاج إلى من يلتقطها, و هذا ما أكدته بأن هناك مبرمجين حقيقيين لم يدخلو أسوار الجامعات أصلاً, و ربما يكونوا أفضل ممن دخلوها و المنتدى شاهد على ذلك. أما من يصعد إلى آخر السلم خطوة واحدة, فسيقع في النهاية.

تحياتي...

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

#164

يا عزيزي system down انا لم اتحدث عن اي احصائات بل اعطيتك شرح منطقي للسبب

لنفرض ان تحليلك صحيح و ان فجول بيسك تخرج انصاف مبرمجين لانها سهلة التعلم و الـ barrier to entry ضعيف جدا بحيث اي شخص يدخل دون ان تكون له مهارة عالية

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

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

يعني لو تأخذ شخص مبتدئ و تعلمه بايثون

و تأخذ شخص مبتدئ اخر و تعلمه فجول بيسك

بعد خمس سنين من منهم تتصور سيكون اكثر علما و مهارة؟

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

2 −2
#165
hasan_aljudy كتب:

يعني لو تأخذ شخص مبتدئ و تعلمه بايثون

و تأخذ شخص مبتدئ اخر و تعلمه فجول بيسك

بعد خمس سنين من منهم تتصور سيكون اكثر علما و مهارة؟

بصراحة؟ لا أعرف. اختلاف الـentry barrier يعني وجود اختلافات شاسعة بين المجتمعين.

أنا لا أقول أنه لا يوجد مجتمع بهذا الشكل حول VB6 و PHP و دوت نت (بدرجة أقل نوعاً). ما أقوله هو أن هذا ليس عيباً في هذه التقنية. الثلاث تقنيات التي ذكرتها للتو تقنيات ممتازة ما دمنا نستخدمها بشكل صحيح. الشخص الفاهم يمكنه تفادى عثرات مجتمع الأكواد الجاهزة. والكسول كسول مهما فعلت. نعم عدد الكسلاء في VB أكثر بكثير من الموجود في C. ولكن هل هذا يعني أن أبتعد عن الـVB لكي أبتعد عن "الرعاع"، كما كان يبتعد الأرستقراطيون عن مقاهي العامة حتى لا يختلطوا بهم؟ هذا هو بالضبط ما أقصده. أنا أوجه كلامي إلى الفئة التي تعتبر أن اللغة X هي "لعبة" Toy Language أو "ليست للمحترفين" و غيرها من الألقاب التي لا تعني شيئاً إذا كنت حقاً تفهم شيئاً في البرمجة. الحل ليس في قول "ابتعدوا عن X" بل "إذا أردت أن تتعلم X انتبه للنقاط التالية".

2
#166
اقتباس
لكن هل هذا يعني أن أبتعد عن الـVB لكي أبتعد عن "الرعاع"، كما كان يبتعد الأرستقراطيون عن مقاهي العامة حتى لا يختلطوا بهم؟ هذا هو بالضبط ما أقصده.

نعم هذا بالضبط ما اعنيه

اذا سألني شخص مبتدئ انه يريد تعلم VB و يطلب مني النصيحة ساقول له ابتعد عن VB باكبر قدر ممكن و خصوصا VB6 ..

2 −2
#167

يا شباب اريد ان اعرف

هل التقنية الأسهل هي الأسوأ أم التقنية الأصعب

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

1

Chail .. Get Focus .. Then Catch Your Target

#168

ما يراه المبتدئ سهلا قد يراه المتمرس صعبا، او لنقل غير عملي.

ابسط مثال، عملية النسخ و اللصق و الحفظ في محرر نصوص.

ايهم اسهل، الضغط على ctrl-c للنسخ ام تحريك الماوس و الضغط على زر النسخ من الـ toolbar؟

هذه نقطة .. و الحديث فيها يطول

لكن باختصار، العمل على مشاريع كبيرة يتطلب ادوات تقوم بالاعمال المضنية نيابة عنك، و سطر الاوامر هو افضل وسيلة لحد الان للقيام بذلك، لان برامج الـ gui يصعب عمل scipts لها.

النقطة الاخرى، و الأهم من وجهة نظري، هل نريد تخريج جيل من مستخدمي منتجات ميكروسوفت (أو آبل .. او غيرهم)، ام تخريج جيل من طلبة العلم يساهمون في نهضة بلدانهم؟ (النهضة التقنية على الأقل).

هناك شيء اسمه علوم الحاسوب،

اعتقد انكم سمعتم به :lol:

و هناك شيء آخر اسمه مستخدمين، end users، و هؤلاء لا يريدون تعلم كيف يعمل الحاسوب او البرامج اللتي عليه .. بل يريدون فقط استخدامها للانتقال من النقطة س الى النقطة ص "بسهولة"

الفرق واضح

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

مستخدمي VB6 يقومون باستخدام منتج معين للحصول على المرتب

4 −3
#169

سطر الأوامر ليس هدفاً في حد ذاته, كما أنه عامل مشترك بين كل التقنيات حتى الVisual Studio يقوم بعمل كل خدماته التي تتعلق بالكود عن طريق استخدام MsBuild و هو في حد ذاته برنامج بدون أن واجهه مستخدم و مجاني و جزء من DotNet SDK كما أن له Extension API's و تستخدمها معظم البرامج المضافة لتقديم خدمات جديدة مثل تشغيل الUnit Tests كجزء من عملية الBuild أو أي شئ اخر.

اقتباس
لكن باختصار، العمل على مشاريع كبيرة يتطلب ادوات تقوم بالاعمال المضنية نيابة عنك، و سطر الاوامر هو افضل وسيلة لحد الان للقيام بذلك، لان برامج الـ gui يصعب عمل scipts لها.

العمليات المضنية تحتاج لأدوات أقوى, و هنا أرى أن الIDE أحد هذه الأدوات, و الا فكيف ستتمكن على سبيل المثال من تغيير اسم متغير في مشروع قوامه 1000 ملف دون أن تكسر البرنامج ؟؟ هل ستقوم بعمل Find & Replace في محرر نصوص؟

و هذه ليست عملية مضنية بل مجرد مثال على عملية قد تقوم بعملها كل يوم أثناء عملية Refactoring و لكن عدم وجود IDE قوي سيجعلك اما تتجنب الRefactoring أو تقضي وقت طويل في عمل شئ تافه.

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

اقتباس
هناك شيء اسمه علوم الحاسوب،

اعتقد انكم سمعتم به

و هناك شيء آخر اسمه مستخدمين، end users، و هؤلاء لا يريدون تعلم كيف يعمل الحاسوب او البرامج اللتي عليه .. بل يريدون فقط استخدامها للانتقال من النقطة س الى النقطة ص "بسهولة"

الفرق واضح

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

2 −1

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#170
hasan_aljudy كتب:

نعم هذا بالضبط ما اعنيه

اذا سألني شخص مبتدئ انه يريد تعلم VB و يطلب مني النصيحة ساقول له ابتعد عن VB باكبر قدر ممكن و خصوصا VB6 ..

وهذه هي الفوقية العلمية بذاتها. أنت تحكم على تقنيةٍ ما ليس بمجموع بعيوبها ومحاسنهان بل بالمجتمع الذي يحيط بها؟ التقنية الصحيحة هي التقنية التي يحيط بها "نوعي المفضل من البشر"؟

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

hasan_aljudy كتب:

لكن باختصار، العمل على مشاريع كبيرة يتطلب ادوات تقوم بالاعمال المضنية نيابة عنك، و سطر الاوامر هو افضل وسيلة لحد الان للقيام بذلك، لان برامج الـ gui يصعب عمل scipts لها.

لا يمكنك الجزم بشكل كامل على هذا. يمكنك عمل Macro وهو أحد خصائص الـIDE. هناك أعمال يقوم بها الـCL أفضل من الـIDE وهناك العكس. الأداة الصحيحة في المكان الصحيح، وليس الأداة العامة في كل شئ.

hasan_aljudy كتب:

النقطة الاخرى، و الأهم من وجهة نظري، هل نريد تخريج جيل من مستخدمي منتجات ميكروسوفت (أو آبل .. او غيرهم)، ام تخريج جيل من طلبة العلم يساهمون في نهضة بلدانهم؟ (النهضة التقنية على الأقل).

وهل تريد إنشاء جيل لا يعرف سوى اللينوكس؟ الهدف هو التنويع.

hasan_aljudy كتب:

هناك شيء اسمه علوم الحاسوب،

اعتقد انكم سمعتم به :lol:

و أحد أهم ركائزه عدم ضياع الجهد سدى. جميع التطويرات التي تمت حتى الآن في مجال تطوير لغات البرمجة كانت تضع هذه القاعدة نصب عينها. الـsub routines تم تطويرها لمنع تكرار كتابة الأكواد. الـOOP تم تطويرها لتسهيل عملية نمذجة الكائنات. الـfunctional programming تم تطويرها لتسهيل نمذجة المعادلات الرياضية. وهلمجرا. النصيحة بترك تقنية ما فقط لأنها سهلة يخالف أحد أهم عواميد علم الحاسب. الذي سمعنا كلنا به ودرسناه.

hasan_aljudy كتب:

و هناك شيء آخر اسمه مستخدمين، end users، و هؤلاء لا يريدون تعلم كيف يعمل الحاسوب او البرامج اللتي عليه .. بل يريدون فقط استخدامها للانتقال من النقطة س الى النقطة ص "بسهولة"

الفرق واضح

وأي تفنية يستخدمونها تصبح تقنية "قذرة" لا يصح للـ"سادة" أن يلمسوها؟

hasan_aljudy كتب:

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

مستخدمي VB6 يقومون باستخدام منتج معين للحصول على المرتب

هل حقاً تعتقد أنه لا يوجد شئ يمكن أن تقدمه VB6 لطلبة العلم؟ ولماذا؟ مالذي ينقصها؟ أم هي مجرد موضة "VB is crap"؟ ولا تقل لي المجتمع الذي حولها. طالب العلم الحقيقي يعود أولاً وأخيراً إلى المصادر.

1 −1
#171

رجاءا لا احد يلوي ما اريد قوله ..

نعم الـ IDE يساعد في بعض الاحيان مثل عمليات الـ rename و لكنه ليس ضروري في اغلب الاحيان

سطر الاوامر او لينوكس او غيره ليست اهداف في حد ذاتها،

الهدف هو:

- سعة الاطلاع و الالمام بادوات و لغات اخرى، لان العلم هدف في حد ذاته

- زيادة الكفائة و "الانتاجية" كما يقولون. من خبرتي الشخصية اجد ان ادوات سطر الاوامر هي الافضل في زيادة الكفاءة و الانتاج في 90% من الحالات

بخصوص اللينوكس

it just so happens that ..

كل ما في الامر ان البرمجيات الحرة/المفتوحة و فلسفتها هي الانسب لطلبة العلم، لان كل شي "مفتوح"، و لان هذه الفلسفة خرجت من مجتمع "العلماء" و احد اهداف المصادر المفتوحة هو تبادل الخبرات و المشاركة في المعرفة

تعليقا على قضية الـ rename:

نعم لحد الان اجد ان الـ IDE افضل في عملية الـ renaming، و لكن:

- هذه الخاصية ليست متوفرة في كل اللغات (هل هي متوفرة في سي بلص بلص او بايثون؟؟ شخصيا رايتها فقط لجافا و سي شارب)

- كم مرة نحتاج لهذه الخاصية في اليوم؟؟ اعتقد مرة واحدة في الشهر ..

الـ refactoring اكبر بكثير من مجرد renaming ..

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 3 مايو 2010 في 23:46

1
#172

الRefactoring له جزء خاص في الVisual Studio الRenaming أحد هذه المميزات التي تندرج تحت الRenaming لكن هناك أيضاً استبدال مجموعة سطور بMethod و يقوم الVisual Studio بدراسة هذا الBlock of Code و تحديد ما هي الinputs و الoutputs التي يحتاجها ليتحول الى Method, أيضاً يوجد Extract Interface from Class, أو Extract Unit Test و غيرها.

بالنسبة للRename فستستخدمها مرة كل شهر لو كنت ستقوم بعملها يدوياً و لكن لو كانت بسهولة تغيير اسم ملف فستقوم بعملها أكثر من مرة في اليوم كعملية طبيعية دون أن تشعر.

1 −1

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#173

هناك IDEs اخرى غير فجول ستوديو كما تعلم ..

عملية الـ rename تحصل بشكل دائم و لكن في كثير من الاحيان يكون الشيء المراد تغييره مستخدم في نطاق ضيق، يعني داخل ملف واحد او ملفين على الاكثر، اي في اغلب الاحيان مجرد find & replace تكفي و تزيد

عمليات الـ refactoring عادة تكون معقدة بعض الشيء, حين كنت استخدم eclipse كنت احيانا احاول استخدام extract method و اخواتها .. و لكني وجدت هذه الادوات محدودة القدرات ..

مرة اخرى، الـ refactoring اكبر بكثير من مجرد rename او extract method، هذه الادوات تساعد احيانا و لكنها محدودة القدرات. وجود محرر نصوص قوي في الغالب يوفر مرونة اكثر تغني عن هذه الملاعيب

هل هناك rename في ملفات xml مثلا؟؟ في vim مثلا اقوم بتغيير اي كلمة ثم البحث عنها و تكرار التغيير بكل بساطة عن طريق n.n.n. في اي ملف و ليس فقط في اللغات القليلة اللتي يدعمها الـ IDE

لا اريد تحويل الموضوع الى vim vs X، كل ما في الامر انني استخدم vim كمحرر النصوص الرئيسي لدي، و في العمل اقوم باستخدام visual studio مع ViEmu

http://www.viemu.com/a-why-vi-vim.html

#174

الFind & Replace متوفرة في أي محرر نصوص حتى الNotepad بها Find & Replace الفرق بين IDE و غيره من المحررات هو أنه يعرف ما هو الكود و يستطيع أن يخبرك مسبقاً اذا كان التغيير الذي تريده يصلح أم لا, فعلى سبيل المثال ربما تطلب تغيير اسم متغير و لكن الاسم الجديد يتعارض مع اسم متغير اخر له Scope أعلى دون أن تدري, أي محرر نصوص لن يفكر مرتين, ولكن الIDE سيرفض العملية أو على الأقل سينبهك كما يفعل الVisual Studio

و لكن حتى الFind & Replace في Visual Studio بها مميزات أكبر فعلى سبيل المثال يمكنك عمل Find & Replace على أساس Regular Expression و ليس على Exact Match فقط, و هذا يمكنك من الوصول الى الحالات الخاصة التي قد لا يستطيع الFind & Replace العادي الوصول اليها, مثلاً اريد تغيير اسماء المتغيرات التي تحوي _ و اريد أن أزيل هذه ال_ تماماً يمكنك هذا باستخدام الFind & Replace مع Regex

و لا تجعلني أبدأ في محرر الXML في Visual Studio فببساطة هو رائع فهو يقدم عمليات مثل الIntellisense لأي XML Document لها Schema و أيضاً يمكنك من عمل Debugging للXSL و هي خاصية أكثر من خرافية اذا كنت ممن يتعاملون مع الكثير من الXSLT.

1

مصري في بلاد الفرنجة.

قريباً اقرأ مقالاتي على It-scoop

#175
اقتباس
حتى الNotepad بها Find & Replace

لا لا لا .. هذا الشي الموجود في النوت باد "اسمه" فقط فايند & ريبليس، (بالاسم فقط) لكنه في الحقيقة شيء متخلف صممه احد جهابذة الـ vb6 منذ اصدار وندوز 98 و لم يقم احد بتحديثه حتى الان.

رجاءا لا تقحم نوت باد في الموضوع، فهو لا يصلح حتى كمحرر نصوص لملفات readme فضلا عن اي ملف سورس كود، بل من العار تسميته محرر نصوص، لا ادري لماذا ما زال كما هو حتى في وندوز 7، انه حتى لا يتعرف على الاسطر الجديدة الا اذا كانت CRLF

المهم،

انا قلت، و كلامي واضح، ان عمليات الـ refactoring معقدة و تحتاج الى ذكاء بشري في اغلب الاحيان، و ان الـ refactoring اكبر من مجرد rename او extract method بكثير،

و ان ما يفيد المبرمج فعلا هو محرر نصوص قوي و مرن و versatile يوفر العديد من الامكانيات، بحيث يمكنك فعل امور غير موجودة في اي IDE

لا الومك ان لم تكن تعرف ماذا اقصد بالضبط، لان من لم يجرب محرر نصوص مثل vim يظن ان كل محررات النصوص مثل بعضها.

لاحظ مثلا C++ لا يوجد فيها حتى rename لانها لغة صعبة الـ parsing (ربما وجد الان .. لا ادري .. لكني اعرف انه صعب)

و بايثون لغة ديناميكية فلا يمكن للـ IDE معرفة كل الاسماء الموجودة لانه يمكن عن طريق قابليات الـ metaprogramming ان يقوم البرنامج بانشاء خصائص جديدة اثناء الـ runtime، كمثال على ذلك الـ ORM في django

ربما لم اوفق في ضرب ملفات xml كمثال، و لكن ما كنت ارمي اليه هو ان الـ IDE لا يمكن ان يوفر دعم لجميع اللغات، بل لمجموعة لغات معينة، و في حالة .Net فان ملفات xml مستخدمة بكثرة لذلك هنالك دعم جيد لها، و لكن هذا لا ينسحب على كل الملفات.

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