ওয়েব বিকাশের জন্য একটি নতুন প্রোগ্রামিংয়ের ভাষা সন্ধান করছেন? [বন্ধ]


14

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

রুবি সরলতা এবং উত্পাদনশীলতার উপর ফোকাস সহ একটি গতিশীল, ওপেন সোর্স প্রোগ্রামিং ভাষা।

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

বছরের পর বছর ধরে পিএইচপি বিকাশকারী, ভেরু চেরুবিনি আমার দুর্দশার সংক্ষিপ্তসারটি বর্ণনা করে:

আমি পিএইচপি ভাল জানি, আমার নিজস্ব কাঠামো ছিল, এবং কিছু আপ এবং চলমান পেতে দ্রুত কাজ করতে পারে।

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

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

আমি যে ভাষাগুলি দেখেছি সেগুলির মধ্যে জাভাস্ক্রিপ্ট (নোড.জেএস এর জন্য), রুবি, পাইথন এবং এরলং অন্তর্ভুক্ত রয়েছে। এমনকি আমি স্কেলা বা সি ++ সম্পর্কে ভেবেছি।

সমস্যাটি নির্ধারণ করছে যে আমার প্রয়োজনগুলি সবচেয়ে ভাল পরিচালনা করতে কোনটি নির্মিত are

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

হালনাগাদ

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


14
আপনি যদি এই প্রয়োজনগুলি নির্দিষ্ট না করেন তবে কোনটি আপনার প্রয়োজনগুলি সবচেয়ে ভাল পরিচালনা করবে তা বলা শক্ত।
4111

3
এ কারণেই আমি আমার প্রয়োজনগুলি সংজ্ঞায়িত করি নি - আমার ব্যক্তিগত চাহিদা বিন্দুটির পাশে রয়েছে । আমি একটি নির্দিষ্ট প্রোগ্রামিং ভাষার সাথে আমার চাহিদা মেলে কোথায় দেখতে পারি তা জানতে চাই। কারণ আমার চাহিদা পরিবর্তন হতে পারে এবং আমাকে আবার ফিরে যেতে হবে।
শিওনক্রস

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

4
এটি ভাষা সম্পর্কে কম এবং তাদের জন্য উপলব্ধ ফ্রেমওয়ার্কগুলির পরিপক্কতা এবং বৈশিষ্ট্য সমৃদ্ধি সম্পর্কে আরও কম।

1
আমি আপনাকে অ্যালেক্স মার্তেলির এই দুর্দান্ত পোস্টটি একবার দেখার পরামর্শ দিই ।
ফ্যান্ট0 মি

উত্তর:


3

আমি এটি উত্তর হিসাবে পোস্ট করতে যাচ্ছি না, তবে জিয়নক্রস আমাকে জিজ্ঞাসা করেছিল, তাই আমরা এখানে যাচ্ছি:

(সিডিনোট: যদি কেউ কোড কোড উদাহরণে মার্কডাউন সমস্যাটি সমাধান করতে পারে তবে আমি এটির প্রশংসা করব))

এর দ্বারা পোস্ট করা অ্যালেক্স Martelli উপর comp.lang.python : কি পাইথন চেয়ে রুবি সম্পর্কে ভাল কি? 18আগস্ট 2003, বিকাল ৫:৫০

এরিক ম্যাক্স ফ্রান্সিস লিখেছেন:

"ব্র্যান্ডন জে ভ্যান প্রতিটি" লিখেছেন:

পাইথনের চেয়ে রুবি সম্পর্কে আর কী ভাল? আমি নিশ্চিত কিছু আছে। এটা কি? পাইথনের লোকদের চেয়ে রুবি মানুষকে এগুলি জিজ্ঞাসা করা কি আরও বেশি অর্থবোধ করে না?

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

