Monday, November 10, 2008

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

أترككم مع الموضوع :

بسم الله الرحمن الرحيم و الصلاة و السلام على أشرف المرسلين سيدنا محمد و آل بيته الطاهرين و صحبه أجمعين و من تبعهم بإحسان إلى يوم الدين أما بعد

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

قبل أن تبرمج يجب عليك أولا أن تفهم ما هي البرمجة


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

الآن ما هي لغات البرمجة ؟

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


و الآن ما هي لغات البرمجة فعلا ؟

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


الآن كلام جميل و لكن أنا لا أريد تعلم البرمجة بل أريد إحترافها بل أريد اللعب بها كيف السبيل إلى ذلك ؟

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

لقد شوقتنا أريد فعلا أن أصبح مطور كيف السبيل إلى ذلك؟

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

راقب المحترف , تتبع المحترف, فكر بعقل المحترف, كن محترف.


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

اللغات التي يستعملها المحترف


طريقة تفكير المحترف مطلوبة و لكنها لا تغني عن المهارات الأساسية التي يجب أن تتوفر لديه قبل أن يستطيع أي شخص أن يلقبه بلقب المحترف .
يملك المحترف عدة لغات برمجة معينة تساعده على حل المشاكل و عمل برامج و مشاريع متميزة , إذا كنت أخي القارئ لا تعرف أي من لغات البرمجة فاتبع المنهج التالي الذي سيقودك للاحتراف بسهولة لغات البرمجة كثيرة ومتنوعة منها السهلة ومنها الصعبة منها القوية ومنها الضعيفة منها مايفيد و منها ما يضر .
إﺫا كنت لا تعرف أيا من لغات البرمجة أنصحك بالبدء بتعلم لغة البايثون python فهي لغة رائعة و حديثة و سهلة على المبتدئين .أنشأت هذه اللغة خصيصا لمستعملي لغة السي حتى يستعينوا بها لعمل مشاريع في وقت قصير .
كتبت هذه اللغة بلغة السي و هي تعمل كل ما تعمله لغة السي طبعا لن تعطيك الحرية كحرية السي و لكن من حيث الفعالية لا يوجد فرق بينهما و لا تغرك سهولة هذه اللغة و تضن أنها ضعيفة فقد كتب بواسطة هذه اللغة كل أدوات توزيعة الردهات redhatو لمن لا يعرف الردهات هي توزيعة لينيكس المستعملة من طرف أغلب الخوادم server و يغيضني في قلبي عندما أرى المسلمين يجهلون عن هذه اللغة الرائعة بل إن البعض يشكك في فعاليتها و هذه أخي القارء بعض المشاريع التي استعملت لغة البايثون فيها .
Google, NASA, YouTube, Industrial Light & Magic, One Laptop Per Child, Opie sur pocket PC,

