b523db2bbea7098aeccea0f78f41f223
     
     
     
    
    
    
    
    
    
    
 
تقنية و أشياء أخرى
تقنية و أشياء أخرى
مختلف المقالات و النقاشات و الروابط المتعلقة بالتقنية او المواضيع العامة
بناء برمجيات بعدة لغات برمجة : الدرس الاول
                         عربي     English

بناء برمجيات بعدة لغات برمجة : الدرس الاول

   محمد جمال الذياب        08-02-2020  
   supercoder - يوسف سيد   
السلام عليكم
تلبية لهذا السؤال https://arabia.io/go/14144
ساشرح بناء البرامج بعدة لغات برمجة
تمهيد
لايتم خلط اللغات في برنامج واحد لاكن يتم بناء برامج منفصلة بكل لغة
ساستخدام لغات ( c , python or php or c#)
اهلا بالعالم
 
#include <stdio.h>
int main(){
printf("hello world !");
}


اعرف ما تقول الان "ما هذا انا لاانشي برنامجي الاول !"
اعرف لاكن انا اريد ان اضح شي :}
قم ببناء البرنامج باسم hello او اي اسم اخر
الان بعد بناء البرنامج اذا فتحت سيخرج لك عبارة "hello world !" لاكن هذا ليس مهم
الان قم بفتحه من نص الاوامر عن طريق انشاء ملف بصيغة .bat او اي طريقة اخري وقم بادراج هذا
 
hello


حيث hello هي اسم البرنامج بعد البناء يجب ان يكون الملف التنفيذي للبرنامج بجوار ملف bat
الان جرب فتح ملف bat ستجد اخرج لك hello world
رائع الان يمكنك استدعاء البرنامج باي لغة برمجة اخري
python
 
import subprocess
subprocess.call(["hello"])



php
 
<?php
echo exec("hello");
?>



c#
 
class Program
{
public static void Main()
{
var proc = Process.Start("hello.exe"):
proc.WaitForExit();
StreamReader myStreamReader = proc.StandardOutput;
string myString = myStreamReader.ReadLine();
System.Console.WriteLine(myString);
}
}


او اي لغة اخري والبرنامج نفسه يمكن بنائه عن طريق اي لغة اخري باستخدام الconsole

البارامترات
لم اجد ترجمة جيدة للكلمة
لااقصد في الدوال اقصد في البرامج مثلا عند فتح برنامج يتم ارسال للبرنامج المعلومات مثال
 
#include <stdio.h>
int main(int argc,char *argv[]){
printf("%s\n",argv[1]);
printf("%d\n",argc);
}


بعد بناء البرنامج
جرب فتح به ملف عن طريق open with ستجده اخرج مسار الملف في سطر والسطر الاخر 1
ما معني 1 هوا حجم المصفوفة argv
الان تطبيق
سطر الاومر
 
hello helloWorld



python
 