নিশ্চিত, আমি ক্লান্ত পেতে রুবি, প্রত্যেক ব্লক শেষে নিরীহ "শেষ" টাইপ (বদলে শুধু unindenting) এর কি - কিন্তু তারপর আমি সমানভাবে-নিরীহ টাইপ এড়াতে পেতে পারি : যা পাইথন এ প্রয়োজন শুরু এর প্রতিটি ব্লক, যাতে এটি প্রায় ধোয়া :-)। @fooবনাম হিসাবে অন্যান্য সিনট্যাক্স পার্থক্য self.foo, বা রুবি বনাম পাইথন ক্ষেত্রে মামলার উচ্চ তাত্পর্য, আমার কাছে সত্যই প্রায় অপ্রাসঙ্গিক।

নিঃসন্দেহে অন্যরা প্রোগ্রামিং ভাষার তাদের পছন্দগুলি কেবলমাত্র এই জাতীয় ভিত্তিতেই ভিত্তি করে এবং এগুলি সবচেয়ে বিতর্কিত বিতর্ক তৈরি করে - তবে আমার কাছে এটি পার্কিনসনের আইন প্রয়োগের একটি মাত্র উদাহরণ (কোনও ইস্যুতে বিতর্কের পরিমাণ ইস্যুটির বিপরীতভাবে সমানুপাতিক প্রকৃত গুরুত্ব)। একটি সিনট্যাক্স পার্থক্য যা আমি গুরুত্বপূর্ণ মনে করি এবং পাইথনের পক্ষে - তবে অন্য লোকেরা অবশ্যই সন্দেহ করবে কেবল উল্টো - এটি হল "আপনি কোনও ফাংশনটিকে কীভাবে কল করবেন যা কোনও পরামিতি নেয় না"। পাইথনে (সি এর মতো) কোনও ফাংশন কল করার জন্য আপনি সর্বদা "কল অপারেটর" প্রয়োগ করেন - আপনি যে বস্তুটি কল করছেন তার ঠিক পিছনে প্যারেন্টিজেসগুলি (tra ট্রেলিং বন্ধনীর ভিতরে আপনি কলটিতে যাচ্ছেন সেই অর্গগুলি যান) যদি আপনি কোনও অর্গ পাস করছেন না, তবে প্রথম বন্ধনী খালি রয়েছে)। এটি কোনও অবজেক্টের নিছক উল্লেখ রেখে দেয়, এতে কোনও অপারেটর জড়িত না, যার অর্থ কোনও অবজেক্টের জন্য কেবল একটি রেফারেন্স - কোনও প্রসঙ্গে, বিশেষ ক্ষেত্রে ব্যতিক্রম, অ্যাড-হক বিধি এবং এই জাতীয় মত। রুবিতে (পাস্কেলের মতো), আপনি আর্গুমেন্টগুলি দিয়ে একটি ফাংশন কল করার জন্য আর্গুমেন্টগুলি দিয়ে পাস করেন (সাধারণত প্যারেন্টেসিসে, যদিও এটি প্রায়শই হয় না) - তবে যদি ফাংশনটি কোনও অর্গ না নেয় তবে কেবল ফাংশনটির উল্লেখ কেবল স্পষ্টভাবে বলা হয়। এটি অনেক লোকের প্রত্যাশা পূরণ করতে পারে (কমপক্ষে সন্দেহ নেই, যাদের প্রোগ্রামিংয়ের পূর্ববর্তী অভিজ্ঞতা কেবল পাস্কালের সাথে ছিল, বা অন্যান্য ভাষাগুলির সাথে অনুরূপ "ইমপ্লিট কলিং", যেমন ভিজুয়াল বেসিক) - তবে আমার কাছে এটির অর্থ কেবলমাত্র কোনও সামগ্রীর উল্লেখের অর্থ, অবজেক্টের একটি রেফারেন্স, বা বস্তুর কাছে কল, অবজেক্টের ধরণের উপর নির্ভর করে - এবং যেসব ক্ষেত্রে আমি কেবলমাত্র উল্লেখ করে অবজেক্টের রেফারেন্স পেতে পারি না সে ক্ষেত্রে আমার স্পষ্ট ব্যবহার করা দরকার "আমাকে এ সম্পর্কে একটি রেফারেন্স দিন, এটি কল করবেন না!" অপারেটরগুলির যা অন্যথায় প্রয়োজন হয় না। আমি এটি ফাংশনগুলির ("পদ্ধতি বা অন্যান্য কলযোগ্য বস্তু)" এবং প্রথম শ্রেণীর মধ্যে "প্রভাবিত করে এবং সহজেই অবজেক্টগুলি বিনিময়ের সম্ভাবনাটিকে প্রভাবিত করি।" অতএব, আমার কাছে, এই নির্দিষ্ট বাক্য গঠন পার্থক্যটি রুবির বিরুদ্ধে মারাত্মক কালো চিহ্ন - তবে আমি বুঝতে পারি যে অন্যরা কেন অন্যথায় বিষয়টি করবে, যদিও আমি তাদের সাথে খুব দৃhe়তার সাথেই অসম্মতি প্রকাশ করতে পারি :-)। বাক্য গঠন নীচে, আমরা প্রাথমিক শব্দার্থবিজ্ঞানের কিছু গুরুত্বপূর্ণ পার্থক্য পেতে পারি - উদাহরণস্বরূপ, রুবির স্ট্রিংগুলি পারস্পরিক পরিবর্তনযোগ্য বস্তু (যেমন সি ++ এর মতো), পাইথনে থাকাকালীন সেগুলি পরিবর্তনযোগ্য নয় (যেমন জাভাতে বা আমি বিশ্বাস করি সি #)। আবার, লোকেরা যাঁরা ইতিমধ্যে পরিচিত তাদের সাথে প্রাথমিকভাবে বিচার করে তারা রুবীর জন্য এটি একটি প্লাস বলে মনে করতে পারে (যদি না তারা জাভা বা সি # এর সাথে পরিচিত না হন তবে অবশ্যই :-)। আমি, আমার মনে হয় অপরিবর্তনীয় স্ট্রিংগুলি একটি দুর্দান্ত ধারণা (এবং আমি অবাক হই না যে জাভা, স্বাধীনভাবে আমি মনে করি যে ধারণাটি পুনরুদ্ধার করেছেন যা ইতিমধ্যে পাইথনে ছিল), যদিও আমি "পরিবর্তনীয় স্ট্রিং বাফার" টাইপটিও পোষণ করব না would (এবং জাভা এর নিজস্ব "স্ট্রিং বাফার" এর চেয়ে সহজেই ব্যবহারের সুবিধাসহ এক); এবং জাভা অধ্যয়ন করার আগে, কার্যকরী প্রোগ্রামিং ভাষা বাদে, কারণ আমি এই রায়টি জানিনা যে সমস্ত লোকেরা ইতিমধ্যে তাদের সাথে পরিচিত তারা মূলত বিচার করে তারা রুবীর জন্য এটি একটি প্লাস বলে মনে করতে পারে (যদি না তারা জাভা বা সি # এর সাথে পরিচিত না হয় তবে অবশ্যই :-)। আমি, আমার মনে হয় অপরিবর্তনীয় স্ট্রিংগুলি একটি দুর্দান্ত ধারণা (এবং আমি অবাক হই না যে জাভা, স্বাধীনভাবে আমি মনে করি যে ধারণাটি পুনরুদ্ধার করেছেন যা ইতিমধ্যে পাইথনে ছিল), যদিও আমি "পরিবর্তনীয় স্ট্রিং বাফার" টাইপটিও পোষণ করব না would (এবং জাভা এর নিজস্ব "স্ট্রিং বাফার" এর চেয়ে সহজেই ব্যবহারের সুবিধাসহ এক); এবং জাভা অধ্যয়ন করার আগে, কার্যকরী প্রোগ্রামিং ভাষা বাদে, কারণ আমি এই রায়টি জানিনা যে সমস্ত লোকেরা ইতিমধ্যে তাদের সাথে পরিচিত তারা মূলত বিচার করে তারা রুবীর জন্য এটি একটি প্লাস বলে মনে করতে পারে (যদি না তারা জাভা বা সি # এর সাথে পরিচিত না হয় তবে অবশ্যই :-)। আমি, আমার মনে হয় অপরিবর্তনীয় স্ট্রিংগুলি একটি দুর্দান্ত ধারণা (এবং আমি অবাক হই না যে জাভা, স্বাধীনভাবে আমি মনে করি যে ধারণাটি পুনরুদ্ধার করেছেন যা ইতিমধ্যে পাইথনে ছিল), যদিও আমি "পরিবর্তনীয় স্ট্রিং বাফার" টাইপটিও পোষণ করব না would (এবং জাভা এর নিজস্ব "স্ট্রিং বাফার" এর চেয়ে সহজেই ব্যবহারের সুবিধাসহ এক); এবং জাভা অধ্যয়ন করার আগে, কার্যকরী প্রোগ্রামিং ভাষা বাদে, কারণ আমি এই রায়টি জানিনা আমার মনে হয় অপরিবর্তনীয় স্ট্রিংগুলি একটি দুর্দান্ত ধারণা (এবং আমি বিস্মিত হই না যে জাভা, স্বাধীনভাবে আমি মনে করি যে ধারণাটি ইতিমধ্যে পাইথনে ছিল তা পুনরায় উদ্ভাবিত করেছি) যদিও আমি "পরিবর্তনীয় স্ট্রিং বাফার" টাইপটিও বোধ করি না (এবং জাভা এর নিজস্ব "স্ট্রিং বাফারস" এর চেয়ে আরও সহজে ব্যবহারের সুবিধাসহ এক); এবং জাভা অধ্যয়ন করার আগে, কার্যকরী প্রোগ্রামিং ভাষা বাদে, কারণ আমি এই রায়টি জানিনা আমার মনে হয় অপরিবর্তনীয় স্ট্রিংগুলি একটি দুর্দান্ত ধারণা (এবং আমি বিস্মিত হই না যে জাভা, স্বাধীনভাবে আমি মনে করি যে ধারণাটি ইতিমধ্যে পাইথনে ছিল তা পুনরায় উদ্ভাবিত করেছি) যদিও আমি "পরিবর্তনীয় স্ট্রিং বাফার" টাইপটিও বোধ করি না (এবং জাভা এর নিজস্ব "স্ট্রিং বাফারস" এর চেয়ে আরও সহজে ব্যবহারের সুবিধাসহ এক); এবং জাভা অধ্যয়ন করার আগে, কার্যকরী প্রোগ্রামিং ভাষা বাদে, কারণ আমি এই রায়টি জানিনাসমস্ত ডেটা অপরিবর্তনীয়, আমি যে সকল ভাষাগুলি জানতাম তার মধ্যে পরিবর্তনীয় স্ট্রিং ছিল - তবুও আমি যখন প্রথম জাভাতে অপরিবর্তনীয় স্ট্রিং আইডিয়াটি দেখেছি (যা আমি পাইথন শিখার আগে আমি ভালভাবে শিখেছিলাম) তখনই এটি আমাকে তাত্ক্ষণিকভাবে চমকে দিয়েছে, এটি খুব ভাল ফিট একটি উচ্চ স্তরের প্রোগ্রামিং ভাষার রেফারেন্স-শব্দার্থবিজ্ঞানের (মেশিনের কাছাকাছি ভাষা এবং অ্যাপ্লিকেশন থেকে আরও সুনির্দিষ্ট ভাষাগুলির সাথে সবচেয়ে ভাল যে মান-শব্দার্থবিজ্ঞানের বিপরীতে) প্রথম শ্রেণীর অন্তর্নির্মিত (এবং সুন্দর) গুরুত্বপূর্ণ) ডেটা টাইপ।

প্রাথমিক অর্থশাস্ত্রের ক্ষেত্রে রুবির কিছু সুবিধা রয়েছে - উদাহরণস্বরূপ, পাইথনের "তালিকাগুলি বনাম টিউপলস" অপসারণের অতি সূক্ষ্ম পার্থক্য অপসারণ। তবে বেশিরভাগ স্কোর (যেমন আমি এটি রেখেছি, সরলতার সাথে একটি বৃহত প্লাস এবং সূক্ষ্মভাবে, চতুর পার্থক্যগুলি একটি উল্লেখযোগ্য বিয়োগ), রুবির বিরুদ্ধে (যেমন, বন্ধ এবং অর্ধ-খোলা বিরতি উভয়ই, a..b এবং a স্বরলিপি সহ) .b [যে কেউ দাবি করতে চায় যে এটি স্পষ্ট যা কোনটি? -)] নির্বোধ - আইএমএইচও, অবশ্যই!)। আবার, যে লোকেরা একটি মিনাসের পরিবর্তে কোনও প্লাসের মূল অংশে অনেকগুলি অনুরূপ তবে সূক্ষ্মভাবে বিভিন্ন জিনিস রাখার বিষয়টি বিবেচনা করে তারা অবশ্যই আমি তাদের কীভাবে গণনা করব :-) থেকে এগুলি "অন্যান্য উপায়ে" গণনা করব।

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

