Pr0gRammInG laNguEges

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

المشرف: Mohammad_807

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة Mu_Nizar » الاثنين أغسطس 30, 2010 7:59 am

Karam كتب:
zoom كتب:شكراً كتير عالموضوع ,الصراحة أكتر من رائع
بس ياريت ماناقش بس اللغات (الاحترافية) يعني بقصد الروبي والبايثون يمكن بحياتون مايلزمونا , وكمان في لغات متل الـ C# , QT , Java كلها هي لغات بتلزمنا وما منعرف عنها شي
ومنشكر جهودكون
بيحسن مشرف الموضوع يحذف الرد بعد الأخذ بعين الاعتبار


والله متل ماحكى نزار ..
يعني إزا اشتغلت حضرتك بـ Google أو NASA مثلا .. بدك تتعلم بايثون غصب عنك :mrgreen:
يعني القصة مو بلغة البرمجة بحد ذاتها ... القصة بمهارتك بالتعلم السريع لأي لغة :wink:

وشغلة تانية .. :: صحيح أنو C و ++C و JAVA هي أهم لغات البرمجة ... بس مويعني الباقي مولازمين :imb:

شكرا عمرورك :ism:

وأنت بسورية هون يمكن تحتاج لهيك قصص كمان :)
{لا تحزن إن الله معنا}

يالمحاسن التقدير الإلهي :mrgreen: :ism: عم قول لحالي ليش حارتنا منورة
و إن شاء الله دوما بتبقى منورة :ism:
صورة العضو الشخصية
Mu_Nizar
مشرف منتدى الخوارزميات العام
مشرف منتدى الخوارزميات العام
 
مشاركات: 2465
اشترك في: الاثنين مارس 10, 2008 2:49 pm
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الخامسة
الاختصاص: هندسة برمجيات

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة Karam » الاثنين أغسطس 30, 2010 11:10 am

Mu_Nizar كتب:
Karam كتب:
zoom كتب:شكراً كتير عالموضوع ,الصراحة أكتر من رائع
بس ياريت ماناقش بس اللغات (الاحترافية) يعني بقصد الروبي والبايثون يمكن بحياتون مايلزمونا , وكمان في لغات متل الـ C# , QT , Java كلها هي لغات بتلزمنا وما منعرف عنها شي
ومنشكر جهودكون
بيحسن مشرف الموضوع يحذف الرد بعد الأخذ بعين الاعتبار


والله متل ماحكى نزار ..
يعني إزا اشتغلت حضرتك بـ Google أو NASA مثلا .. بدك تتعلم بايثون غصب عنك :mrgreen:
يعني القصة مو بلغة البرمجة بحد ذاتها ... القصة بمهارتك بالتعلم السريع لأي لغة :wink:

وشغلة تانية .. :: صحيح أنو C و ++C و JAVA هي أهم لغات البرمجة ... بس مويعني الباقي مولازمين :imb:

شكرا عمرورك :ism:

وأنت بسورية هون يمكن تحتاج لهيك قصص كمان :)


آسف على الخروج عن الموضوع الأساسي ...
بس فعلاً (فلان بيقربني) مهندس معلوماتية وأول شركة اشتغل معها هون بالبلد اشتغل بايثون وبيرل
وهلأ بيشتغل بشركة Yahoo كمان بايثون :imb:
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة Karam » الاثنين أغسطس 30, 2010 11:27 am

513WR7W4Z5L._SL500_.jpg
Perl


تعتبر perl لغة مميزة أكثر ما يميزها هو سهولتها فهي مثل ال basic في السهولة ومثل ال C في القوة (إلا أنها لغة تفسيرية أي أقل سرعة من ال C) وتعتبر perl اختصاراً لجملة Practicl Extrction Reoprt Language ولكنها تعني لمؤلف كتاب perl by exmaple أكثر من ذلك فهي Practicl Everythhing Really Likeable