كما نرى لغة البايثون قوية و واسعة الإستعمال فبالرغم من كونها لغة جيده للبدأ بها فهي ليست لعبة بل انها لغة قوية و مناسبة للمشاريع الكبيرة إنها لغة لن تجد صعوبة كبيرة في تعلمها و ستكسبك الثقة في النفس وستتعلم معها أساسيات البرمجة في ظرف زماني قصير لأنها لغة سلسة و غير معقدة.
لغة البيرل perl أو الجافا java تعتبر أحسن إختيار ثاني لك أنا أفضل أن تتعلم البيرل أولا فهي اللغة التي تستعمل في إدارة أنظمة الشبكات و التحكم في الخوادم عن بعد كما تستعمل في برامج التواصل عن بعد إذا تعلمت لغة البايثون لن تجد صعوبة في تعلم لغة البيرل لأنهما متشابهتان نوعا ما .
لغة الجافا أصعب قليلا و لكنها تنتج أكواد أسرع من لغة البايثون و البيرل كما أنها أصبحت واسعة الإستعمال حتى الروبوتيك صار يبرمج بهذه اللغة و هي لغة شابة سريعة التطور وهي أحسن لغة تتعلم بها مبادء البرمجة الكينوية لأنها لغة موجهة صارمة للغاية و تمهدك جيدا لدخول إلى عالم السي ++.
عند وصولك لهذه المرحلة يجب عليك إدخال تقنيات جديدة على برامجك كالتعامل مع تقنيات CGI أو البرمجة بواسطة مكاتب SQL و برمجة تطبيقات تستخدم فيها مكتب الشبكات RTp,H.323,SIP.. لكن احذر، لن تصل إلى مستوى المحترف أو حتى إلى مستوى المبرمج العادي إذا تعرفت على لغة برمجة واحده أو اتنتين. يجب أن تتعلم كيفية التفكير في المشاكل البرمجية بشكل عام. مستقلا عن أية لغة برمجة لا تربط نفسك بلغة معينة.
لكي تصبح محترف يجب أن تصل إلى مستوي حيث يمكنك تعلم لغة برمجة في أيام عن طريق ربط ما هو موجود في كتيب هذه اللغه بما تعرفه انت مسبقا. و هذا يعني تعلمك للعديد من لغات البرمجة , يجب أن يكون لديك أسلوبك الخاص لا تربط نفسك بأسلوب لغة معينة لأنك إذا غيرت اللغة ستضطر إلا تغير أسلوبك بالكامل.
اذا بدأت في التعمق في برمجة بجدية فسوف يجب عليك تعلم لغة السي، لغة العصر , قلب نظام التشغيل يونكس. لغة السي++ قريبه جدا من لغة السي ولكنها أوسع منها ، إذا تعلمت واحده فسوف يصبح من السهل عليك تعلم الأخرى . ليست أي منهما الاختيار الصحيح لكي تبدأ به.
في الحقيقة كلما استطعت الابتعاد عن البرمجة بالسي كلما أصبحت أكثر انتاجية. السي لغة قوية و موفرة لمصادر جهازك ولكن لكي توفر السي هذه الميزة يتوجب عليك عمل العديد من الوظائف بنفسك للتحكم في المصادر ( كالذاكرة مثلا) و لقد انشأة هذه اللغة لتحل محل لغة fortran التي كانت معتمدة سابقا فهي قريبة نوعا ما إلى تشكيلة النظام مما يتطلب منك كتابة شفراة كثيرة لإنجاز برامجك كل هذه الشيفرة البرمجية تزيد من احتمالات الخطأ و سوف تتطلب منك وقت أطول في تتبع الأخطاء بالبرنامج. هذه الميزة ليست في غاية الأهمية هذه الأيام مع وجود أجهزة قوية كالموجودة حاليا. يفضل استخدام لغة برمجة تقوم بإهدار مصادر الجهاز و لكنها ستقوم بتوفير وقتك مثل البايثون. إﺫ أنك تستطيع حل مشكل بواسطة البايثون في 15سطر ولو حاولت حل هذا المشكل بلغة السي سيكون الكود 60 سطر و خلاصة القول إتجه إلى السي إٍِلآْ إﺫا احتجت إليها حتى توفر وقتك و جهدك.
بعض الناس يعتبروني أهاجم لغة السي بهذا الكلام و هذا خطأ لأني مهوس بهذه اللغة و لكن الحق حق , و كما قلت لك لا تربط نفسك بلغة معينة . اجعل السي دائما آخر الحلول , تجد المبتدئيين دائما يتجهون إلى هذه اللغة ظنا منهم أن تعلمها سيختصر عليهم الطريق و هذا خطأ كبير جدا لن تستطيع أخي القارء إتقان هذه اللغة حتى تكتسب خبرة جيدة جدا في البرمجة أنا لا أتكلم عن 5 أشهر أو عام بل أتكلم عن خبرة برمجة بثلاث لغاة على الأقل و لا تغرك المواضيع المطروحة في المنتديات عن هذه اللغة و التي يزينها أصحابها بعنواين زائفة "إحترف لغة السي من الصفر ..." لغة السي لا تستخدم لطباعة الأرقام على الشاشة و حل معادلة من الدرجة الثانية و لكن تستخدم لـ التحكم في عمل المعالج أو برمجة التعريفات drivers أو التحكم في أعمال الجهاز gestion des processus كما أنها تستخدم في برمجة أنظمة الأمان العالية الحساسية .. و المبتدأ لن يستطيع إستيعاب هذه الأمور حتى يتمرس في مجال البرمجة جيدا , إذا أخي القارئ انس هذه اللغة الآن تماما و ستأتي بها الأيام إن شاء لله اختر لغة سهلة و سلسلة تكسبك الثقة بالنفس و تمكنك من فهم مبادئ البرمجة بسهولة.

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

