সাধারণ মেইনফ্রেম প্রবাহ ...
Input Disk/Tape/User (runtime) --> Job Control Language (JCL) --> Output Disk/Tape/Screen/Printer
| ^
v |
`--> COBOL Program --------'
সাধারণ লিনাক্স প্রবাহ ...
Input Disk/SSD/User (runtime) --> sh/bash/ksh/zsh/... ----------> Output Disk/SSD/Screen/Printer
| ^
v |
`--> Python script --------'
| ^
v |
`--> awk script -----------'
| ^
v |
`--> sed script -----------'
| ^
v |
`--> C/C++ program --------'
| ^
v |
`--- Java program ---------'
| ^
v |
: :
শেলগুলি লিনাক্সের আঠালো
লিনাক্স শেলগুলি sh / ksh / bash / ... এর মতো ইনপুট / আউটপুট / ফ্লো-কন্ট্রোল ডিজাইনিং সুবিধাগুলি পুরানো মেইনফ্রেম জব কন্ট্রোল ল্যাঙ্গুয়েজের মতো সরবরাহ করে ... তবে স্টেরয়েডগুলিতে! ও / এস সমর্থন করে যে কোনও ভাষায় লিখিত অন্যান্য নির্বাহী প্রক্রিয়াগুলিতে দক্ষতার সাথে ডেটা এবং নিয়ন্ত্রণ পাস করতে অপ্টিমাইজ হওয়ার সময় তারা নিজেরাই সম্পূর্ণ ভাষাগুলি টুরিং করছে ।
বেশিরভাগ লিনাক্স অ্যাপ্লিকেশনগুলি, প্রোগ্রামটির বেশিরভাগ ভাষায় কী লেখা থাকে তা শেল স্ক্রিপ্টগুলির উপর নির্ভর করে এবং বাশ সবচেয়ে সাধারণ হয়ে উঠেছে। ডেস্কটপে আইকন ক্লিক করা সাধারণত একটি সংক্ষিপ্ত বাশ স্ক্রিপ্ট চালায় । এই স্ক্রিপ্টটি হয় প্রত্যক্ষ বা পরোক্ষভাবে জানে যে সমস্ত প্রয়োজনীয় ফাইলগুলি কোথায় এবং ভেরিয়েবল এবং কমান্ড লাইন প্যারামিটার সেট করে, শেষ পর্যন্ত প্রোগ্রামটি কল করে। এটি শেলের সহজ ব্যবহার।
লিনাক্স যেমন আমাদের জানা আছে তত হাজার হাজার শেল স্ক্রিপ্ট ছাড়াই লিনাক্স হতে পারে যা সিস্টেমটি সূচনা করে, ইভেন্টগুলিতে প্রতিক্রিয়া জানায়, কার্যকরকরণের অগ্রাধিকারগুলি নিয়ন্ত্রণ করে এবং প্রোগ্রামগুলি সংহত করে, কনফিগার করে এবং চালিত করে। এর মধ্যে অনেকগুলি বেশ বড় এবং জটিল।
শেলগুলি এমন একটি অবকাঠামো সরবরাহ করে যা আমাদের পূর্ব-নির্মিত উপাদানগুলি ব্যবহার করতে দেয় যা রান টাইমের পরিবর্তে রান করার সময় একসাথে লিঙ্কযুক্ত। এই উপাদানগুলি হ'ল ফ্রি-স্ট্যান্ডিং প্রোগ্রামগুলি তাদের নিজস্ব অধিকার যা একা বা অন্য সংমিশ্রণে পুনরায় সংগ্রহ না করে ব্যবহার করা যেতে পারে। তাদের বলার সিনট্যাক্সটি বাশ বিল্টিন কমান্ডের থেকে পৃথকযোগ্য এবং বাস্তবে অসংখ্য বিল্টিন কমান্ড রয়েছে যার জন্য সিস্টেমে একা একা এক্সিকিউটেবলও থাকে, প্রায়শই অতিরিক্ত বিকল্প থাকে।
পারফরম্যান্সে পাইথন এবং বাশের মধ্যে কোনও ভাষা-বিস্তৃত পার্থক্য নেই । এটি সম্পূর্ণরূপে প্রতিটি কীভাবে কোডিং করা হয় এবং কোনটি বাহ্যিক সরঞ্জামগুলি কল করা হয় তার উপর নির্ভর করে।
অ্যাডক, সেড, গ্রেপ, বিসি, ডিসি, টিআর, ইত্যাদি পরিচিত কোনও সরঞ্জাম ধুলিতে উভয় ভাষায় এই অপারেশনগুলি ছেড়ে চলে যাবে। গ্রাফিকাল ইউজার ইন্টারফেস ব্যতাকে বাশের পক্ষে অগ্রাধিকার দেওয়া হয়, কারণ পাইথনের চেয়ে ব্যাশের মতো ব্যাশগুলির মতো সরঞ্জাম থেকে ডেটা কল করা এবং পাস করা সহজ এবং দক্ষ ।
কর্মক্ষমতা
এটি নির্ভর করে যে কোন প্রোগ্রামে বাশ শেল স্ক্রিপ্ট কল করে এবং সাবটাস্কের জন্য তাদের উপযুক্ততা দেওয়া হয় যে সামগ্রিক থ্রুপুট এবং / অথবা প্রতিক্রিয়াশীলতা সমতুল্য পাইথনের চেয়ে ভাল বা খারাপ হবে কিনা । বিষয়টিকে জটিল করার জন্য পাইথন , বেশিরভাগ ভাষার মতোই অন্যান্য এক্সিকিউটেবলকেও কল করতে পারে, যদিও এটি আরও জটিল এবং এটি প্রায়শই ব্যবহৃত হয় না।
ব্যবহারকারী ইন্টারফেস
এক স্থান যেখানে পাইথন স্পষ্ট বিজয়ী ইউজার ইন্টারফেস আছে। এটি স্থানীয় বা ক্লায়েন্ট-সার্ভার অ্যাপ্লিকেশন তৈরির জন্য এটি দুর্দান্ত ভাষা হিসাবে তৈরি করেছে কারণ এটি জিটিকে গ্রাফিক্সকে স্থানীয়ভাবে সমর্থন করে এবং বাশের চেয়ে অনেক বেশি স্বজ্ঞাত ।
বাশ কেবল পাঠ্য বোঝে। অন্যান্য সরঞ্জামগুলিকে একটি জিইউআই এবং তাদের কাছ থেকে পাস করা ডেটা পাঠাতে হবে। একটি পাইথন স্ক্রিপ্ট এক বিকল্প। দ্রুত কিন্তু কম নমনীয় বিকল্পগুলি হ'ল YAD, Zenity এবং GTKDialog এর মত বাইনারি ।
যদিও বাশের মতো শেলগুলি জিইউআই এর সাথে ইয়াদ , জিটিকিডায়ালগ (এমটিএমএল-এর মতো ইন্টারফেসটি জিটিকে + ফাংশনগুলিতে এম্বেড করা) , ডায়ালগ এবং এক্সমিসেজ , পাইথনের সাথে ভাল কাজ করে জটিল জিইউআই উইন্ডোগুলির জন্য অনেক বেশি সক্ষম এবং তাই আরও উন্নত।
সারসংক্ষেপ
শেল স্ক্রিপ্টগুলির সাহায্যে বিল্ডিং হ'ল ডেস্কটপ পিসি যেমন হয় তেমন শেল্ফ উপাদানগুলির সাথে একটি কম্পিউটারকে একত্রিত করার মতো।
পাইথন , সি ++ দিয়ে বিল্ডিং অথবা সবচেয়ে অন্য কোন ভাষা আরো চিপ ব্যবহার (লাইব্রেরি) এবং অন্যান্য বৈদ্যুতিন অংশ একসঙ্গে পথ স্মার্টফোনের হয় ঝালাই দ্বারা একটি কম্পিউটার নির্মাণ ভালো হয়।
সর্বোত্তম ফলাফলগুলি সাধারণত ভাষার সংমিশ্রণ ব্যবহার করে প্রাপ্ত হয় যেখানে প্রত্যেকে তাদের সর্বোত্তম কাজটি করতে পারে। একজন বিকাশকারী এটিকে " বহুভুত প্রোগ্রামিং " বলেছেন calls