পাইথন আর লুয়া নয় কেন? [বন্ধ]


45

পাইথনকে গুগল সমর্থন পেয়ে এত দ্রুত জনপ্রিয় হয়ে উঠেছে এবং লুয়া কেন হয়নি?

আপনি জানেন কেন লুয়া ব্যাকগ্রাউন্ডে থেকে গেছে?


3
লুয়া অ্যারে ও ডিকশনারিগুলি ভান করতে পছন্দ করে এবং এটির দৈর্ঘ্য প্রাপ্তি রয়েছে যা কেবলমাত্র ভুল ফলাফলই দিতে পারে না, তবে অদ্বিতীয়তাবাদী ফলাফলও বানাতে পারে। গুগলসের কারণগুলি কী তা আমি জানি না তবে এটি অপছন্দ করার পক্ষে এটি যথেষ্ট কারণ।
স্টিভ 314

4
আমার কাছে পাইথন কোড করা সহজ, আরও উপভোগযোগ্য এবং আরও বৈশিষ্ট্য রয়েছে। আমার মাথার শীর্ষ থেকে কিছু উদাহরণ: জেনারেটর পাইথন ( yield) এ প্রথম শ্রেণির নাগরিক হিসাবে আসে এবং লুয়াকে আরও জটিল সেটআপের প্রয়োজন হয়। পাইথনের তালিকা সূচক [::]একটি বিশাল প্লাস। পাইথনের বৈধ ক্লাস এবং উত্তরাধিকার রয়েছে। লুয়া দ্রুততর, হ্যাঁ, তবে গতি গুরুত্বপূর্ণ যখন পাইথনে ব্যবহারের জন্য আমি আসলে গো কোডটি লিখতে পছন্দ করি ।
ফ্র্যাঙ্ক ব্রাইস

আমি লুজিটকে ভালবাসি তবে এর জন্য আমার ভালবাসার একটি বড় অংশ এটি এম্বেডিং, গতি এবং কিশোর পদচিহ্নের সহজতা। যদি আমাকে সারাদিন কোনও কিছুতে প্রোগ্রাম করতে হত তবে আমি পাইথনের দিকে আরও ঝুঁকতে পারি।

@ ফ্র্যাঙ্কব্রাইস আপনি এটি পেছনের দিকে পেয়েছেন। পাইথনের জেনারেটরগুলি লুয়ার কর্টিনগুলির একটি উপসেট। Inf.puc-rio.br/~roberto/docs/MCC15-04.pdf
ক্যাপর

উত্তর:


37

আমি লুয়াকে সত্যই ভালবাসি, তবে এর কিছু বাস্তব সীমাবদ্ধতা রয়েছে এবং অন্যরা যেমন উল্লেখ করেছেন তারা মূলত লুয়ার উত্স থেকে একটি কনফিগারেশন ফাইল ভাষা এবং পরে এম্বেডড স্ক্রিপ্টিং ভাষা হিসাবে উদ্ভূত হয়।

লুয়াকে ছোট রাখার লক্ষ্যের কারণে, এখানে কেবলমাত্র একটি খুব ছোট স্ট্যান্ডার্ড লাইব্রেরি উপস্থিত রয়েছে, এতে কেবল হাড়ের কার্যকারিতা রয়েছে।

এটি লুয়া চেনাশোনাগুলিতে একটি দুর্ভাগ্যজনক সংস্কৃতির দিকে পরিচালিত করেছে যেখানে লুয়া বিকাশকারীরা মূলত গ্রন্থাগারগুলির সর্বজনস্বীকৃত সেটগুলিতে সম্মিলিতভাবে কাজ করার পরিবর্তে অন্য অনেক ভাষার স্ট্যান্ডার্ড লাইব্রেরি দ্বারা প্রদত্ত কার্যকারিতা পুনরায় প্রয়োগ করতে পছন্দ করে।