সুতরাং, পাইথন এবং রুবিতে ফিরে আমরা দুটি বিগির কাছে এসেছি (ভাষার যথাযথ বিবেচনায় - গ্রন্থাগারগুলি রেখে, এবং অন্যান্য গুরুত্বপূর্ণ উপকরণ যেমন সরঞ্জাম এবং পরিবেশ, প্রতিটি ভাষা কীভাবে এম্বেড / প্রসারিত করা যায় ইত্যাদি ইত্যাদি) এটি আপাতত - তারা যে কোনওভাবেই প্রতিটি ভাষার সমস্ত প্রয়োগের জন্য আবেদন করবে না, যেমন, জাইথন ​​বনাম ক্লাসিক পাইথন পাইথন ভাষার দুটি বাস্তবায়ন!):

  1. রুবির পুনরুক্তিকারী এবং কোডব্লক বনাম পাইথনের পুনরুক্তি এবং জেনারেটর;

  2. রুবির মোট, নিরবিচ্ছিন্ন "গতিশীলতা", যা অন্তর্নির্মিত সকল সহ যে কোনও বিদ্যমান শ্রেণীর "পুনরায় খোলা" করার ক্ষমতা এবং রান-টাইমে এর আচরণ পরিবর্তন করতে সক্ষম - বনাম পাইথনের বিস্তৃত তবে     সীমিত গতিশীলতা, যা কখনই বিদ্যমান আচরণের পরিবর্তন করে না অন্তর্নির্মিত ক্লাস এবং তাদের দৃষ্টান্তগুলি।

