This media is not supported in your browser
VIEW IN TELEGRAM
ذهلت عندما شاهدت هذا الفيديو الذي أرسله لي أحد الأصدقاء بعنوان:
"أسرع #لوحة_مفاتيح بالعالم #CharaChorder"
فوراً بدأت البحث بمواقع التسوق عنها من أجل الحصول عليها لكن خطر ببالي أن أراجع #يوتيوب لمعاينات لها.
بحكم أنني مطوّر بحثت عن معاينة مطوّر آخر لها واكتشفت أنها مجرد -زبالة- والتيك توكر الذي ترونه يروّج لها بطريقة مدفوعة والله أعلم.
إليكم الفيديو لتجربة المطوّر مع هذا الإختراع الغريب.
https://www.youtube.com/watch?v=IxCm86IbLok
#تلميح
"أسرع #لوحة_مفاتيح بالعالم #CharaChorder"
فوراً بدأت البحث بمواقع التسوق عنها من أجل الحصول عليها لكن خطر ببالي أن أراجع #يوتيوب لمعاينات لها.
بحكم أنني مطوّر بحثت عن معاينة مطوّر آخر لها واكتشفت أنها مجرد -زبالة- والتيك توكر الذي ترونه يروّج لها بطريقة مدفوعة والله أعلم.
إليكم الفيديو لتجربة المطوّر مع هذا الإختراع الغريب.
https://www.youtube.com/watch?v=IxCm86IbLok
#تلميح
نزل أي #فيديو أو #صوت أو #قائمة قراءة #Playlist أو ترجمة بعدة صيغ أو دقات على هاتف #أندرويد بواسطة التطبيق Seal
يستخدم #Seal التطبيق الشهير yt-dlp لكن على أندرويد لتنزيل الوسائط من الإنترنت بكل سهولة (#يوتيوب، #تويتر، #انستاغرام، #تيك_توك… والقائمة طويلة)
- لتثبيت Seal:
https://f-droid.org/packages/com.junkfood.seal/
- مشروع Seal:
https://github.com/JunkFood02/Seal
#youtube #instagram #twitter #downloader #tiktok #android
يستخدم #Seal التطبيق الشهير yt-dlp لكن على أندرويد لتنزيل الوسائط من الإنترنت بكل سهولة (#يوتيوب، #تويتر، #انستاغرام، #تيك_توك… والقائمة طويلة)
- لتثبيت Seal:
https://f-droid.org/packages/com.junkfood.seal/
- مشروع Seal:
https://github.com/JunkFood02/Seal
#youtube #instagram #twitter #downloader #tiktok #android
لمطوري الويب بالدوت نت #dotnet أشارككم إطار العمل abp المتخصص ببناء #تطبيقات ألـ #ويب بأسرع وقت ممكن وبأقل جهد
بالعام 2016 قمت ببناء خدمة ويب بواسطة .Net Core والحقيقة أنني لم أكن سعيداً مطلقاً. فبعيدأ عن بغضي لمنتتجات #مايكروسوفت إلا أن بناء تلك الخدمة استغرق مني أكثر من أسبوع بالوقت الذي كنت سأقضي به يوم أو أقل لبناء نفس الخدمة وبنفس الميزات بواسطة #django #pyhon
اليوم أستطيع نسيان تلك التجربة السيئة وأعلمكم أن abp هي بديل django أو #laravel الحقيقي للمطورين بلغة سي شارب C#
يدعم إطار العمل التوليد الآلي لتوثيق API وفق #OpenAPI وكذلك Multitenancy (التي تعتبر من أصعب الميزات التي يمكن تنفيذها بواسطة .net) وتعدد اللغات وقواعد البيانات (كونه يستعمل Entity Framework) والعديد من الميزات
إطار العمل متوفر على #لينكس و #ويندوز و #ماكنتوش وبرخصة #LGPL
- رابط الإطار:
https://abp.io/
- رابط المشروع:
https://github.com/abpframework/abp
#abp #framework #web #csharp #asp
بالعام 2016 قمت ببناء خدمة ويب بواسطة .Net Core والحقيقة أنني لم أكن سعيداً مطلقاً. فبعيدأ عن بغضي لمنتتجات #مايكروسوفت إلا أن بناء تلك الخدمة استغرق مني أكثر من أسبوع بالوقت الذي كنت سأقضي به يوم أو أقل لبناء نفس الخدمة وبنفس الميزات بواسطة #django #pyhon
اليوم أستطيع نسيان تلك التجربة السيئة وأعلمكم أن abp هي بديل django أو #laravel الحقيقي للمطورين بلغة سي شارب C#
يدعم إطار العمل التوليد الآلي لتوثيق API وفق #OpenAPI وكذلك Multitenancy (التي تعتبر من أصعب الميزات التي يمكن تنفيذها بواسطة .net) وتعدد اللغات وقواعد البيانات (كونه يستعمل Entity Framework) والعديد من الميزات
إطار العمل متوفر على #لينكس و #ويندوز و #ماكنتوش وبرخصة #LGPL
- رابط الإطار:
https://abp.io/
- رابط المشروع:
https://github.com/abpframework/abp
#abp #framework #web #csharp #asp
لعشاق ملفات ألـ #تورنت وتطبيق qBittorrent
تستطيعون استعمال واجهة ويب أنيقة وعملية مكتوبة بإطار جافا سكريبت #فيو #Vue بدلاً من الواجهة الإفتراضية المتخلفة باستعمال الواجهة VueTorrent
طريقة التثبيت سهلة جداً وتتم بتنزيل أحدث إصدار zip من رابط المشروع ثم فك الضغط والإشارة للمسار من إعدادات #qBittorrent
رابط المشروع:
https://github.com/WDaan/VueTorrent
#تلميح
تستطيعون استعمال واجهة ويب أنيقة وعملية مكتوبة بإطار جافا سكريبت #فيو #Vue بدلاً من الواجهة الإفتراضية المتخلفة باستعمال الواجهة VueTorrent
طريقة التثبيت سهلة جداً وتتم بتنزيل أحدث إصدار zip من رابط المشروع ثم فك الضغط والإشارة للمسار من إعدادات #qBittorrent
رابط المشروع:
https://github.com/WDaan/VueTorrent
#تلميح
استمع لـ #سبوتيفاي و #يوتيوب مجاناً وبدون إعلانات بواسطة التطبيق Spotube
يمكن لـ #Spotube العمل على #أندرويد #ويندوز و #لينكس و #ماكنتوش كونه مكتوب بلغة #دارت باستعمال #فلاتر
التطبيق مستقر ويمكن الاعتماد عليه للاستخدام اليومي.
- رابط أندرويد:
https://f-droid.org/packages/oss.krtirtho.spotube/
- رابط المشروع:
https://github.com/KRTirtho/spotube
#Spotify #dart #flutter #player #youtube
يمكن لـ #Spotube العمل على #أندرويد #ويندوز و #لينكس و #ماكنتوش كونه مكتوب بلغة #دارت باستعمال #فلاتر
التطبيق مستقر ويمكن الاعتماد عليه للاستخدام اليومي.
- رابط أندرويد:
https://f-droid.org/packages/oss.krtirtho.spotube/
- رابط المشروع:
https://github.com/KRTirtho/spotube
#Spotify #dart #flutter #player #youtube
مشكالو Mishkallo إضافة رائعة لليبر أوفيس تقوم بتلوين التشكيل بنقرة زر.
الإضافة مكتوبة بلغة #بايثون لذلك يجب أن تكون بايثون موجودة بنظام التشغيل قبل أن تثبيتها.
من أجل توزيعات #لينكس المشتقة من #أوبونتو يجب التأكد من تثبيت الحزمة التالية قبل تثبيت الإضافة:
- رابط الإضافة:
https://extensions.libreoffice.org/en/extensions/show/5805
- رابط المشروع:
https://gitlab.com/mejlad/mishkallo
#تشكيل #vocalization #python #office #Ubuntu #عربية #arabic #vocalize
الإضافة مكتوبة بلغة #بايثون لذلك يجب أن تكون بايثون موجودة بنظام التشغيل قبل أن تثبيتها.
من أجل توزيعات #لينكس المشتقة من #أوبونتو يجب التأكد من تثبيت الحزمة التالية قبل تثبيت الإضافة:
libreoffice-script-provider-pythonيجدر الإشارة إلى أن هذه الإضافة تعمل فقط مع لايبر #أوفيس بواجهة عربية أو إنكليزية وكذلك جودة التلوين تعتمد على نوع الخط المستخدم (يبدو أن هنالك ثغرة ما قمت بالإبلاغ عنها اليوم)
- رابط الإضافة:
https://extensions.libreoffice.org/en/extensions/show/5805
- رابط المشروع:
https://gitlab.com/mejlad/mishkallo
#تشكيل #vocalization #python #office #Ubuntu #عربية #arabic #vocalize
أشارككم هذا المستودع لأكثر من 170 #قالب #ويب بجميع التخصصات التي تخطر ببالكم.
جميع الـ #قوالب مفتوحة المصدر وغالبيتها برخصة #أباشي ويمكنكم معاينتها مباشرة من رابط المستودع وهي متوفرة بلغة #HTML5
- رابط المشروع:
https://github.com/learning-zone/website-templates/
#تلميح #bootstrap #template #responsive #javascript #html
جميع الـ #قوالب مفتوحة المصدر وغالبيتها برخصة #أباشي ويمكنكم معاينتها مباشرة من رابط المستودع وهي متوفرة بلغة #HTML5
- رابط المشروع:
https://github.com/learning-zone/website-templates/
#تلميح #bootstrap #template #responsive #javascript #html
يوفر مجمع الملك فهد لطباعة المصحف الشريف مجموعة رائعة من المصادر المجانية للعامة (ليست حرة لكن رخصتها مرنة) لا يمكنني الاستغناء عنها خلال استعمالي اليومي لـ #لينكس
لذلك أحببت أن أشارككم بعضاً من هذه المصادر من أرشيفي كون الموقع الرسمي للأسف لا يعمل بشكل صحيح (احتجت منذ مدة لتنزيل صور بعض صفحات القرآن لكن الموقع بقي قيد الصيانة لقرن!)
الأرشيف أدناه 👇 يحتوي على:
- القرآن الكريم بالقراءات العشر مستندات doc مرفقاً بالخط الخاص بالقراءة.
- 6 ملفات خطوط متقنة لا يمكن الاستغناء عنها بآخر إصدار.
- صور صفحات القرآن بـ 6 رسوم.
- 3 ملفات خطوط لمدرجات رائعة.
لتثبيت وإدارة ملفات الـ #خطوط بطريقة سهلة يمكنكم استعمال التطبيق Font Manager الرائع
#مصحف #قرآن #font #خط #تلميح #quran
لذلك أحببت أن أشارككم بعضاً من هذه المصادر من أرشيفي كون الموقع الرسمي للأسف لا يعمل بشكل صحيح (احتجت منذ مدة لتنزيل صور بعض صفحات القرآن لكن الموقع بقي قيد الصيانة لقرن!)
الأرشيف أدناه 👇 يحتوي على:
- القرآن الكريم بالقراءات العشر مستندات doc مرفقاً بالخط الخاص بالقراءة.
- 6 ملفات خطوط متقنة لا يمكن الاستغناء عنها بآخر إصدار.
- صور صفحات القرآن بـ 6 رسوم.
- 3 ملفات خطوط لمدرجات رائعة.
لتثبيت وإدارة ملفات الـ #خطوط بطريقة سهلة يمكنكم استعمال التطبيق Font Manager الرائع
#مصحف #قرآن #font #خط #تلميح #quran
تستطيع البحث عن حسابات أي شخص بالشبكات الاجتماعية بنقرة زر بواسطة الأداة NExfil دون الحاجة لتسجيل الدخول أو حتى زيارة موقع أي #شبكة #إجتماعية.
تم كتابة #NExfil باستخدام #بايثون وللأسف هي غير موجودة ضمن مدير الحزم #pip لكن تشغيلها سهل ولايحتاج لخبرة كبيرة فقط تحتاج لتوفر بايثون على حاسوبك ثم تثبيت الأداة بالأوامر التالية وبعدها تبحث عن اسم أي شخص كما هو موضح بالفيديو أدناه:
- لتثبيت الأداة:
https://github.com/thewhiteh4t/nexfil
#لينكس #linux #OSINT #social #network
تم كتابة #NExfil باستخدام #بايثون وللأسف هي غير موجودة ضمن مدير الحزم #pip لكن تشغيلها سهل ولايحتاج لخبرة كبيرة فقط تحتاج لتوفر بايثون على حاسوبك ثم تثبيت الأداة بالأوامر التالية وبعدها تبحث عن اسم أي شخص كما هو موضح بالفيديو أدناه:
- لتثبيت الأداة:
git clone https://github.com/thewhiteh4t/nexfil.git
cd nexfil
pip3 install -r requirements.txt
- لاستعمال الأداة:python nexfil.py -u username
- رابط المشروع:https://github.com/thewhiteh4t/nexfil
#لينكس #linux #OSINT #social #network
This media is not supported in your browser
VIEW IN TELEGRAM
طريقة استعمال NExfil
ما نظام التشغيل الذي تستعمله بشكل يومي على حاسوبك؟
Anonymous Poll
73%
ويندوز Windows
22%
لينكس Linux
3%
ماكنتوش macOS
1%
بيركلي BSD
1%
غير ذلك (اذكره بالتعليق)
أرسل واستقبل أي ملف من أي مكان وبأي حجم عبر التطبيق AirDash
هذا المشروع ليس كبقية المشاريع التقليدية التي تشارك الملفات عبر الشبكة المحلية إنما يعمل هذا المشروع على إرسال واستقبال الملفات عبر الإنترنت مباشرة.
يوفر #AirDash #واجهة #أمامية مكتوبة بإطار العمل #فلاتر بلغة البرمجة #دارت ويستعمل خدمة قواعد البيانات #Google #Firebase كواجهة #خلفية وبالتالي سيعمل التطبيق بطريقة لا مركزية لأن المستخدم هو الذي سيوفر الاستضافة (#استضافة #ذاتية #Self #Hosting)
تجهيز الخدمة المرتبطة لا تحتاج لمعرفة برمجية عميقة بل معرفة مبدئية باستعمال firebase (طريقة التشغيل متوفرة بصفحة المشروع)
- رابط المشروع
https://github.com/simonbengtsson/airdash
#flutter #file #sharing #Frontend #dart #backend
هذا المشروع ليس كبقية المشاريع التقليدية التي تشارك الملفات عبر الشبكة المحلية إنما يعمل هذا المشروع على إرسال واستقبال الملفات عبر الإنترنت مباشرة.
يوفر #AirDash #واجهة #أمامية مكتوبة بإطار العمل #فلاتر بلغة البرمجة #دارت ويستعمل خدمة قواعد البيانات #Google #Firebase كواجهة #خلفية وبالتالي سيعمل التطبيق بطريقة لا مركزية لأن المستخدم هو الذي سيوفر الاستضافة (#استضافة #ذاتية #Self #Hosting)
تجهيز الخدمة المرتبطة لا تحتاج لمعرفة برمجية عميقة بل معرفة مبدئية باستعمال firebase (طريقة التشغيل متوفرة بصفحة المشروع)
- رابط المشروع
https://github.com/simonbengtsson/airdash
#flutter #file #sharing #Frontend #dart #backend
دروة لتعليم تطوير الويب من مايكروسوفت.
Web Development for Beginners - A Curriculum
الدورة مؤلفة من 24 درساً لمدة 12 أسبوع حيث تغطي الدورة مبادئ تطوير الويب من #HTML و #جافاسكريبت وبعض التقنيات الأساسية الأخرى.
أدرك أن #مايكروسوفت تمثل لدى البعض الشيطان بذاته (وأنا ممن يقولون بذلك 😂) لكن بما أن الدورة مفتوحة المصدر بترخيص MIT ولا تجبر الدارسين على استعمال منتجات مايكروسوفت (كعادتها) لذلك أحببت أن أشارككم إياها.
- رابط الدورة:
https://microsoft.github.io/Web-Dev-For-Beginners/
- رابط المشروع:
https://github.com/microsoft/Web-Dev-For-Beginners
#microsoft #javascript #تلميح
Web Development for Beginners - A Curriculum
الدورة مؤلفة من 24 درساً لمدة 12 أسبوع حيث تغطي الدورة مبادئ تطوير الويب من #HTML و #جافاسكريبت وبعض التقنيات الأساسية الأخرى.
أدرك أن #مايكروسوفت تمثل لدى البعض الشيطان بذاته (وأنا ممن يقولون بذلك 😂) لكن بما أن الدورة مفتوحة المصدر بترخيص MIT ولا تجبر الدارسين على استعمال منتجات مايكروسوفت (كعادتها) لذلك أحببت أن أشارككم إياها.
- رابط الدورة:
https://microsoft.github.io/Web-Dev-For-Beginners/
- رابط المشروع:
https://github.com/microsoft/Web-Dev-For-Beginners
#microsoft #javascript #تلميح
كوودو Koodo مدير و #قارئ للـ #كتب الـ #إلكترونية
هذا الـ #تطبيق ليس بتطبيق تقليدي كـ #calibre إذ أنه متوفر بـ #سطح_المكتب وبالـ #ويب (#استضافة ذاتية #Slef_hosting) مع ميزة الـ #مزامنة لعدة خدمات سحابية وعلى رأسها #NextCloud كذلك يحتوي قارئه على عدة ميزات عملية كالإشارات المرجعية #Bookmark والترجمة والملاحظات المدعومة بالوسوم #Tag والعديد من الميزات الرائعة.
التطبيق يدعم طيفاً واسعاً من أنواع ملفات الكتب الإلكترونية كـ #epub و #pdf و #docx و #mobi … والعديد
كُتب كوودو بلغة #جافاسكريبت باستخدام المكتبة #ريكات #react وهو متوفر على #لينكس و #ويندوز (نسخة محمولة #Portable وعادية) و #ماكنتوش والـ #ويب.
رابط المشروع:
https://github.com/troyeguo/koodo-reader
#desktop #sync #سحابة #cloud #reader #manager #hosting #ebook #javascript #Koodo
تعلم رست وغو ببضعة ساعات مع مقارنة سريعة مع بايثون وسي بلس بلس
لطالما قرأت عن لغة #رست وعن سرعة أدائها وسهولة الكتابة بها وبأنها موازية بالأداء لـC++ وبسهولة بايثون.
الحقيقة أنني لم أنجذب إليها كثيراً لأنه صار عندي مناعة من ثقافة الـ Trend وبالذات من كل شيء جديد، لذلك دائماً أترك التقنيات لفترة حتى تتضح محاسنها من مساؤئها.
منذ بضعة أشهر وبإحدى عطلي الأسبوعية عزمت تعلم لغتين، لغة رست و #غو.
قد تكون طريقة تعلمي غريبة نوعاً ما لكنها ناسبتني لحد بعيد حيث اتبعت المنهجية التالية:
1. بدأت بصفحة ويكيبيديا بكلتا اللغتين للإطلاع على نحوية Syntax كلا اللغتين (ويكي غو - ويكي ر ست)
2. دخلت للموقع الرسمي لكلتا اللغتين وبدأت بكتابة تطبيق بسيط من متصفح الإنترنت (ملعب رست - ملعب غو)
3. بعدما أشبعت ذروة فضولي بدأت بتجهيز الأدوات اللازمة لتبيت اللغتين على حاسوبي وفقاً للتعليمات من الموقعين الرسميين (تعليمات رست - تعليمات غو).
4. بعد الإنتهاء من عملية التثبيت كتبت ثلاثة تطبيقات بلغة C++ ورست وغو (منشورة أدناه) لاختبار أداء اللغات بشكل سطحي جداً
التجربة كانت ممتعة، استطعت تعلم أسياسيات رست وغو خلال ساعتين، شفرة رست وغو كلتاهما سهلتا التعلم بالمقارنة بالـ C++ لكن غو أكثر أناقة وبساطة حتى أنني وجدت أنها أسهل من بايثون من ناحية التنظيم وعدد الأسطر.
بحسب التطبيق الذي جربته باللغات الثلاثة كانت نتيجة سرعة الأداء كالآتي بالترتيب (الزمن بالثانية):
1. Go: 0m2.249s
2. Rust: 0m3.512s
3. C++: 0m8.359s
4. Python: 4m35.354s
النتيجة صادمة أليس كذلك؟
طبعاً من كان ليتوقع أن تكون #سي بلس بلس أبطأ من غو ورست، أما بايثون فكانت بأداء مخز للغاية (أكثر من 4 دقائق)!!!
الحقيقة أن هذا الإختبار بسيط جداً ولا يمكن أن يعوّل عليه بإتخاذ القرارات لكن من خلاله استطعت الحصول على لمحة لقدرات لغة تعلمتها بأقل من يوم. لكن هنالك حقيقة جوهرية وهي أن الأداء المخزي للبايثون حقيقي لأن بايثون لم تصمم أساساً للأداء العالي وبالتالي من الخطأ وضعها بنفس سوية اللغات الثلاث مع ذلك وضعتها كونها من اللغات المحبوبة والتي لها جمهورها.
الحقيقة أن مقارنة الأداء العملية والعلمية تستطيعون الحصول عليها من مؤشر Benchmarks Game الرائع والذي يزودنا بنتيجة واضحة لأداء اللغات الأربع حيث يظهر جلياً أن C++ على القمة بلا ريب لذلك أزودكم بنتيجة الاختبار الحقيقية للأداء (قيمة CPU أقل يعني الأداء الأفضل):
1. #C++
2. Rust vs C++
3. Go vs C++
4. Python vs C++
نأتي لنقطة مهمة واجهتها عندما خضت هذه التجربة وهي أن النظام البيئي Eco System لغو متفوق بأشواط عن رست والسبب واضح وهو أن سهولة نحوية غو زادت من شعبيتها بالرغم من أنه عن طريق رست تستطيعون الوصول لميزات متقدمة يصعب الحصول عليها بواسطة غو. لذلك ستجد أن غو منتشرة بشكل واسع بمجال تطوير الويب والشبكات في حين تستعمل #رست ببرمجة الأنظمة أكثر بالرغم من أن العديد من الشركات تستعملها بتطوير الويب والشبكات.
غو ورست رائعتان وكلتاهما متفوقتان على #بايثون ومرشحتان لأن تكونا بايثون المستقبل لأن كلتاهما توازنان ما بين البساطة والأداء العالي على عكس تعقيد سي بلس بلس وضعف الأداء في بايثون.
قبل الختام يجدر بي الإشارة إلى ثلاثة مواقع مهمة لغو ورست للحصول على أي مكتبة تريدونها بأي اختصاص يخطر ببالكم:
Go Packages
Aِwesome Go
Rust Package Registry
أدناه تجدون التطبيق بأربعة لغات مع طريقة قياس زمن التنفيذ في لينكس 👇
ملاحظة جانبية: أول لغة برمجة تعلمتها هي C++ ودائماً كنت ومازلت أستغرب سبب تقييم المطورين الجدد لها بأنها صعبة، مع ذلك لغة البرمجة مجرد أداة للوصول للهدف النهائي وهو الحصول على التطبيق الرائع الذي سيدر عليكم مليون دولار 😜
لذلك معيار الصعوبة أمر نسبي ومرتبط بعوامل عديدة والتعصب للغة ما عبارة عن سطحية بالغة لحقيقة مغايرة بالكامل لذلك التعصب.
#cpp #c #python #rust #google #go
لطالما قرأت عن لغة #رست وعن سرعة أدائها وسهولة الكتابة بها وبأنها موازية بالأداء لـC++ وبسهولة بايثون.
الحقيقة أنني لم أنجذب إليها كثيراً لأنه صار عندي مناعة من ثقافة الـ Trend وبالذات من كل شيء جديد، لذلك دائماً أترك التقنيات لفترة حتى تتضح محاسنها من مساؤئها.
منذ بضعة أشهر وبإحدى عطلي الأسبوعية عزمت تعلم لغتين، لغة رست و #غو.
قد تكون طريقة تعلمي غريبة نوعاً ما لكنها ناسبتني لحد بعيد حيث اتبعت المنهجية التالية:
1. بدأت بصفحة ويكيبيديا بكلتا اللغتين للإطلاع على نحوية Syntax كلا اللغتين (ويكي غو - ويكي ر ست)
2. دخلت للموقع الرسمي لكلتا اللغتين وبدأت بكتابة تطبيق بسيط من متصفح الإنترنت (ملعب رست - ملعب غو)
3. بعدما أشبعت ذروة فضولي بدأت بتجهيز الأدوات اللازمة لتبيت اللغتين على حاسوبي وفقاً للتعليمات من الموقعين الرسميين (تعليمات رست - تعليمات غو).
4. بعد الإنتهاء من عملية التثبيت كتبت ثلاثة تطبيقات بلغة C++ ورست وغو (منشورة أدناه) لاختبار أداء اللغات بشكل سطحي جداً
التجربة كانت ممتعة، استطعت تعلم أسياسيات رست وغو خلال ساعتين، شفرة رست وغو كلتاهما سهلتا التعلم بالمقارنة بالـ C++ لكن غو أكثر أناقة وبساطة حتى أنني وجدت أنها أسهل من بايثون من ناحية التنظيم وعدد الأسطر.
بحسب التطبيق الذي جربته باللغات الثلاثة كانت نتيجة سرعة الأداء كالآتي بالترتيب (الزمن بالثانية):
1. Go: 0m2.249s
2. Rust: 0m3.512s
3. C++: 0m8.359s
4. Python: 4m35.354s
النتيجة صادمة أليس كذلك؟
طبعاً من كان ليتوقع أن تكون #سي بلس بلس أبطأ من غو ورست، أما بايثون فكانت بأداء مخز للغاية (أكثر من 4 دقائق)!!!
الحقيقة أن هذا الإختبار بسيط جداً ولا يمكن أن يعوّل عليه بإتخاذ القرارات لكن من خلاله استطعت الحصول على لمحة لقدرات لغة تعلمتها بأقل من يوم. لكن هنالك حقيقة جوهرية وهي أن الأداء المخزي للبايثون حقيقي لأن بايثون لم تصمم أساساً للأداء العالي وبالتالي من الخطأ وضعها بنفس سوية اللغات الثلاث مع ذلك وضعتها كونها من اللغات المحبوبة والتي لها جمهورها.
الحقيقة أن مقارنة الأداء العملية والعلمية تستطيعون الحصول عليها من مؤشر Benchmarks Game الرائع والذي يزودنا بنتيجة واضحة لأداء اللغات الأربع حيث يظهر جلياً أن C++ على القمة بلا ريب لذلك أزودكم بنتيجة الاختبار الحقيقية للأداء (قيمة CPU أقل يعني الأداء الأفضل):
1. #C++
2. Rust vs C++
3. Go vs C++
4. Python vs C++
نأتي لنقطة مهمة واجهتها عندما خضت هذه التجربة وهي أن النظام البيئي Eco System لغو متفوق بأشواط عن رست والسبب واضح وهو أن سهولة نحوية غو زادت من شعبيتها بالرغم من أنه عن طريق رست تستطيعون الوصول لميزات متقدمة يصعب الحصول عليها بواسطة غو. لذلك ستجد أن غو منتشرة بشكل واسع بمجال تطوير الويب والشبكات في حين تستعمل #رست ببرمجة الأنظمة أكثر بالرغم من أن العديد من الشركات تستعملها بتطوير الويب والشبكات.
غو ورست رائعتان وكلتاهما متفوقتان على #بايثون ومرشحتان لأن تكونا بايثون المستقبل لأن كلتاهما توازنان ما بين البساطة والأداء العالي على عكس تعقيد سي بلس بلس وضعف الأداء في بايثون.
قبل الختام يجدر بي الإشارة إلى ثلاثة مواقع مهمة لغو ورست للحصول على أي مكتبة تريدونها بأي اختصاص يخطر ببالكم:
Go Packages
Aِwesome Go
Rust Package Registry
أدناه تجدون التطبيق بأربعة لغات مع طريقة قياس زمن التنفيذ في لينكس 👇
ملاحظة جانبية: أول لغة برمجة تعلمتها هي C++ ودائماً كنت ومازلت أستغرب سبب تقييم المطورين الجدد لها بأنها صعبة، مع ذلك لغة البرمجة مجرد أداة للوصول للهدف النهائي وهو الحصول على التطبيق الرائع الذي سيدر عليكم مليون دولار 😜
لذلك معيار الصعوبة أمر نسبي ومرتبط بعوامل عديدة والتعصب للغة ما عبارة عن سطحية بالغة لحقيقة مغايرة بالكامل لذلك التعصب.
#cpp #c #python #rust #google #go