মাল্টি-থ্রেডিং, নিয়মিত এক্সপ্রেশন, প্ল্যাটফর্মের স্বতন্ত্র ফাইল অ্যাক্সেস পদ্ধতি এবং বিট ক্রিয়াকলাপগুলির মতো (5.2 অবধি) সমস্তগুলি "অন্তর্ভুক্ত করা হয়নি" যেহেতু তারা লুয়াকে অনেক বড় এবং ধীর করে দেবে। নিশ্চিত যে আপনি লাইব্রেরিগুলিতে এই জিনিসগুলি করতে পারেন - তবে তারপরে স্বতন্ত্র রক্ষণাবেক্ষণকারী এবং মানের স্তর রয়েছে।

আমাকে ভুল করবেন না আমি লুয়া একই কারণে আমি সুনির্দিষ্ট তালিকা ভালবাসি।


54

সরল: লুয়ার পাইথনের চেয়ে বেশি "কুলুঙ্গি" উদ্দেশ্য রয়েছে

পাইথনকে একটি সাধারণ প্রোগ্রামিং ভাষা হিসাবে কার্যকর বলে মনে করা হয়। সুতরাং, এটি অনেক ক্ষেত্রে কার্যকর। এটি অ্যাপ্লিকেশনের অনেকগুলি প্রকারের সাথে কভার করে তবে অন্যান্য ভাষার সাথে সরাসরি প্রতিযোগিতায় প্রবেশ করে না যা নির্দিষ্ট সীমাবদ্ধতায় লক্ষ্যবস্তু হতে পারে তবে এর বাক্য গঠনটির সরলতা ity

লুয়া সম্পূর্ণরূপে এম্বেড হওয়া স্ক্রিপ্টিং ভাষা হিসাবে লক্ষ্যযুক্ত। এটি প্রাথমিক উদ্দেশ্য, যদিও এটি বর্তমানে বিল্ড সিস্টেমের মতো অন্যান্য প্রসঙ্গে ব্যবহৃত হয়; সফ্টওয়্যার এম্বেড করা এবং ডোমেন-নির্দিষ্ট স্ক্রিপ্ট ফাংশন এবং কাঠামোগুলি সহজে বাস্তবায়নের অনুমতি দেওয়া হয়। এটি এতই সংক্ষিপ্ততর যে এটি সত্যিই বাঁধা হার্ডওয়ারের জন্যও ব্যবহার করা যেতে পারে (আমি লুয়া নিন্টেন্ডোডিএস-তে ব্যবহার করেছি), এটি হালকা ওজনীয়, সহজ, দ্রুত এবং এটি এমন একটি সংখ্যালঘু ভাষা হলেও বর্ধিত বলে মনে করা যায় যে প্রচুর উপভাষা (যেমন প্যারাডিমগুলি আমদানি করে) অবজেক্ট-ওরিয়েন্টেশন) উপলব্ধ। এটি এতই বহনযোগ্য (এএনএসআই সি) আপনি আধুনিক এমবেডেড সফ্টওয়্যারটির জন্য শালীন পরিমাণের মেমোরি সহ যে কোনও এম্বেডড হার্ডওয়্যারে এটি ব্যবহার করতে পারেন (যদি আমি ভালভাবে মনে করি তবে ডিফল্ট লুয়া ভিএম 400ko এর কাছাকাছি থাকে এবং আপনি যদি বস্তু তৈরির লুপ না করেন তবে প্রায় বাড়বে না ...)।

সুতরাং, লুয়া প্রাথমিকভাবে প্রসঙ্গে ব্যবহৃত হয় যেখানে আপনাকে আপনার অ্যাপ্লিকেশনের জন্য একটি স্ক্রিপ্টিং ভাষা এম্বেড করতে হবে

পাইথন ব্যবহার করা হয় ... প্রায়শই এমন কোনও কিছুর জন্য যা আরও কুলুঙ্গিক ভাষার প্রয়োজন হয় না (আপনি পাইথন ব্যবহার করে বেশ পারফরম্যান্ট গেম তৈরি করতে পারেন, তবে কিছু ধরণের পারফরম্যান্স-ভারী গেমস যেমন সিস্টেমটি এড়াতে সত্যিই প্রয়োজন)।

