জাভা পরিবর্তে স্কেলা ভাল পছন্দ হবে?


11

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

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

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

আমরা কী অর্জন করতে চাইছি তা বিবেচনা করে স্কালার জাভা থেকে আরও ভাল পছন্দ হতে পারে?


2
অন্য ভাষায় সবকিছু লিখতে? এবং 2 বছর সরবরাহ করার মতো কিছুই নেই? একটি ভয়াবহ পরিচালনার সিদ্ধান্তের মতো মনে হচ্ছে এবং অর্ধ বছরের মধ্যে আপনার নতুন কাজের প্রয়োজন হতে পারে;)
zvrba

হ্যাঁ, এটা বিবেচনা করা হয়েছিল। আমার এখন কোথায় দেখা শুরু করা উচিত তা নিশ্চিত নয় এবং সি # :)
JD01

1
এটি এমন কোনও শোনায় যা আপনার কখনই করা উচিত নয়
ব্যাক 2ডস

উত্তর:


15

কিছু বিষয় বিবেচনা করুন:

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

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

পরিচালনার দৃষ্টিকোণ থেকে এর অনেক সুবিধা রয়েছে:

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

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


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

1
সাহায্য করে আনন্দ পেলাম! এটি সচেতন হওয়াটা মূল্যবান যে স্কালাল একটি বহু-দৃষ্টিকোণ / ওওপি ভিত্তিক ভাষা। আপনি স্কালায় অবশ্যই এফপি করতে পারবেন, আপনি যদি এমন ভাষা চান যা ফোকাসে আরও স্পষ্টভাবে কার্যকরী হয় তবে হাস্কেল বা ক্লোজুরি সম্ভবত চিহ্নটির আরও কাছাকাছি থাকবে।
মাইকেরা

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

1
আপনি যদি পছন্দ করেন তবে ক্লোজার / স্কাল কার্যকারিতাটি ওয়েব পরিষেবা হিসাবে বা REST ইন্টারফেস হিসাবে প্রকাশ করতে পারেন। এটি সরাসরি একটি লাইব্রেরি তৈরির চেয়ে কিছুটা বেশি ওভারহেড (যা আপনি জাভা / অন্য জেভিএম ভাষা থেকে কার্যকারিতাটি কল করতে চাইলে সবচেয়ে ভাল বিকল্প হবে) তবে এটি আপনার পছন্দসই ক্লায়েন্টের কাছ থেকে কোড কল করার ক্ষেত্রে অবশ্যই নমনীয়তা দেয় ()। নেট, জাভা, রুবি, ইত্যাদি)
মাইক্রা

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

15

আমি একটি তৃতীয় বিকল্প যুক্ত করব। আপনার সংস্থার কেউ কি আপনার সি # এবং জাভা মডিউলগুলির মধ্যে ইন্টারপকে দেখেছেন? আপনি কীভাবে সি # কার্যকারিতাটি প্রকাশ করছেন? SOAP বা RESTFul ওয়েব পরিষেবাদি একটি বিকল্প?

একটি 2 বছরের পুনর্লিখন কোনও সংস্থার জন্য মৃত্যুর হাঁটু হতে পারে (কেবল নেটস্কেপকে জিজ্ঞাসা করুন)। তবে বিদ্যমান কোডগুলি একে অপরের সাথে দুর্দান্তভাবে খেললেও ধীরে ধীরে স্থানান্তরিত হওয়ার সম্ভাব্য ব্যবসায়ের প্রভাব কম।


3

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

আপনার কোডবেসটি কত বড় তা আমি জানি না তবে 30 বিকাশকারীদের পক্ষে 2 বছর একটি সাধারণ পুনর্লিখনের জন্য বিশাল বলে মনে হয়। আপনি যখন সি # জানবেন তখন জাভা তুলে নেওয়া সহজ। এতে স্বাচ্ছন্দ্য বোধ করতে আমার দু'একদিন লেগেছিল।

আমার পরামর্শটি হ'ল ম্যানেজমেন্টটি তাদের উপায় পেতে দিন এবং আপনার দক্ষতা বাড়ানোর জন্য আপনাকে অর্থ প্রদান করার বিষয়টি উপভোগ করুন।


কেবলমাত্র প্রায় 10 বিকাশকারী নতুন পণ্যটিতে কাজ করবে। আমি কেবল এটি সন্ধান করার চেষ্টা করছি যে স্কালার সাথে যাওয়ার মতামতগুলি কী হবে।
JD01

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

আপনি সঠিক হতে পারে। আমি এক বছরে একটি পণ্য আউট নেওয়ার ক্ষেত্রে এটি নিয়ে ভাবছিলাম যখন একই সময়ে। নেট এবং জাভাতে কোডটি পুনরায় ব্যবহার করতে সক্ষম হয়েছি। আপনার পয়েন্টগুলি ভালভাবে উল্লেখ করা হয়েছে :)
JD01

1

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


জাভাতে এমন অনেকগুলি পণ্য লেখা রয়েছে যাতে তাদের সি # শেখা খুব কঠিন হবে। আমি স্কেলার সাথে প্রত্যাশা করছিলাম, আমাদের কাছে নতুন পণ্যটি তৈরি হয়ে গেলে, জাভা বিকাশকারীরা স্কেলা শেখার প্রয়োজন ছাড়াই লাইব্রেরিগুলি ব্যবহার করতে পারতেন।
JD01

2
আপনি যদি আপনার বিদ্যমান। নেট কোডগুলি জাভা বিকাশকারীদের জাভাতে সমস্ত নতুন বৈশিষ্ট্য আহ্বান করতে এবং বিকাশ করতে পারে সেবার পরিষেবা হিসাবে এটি উন্মুক্ত করেন তবে ঠিক হবে না?
শ্রীরাম

এটি আগে প্রস্তাবিত হয়েছিল তবে সিদ্ধান্ত নেওয়া হয়েছে যে আমরা নেট থেকে দূরে সরে যাই।
JD01

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