يجب عليك أيضا فهم الأكواد المكتوبة بالـ HTML التي يعتبرها الكثير لغة برمجة مع أنها لاتمس للبرمجة بصلة لكن يجب عليك فهمها جيدا لأنك ستصادفها كثيرا هي و XML
ْ
أفضل اختيار بالطبع أن تتعلم الخمس لغات. البايثون، السي، السي++، الجافا، البيرل, بي إتش بي ، و الليسب. إلى جانب أنهم أهم اللغات المحترفين فهم يمثلون تعريف بأكثر من تقنية برمجية و كل منهم سوف يعلمك شئ ذو قيمة عاليه و ستكتسب من كل لغة أفضل ما فيها و تأخذ منها ما يفيدك فقط..

إقرا الكثير من الأكواد

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


الإستقلالية و التنوع

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

إستغلال المشاكل لصالحك

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

تعلم الشبكات :

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

تعلم العمل البرمجة على نظام لينيكس

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

دون كل ملاحظاتك

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



تم بحمد الله


منقول للأمانه
كتابة الأخ : Lem_Chouaib
برامج نت

Friday, September 5, 2008

Dell Inspiron Mini 9

Dell INSPIRON Mini 9 the New Cheapest Small Laptop



Dell
maybe a little late to join the Mini Notebook race to produce the Cheapest and Useful  Laptops  but they sure didn’t disappoint us with Inspiron Mini 9 .

Inspiron Mini 9

It had an Intel Atom Diamondville processor that's accompanied by 512MB/1GB RAM , 4/8/16 GB Hard disk ,webcam,WiFi,Bluetooth ,and a very beautiful 8.9  inch LED display .

Everything looks more or less standard if you compare it with other netbooks .
It’ll come in two variants: Black or White, and have two other options of the OS  you want to use in your Mini 9 .
1-  Windows XP : is available now and cost $399 .
2-   Linux : will came at  later date with the  very public and famous Distribution " Ubuntu " and tag price of $349 .

it’s available now in the US, Japan, and select countries in Europe. Unfortunately  we can not found it in ME " Middle East "  .
While we need like this product " cheap and useful " to Resistance  price rises in our Arabic Islamic countries to follow the Technical revolution  .

Thursday, July 17, 2008

WiiMote with WDM / Ubuntu / Beryl / Candles

WiiMote with WDM / Ubuntu / Beryl / Candles





Use the New Game station " Wii " as a Remote Control for the Ubuntu 8.04 PC ...!!

amazing .......

Monday, July 14, 2008

Full Review " BlackBerry Bold "



World: Say hello to the RIM BlackBerry Bold. *Cue dramatic music.*

You may know it as the RIM BlackBerry 9000, but on Sunday, Research In Motion officially took the wraps off the highly anticipated smartphone, complete with a new name. The "Bold" is in reference to the smartphone's gorgeous display, but it's also bold in that it represents a number of new moves for the company. Oh, BlackBerry Bold, how do we love thee? Let us count the ways.

The bold and the beautiful
As we just mentioned, the device gets its name from its screen. The BlackBerry Bold features a half-VGA (480x320 pixel resolution) and a 65,000-color display. During some initial product testing, research group participants repeatedly called the screen "bold" and "brilliant." The Brilliant moniker didn't really jibe with the company, thus the BlackBerry Bold was born.

So just how bold is it? Well, RIM stopped by our office late last week to show us the device, and let me just tell you, I was absolutely blown away. I can pretty much say I've never seen a better-looking display on a smartphone. Colors pop off the screen, and it's really amazing how sharp and crisp everything looks on the display.

We watched a couple of videos, and for the first time, we didn't notice any of the pixelation or blurriness that you typically get with phones. In addition, the menu interface has been revamped with a much more modern look and icons. Also, as you can see from the images, the BlackBerry Bold boasts a new design. It's more elegant than models past, with curvier edges and a silver trim that complements the black casing.

If you turn it over, you'll also notice that the back has a leatherette texture. No more slick plastic. RIM will sell replaceable backplates in different colors, including blue, gray, and red, if you want to individualize your phone a bit. The BlackBerry Bold measures 4.5 inches tall by 2.6 inches wide by half an inch deep, and it weighs 4.7 ounces.