ব্যক্তিগতভাবে, আমি 1 ওয়াশ বিবেচনা করি (পার্থক্যগুলি এতটাই গভীর যে আমি সহজেই লোককে ঘৃণা করতে দেখি এবং অন্যটিকে আবার ঘুরিয়ে দিতে দেখি, তবে আমার ব্যক্তিগত স্কেলগুলিতে প্লাসগুলি এবং বিয়োগগুলি এমনকি প্রায় উপরে উঠে যায়); এবং [২] একটি গুরুত্বপূর্ণ সমস্যা - এটি রুবিকে "টিঙ্কারিং" করার জন্য অনেক বেশি উপযোগী করে তোলে, তবে পাইথন বড় উত্পাদন অ্যাপ্লিকেশনগুলিতে ব্যবহারের জন্য সমানভাবে আরও উপযুক্ত। এটি একরকম মজার বিষয়, কারণ উভয় ভাষাই বেশিরভাগের তুলনায় অনেক বেশি গতিশীল, যাতে শেষ পর্যন্ত আমার পিওভি থেকে তাদের মধ্যে মূল পার্থক্যটি এটির উপর নির্ভর করে - যে রুবি এই বিষয়ে "এগারোটিতে যায়" (রেফারেন্স) অবশ্যই এটি "স্পাইনাল ট্যাপ" করতে হবে)। রুবিতে,আমি এটা করতে পারি ! অর্থাৎ, আমি গতিশীলভাবে বিল্ট-ইন স্ট্রিং ক্লাসটি পরিবর্তন করতে পারি যাতে