import subprocess
subprocess.call(["hello","helloWorld")



php
 
<?php
echo exec("helloWorld");
?>


هذا ما وفقني فيه الله في هذا الدرس الي اللقاء في اكمال الدرس باستخدام الويب سيرفر
التعليقات
   forabi - محمد فواز عرابي   
يمكن كتابة بعض لغات البرمجة مع بعضها إذا كانت الثانية تتحول إلى الأولى في سياق التنفيذ، مثلاً يمكنك كتابة Assembly في لغات مثل C++ وC ويمكنك كتابة JavaScript في CoffeeScript، ويمكنك في Node.js كتابة الإضافات بـC++ وعمل Bindings لها في JavaScript، لأن محرّك V8 مكتوب بـC++ (وربّما مع C). أما الطريقة التي كتبتها فهي ببساطة تشغيل برنامج عبر النظام. الأمر كفتح الطرفية وكتابة اسم البرنامج، هذا تنفيذ لبرنامج وليس "دمج لغات البرمجة"!.
   forabi - محمد فواز عرابي   
من الممكن أيضًا إن كنت تصمم تطبيقًا على الخادم أن تجعل البرامج تتواصل عبر بروتوكول ما مثل HTTP، مثلاً تشغّل خادمًا للبحث يعمل بـApache Luecene (المكتوبة بـJava) على أحد المنافذ وتفتح واجهة برمجية له لتتلقى الطلبات من خادم على منفذ آخر مكتوبة بلغة أخرى (مثل JavaScript في Node.js) وتستجيب لها.
   supercoder - يوسف سيد   
نعم اعرف هذا من قبل انشات class لphp باستخدام c
http://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/
لاكن هذا ان كنت تريد شي غير موجود في اللغة لاكن لو تريد انشاء برنامج ولديك العديد من المبرمجين هذه افضل طريقة
   forabi - محمد فواز عرابي   
ليست أفضل طريقة لكنها عملية وسريعة، exec يتصرّف كما تتصرّف طرفيّة النظام مما يجعل الأمور واهنة وغير احترافية، منذ فترة كنت أعمل على التواصل بين git ومشروع Node.js وعثرت على حل مشابه يعتمد على إرسال أوامر git كما تُكتب بالطرفية وتنفيذها، الحلّ الآخر هو native bindings لـgit لـNode.js باستخدام libgit2، وهو حلّ مستقرّ ومتين (robust). انتهى بي الأمر باعتماد طريقة exec لأنها لا تتطلب بناء libgit2 على النظام التي تستغرق وقتًا. إ، كنت تريد حلاًّ عمليًّا (لكن ليس احترافيًّا) فقد تفي exec بالغرض.
   توفيق حامد   
كتابة برنامج بعدة لغات برمجة ممكن من خلال عمل ملفات DLL مثلاً بإحدى اللغات واستدعاء الدوال منها ببرنامج مكتوب بلغى أخرى .
أو من خلال عمل web service فمثلا يمكن بناء ويبسيرفس جافا واستدعاءها بالـ php أو C# وهكذا
   supercoder - يوسف سيد   
 

أو من خلال عمل web service فمثلا يمكن بناء ويبسيرفس جافا واستدعاءها بالـ php أو C# وهكذا


هذا ان شاء الله موضوع الدرس القادم
   supercoder - يوسف سيد   
في اخر كود باستخدام PHP بدل
 
<?php
echo exec("helloWorld");
?>


ضع
 
<?php
echo exec("hello helloWorld");
?>

  الموضوع و التعليقات و باقي البيانات في هذه الصفحة منقولة و معدلة من المصدر على الرابط التالي : https://io.hsoub.com/programming/14172
  هذا الموضوع مرخص تحت : رخصة المشاع الإبداعي BY-SA
المشاركة :
تويتر
فيسبوك
الإيميل
لينكد إن
واتساب
الرابط

مشروع عربي راقي يهتم بالكتب الصوتية مشروع عربي راقي يهتم بالكتب الصوتية
انتبـه من التفاصيل التي تبدو تافهـة .. ربما تقلب حيـاتك رأساً على عقـب انتبـه من التفاصيل التي تبدو تافهـة .. ربما تقلب حيـاتك رأساً على عقـب
إقتراح إضافة وضع القراءة الليلي (Dark Mode) إقتراح إضافة وضع القراءة الليلي (Dark Mode)
من منكم يذكر مدونة &quot;رحلة ضوء&quot; للمهندس مهدي الحوساني؟ من منكم يذكر مدونة &quot;رحلة ضوء&quot; للمهندس مهدي الحوساني؟
مشروع العمر .. ومطبات كثيرة ونصب وغش وخداع والان جاء وقت الحل الجذري \" عالم البرمجة \"...! مشروع العمر .. ومطبات كثيرة ونصب وغش وخداع والان جاء وقت الحل الجذري \" عالم البرمجة \"...!
هل يمكن أن تظهر تقنية بديلة عن نظام التشغيل ؟ هل يمكن أن تظهر تقنية بديلة عن نظام التشغيل ؟
عام جديد، لنأمل أن نفعل شيئاً هذه المرة! عام جديد، لنأمل أن نفعل شيئاً هذه المرة!

الروابط المختصرة    سياسة الخصوصية    شروط الإستخدام    من أنا    من نحن    الأسئلة الشائعة    موضوع عشوائي    اتصل بنا   
                           
Developed by : MJ7.org