Kevin Michaluk at Crackberry.com took a gamble, buying one on eBay, and posted a hands-on review. He made a good comparison of the device to the Motorola Q9h.

Finally, the BlackBerry Bold has a QWERTY keyboard that RIM likened to a modernized Curve keyboard, but I'm not really seeing it. Instead, it reminded me more of the BlackBerry 8830.

Now, I know some of you 8800 series users had issues with the keyboard, but I tried it out, and it's pretty easy to use--relatively large buttons with some spacing between the keys.

(Credit: RIM)

Wireless smorgasbord
There's a heaping of wireless options on the quad-band (GSM 850/900/1800/1900) BlackBerry Bold, but the most appetizing and notable item is the HSDPA/UMTS (850/1900/2100) support.

It's the first such equipped BlackBerry, and we all know that it's been a long time coming. RIM says the delay for bringing such a device to the market is that it wanted to make sure that battery life wouldn't be sacrificed at the expense of including the 3.5G technology. Hey, whatever the reason, we're just finally happy to have it.

You also get integrated Wi-Fi (802.11a/b/g), Bluetooth 2.0 with full A2DP support, and built-in GPS (enhanced and assisted).

Horsepower
The RIM BlackBerry Bold is equipped with a 624MHz Intel PXA270 processor, whereas previous BlackBerrys had 312MHz processors, so technically, you should enjoy smoother and faster performance.

During our briefing, there were a few hiccups in performance, but we're going to keep our fingers crossed and chalk it up to the fact that it wasn't a final unit. There's also 128MB of flash memory and 1GB of onboard memory, which is all supplemented by the microSD/SDHC expansion slot (supports up to 16GB cards).

Multimedia, Web, and other good stuff
You still with me? I know this post is getting a bit lengthy, but there are just a few more highlights to note. First, the Bold includes an improved Web browser (thank goodness), with the option to view pages in a full desktop HTML style or a mobile version, and you can now more easily navigate pages with the trackball, which acts like a mouse cursor, and zoom in and out.

As for multimedia, the smartphone is equipped with a 2-mega pixel camera with video-recording capabilities and up to 5x zoom. The media player also continues to support numerous audio and video formats, including MP3, WMA, AAC, DivX4, and WMV3 files, and the phone is equipped with a 3.5mm headphone jack. By the way, the Bold has some pretty powerful speakers--none of that weak, tinny junk.

Oh, and hey, what's this? It's makes calls, and sends and receives e-mails, you say? Yes, you'll still get all of the voice and messaging features of previous BlackBerrys, and the handset will also come preloaded with Dataviz's Documents to Go suite, for document viewing and editing.

"When and where can I get one?"
Now that we've totally built up the device, and you're ready to run out and buy one, here's the letdown: the BlackBerry Bold isn't available quite yet. It's currently going through carrier certification, and although RIM wouldn't officially name the service provider, based on the 3G bands, you can pretty much guess who it will be (hint: starts with an A and ends with T&T). And while pricing will also depend on the carrier, RIM is guessing that it will be in the $300 to $400 range, and expected worldwide availability is "this summer."

OK, that's it! My fingers are tired from all the typing, so now it's your turn. Clearly, I'm pretty amped about the smartphone. Of course, the true test will come when we finally get it in for real-world testing, but from everything I've seen so far, the RIM BlackBerry Bold has huge potential. But what do you think? Hot or not? The commenting floodgates are open, so have at it.

Update: AT&T confirmed this morning that it will be the official carrier of the BlackBerry Bold but didn't provide any details on availability other than "later this year."

Sunday, July 13, 2008

نظام تشغيل آمن ، بسيط ، متكامل ، مجاني ..


في الحقيقة الكثير لا يعلمون أن نظام الـwindows الذي نستخدمه غير مجاني ، فقد وجدناه جاهزا بسعر زهيد في محلات نسخ الإسطوانات رغم أنه يباع في الخارج بمئات الدولارات

وأيضا الكثير لا يعلمون أن هناك نظام تشغيل أكثر أمانا وبساطة ومتكامل أي أنك بمجرد تنصيبك له ستجد فيه جميع البرامج الأساسية التي تحتاجها مثل برنامج GiMP الذي يحاكي محرر الصور العالمي photoshop وكل ذلك بدون مقابل