أكثر ما يميز قوة هذه اللغة هو قدرتها على التعامل مع سلاسل النصوص strings فهي توفر عدد كبير جداً من الوظائف لهذه الغاية فهي لغة مفضلة لعمل برامج الإعداد في تحديث ملفات الإعدادات النصية. و perl لغة قابلة للتطور اذ يمكنها استعمال برامج خارجية تمدها بالمزيد من الوظائف تسمى modules ومعظم توزيعات لينكس تركّب perl تلقائياً يمكن استعمال هذه اللغة في عمل برامج تطبيقية رسومية أو ألعاب أو حتى صفحات انترنت تفاعلية(منتديات أو غرف دردشة) ،نعم فهي أيضاً تستخدم على أنها CGI-script على خادم apache

Code Example
CODE: تحديد الكل
#!/usr/bin/perl -w
# this is my 2nd perl program

$msg1   = "Wellcome to perl";
$msg2   = "This is my 2nd perl script";
printf ("%s\n%s\n", $msg1, $msg2);

$a   = 10.1;
$b   = -7.2;

printf ("a = %g\n", $a);
printf ("b = %g\n", $b);
printf ("a + b = %g\n", $a + $b);
printf ("a - b = %g\n", $a - $b);
printf ("a * b = %g\n", $a * $b);
printf ("a / b = %g\n", $a / $b);
printf ("a to power b = %g\n", $a ** $b);
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة Mu_Nizar » الاثنين أغسطس 30, 2010 11:56 am

Karam كتب:
تعتبر perl لغة مميزة أكثر ما يميزها هو سهولتها

