স্ট্যাকলেস পাইথনের ত্রুটিগুলি কী কী? [বন্ধ]


127

আমি স্ট্যাকলেস পাইথন সম্পর্কে সম্প্রতি পড়ছি এবং ভ্যানিলা সিপাইথনের সাথে তুলনা করে এটির অনেক সুবিধা রয়েছে বলে মনে হয়। এতে অসীম পুনরাবৃত্তি, মাইক্রোথ্রেডস, ধারাবাহিকতা ইত্যাদির মতো সমস্ত দুর্দান্ত বৈশিষ্ট্য রয়েছে এবং একই সাথে সিপাইথনের চেয়েও দ্রুত (প্রায় 10%, পাইথন উইকি বিশ্বাস করা যায়) এবং এটির সাথে সামঞ্জস্যপূর্ণ (কমপক্ষে সংস্করণ 2.5, 2.6 এবং 3.0)।

এগুলি সত্য হতে প্রায় দেখতে খুব ভাল দেখাচ্ছে। যাইহোক, TANSTAAFL , আমি Stackless জন্য অনেক উদ্যম পাইথন সম্প্রদায় মধ্যে দেখতে পাচ্ছ, আর PEP 219 উপলব্ধি মধ্যে কখনো আসা হয়েছে। কেন এমন? স্ট্যাকলেস এর ত্রুটিগুলি কি কি? স্ট্যাকলেস 'ক্লোজেটে কী কঙ্কাল লুকানো আছে?

(আমি জানি স্ট্যাকলেস প্রকৃত সামঞ্জস্যের প্রস্তাব দেয় না, একই সাথে প্রোগ্রামিংয়ের একসাথে সহজ উপায়ে way এটি আমাকে সত্যিই বিরক্ত করে না))

উত্তর:


165

উইকি থেকে যে "স্ট্যাকলেস 10% দ্রুত" তা আমি জানি না, তবে তারপরে আমি আর কখনও এই পারফরম্যান্স সংখ্যাটি পরিমাপ করার চেষ্টা করিনি। স্ট্যাকলেস কী আরও বড় পার্থক্য তৈরি করতে পারে তা আমি ভাবতে পারি না।

স্ট্যাকলেস বেশ কয়েকটি সাংগঠনিক / রাজনৈতিক সমস্যা সহ একটি দুর্দান্ত সরঞ্জাম।

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

যে কারণে, প্রাথমিক ডকুমেন্টেশনটি ছিল খারাপ। এটি কীভাবে ব্যবহার করবেন সে সম্পর্কে কয়েকটি বিবরণ ছিল, তৃতীয় পক্ষের অবদানকারীদের থেকে সেরা। পাইকন ২০০ At-এ পাইকন সমীক্ষার সংখ্যা অনুযায়ী " স্ট্যাকলেস ইউজ করা " নিয়ে আমি একটি বক্তব্য দিয়েছিলাম যা বেশ ভালভাবেই চলে গেছে। রিচার্ড টেউ এগুলি সংগ্রহ, স্ট্যাকলেস ডট কম আপডেট করে এবং নতুন পাইথন প্রকাশের সময় বিতরণ বজায় রাখার জন্য দুর্দান্ত কাজ করেছে। তিনি সিসিপি গেমসের একজন কর্মী, ইভিই অনলাইনের বিকাশকারী, যা স্ট্যাকলেসকে তাদের গেমিং সিস্টেমের একটি প্রয়োজনীয় অংশ হিসাবে ব্যবহার করে।

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

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

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

" কোড বেসে উল্লেখযোগ্য পরিবর্তন " করার জন্য একেবারেই কোনও পরিকল্পনা নেই । আরাফ্যাঙ্গিয়ার (মন্তব্যটি দেখুন) থেকে উদ্ধৃতি এবং রেফারেন্সের হাইপারলিঙ্ক প্রায় 2000/2001 এর from কাঠামোগত পরিবর্তনগুলি দীর্ঘকাল ধরে করা হয়েছে, এবং এটি আমি উপরে উল্লেখ করেছি। স্ট্যাকলেস এটি এখন স্থিতিশীল এবং পরিপক্ক, গত বেশ কয়েক বছর ধরে কোড বেসটিতে কেবল সামান্য টুইট রয়েছে।

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

আপনি যদি স্ট্যাকলেস প্রশিক্ষণ চান তবে নির্দ্বিধায় আমার সাথে যোগাযোগ করুন ! :)


39

এই আলোচনাটি খুঁজতে বেশ দীর্ঘ সময় লেগেছিল। সেই সময় আমি পিপাইতে ছিলাম না তবে মনস্তত্ত্বের সাথে 2 বছরের সম্পর্ক ছিলাম, যতক্ষণ না স্বাস্থ্য এগুলি হঠাৎ করে বন্ধ করে দেয়। আমি এখন আবার সক্রিয় এবং বিকল্প পদ্ধতির নকশা করছি - এটি ইউরো পাইথন 2012 এ উপস্থাপন করব।

বেশিরভাগ অ্যান্ড্রুজ বিবৃতি সঠিক। কিছু ছোট সংযোজন:

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