a = "হ্যালো ওয়ার্ল্ড" 
b = "হ্যালো ওয়ার্ল্ড" 
যদি a == খ 
    "সমান! print n" মুদ্রণ 
আর 
    "আলাদা! print n" মুদ্রণ করুন 
শেষ
 

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

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

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

অ্যালেক্স


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

27

শুভকামনা

প্রদত্ত উদাহরণ বর্ণনার কোনওটিই উদ্দেশ্য বা পরীক্ষামূলক নয়। তারা সব হাইপ এবং মতামত।

... সরলতা এবং উত্পাদনশীলতা ... আরও দ্রুত ... আরও কার্যকরভাবে।

এটি চেষ্টা করুন

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


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

1
@ এক্সনক্রস: আপনার চেষ্টা করা প্রতিটি ভাষার সাথে আপনি নিজের অভিজ্ঞতা বাড়িয়ে তুলবেন এবং আপনি অন্যান্য ভাষায় এটিকে উপকৃত করতে সক্ষম হবেন। একটি ভাষায় ডুব দেওয়ার 4 মাস কখনও হারায় না; এবং যদি ভাষাটি সত্যই বাজে, তবে এটি জানতে আপনার দুই সপ্তাহেরও কম সময় প্রয়োজন।
টিডামার্স

