مرحباً Swift، ما الذي أخَّرك حتي الآن ؟!
dexter & swift .. مثل tom & jerry
:)
مقال جيد ,,, اللغة اجدها الى الان جميلة صحيح متاخرة .. لاكن ان تاتي متاخرا افضل من ان لا تاتي ابدا :) .. ايضا مع جميع syntax sugar اللغة اسرع من السابق وهذا امر ممتاز.
في الاجازة القادمة ساتعلمها ...
ان شاء الله dexter & swift يتصالحو في يوم من الايام.
let people = ["Anna": 67, "Beto": 8, "Jack": 33, "Sam": 25]
for (name, age) in people {
println("\(name) is \(age) years old.")
}
هل هذا الكود جميل برأيك ؟
جميع syntax sugar اللغة اسرع من السابق وهذا امر ممتاز.
الاحتمال الأكبر في نظري أن Swift تحتاج للكثير من التحسينات و التطويرات في جزئية سرعة البرامج المُنتَجة بها، و لكنها لا تزال في مرحلة التطوير حتي الآن، بل و ربما تكون هناك علل bugs فيها تحتاج لحلها في الفترة القادمة !
و حتي ان افترضنا أن برامجها ستكون أبطأ من البرامج المكتوبة بالـC و/أو Objective-C، فإن سرعة التنفيذ ليست هي العامل الوحيد الذي يتم به المقارنة بين لغات البرمجة؛ فهناك علي الأقل العوامل التالية:
المكتوبية writability، و التي نعني بها مدي سهولة استخدام اللغة في كتابة البرامج.
المقروئية readability، و التي نعني بها مدي سهولة قراءة و فهم البرامج المكتوبة بتلك اللغة.
المحمولية portability، أي أن تكون البرامج المكتوبة بتلك اللغة قابلة للتنفيذ علي أكثر من جهاز و/أو نظام تشغيل.
التصميمي المتناسق الذي يجعل من السهل استيعاب لغة البرمجة لأنها تخضع لنموذج عقلي واحد يتضح في قواعدها المختلفة.
قوة القواعد، و التي يمكن من خلالها إنجاز الكثير من الأمور بأقل قدر ممكن من الأكواد.
الاستقلالية orthogonality، أي القدرة علي المزج الحر بين قواعد اللغة بدون الكثير من الاستثناءات.
حجم القواعد القياسية في اللغة، و الذي إن كان كبيراً فإنه قد يحيل حياة المبرمج بها إلي جحيم لحاجته للتمكن من معظم تلك القواعد (علي الأقل ليفهم البرامج التي يكتبها الآخرون)، بينما قلة القواعد قد تكون سبباً في تسهيل التعامل معها.
و هكذا فإن سرعة تنفيذ البرمجيات المكتوبة باللغة الجديدة ليست هي العامل الحاسم في المقارنة، و الأمر هنا يخضع لحاجة كل مبرمج؛ فالمبرمج الذي يحتاج للمحمولية بشكل أساسي تجده يفضل الـjava علي ما عداها (مثلي أنا)، بينما المبرمج الذي لا يهمه المحمولية بل كل تركيزه علي سرعة التنفيذ فإنه يميل لاستخدام ++C مثلاً (مثل عالم يريد تحليل أطنان من البيانات بسرعة شديدة، و يستخدم أنظمة unix-like هو و بقية العاملين في الجامعة أو مركز الأبحاث).
نقاش طويل عريض :) ...
الان يبدو ان swift ابطا .. غريب .. لاكن يوجد امل اللغة جديدة الكثير من المبرمجين لا يعرفون الطريقة الافضل للبرمجة وقد يكون هناك مشاكل في لغة نفسها حاليا .. ولهذا هي متوفرة فقط للمطورين. اعطها بعض الوقت :)
ردي على image processing تقريبا نفس الرد بالاعلى + عند كتابة كود لل image processing انسى جميع اللغات وفقط فكر بلغتين c و c++ :)
و هذه اخرى
C Time (s) Swift Time (s)
1 frame: 0.005 0.130
10 frames: 0.006 1.196
20 frames: 0.008 2.397
100 frames: 0.024 11.668
التعليقات