باب 1 اور 2 میں ، ہم نے مقداری تجارت کی بنیادی باتیں اور ایف ایم زیڈ کوانٹ ٹولز کے استعمال کو سیکھا۔ اس باب میں ، ہم اصل تجارتی حکمت عملیوں کو نافذ کریں گے۔ اگر کوئی کارکن کچھ اچھا کرنا چاہتا ہے تو ، اسے پہلے اپنے اوزار تیز کرنا ہوں گے۔ تجارتی حکمت عملی کو نافذ کرنے کے لئے ، آپ کو پہلے پروگرامنگ زبان پر عبور حاصل کرنا ہوگا۔ یہ سیکشن پہلے مقداری تجارت میں مین اسٹریم پروگرامنگ زبانوں کے ساتھ ساتھ ہر پروگرامنگ زبان کی خصوصیات کو بھی متعارف کراتا ہے۔
پروگرامنگ زبان سیکھنے سے پہلے ، آپ کو پہلے
والدین نے ہمیں بولنا سکھایا اور ہمیں سکھایا کہ دوسرے لوگ کیا کہہ رہے ہیں۔ تعمیراتی اور خود سیکھنے کے طویل عرصے کے بعد ، ہم نے اس کے بغیر بولنا سیکھا ہے ، اور دوسرے بچوں کی بات کرنے کے معنی کو سمجھ سکتے ہیں۔ چینی ، انگریزی ، فرانسیسی وغیرہ سمیت بہت سی زبانیں ہیں ، جیسے:
چینی: ہیلو دنیا
اردو: ہیلو ورلڈ
فرانسیسی: Bonjour tout le monde
اگر آپ اپنے کمپیوٹر کی سکرین پر
سی زبان: ڈالتا ہے (
جاوا زبان: System.out.println ((
پائیتھون زبان: پرنٹ (
آپ دیکھ سکتے ہیں کہ کمپیوٹر زبانوں کے اپنے مخصوص قوانین ہیں، اور بہت سی زبانیں ہیں، اور یہ زبان کے قوانین پروگرامنگ زبانوں کی درجہ بندی ہیں جو ہمیں آج آپ کے لئے وضاحت کرنے کی ضرورت ہے۔ ہر زمرے میں، ہمیں صرف سب سے بنیادی قوانین کو یاد رکھنے کی ضرورت ہے۔ ہم ان پروگرامنگ زبانوں کو کمپیوٹر کے ساتھ بات چیت کرنے کے لئے استعمال کرسکتے ہیں اور کمپیوٹر کو ہماری ہدایات کے مطابق اسی حکمت عملی کو چلانے دیں۔
حوالہ اور موازنہ کی سہولت کے ل the ، اپنی پسند کی مقداری تجارتی پروگرامنگ زبان کا انتخاب کریں۔ ہم چھ سب سے زیادہ استعمال ہونے والی پروگرامنگ زبانوں کو درجہ بندی کریں گے: پائتھون ، میٹلیب / آر ، سی ++ ، جاوا / سی # ، ایزی لینگویج ، اور بصری پروگرامنگ زبان (جیسا کہ ذیل میں دکھایا گیا ہے) ۔
ہم ان کو فنکشنل صلاحیت ، رفتار ، توسیع اور سیکھنے میں دشواری کے لحاظ سے درجہ بندی کرتے ہیں۔ مثال کے طور پر ، فنکشنل رینج پر 1 سے 5 تک اسکور کا مطلب طاقتور ہے ، اور 1 پوائنٹ کا مطلب کم فعالیت ہے۔ (جیسا کہ اوپر دکھایا گیا ہے) بصری پروگرامنگ اور ایزی لینگویج سیکھنا آسان اور بہت نیا ہے۔ پائتھون میں طاقتور توسیع کی صلاحیتیں ہیں اور یہ زیادہ پیچیدہ تجارتی حکمت عملی تیار کرنے کے لئے موزوں ہے۔ سی ++ پروگرامنگ تیز ترین اور اعلی تعدد کے تاجروں کے لئے زیادہ موزوں ہے۔
لیکن ہر پروگرامنگ زبان کے لئے ، تشخیص بنیادی طور پر مقداری تجارت کے میدان میں درخواست کے لئے ہے۔ اور فرد کے ذہنی جزو کے ساتھ۔ آپ کو خود ان کا پتہ لگانے کا بھی خیرمقدم ہے۔ اگلا ، ہم ان پروگرامنگ زبانوں کو ایک ایک کرکے متعارف کرانا شروع کردیں گے۔
بصری پروگرامنگ ایک طویل وقت کے لئے کے ارد گرد کیا گیا ہے، اس قسم کی
جیسا کہ اوپر دکھایا گیا ہے ، وہی طریقہ کار ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر بصری پروگرامنگ میں صرف چند لائنوں کا کوڈ ہے۔ اس سے پروگرامنگ کی حد بہت کم ہوجاتی ہے ، خاص طور پر ان تاجروں کے لئے جو پروگرامنگ کو بالکل نہیں سمجھتے ہیں ، جو آپریٹنگ کا ایک عمدہ تجربہ ہے۔
چونکہ اس بصری پروگرامنگ کی بنیادی نفاذ کی حکمت عملی کو سی ++ میں تبدیل کردیا گیا ہے ، لہذا اس کا پروگرام کی چلانے کی رفتار پر بہت کم اثر پڑتا ہے۔ تاہم ، فعالیت اور توسیع پذیری کمزور ہے ، اور یہ ناممکن ہے کہ تجارتی حکمت عملی تیار کی جائے جو بہت پیچیدہ اور بہت بہتر ہو۔
نام نہاد ایزی لینگویج سے مراد پروگرامنگ زبان ہے جو کچھ تجارتی مقدار میں تجارتی سافٹ ویئر کے لئے منفرد ہے۔ اگرچہ ان زبانوں میں بھی کچھ آبجیکٹ پر مبنی خصوصیات ہیں ، لیکن وہ بنیادی طور پر ایپلی کیشن میں اسکرپٹ کی جاتی ہیں۔ گرائمر کے لحاظ سے ، یہ ہماری قدرتی زبان کے بھی بہت قریب ہے۔ مقداری تجارت کے ابتدائی افراد کے لئے ، ایزی لینگویج کو بطور نقطہ اغاز استعمال کرنا ایک اچھا انتخاب ہے۔ مثال کے طور پر ، ایف ایم زیڈ کوانٹ پلیٹ فارم پر ایم زبان۔
اس طرح کی اسکرپٹنگ زبان میں اسٹریٹجی بیک ٹیسٹنگ اور اپنے مخصوص سافٹ ویئر میں حقیقی مارکیٹ میں کوئی مسئلہ نہیں ہے ، لیکن توسیع کے لحاظ سے ، یہ اکثر محدود ہوتی ہے۔ مثال کے طور پر ، حکمت عملی کے ڈویلپر بیرونی API کو کال نہیں کرسکتے ہیں۔ اور چلانے کی رفتار پر ، یہ اسکرپٹنگ زبان اپنی ورچوئل مشین پر چلتی ہے ، اور کارکردگی کی اصلاح جاوا / سی # کی طرح اچھی ہے۔
جیسا کہ نیچے دیئے گئے اعداد و شمار میں دکھایا گیا ہے ، اسٹیک اوور فلو پر ، حالیہ برسوں میں مین اسٹریم پروگرامنگ زبانوں تک رسائی کی تعداد میں زیادہ تبدیلی نہیں آئی ہے ، اور صرف پیتھون میں زبردست اضافہ ہورہا ہے۔ پیتھون کو ویب ڈویلپمنٹ ، مشین لرننگ ، ڈیپ لرننگ ، ڈیٹا تجزیہ وغیرہ کے لئے استعمال کیا جاسکتا ہے۔ یہ اپنی لچک اور کھلے پن کی وجہ سے سب سے زیادہ ورسٹائل زبان بن گیا ہے۔ مقداری سرمایہ کاری کے میدان میں بھی یہی سچ ہے۔ فی الحال ، عالمی مقداری پلیٹ فارم زیادہ تر پیتھون پر مبنی ہیں۔
پائتھون کی بنیادی ڈیٹا ڈھانچے کی فہرستیں اور لغات بہت طاقتور ہیں اور ڈیٹا تجزیہ کی تقریبا all تمام ضروریات کو پورا کرسکتی ہیں۔ اگر آپ کو تیز ، زیادہ جامع ڈیٹا ڈھانچے کی ضرورت ہے تو ، نمپی اور سکیپی کی سفارش کی جاتی ہے۔ یہ دونوں لائبریریاں بنیادی طور پر پائتھون سائنسی کمپیوٹنگ کے لئے معیاری لائبریری کہلاتی ہیں۔
مالی انجینئرنگ کے لئے ، زیادہ ھدف بنائے گئے لائبریری پانڈا ہے ، جس میں دو ڈیٹا ڈھانچے ، سیریز اور ڈیٹا فریم ہیں ، جو ٹائم سیریز کی پروسیسنگ کے لئے مثالی ہیں۔
رفتار کے لحاظ سے ، پائتھون کھیل کے وسط میں ہے ، جو سی ++ سے سست ہے ، اور ایزی لینگویج سے تیز ہے ، بنیادی طور پر اس لئے کہ پائتھون ایک متحرک زبان ہے جو خالص پائتھون زبان کی طرح معمول کی رفتار سے چلتی ہے۔ لیکن آپ سائتھون کا استعمال کر سکتے ہیں کچھ افعال کو جامد طور پر بہتر بنانے کے لئے C ++ کی رفتار کے قریب حاصل کرنے کے لئے۔
گلو زبان کے طور پر ، پیتھون توسیع پذیری کے لحاظ سے نمبر ایک ہے۔ دیگر زبانوں کے ساتھ وسیع پیمانے پر انٹرفیس کرنے کے قابل ہونے کے علاوہ ، توسیع API کا ڈیزائن استعمال کرنا بہت آسان ہے۔ سیکھنے کی مشکل کے لحاظ سے ، پیتھون میں ایک سادہ نحو ، اعلی کوڈ پڑھنے کی اہلیت ، اور آسان اندراج ہے۔
پھر میٹلیب اور آر زبان ہے۔ یہ دونوں زبانیں بنیادی طور پر ڈیٹا تجزیہ پر مبنی ہیں۔ زبان کے تخلیق کاروں نے گرائمر میں سائنسی کارروائیوں کے لئے بہت ڈیزائن کیا ہے ، جس کی خصوصیت مقداری تجارتی کارروائیوں کے لئے فطری مدد سے ہے۔ تاہم ، درخواست کی حد محدود ہے ، اور یہ عام طور پر ڈیٹا تجزیہ اور حکمت عملی بیک ٹیسٹنگ کے لئے استعمال ہوتی ہے۔ تجارتی نظام اور حکمت عملی الگورتھم کی ترقی کے ل its ، اس کا استعمال اور استحکام کم ہے۔
اس کے علاوہ ، ان کی رفتار اور توسیع پذیری نسبتا poor خراب ہے ، کیونکہ میٹلیب اور آر زبان ایک منفرد زبان ورچوئل مشین پر چلتی ہے۔ کارکردگی کے لحاظ سے ، ان کی ورچوئل مشینیں جاوا اور سی # سے کہیں زیادہ خراب ہیں۔ لیکن چونکہ ان کا گرائمر ریاضی کے اظہار کے فارمولے کے قریب ہے ، لہذا یہ سیکھنا نسبتا easy آسان ہے۔
سی ++ ایک عمومی پروگرامنگ زبان ہے جو متعدد پروگرامنگ پیٹرن جیسے طریقہ کار پروگرامنگ ، ڈیٹا تجریدی ، آبجیکٹ پر مبنی پروگرامنگ ، عام پروگرامنگ ، اور ڈیزائن پیٹرن کی حمایت کرتی ہے۔ آپ سی ++ میں وہ تمام افعال نافذ کرسکتے ہیں جو آپ حاصل کرنا چاہتے ہیں ، لیکن اس طرح کی ایک طاقتور زبان کا سب سے بڑا نقصان یہ ہے کہ اسے سیکھنا بہت مشکل ہے ، جیسے ٹیمپلیٹس ، پوائنٹرز ، میموری لیک وغیرہ۔
فی الحال ، سی ++ اب بھی اعلی صلاحیت ، اعلی تعدد کی تجارت کے لئے ترجیحی پروگرامنگ زبان ہے۔ اس کی وجہ آسان ہے۔ کیونکہ سی ++ زبان کی خصوصیات کمپیوٹر کی بنیادی پرت تک رسائی حاصل کرنا آسان ہیں ، لہذا یہ اعلی کارکردگی کا بیک ٹیسٹنگ اور عمل درآمد کے نظام تیار کرنے کا سب سے موثر ذریعہ ہے جو بڑی مقدار میں ڈیٹا پر کارروائی کرتے ہیں۔
جاوا / سی # جامد زبانیں ہیں جو ورچوئل مشینوں پر چلتی ہیں۔ سی ++ کے مقابلے میں ، وہاں کوئی صف نہیں ہے ، کوئی کور ڈمپ نہیں ہے ، پھینکے گئے استثناء غلطی کا کوڈ درست طریقے سے تلاش کرسکتے ہیں ، خودکار گندگی جمع کرنے کا طریقہ کار لاتے ہیں ، میموری لیک کے بارے میں فکر کرنے کی ضرورت نہیں ہے۔ لہذا گرائمر سیکھنے کی مشکل کے لحاظ سے ، وہ سی ++ سے بھی آسان ہیں۔ رفتار کے لحاظ سے ، کیونکہ ان کی ورچوئل مشینیں رن ٹائم پر مرتب کردہ جے آئی ٹی افعال کے ساتھ آتی ہیں ، رفتار صرف سی ++ کے پیچھے ہے۔
لیکن فعالیت کے لحاظ سے ، بنیادی تجارتی نظام کو C ++ کی طرح بہتر بنانا ناممکن ہے۔ توسیع کی کارکردگی کے لحاظ سے ، یہ C ++ سے کمزور ہے ، کیونکہ ان کی توسیع کو C پل کو عبور کرنے کی ضرورت ہے ، اور دونوں زبانیں خود ورچوئل مشین پر چلتی ہیں ، لہذا جب فنکشن ماڈیول کو بڑھانا ہے تو ، آپ کو ایک اور پرت کی دیوار عبور کرنے کی ضرورت ہے۔
تاہم ، آخر میں ، مقداری پروگرامنگ زبان اہم نہیں ہے ، اہم چیز خیال ہے۔ FMZ کوانٹ ایم زبان اور بصری پروگرامنگ زبان کو مقداری تجارت میں داخلے کے لئے قدم رکھنے کے طور پر بالکل کوئی مسئلہ نہیں ہے۔ بنیادی باتوں کے بعد ، بہتری مختلف مارکیٹ کے حالات کو مستقل طور پر دریافت کرنا اور زیادہ بنیادی زبان جیسے سی ++ استعمال کرنے کی کوشش کرنا ہے۔
مقداری تجارتی آلے کے طور پر پائیتھون زبان کے کیا فوائد ہیں؟
ایم زبان کے ذریعے چند عام طور پر استعمال شدہ API لکھنے کی کوشش کریں؟
اگلے سیکشن کا نوٹس
مجھے یقین ہے کہ پروگرامنگ زبان کے اوپر تعارف کے ساتھ، آپ کو یہ جاننا ہوگا کہ اسے کس طرح منتخب کرنا ہے، پھر اگلے چند ابواب میں، ہم پروگرامنگ زبانوں کی درجہ بندی پر مبنی ایک مقداری تجارتی حکمت عملی تیار کریں گے.