এটি সত্য, কিছু তৈরি করতে কেবল কয়েক সপ্তাহ সময় নেওয়া উচিত এবং ভাষাগুলি সাধারণত অন্যান্য ভাষাগুলি অনুসরণ করে যেহেতু আমি সেই অভিজ্ঞতা থেকে উপকৃত হব।
শিওনক্রস

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

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

8

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

আমি কাজের জন্য সঠিক ভাষা ব্যবহার করার পদ্ধতি গ্রহণ করি। আপনি বিশেষত ওয়েব বিকাশ সম্পর্কে জিজ্ঞাসা করেছেন , তবে এটি এখনও একটি দুর্দান্ত বিস্তৃত বিভাগ - এইরকম বলার মতো যে আপনি ফটোগ্রাফিতে আগ্রহী। মাইক্রো? অ্যাস্ট্রো? ইত্যাদি যদিও আমি একমত যে পিএইচপি কোনও আবেগের সাথে কাজ করার মতো ভাষা নয়, অনেক গ্রাহকের পক্ষে এটি অনেকগুলি কারণের উপর ভিত্তি করে সঠিক ভাষা, যার মধ্যে কমপক্ষে আপনি চলে যাওয়ার পরে সাইটটি ঠিক করার জন্য প্রোগ্রামার সন্ধানের দীর্ঘমেয়াদী ক্ষমতাও নয় not এবং / অথবা একটি বাসের সাথে ধাক্কা খায়।

সুতরাং সম্ভবত আপনার যে ধরণের গ্রাহকরা প্রকল্পগুলিতে আগ্রহী তারা কী অন্যরকম কিছুতে ndণ দেয় এবং তাদের জন্য নিজেকে আকর্ষণীয় করে তোলার জন্য কাজ করা উচিত তার দিকে নজর দেওয়া উচিত।


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

আহ। তারপরে আমি "সেরা ভাষা" - টাইপ প্রশ্নগুলির জন্য আমার স্ট্যান্ডার্ড উত্তর দেব: পাইথন। "উল্লেখযোগ্য হোয়াইটস্পেস" উপেক্ষা করা (এটি করা সম্ভব) এটি আমার কাছে নিখুঁত ভাষার কাছাকাছি is তদতিরিক্ত, পাইথন এপিআই সহ সেখানে খুব উচ্চ মানের লাইব্রেরি রয়েছে। উদাহরণস্বরূপ, এনএলটিকে, প্রাকৃতিক ভাষা সরঞ্জামকিট ( nltk.org )।
পিটার রোয়েল