هلأ ما جربت اشتغل بيرل ...
بس مرة واحد فرجاني كود بيرل منظرو ببكي :( ... و على علمي انها ظريفة إذا لشغلات صغيرة ...بس لماتكبر الأمور شوي بتصير أبدا مو واضحة :imb: .. و هي قوية لكتابة السكربتات ...
مرة قرأت بـ stackoverfloaw ما معناه " The Perl is look the same before MDF5 and after :mrgreen: "
و " If you put a million monkeys at a million keyboards, one of them will eventually write a Java program. The rest of them will write Perl programs."
{لا تحزن إن الله معنا}

يالمحاسن التقدير الإلهي :mrgreen: :ism: عم قول لحالي ليش حارتنا منورة
و إن شاء الله دوما بتبقى منورة :ism:
صورة العضو الشخصية
Mu_Nizar
مشرف منتدى الخوارزميات العام
مشرف منتدى الخوارزميات العام
 
مشاركات: 2465
اشترك في: الاثنين مارس 10, 2008 2:49 pm
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الخامسة
الاختصاص: هندسة برمجيات

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة Karam » الاثنين أغسطس 30, 2010 11:56 am

hacking.jpg
BASH




لغة Bash التفسيرية هي اختصار لـ Bourne Again Shell
وهي اللغة المعتمدة غالبا في إدارة أنظمة Linux



ميزاتها :
1 . لغة تفسيرية
2 . يمكن التعديل عليها والإضافة بسهولة
3 . تؤمّن التحكم بكل جزئ من أجزاء الحاسب (حتى السواقة :wink2: )
4 . Syntax دقيق كتير وصعب
5 . لها أدوات كثيرة جدا

ويستخدمها البعض في عمليات الاختراق والتجسس و .. Hacking :mrgreen:  (ميتاسبلويت وغيرها :imb: )

للمزيد ...




Code Example
CODE: تحديد الكل
#!/bin/bash

path=$( zenity --entry --title="input" --text="input a path " --width=300 --height=75 )

cd $path
index=`expr 1`

for myfile in `ls`
do
   if [ -f "$myfile" ]
   then
      prog[$index]=FALSE
      let "index += 1"
      prog[$index]=$myfile
      let "index += 1"
   fi
done

r=0
r=$( zenity --list --checklist --height=100 --width=300 --text="The files" --title="$path" --column "mark" --column "file"  ${prog[@]} )
bool=$( zenity --entry --title="confirm" --text="are you sure . delete marked files <inpuy 'confirm' or 'no'>" --height=100 --width=300 )
if [ "$bool" == "confirm" ]
then
   mkdir /home/$USER/Backup
   for i in $r
   do
      cp $i /home/$USER/Backup/$i
      rm $i
   done
else
   zenity --warning --title="Msg" --text="the operator is killed now " --height=100 --width=300   
fi
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة Karam » الاثنين أغسطس 30, 2010 11:59 am

Mu_Nizar كتب:
Karam كتب:
تعتبر perl لغة مميزة أكثر ما يميزها هو سهولتها

هلأ ما جربت اشتغل بيرل ...
بس مرة واحد فرجاني كود بيرل منظرو ببكي :( ... و على علمي انها ظريفة إذا لشغلات صغيرة ...بس لماتكبر الأمور شوي بتصير أبدا مو واضحة :imb: .. و هي قوية لكتابة السكربتات ...
مرة قرأت بـ stackoverfloaw ما معناه " The Perl is look the same before MDF5 and after :mrgreen: "
و " If you put a million monkeys at a million keyboards, one of them will eventually write a Java program. The rest of them will write Perl programs."


أي صح :wink2:
أنا بتنفس حرية .. ما تقطع عني الهوى
صورة العضو الشخصية
Karam
مشرف منتدى البرمجيات المفتوحة المصدر
مشرف منتدى البرمجيات المفتوحة المصدر
 
مشاركات: 2039
اشترك في: الخميس أكتوبر 01, 2009 2:50 pm
مكان: Stadt Ilmenau, Thuringen, Germa
الجتس: ذكر
الشهادة الثانوية: Syria
الجامعة: Damascus
الكلية: ITE
المرحلة الدراسية: السنة الرابعة
الاختصاص: شبكات و نظم

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة agent47 » الاثنين أغسطس 30, 2010 2:31 pm

The Icon Programming Language

Icon is a high-level, general-purpose programming language with a large repertoire of features for processing data structures and character strings. Icon is an imperative, procedural language with a syntax reminiscent of C and Pascal, but with semantics at a much higher level.

more information:
http://www.cs.arizona.edu/icon/
Farhat
http://m-farhat.com
Useful blog
صورة العضو الشخصية
agent47
عضو جديد
عضو جديد
 
مشاركات: 57
اشترك في: الجمعة ديسمبر 26, 2008 9:10 pm
مكان: syria
الجتس: ذكر
الشهادة الثانوية: لبنان
الجامعة: الجامعة الافتراضية
الكلية: BIT
المرحلة الدراسية: متخرج
الاختصاص: غير ذلك

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة ياقوت » الأربعاء سبتمبر 01, 2010 5:09 pm

ASP.NET

• لغة تصميم مواقع ويب أنتجت من قبل شركة Microsoft في عام 2005 وبذلك فهي تلقى دعماً كبيراً, بالإضافةً إلى أنّها تمتاز بالأمان وسهولة التّعامل إلى حدٍّ كبير, إلاّ أنّها تعاني من مشكلة التّكلفة العالية و البطء مقارنة بلغة PHP والتي هي أكثر انتشاراً واستخداماً في تصميم مواقع الويب حالياً كون لغة PHP رخيصة وسريعة ومفتوحة المصدر مما يسمح للمبرمج بتطوير نفسه.
• تستخدم لغة ASP.NET مع إحدى اللّغتين C# و Visual Basic.
• تميّزت ASP.NET عن ASP بخاصيّة فصل الكود عن التّصميم حيث أصبحت الأكواد في ملف بلاحقة *.cs , أما التّصميم في ملف منعزل بإمتداد *.aspx , وذلك أتاح :

 سهولة في التّوزيع والنقل بين المبرمجين .

 سهولة في التّعديل, فتعديل اسم حقل مثلاً يتطلّب التّعديل في ملف واحد فقط .

 سهولة في الـDeploy لعدم وجود ملفات معتمدة على بعضها البعض .


IIS :
الـ IIS هو السّيرفر الخاص ببرمجيات ASP و ASP.NET , ووجوده شرط أساسي ليعمل كود الASP.NET سواءً على جهازك أو على السّيرفر الذي ستستضيف عليه موقعك لاحقاً .
يتم تنزيل الـIIS مع الـVisual Studio بشكل افتراضي , أما إذا كنت تعمل على المفكرة Notepad مثلاً فلا بدّ من عمل Setup لـ IIS ,
وذلك عن طريق اتّباع الخطوات التّالية :
لوحة التحكم --> إضافة وإزالة برامج --> إضافة مكونات ويندوز ومن ضمن هذه الكونات ستجد الـIIS .

يحتوي أي مشروع لASP.NET على المجلّدات التالية :
App_Browsers : يحتوي على الملّفات التي تقتنص نوع المتصفّح وتتعامل مع كلّ متصفّح بناء على إمكانياته.
App_Code : يحتوي على ملفات الأكواد والفئات Classes التي تخصُّ صفحات الويب.
App_Data : يحتوي على ملّفات قواعد البيانات.
App_GlobalResources : تحتوي على ملّفات المصادر *.resx
App_Themes : يحتوي على الملّفات التي تعنى بالمظهر والسّتايلات الخاصّة بالمشروع.
App_WebReferences : في حالة وجود بروكسي Proxy أو أي نوع من الـ Web Service يستخدمها تطبيقك يتم وضعها هنا.
Bin * يحتوي على الملّفات الجاهزة مثل ملّفات ال *.dll والتي يتمُّ استخدامها في برنامجك .

كود :
CODE: تحديد الكل
string color;
if (RadioButton1.Checked)
{
color = "Green";
Panel1.BackColor = System.Drawing.Color.Green;
}
else if (RadioButton2.Checked)
{
color = "Red";
Panel1.BackColor = System.Drawing.Color.Red;
}
else
color = "";
HttpCookie Cookie = new HttpCookie("myColor", color);
Cookie.Expires = DateTime.Parse("01/01/2009");
Response.Cookies.Add(Cookie);


لمن يريد أن يتعرّف على هذه اللغة بشكل أكتر : كتاب visual studio 2008 خطوة بخطوة لـ أحمد جمال خليفة .
الكتاب مفيد جداً وممتع ويمكن تحميله من الرّابط التّالي :

http://www.arabteam2000-forum.com/index ... pic=177606
♥ ربي ♥
بِحُبِّكَ أحييتُ سِنيني
شوقي لكَ يبقى وحنيني
لا ترْدُدْ مولاي يميني
هبْ عُمرِي وَصْلاً يُحييني

صورة العضو الشخصية
ياقوت
عضو فعال
عضو فعال
 
مشاركات: 487
اشترك في: السبت ديسمبر 27, 2008 10:30 am
مكان: دمشق - سوريا
الجتس: أنثى
الشهادة الثانوية: سورية
الجامعة: جامعة دمشق
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: متخرج
الاختصاص: هندسة برمجيات

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة Missed Call » الجمعة أكتوبر 08, 2010 7:56 am

lisp.jp


LISP


لغة تعد إحدى لغات برمجة الكمبيوتر ذات التاريخ العريق، فقد تم وضع مواصفاتها عام 1958 وبذلك تحل بعد فورتران Fortran التي طورت قبلها بسنة، كثاني لغة عالية المستوى High-level Programming Language.

وضعت ليسب كلغة ترميز رياضية عملية وفق تعريف تفاضل لامبدا وتكاملها لألونزو تشرش Alonzo Church's Lambda Calculus، لكنه سرعان ما فضل استخدامها في أبحاث الذكاء الاصطناعي Artificial Intelligence، وبتصدرها كإحدى أقدم اللغات، قدمت ليسب مبادئ عديدة في علوم الحاسب Computer Science كبنى البيانات الشجرية Tree Data Structures والبرمجة كائنية التوجه Object-oriented Programming.

تشير ليسب إلى المصطلح LISt Processing language، القوائم المتصلة (بالإنجليزية: Linked Lists ‏)إحدى بنى البيانات الأساسية للغة، بل إن كود المصدر للغة مكون من قوائم، وكنتيجة لذلك، تعامل برامج ليسب كود المصدر كبنية بيانات Data Structure ما يعطي شأنا لنظام الماكرو Macro الذي يسمح للمبرمجين بإنشاء صيغ جديدة أو لغة مدمجة مختصة المجال في ليسب Domain-specific Programming Language.

التبادل بين الكود والبيانات يعطي للغة ليسب صيغة تعرف فورية Instantly Recognizable Syntax، فبرامج ليسب مكتوبة بشكل التعبير الرمزي S-expression (ترمز S إلى Symbol) أو كقوائم محاطة بأقواس، فعند استدعاء دالة Function "f" لها الوسائط Arguments x وy وz، تكتب تلك الدالة كالتالي:
(f x y z)

تاريخ LISP


قام باختراع ليسب الأمريكي جون مككارثي John McCarthy عام 1958 في معهد ماساتشوستس للتقنية Massachusetts Institute of Technology MIT. مككارثي نشر تصميمه على الورق في مجلة Communications of the ACM بعنوان "الدوال المتعددة للتعابير الرمزية وحسابها بالآلة "الجزء الأول" Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I (علما أنه لم ينشر الجزء الثاني مطلقا)، أظهر أنه بواسطة بعض المعاملات البسيطة Simple Operators وإجراء ترميز للدوال Notation for Functions، يمكن بناء لغة تطابق فكرة الشمولية لتورنغ Turing-complete لكن من أجل الخوارزميات.

أول من قام بتنفيذ هذا التصميم كان ستيف رسل Steve Russell على جهاز IBM 704، بينما ظهر أول مترجم Compiler ليسب كامل كان على يدي تيم هارت Tim Hart ومايك ليفن Mike Levin في معهد MIT عام 1962، اللغة التي قاما ببنائها أقرب للغة المنتشرة حاليا من التي صممها مككارثي.


بعض إصدارات LISP


LISP 1.5.
Standard LISP.
Common LISP: إحدى الإصدارات الأكثر انتشارا.
Scheme: إحدى الإصدارات الأكثر انتشارا، من تطوير غاي إل. ستيل وجيرالد جاي سسمان.
Arc.
Clojure.
Autolisp: إصدارة ليسب المستخدمة في برنامج AutoCAD.




أمثلة


برنامج طباعة العبارة Hello world! الشهير:
CODE: تحديد الكل
(print "Hello world")


صيغ ليسب تتجه بشكل طبيعي إلى التدوير Recursion، ولذلك بعض المسائل الرياضية يمكن التعبير عنها ببساطة كما بالمثال التالي الذي يقوم بحساب مضروب عدد n:
CODE: تحديد الكل
 (defun factorial (n)
   (if (<= n 1)
       1
       (* n (factorial (- n 1)))))



المثال السابق يمكن استخدام ماكرو الدوار loop بدلا من التدوير:
CODE: تحديد الكل
 (defun factorial (n)
   (loop for i from 1 to n
         for fac = 1 then (* fac i)
         finally (return fac)))

www.syrianjobs.com
صورة العضو الشخصية
Missed Call
عضو جديد
عضو جديد
 
مشاركات: 11
اشترك في: الثلاثاء يوليو 13, 2010 8:11 pm
مكان: في دمشق الحبيبة
الجتس: ذكر
الشهادة الثانوية: ............
الجامعة: ..........
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: دكتور

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة intelligence storm » الاثنين ديسمبر 13, 2010 10:37 pm

C++


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


تاريخ

طور بيارن ستروستروب (Bjarne Stroustrup), و الذي كان يعمل في مختبرات بيل, لغة السي++ في الثمانينات كتحسين للغة السي، تشمل السي++ جميع مزايا السي بالأضافة إلى مزايا البرمجة الكائنية، تسهّل لغة ++C الأسلوب المهيكل والمنهجي لعملية تصميم البرامج،وتعتمد على الكائنات كبنية أساسية لتشكيل البرامج.

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

بين السى و السى++

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

الجديد في سى++

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

سبب صعوبتها

ربما تعود أسباب صعوبة لغتى السى و السى++ لأسباب تاريخية أكثر منها واقعية و هو ما يردده المبرمجين المعتادين على استخدام السى++ و هذا يعود بنا إلى أصل لغة السى و هى لغة السى بى ال CPL و التى اشتهرت بشدة تعقيدها مما تسبب في ابتعاد المبرمجين عنها فتم تطويرها و تبسيطها إلى لغة سميت BCPL و لم تلقى الكثير من النجاح و لكنها تطوت إلى لغة البى B و عندما أرادو تطويرها سموها سى( و هذا هو أصل تسمية السى) ، و بالطبع ورثت السى++ خصائص لغة سى. الا أنه لا يمكن انكار أن مفاهيم مثل المؤشرات pointers ، و الاشارات هى مفاهيم مربكة للمبرمج المبتدىء ، بالضافة إلى مفاهيم التوارث Inheritance و تعدد الشكل polymorphism و القوالب Templates التى تربك حتى المبرمجين المحترفين. و كذلك لا تقدم سى++ الحماية الكافية للمبرمج كى لا يقع في أخطاء التشغيل التى قد تتسبب في توقف الحاسوب عن العمل. كيف؟
فى لغة الفيجوال بيسك مثلا عندما تحدد مصفوفة بحجم 20 عنصرا مثلا كلأتى :
Dim A(20) As Integer
ثم تحاول معالجة العنصر رقم 21 مثلا فسوف يبادرك محرك الفيجوال بيسك برسالة خطأ و يتوقف برنامجك. أما في السى++ فاذا عرفت مصفوفة بنفس الحجم : int a[20] // integer a from 0-19 not from 0-20 و عندما تحاول الوصول إلى العنصر رقم عشرين مثلا تكون قد تعديت حدود المصفوفة إلى جزء من الذاكرة ربما تكون مخصصة لبرنامج أخر أو معلومات حساسة لنظام التشغيل. و المشكلة الأخرى التى تربك الكثيرين أن أول عنصر بالمصفوفة هو 0 و ليس 1 و حجمها 20 أى أن العنصر الأخير هو 19 و ليس 20 مثل البيسك.

سبب قوتها

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

أمثلة


مثال Hello, World بالسي++


كود:
#include <iostream>
int main ()
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
الله معي.....فمن معك ؟؟؟
الله سندي....قمن سندك؟؟؟
الله لن يضيعني و لن ينساني....و سواه سوف ينساك و يتخلى عنك


مــدونــتــي
صورة العضو الشخصية
intelligence storm
عضو فعال
عضو فعال
 
مشاركات: 346
اشترك في: الأحد أكتوبر 10, 2010 3:44 pm
مكان: في دنيا لا مستقر فيها
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: AIU
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الثانية

Re: Pr0gRammInG laNguEges

مشاركة غير مقروءةبواسطة intelligence storm » الاثنين ديسمبر 13, 2010 10:39 pm

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


مــدونــتــي
صورة العضو الشخصية
intelligence storm
عضو فعال
عضو فعال
 
مشاركات: 346
اشترك في: الأحد أكتوبر 10, 2010 3:44 pm
مكان: في دنيا لا مستقر فيها
الجتس: ذكر
الشهادة الثانوية: سورية
الجامعة: AIU
الكلية: الهندسة المعلوماتية
المرحلة الدراسية: السنة الثانية

السابق

العودة إلى نشاطات

الموجودون الآن

المستخدمون المتصفحون لهذا المنتدى: لا يوجد أعضاء مسجلين متصلين و 1 زائر