অন্তর্ভুক্তিতে: ভাল, শুরুতে আমি খুব ধোঁয়াটে ছিলাম এবং দৃ .় বিশ্বাসী ছিলাম যে স্ট্যাকলেসই যাওয়ার উপায়। পরে, যখন এটি অন্তর্ভুক্ত হওয়া প্রায় সম্ভব হয়েছিল তখন আমি এতে আগ্রহ হারিয়ে ফেলেছিলাম এবং আংশিকভাবে হতাশার বাইরে স্ট্যাকলেসের নিয়ন্ত্রণ বজায় রাখার জন্য এটিকে এভাবেই থাকতে দেওয়া পছন্দ করি।

"অন্যান্য বাস্তবায়ন এটি করতে পারে না" এর মতো যুক্তি আমার কাছে সর্বদা লম্পট অনুভূত হয়েছিল, কারণ এখানে অন্যান্য উদাহরণ রয়েছে যেখানে এই যুক্তিটিও ব্যবহার করা যেতে পারে। আমি ভেবেছিলাম আমি আরও ভাল করে এটি ভুলে গেছি এবং গুডোর সাথে আমার বন্ধুত্বের সাথে ভাল বন্ধুত্ব বজায় রাখছি।

এদিকে জিনিসগুলি আবার পরিবর্তন হচ্ছে। আমি পাইপাই এবং স্ট্যাকলেস এ এক্সটেনশন হিসাবে কাজ করছি যা পরে মাঝে মাঝে সে বিষয়ে কথা বলবে

চিয়ার্স - ক্রিস


5

যদি আমি সঠিকভাবে স্মরণ করি, স্ট্যাকলেসকে অফিসিয়াল সিপাইটিতে অন্তর্ভুক্ত করার কথা ছিল, তবে স্ট্যাকলেস লেখক সিপিথন লোকদের তা না করার কথা বলেছিলেন, কারণ তিনি কোড বেসে কিছু উল্লেখযোগ্য পরিবর্তন করার পরিকল্পনা করেছিলেন - সম্ভবত তিনি যখন ইন্টিগ্রেশনটি পরে করেছিলেন তখন চেয়েছিলেন প্রকল্পটি আরও পরিপক্ক ছিল।


1
উৎস? আমি এটি আকর্ষণীয় মনে করি, তবে আপনি কেবল তাই বলেছিলেন বলে আমি অবশ্যই আপনাকে বিশ্বাস করতে পারি না। আমি ভুল হলে আমি বোকা দেখতে চাই এবং আমি এটি আকর্ষণীয় ছিল সম্পর্কে কথা বলতে শুরু।
ডেভিন জিনপিয়ের

2
দুর্দান্ত পয়েন্ট। দুঃখিত, আমার কাছে রেফারেন্স নেই, কারণ এটি ফ্রেইনোডে # পেথনে একটি প্রথম কথোপকথনে ছিল, তবে আমি gnosis.cx/download/charming_python_10_outtakes.html এ একটি প্রাচীন মেইলিং লিস্ট কথোপকথনটি খুঁজে বের করতে পেরেছি যা এতে অনেক বেশি অন্তর্দৃষ্টি দেয় অবস্থা.
আরাফ্যাজিওন

লিঙ্কটি সত্যিই দুর্দান্ত। এটি আমার অনেক প্রশ্নের উত্তর দেয়।
রিসার্ড জাজোপা

এই লিঙ্কটি 8 বা 9 বছরের পুরানো (এটি পাইথন ২.১ সম্পর্কে আলোচনা করে) এবং কোড বেসে ভবিষ্যতে পরিবর্তনগুলি নিয়ে যে কোনও আলোচনা দীর্ঘকাল থেকেই ঘটেছে। স্ট্যাকলেস পাইথন স্থিতিশীল এবং পরিণত, এবং "কোড বেসে উল্লেখযোগ্য পরিবর্তন" করার জন্য কোনও পরিকল্পনা নেই।
অ্যান্ড্রু ডালক

ডালকে: জিনিসগুলি এইভাবেই হয় - যদি পরিবর্তনগুলি সংহত করার জন্য কোনও সিদ্ধান্তে উল্লেখযোগ্য পরিবর্তন ঘটে থাকে তবে একটি নতুন রেফারেন্স সহ নির্দ্বিধায় আসতে পারেন, তবে আমি সন্দেহ করি যে আমি যে প্রাচীন উত্স সরবরাহ করেছি তা কেবল আলাদা আলাদা রূপের প্রবণতা শুরু করেছিল অজগর, উদাহরণস্বরূপ, জে পিথন, আয়রন পাইশন ..
আরাফাঙ্গিয়ন

3

আমি এখানে উত্তরগুলিতে আগ্রহী। আমি স্ট্যাকলেস এর সাথে কিছুটা খেলেছি এবং দেখে মনে হচ্ছে এটি স্ট্যান্ডার্ড পাইথনের সাথে একটি ভাল কঠিন সংযোজন হবে।

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


3
PEP 219 is 9 years old and seriously out of date. The difficulties of "calling Python code from C code" is only in the implementation discussed in the PEP, and is not in Stackless. The name of the PEP ("Stackless Python") is a bit of a misnomer; it drew its inspiration from Stackless and that's it.
Andrew Dalke
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.