[Linux]
نظام تشغيل متكامل وبسيط ومجاني ويتميز هذا النظام بأنه يتفرع على توزيعات تنتجها شركات متخصصة في تطوير هذا النظام

ومن هذه التوزيعات mandriva و ubuntu ، وأنا أنصح بالتوزيعة linux ubuntu desktop ، فقد قمت بتجريبها وهي تتميز بالبساطة و المؤثرات القوية من ناحية الجرافيكس

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

"منقول"
Dr.AMA
أنا بصراحة أتفق مع كاتب الموضوع في كل ما قال ولكن أحب أن أقول إن Linux Mint يعتمد على Ubuntu كنظام تشغيل في الكرنل وكثير من البرمجيات وطريقة التعامل لكن Linux Mint سهل وبسيط وأنصح به كل المستخدمين الجدد الغير محترفين في عالم الكمبيوتر .
وأجمل ما في لينكس هو التعدد والحرية فكل شخص قد تكون له نسخة وتوزيعة خاصة بمهامه ومتطلباته ومن نسخ المحترفين Fedora & Backtrack وغيرها الكثير

Neo FreeRunner - New Open source phone in the Market

a new open source phone had been in market but not in ME
you can get it from

Asia --> India

Europe --> uk franc Germany


America ---> USA Canada

or in the official website http://www.openmoko.com/

The device comes with a limited number of applications for calling and text messages, but
software can be created or installed for free without paying other taxes (and it has a large community behind it, so you will surely get your hands on the apps you might need).

OpenMoko have equipped their phone with hardware that can use future applications which might be created by the company itself or third-parties. Neo FreeRunner comes with 802.11g WiFi capabilites, 256MB of flash for storage, assisted GPS and an accelerometer that makes the device responsive to motion. The storage can be extended, as the product features a microSD slot. Its 128 of RAM and ARM 9 processor at 400 MHz allow it to multi task and also offers 2D/3D graphics acceleration.

The new device will cost $399 and can be bought from OpenMoko's website.

simple preview







unpagking OpenMoko Neo FreeRunner video






this is the beauty of open source phone you can programming it as you like
in this video the phone had Qt lib



BlackBery Bold 9000

New Beautiful Blackberry Bold 9000
catch it



it is has very interesting GUI with so much App.

IPhone vs BlackBerry bold 9000




i don't know when they will be in Egypt or ME but in Ebay the price like 399.9 $ it's like 1500 SR and 2215 EGP ....

Wednesday, July 2, 2008

New Nokia 770 Based on linux

this is the full video off Nokia 770 info.




and this video talking about browsing internet in the devise






I hope you enjoy it ,,,

Dr.AMA

مميزات لينكس عن أنظمة التشغيل الأخرى

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