এটি কেবল যে পাইথন লুয়ার চেয়ে বেশি প্রসঙ্গে ব্যবহৃত হয়। আমি যতদূর জানি, অ্যান্ড্রয়েড ব্যতীত (যা জাভা এবং স্থানীয় ভাষা সমর্থন সরবরাহ করে), গুগল এম্বেডেড সফ্টওয়্যার সংস্থা নয় তাই তাদের সত্যই সর্বত্র লুয়ার প্রয়োজন নেই, যদিও পাইথন তারা যে কোনও কাজের জন্য কার্যকর (ওয়েব, বিল্ড সিস্টেম) , যোগাযোগ, ওয়েব এবং ওয়েব)।

এম্বেড থাকা স্ক্রিপ্টিংয়ের জন্য পাইথন প্রচুর গেমগুলিতে ব্যবহৃত হয় তবে এটি লুয়ার চেয়ে ভারী এবং ধীর। পাইথনের সিনট্যাক্সটি এটি বড় গেমগুলির জন্য আরও উপযুক্ত করে তোলে যা তাদের গেমের কাঠামোর স্ক্রিপ্টেড তথ্যের উপর অনেক বেশি নির্ভর করে (নিশ্চিত নয় যে আমি সেখানে পরিষ্কার করছি তবে কেবল মনে করুন যে স্ক্রিপ্টিংয়ের জন্য আপনার যদি "সত্যিকারের সম্পূর্ণ ভাষা" প্রয়োজন হয় তবে পাইথন এম্বেড করা হতে পারে) একটি ভাল ধারণা, যদি পারফরম্যান্স আপনার পক্ষে ভাল থাকে)। পাইথন এম্বেড করার জন্য তৈরি করা হয়নি, সুতরাং এটি ঠিক আছে। পাইথনের সমতুল্য যেটি সি ++ তে এম্বেড করার লক্ষ্যবস্তু তা হ'ল ফ্যালকন।

চূড়ান্ত তুলনার জন্য, এমন কিছু ভাষা যা এম্বেডিংকে লক্ষ্য করে এবং মিনিমালিস্ট লুয়ার চেয়ে আরও সম্পূর্ণ বাক্য গঠন করার চেষ্টা করে এবং পারফরম্যান্সে প্রতিযোগিতায়: ছাইস্ক্রিপ্ট, অ্যাঞ্জেলস্ক্রিপ্ট, আইও ...

যাইহোক, আমি প্রিমেক বা বামের মতো নতুন বিল্ড সিস্টেমগুলি লুয়াটিকে বিল্ড ফাইলের ভাষা হিসাবে ব্যবহার করে দেখেছি। ধারণাটি হ'ল এটি হালকা ও গেম ডেভেলপারদের কাছ থেকে সুপরিচিত (গেম ডেভেলপমেন্টে সিস্টেমগুলি তৈরি করা একটি বড় সমস্যা) is সুতরাং সম্ভবত এটি অন্য ডোমেন যেখানে লুয়া আরও প্রশংসা হতে পারে। এটি অবশ্যই সিএমকে সিনট্যাক্সের চেয়ে বেশি ব্যবহারকারী বান্ধব ....


4
আমি মনে করি এম্বেড থাকা ভাষা হিসাবে লুয়ার লক্ষ্য সম্ভবত একটি বড় অবদানকারী। তবে তবুও, আমি বিশ্বাস করি যে কোনও ভাষার "জনপ্রিয়তা" ভাষার সত্যই নকশা বা ভাষার নিজস্ব দক্ষতা এবং "সঠিক সময়, সঠিক স্থান" (যেমন পিএইচপি দেখুন, উদাহরণস্বরূপ) এর চেয়ে বেশি কিছু নেই।
ডিন হার্ডিং

আমি মনে করি যে নির্দিষ্ট ভাষা লক্ষ্যযুক্ত একটি ভাষা নির্দিষ্ট ব্যবহারকারীদের কাছে স্বাভাবিকভাবেই আবেদন করে, যা দর্শকদের কোনও সাধারণ-উদ্দেশ্যমূলক ভাষার চেয়ে আরও সংযম করে। সাধারণ উদ্দেশ্যে ভাষাগুলির চেয়ে কম শ্রোতা পাওয়া সরাসরি তার সংখ্যক ব্যক্তির সংখ্যাকে প্রভাবিত করে। এগুলি ব্যতীত নির্দিষ্ট লক্ষ্যগুলি নির্দিষ্ট বৈশিষ্ট্যগুলি বোঝায়। সুতরাং, এটি প্রতিটি পরিস্থিতির পক্ষে ভাল নয়। এখানে উদাহরণস্বরূপ লুয়া একা খুব ভাল গুই-প্রোগ্রামিং ভাষা নয়। এটি সত্যিই দরকারী হতে কিছু সংযোজন প্রয়োজন।
ক্লাইম

