سرمد خالد @سرمد

نقاط السمعة 183
تاريخ التسجيل 23/04/2014
آخر تواجد يومين

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

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

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

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

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

نتمنى لك التوفيق.

ما الذى ينقص العرب للتقدم فى الاختراعات والبرمج (او حتى التقليد)؟

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

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

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

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

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

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

ليس هناك فرق سوى وضوح النص. أي أن الصيغة x[y] أسهل في القراءة من الصيغة الأخرى. فيما عدى هذا لا فرق.

هل أنت مبرمج تبحث عن مشروع تتطوع للعمل عليه؟ إن كان الأمر كذلك فنحن نحتاج متطوعين: https://alusus.net

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

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

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

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

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

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

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

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

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

أتمنى أن تفهم التعليق أولاً

لماذا تفترض أنني لم أفهم تعليقك؟ فهمت بالضبط ما تقصده.

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

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

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

سؤال جيد. لا أملك الوقت لأنني مشغول بالعمل على مشروع آخر ولا أريد تشتيت جهودي. هذا هو المشروع إن كنت تتساءل:

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

أنا أيضاً أبحث عن شيء مشابه. أتمنى لو أن أحداً يتطوع لتعريب VS Code.

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

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

نعم، AppImage يفترض أن تعمل على لينوكس مينت.

فهل هي مجرد توزيعات مبنية علي توزيعات ام نسخ مبنية علي توزيعات مبينة علي نظام

هي مجرد توزيعات مبنية على توزيعات أخرى.

  • كيف اقوم بازالة تثبيت البرامج؟

أسهل طريقة هي استخدام سطر الأوامر. في حالة مينت تستخدم الأمر apt. قد يمكنك فعل الشيء من برنامج المتجر (لا أعرف اسمه على مينت) لكن سطر الأوامر طريقة مضمونة دائماً.

ما هي فائدة الـwork spaces

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

مشكلة بطئ النظام

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

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

بداية ببعض المصطلحات.

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

الحزمة (package) هي وسيلة تنصيب البرامج في لينوكس، فهي الملف الذي يحتوي البرنامج المراد تنصيبه، أي هي ما يقابل setup.exe في الويندوز.

الطرفية (terminal) هي سطر الأوامر، أي ما يقابل cmd.exe في الويندوز.

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

التنصيب من المستودع من التنصيب من deb لأنه يضمن لك الحصول على التحديثات لتلك الحزم تلقائياً بينما التنصيب من ملف deb قد لا يضمن ذلك.

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

سأجيب على المزيد من الأسئلة في منشورات منفصلة بإذن الله.

باختصار: تجنب كثرة القراءة وركز على جودة القراءة.

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

"لا يتم الرد كصفحة الاقتراحات بالمجلس الاعلى للقضاء وتسجيل البيانات واتصل بنا"

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

الغاية الأساسية إنشاء لغة يسهل توسيعها لتغطية مجالات البرمجة المختلفة، فيستطيع أي طرف كتابة مكتبات توسعها لتغطية مجالات برمجة جديدة أو بيئات تشغيل جديدة أو ما شابه.

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

في الحقيقة يوجد توثيق، لكنه بسيط بعض الشيء. سنستمر بإثرائه بإذن الله:

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

obj* (*fns[])(obj*)

قارنها بمقابلها بلغة الأسس:

def fns: array[ptr[ function (a:ptr[obj])=>ptr[obj] ]]

أيهما أقصر؟ وأيهما أكثر عرضة للأخطاء؟