1/ تحديث قانوني ودون ان تدفع.
2/ احصل على احدث نسخ من نظام التشغيل السريعة دون لمس للمعدات.
3/ تركيب وتشغيل مختلف الواجهات الرسوميه بسهولة اذا لم تحب الافتراضيه.
4/ تركيب برامج عديدة بكومند واحد.
5/ امتلاك نظام يقوم بتحديثا تتلقائيا للبرامج التي تم تركيبها.
6/ تركيب نفس النسخة من نظام التشغيل (اوبونتو) على عدة اجهزة من دون ان تقلق حول قيود الترخيص او تفعيل المفاتيح.
7/ توزيع نسخ من نظام التشغيل والبرامج التي يتم تشغيلها اعلاه دون انتهاك اي قوانين حكوميه ، ادبيه او معنويه ، لأن كل شيء قد تقدم في هذا الاتجاه.
8/ التحكم الكامل في تركيب المعدات والتعاريف دون خوف من أدوات تجسس جرى تركيبها من قبل عديمي الضمير من الناشرين او الحكومة.
9/ العمل دون استخدام مكافحات التجسس و الأنتيفايروسات
10/ التشغيل دون الحاجة الى ازالة تجزئة محرك الأقراص الصلبه ، بتاتا!
11/ تجريب البرامج،تثبيتها و إزالتها دون الخوف من ترك "أثار" على الرجيستري..والتي تثقل الجهاز و تتراكم فيه..
12/ القدرة على اعادة تسطيب النظام في اقل من ساعة ، لانك وضعت جميع البيانات على تجزئة منفصلة عن نظام التشغيل والبرامج.وهذا شيء مهم جدا..
13/ القدرة على البدء بنظام له تأثيرات جميلة و خلابة أحسن من التي في فيستا ،وعلى جهاز له أكثر من 3 سنوات... في اقل من 40 ثانية ، بما فى ذلك وقت تحديد الهوية ( اسم المستخدم وكلمة المرور).
14/ القدرة على تعديل ما أريد ، قانونيا ، حتى أنه يمكنني الاتصال بمطوري البرامج المعنية لطرح أسئلة،افكار، والمشاركة في بناء أو توسيع الصيغة الحالية إذا كنت أريد.
15/ الإشتغال على أكثر من 4 نوافذ:معالجة النصوص،الإستماع للموسيقى،وغيرها الكثير و التنقل تحت تأثيرات خلابة دون التأثير على قوة،ثبات و سرعة الجهاز.
16/ التعرف على جميع البرامج المنزلة بالتفصيل الممل(dpkg --get-selections > pkg.list) وإمكانية حفظ /home و /etc على تجزئة أخرى مع إمكانية استعادة النظام في أية لحظة تريدها !
17/ استعمال واجهات المكتب في الوقت نفسه ، او حتى السماح لمستخدمين متعددين للربط واستعمال الآلة في الوقت نفسه !
18/ تغيير تقسيم القرص الصلب دون تدميره وفقدان البيانات التي يحتوي عليها.
19/ القدرة على استخدام نفس المعدات لاكثر من 5 سنوات قبل ان الحاجة فعلا الى استبداله...
20/ القدرة على تصفح الانترنت أثناء تنصيب النظام بنفسه! هع !
21/ ربط أي جهاز أو أي شيء تقريبا دون الحاجة إلى الذهاب لموقع المصنع و محاولة إيجاد التعاريف و ما يصاحبه من مشاكل !
22/ احصل على شفره المصدر لاي شيء تقريبا ، بما فيها نظام تشغيل نفسه ! و هذا فقط و حصريا على اللينكس!

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


الموضوع بالإنجليزي
1. Update legally and without having to pay.

2. Get the latest versions of the operating system that run faster without touching the equipment.

3. Install and run different graphical interfaces easily if I do not like the default configuration.

4. Installing a score of programs by a single command.

5. Having a system that automatically updates programs already installed.

6. Installing the same copy of my OS (Ubuntu) on several machines without worry of licensing restrictions or activation keys.

7. Distribute copies of my operating system and programs that run above without violating any laws, governmental, ethical or moral, because everything has been made in this direction.

8. Having full control equipment installed on my machine and know that there is no backdoor in my software, installed there by unscrupulous publishers or the government.

9. Operating without the use of anti-virus, anti-adware or spyware, does not have to restart my machine for months while still receiving the latest security patches.

10. Operating without having to defragment my hard drive, never!

11. Try software, decide they do not like me, remove them and know they do not leave behind traces in the registry, accumulating and slow my machine.

12. Being able to make a huge error that requires complete reinstallation of my system and be able to do so in less than an hour,

because I put all my data on a partiton separate operating system and programs.

13. Being able to start my system with great effects, as nice as those of Vista on a machine with 3 years ... in less than 40 seconds, including time identification (username + password).

14. Being able to configure what I want, legally, including my programs fetishes. I can even contact the software developers concerned to ask them questions,

give them ideas and be involved in the construction or expansion of the current version if I want.

15. Having more than 4 windows open word processing, listening to music, play with graphic effects of office, be in contact with a large community friendly and have Firefox,

my instant messaging and my mail client open at the same time without that the

system starts to run so slowly that it would become unusable.

16. Using the command dpkg - get-selections> pkg.list to obtain detailed and exhaustive list of all installed software that I make a backup of my / etc and / home on another

score and thus be able to restore my system at any time, easily.

17. Rotate several offices at the same time, or even allow multiple users to connect and use the machine at the same time.

18. Resize a partition of the hard drive without having to destroy it and lose the data it contains.

19. Being able to use the same equipment for more than 5 years before he really need to be replaced ... I always material which has almost 10 years, which runs on Linux and is always useful.

20. Being able to surf the internet while the OS itself!

21. Using almost any material knowing that the pilot is already present in the operating system ... thus eliminating the need to investigate the site of the manufacturer to find that driver.