এটি বলেছিল, আমি সম্পূর্ণরূপে সম্মত: পিএইচপি যদি ওয়েব সাইট ডেভেলপমেন্ট হিসাবে এত ব্যাপকভাবে ব্যবহৃত ক্ষেত্রের জন্য ব্যবহার না করা হত, তবে এটি এখন আর কোথাও হবে না।
ক্লাইম

লুয়া মূলত এমবেডড ভাষা হিসাবে ব্যবহৃত হয় তবে এটি সাধারণ উদ্দেশ্য প্রোগ্রামিং ভাষা, উদাহরণস্বরূপ আপনি মোড_লুয়া দিয়ে সিজিআই স্ক্রিপ্ট তৈরি করতে পারেন। আমি আমার প্রশ্নটি বদলে দিতে পারি কেন লুয়া এম্বেডড ভাষা হিসাবে থাকল?
বেনিয়ামিনবি

কারণ এটি এর উত্স। আপনি এটিকে সাধারণ উদ্দেশ্যে ভাষা হিসাবে ব্যবহার করতে পারেন হ্যাঁ, আপনি সাধারণ উদ্দেশ্যে পিএইচপি ব্যবহার করতে পারেন। আপনি পার্লও এটি ব্যবহার করতে পারেন। তবে তাদের উত্স তাদের অভিমুখী করে তোলে। আবার, তাদের প্রাথমিক উদ্দেশ্যগুলি সাধারণ উদ্দেশ্যে ভাষার জন্য অন্যান্য ভাষার চেয়ে কম দরকারী করে তোলে। লুয়ার কয়েকটি উদাহরণ ভাষার জন্য জিইউআই সিস্টেমের সাথে ব্যবহার করা সহজ, যেমন অবজেক্ট অরিয়েন্টেশন (আপনি সহজেই যুক্ত করতে পারেন তবে এটি স্থানীয় নয়) lack নিশ্চিত হয়ে নিন যে আপনি নির্দিষ্ট উদ্দেশ্যে এবং একটি সাধারণ ভাষার জন্য মূলত তৈরি একটি ভাষার মধ্যে পার্থক্য দেখছেন। তাদের সকলেরই যাই হোক না কেন বাধা আছে।
ক্লাইম

4

আপনি লুয়ার সাথে সবকিছু করতে পারেন, প্রোগ্রামগুলি প্রসারিত করার জন্য এটি স্ক্রিপ্টিং ভাষা হিসাবে তৈরি হয়েছে? হ্যাঁ, তবে এটি সীমাবদ্ধ থেকে অনেক দূরে, লুয়ার জন্য প্রচুর গ্রন্থাগার রয়েছে এবং সঠিক সরঞ্জামগুলির সাথে (লুয়াজির এফএফআই বা টোলুয়া) আপনি এটিতে একটি সি / সি ++ গ্রন্থাগারও ব্যবহার করতে পারেন। পাইথনকে আমার দৃষ্টিকোণে আরও বেশি ব্যবহার করার কারণটি কেবল বয়স, পাইথনকে অনেক কলেজ এবং স্কুলগুলিতে প্রথম ভাষা হিসাবে ব্যবহার করা হয়, লুয়ার চেয়ে পাইথন জানেন এমন আরও অনেক লোক রয়েছে এবং পাইথনের জন্য একটি ভাল লাইব্রেরি খুঁজে পাওয়া আরও সহজ is লুয়ার চেয়ে, কারণ ভাষা আরও পরিপক্ক। এছাড়াও, আমি পাইথন সম্পর্কে খুব বেশি কিছু জানি না, তবে আমি যতটা জানি, আপনার কোডটি শেষ ব্যবহারকারীর কাছ থেকে আড়াল করা সহজ, লুয়ার মধ্যে কী এত সহজ নয়, আমি ঠিক?

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.