আহ, তবে পাইথন সম্পর্কে এটি কী আরও ভাল করে তোলে? বেশিরভাগ ভাষাগুলি সকলেই একই সরঞ্জামদণ্ডগুলি ভাগ করে - এটি ভাষা নকশা যা থ্রেডিং, চুক্তি, ভিএম প্রয়োজনীয়তা, সংকলন / ব্যাখ্যা,
জেদীকরণ

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

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

7

পাইথন

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

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

চুনি

রুবিও বেশ সার্বজনীন ভাষা। তবে এখন পর্যন্ত এটি সবচেয়ে উল্লেখযোগ্য পণ্য হ'ল রুবেল অন রেল। এটির নকশাটি অনেকের জন্য অনুপ্রেরণা ছিল (উপরে উল্লিখিত জাজানো সহ)।

জাভাস্ক্রিপ্ট

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

scala

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


এটি উল্লেখ করার মতো বিষয় যে অ-ব্লক করা প্রতিক্রিয়া, মেমরির ব্যবহার, সমঝোতা এবং অন্যান্য বিষয়গুলির মতো জিনিসগুলি একটি নতুন ভাষার জন্য বাজারে বিশাল যা ওয়েব অ্যাপ্লিকেশনকে শক্তিশালী করবে।
শিওনক্রস

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

1
"... এটি এখনও পূর্ণাঙ্গ কাঠামো অভাব আছে" নোড জন্য এক্সপ্রেস পরীক্ষা করে দেখুন - expressjs.com
টি স্টোন

@ টি: হ্যাঁ, আমি এক্সপ্রেসের দিকে চেয়েছি। জ্যাঙ্গো এবং আরআর এর শক্তিশালী পয়েন্টগুলির মধ্যে একটি হল ওআরএম। এক্সপ্রেস এটি আছে বলে মনে হচ্ছে না।
ভের্টেক

3

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

স্কালা এবং প্লে ফ্রেমওয়ার্ক

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

সংক্ষেপে আমি স্ক্যালাকে প্রোগ্রামিং ভাষা হিসাবে এবং ফ্রেমওয়ার্কটিকে ওয়েব ফ্রেমওয়ার্ক হিসাবে সুপারিশ করি।


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

3

আসলে, আপনি সম্ভবত তিন ধরণের সংস্থান দেখছেন:

  • যেটি ভাষার মূল বিষয়গুলি ব্যাখ্যা করে এবং আপনি এটি কেন ব্যবহার করতে চান,
  • এক যা বেশ কয়েকটি ভাষার তুলনা করে।
  • যেটি কোনও ভাষার কিছু দিক নিয়ে সমালোচনা করে।

এই উভয় সংস্থানই পক্ষপাতদুষ্ট হবে।

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

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


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

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

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


শেষ কথা, প্রায়শই ভুলে যাওয়া: কোনও ভাষার "পারিপার্শ্বিকতা" মূল্যায়ন করতে সক্ষম হওয়াও খুব গুরুত্বপূর্ণ:

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

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

2

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

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

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


1

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


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

0

আপনি কি জানেন যে আপনি কি সত্যিই পিএইচপি এর সীমাতে পৌঁছেছেন, বা কেবল পিএইচপি এর সীমাতে পৌঁছেছেন ?

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


সর্বশেষে যখন আমি দ্রুপালের দিকে চেয়েছিলাম (4 এবং 5) এটি বরং খারাপ ছিল। সম্ভবত তাদের নতুন সংস্করণগুলি এখন সঠিক মান ব্যবহার করে। তবুও, যত ধীরে ধীরে আমি তার চেয়েও দুর্দান্ত ভয়ঙ্কর কাঠামোর সাথে আটকে থাকব।
শিওনক্রস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.