কেন কেউ মাইক্রোসফ্ট "রোজলিন" এ সময় বিনিয়োগ করবেন?


37

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

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

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

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

সম্ভবত আমি রোজলিন প্রকল্পের কিছু মূল কার্যকারিতা মিস করেছি যা এটিকে উল্লিখিত সরঞ্জামগুলির ডোমেনের বাইরে রাখে ...


4
রোজলিনের মূল পয়েন্টটি হ'ল মাইক্রোসফ্ট ইন্টার্ন - একটি সহজ এক্সটেনসিবল ম্যানেজড সি # সংকলক তৈরি করে। এই দলটি আরও সহজেই কার্যকর করতে এবং নতুন ভাষার বৈশিষ্ট্যগুলি ব্যবহার করে দেখতে পারেন। এছাড়াও নতুন অপ্টিমাইজেশন অ্যালগরিদমগুলি কার্যকর করা সহজ হয়ে যাবে।
JustAnotherUserYouMayKnowOrNN

1
হ্যাঁ পেনফোল্ড - আমার সন্দেহ হয় আপনি হয়ত কিছু জিনিস মিস করেছেন। আপনি চ্যানেল 9 এ ডাস্টিন ক্যাম্পবেলসের সাক্ষাত্কারটি দেখেছেন? চ্যানেল 9.msdn.com/Events/Ch9Live/…
জেমস

3
এটি মাইক্রোসফ্ট পণ্যগুলিতে সফল / লাভজনক অ্যাড-অন বিকাশের ঝুঁকি, তারা এটি পরবর্তী সংস্করণে রাখতে পারেন।
জেফো

10
এছাড়াও, আপনি নিশ্চিত হতে পারেন যে রিসার্পারের পিছনে লোকেরা প্লাগ ইন করতে পারে এমন অতিরিক্ত কার্যকারিতা সম্পর্কে তাদের চিন্তাভাবনাগুলিতে নিজেকে ভেজাচ্ছে Yes প্রকৃত এমএস সি # ইঞ্জিন।
বাইনারি ওয়ারিয়ার

2
রোজলিনের একটি আকর্ষণীয় ব্যবহারের জন্য স্ক্রিপ্টগুলি দেখুন। github.com/scriptcs/scriptcs
অ্যাশলে ডেভিস

উত্তর:


53

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

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

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

  • রানটাইমের সময় লোড করা, সংকলিত এবং "প্যারেন্ট" অ্যাপ্লিকেশনটির প্রয়োগের অন্তর্ভুক্ত থাকা প্লাগইন ফাইল রয়েছে।
  • একটি ডিএসএল তৈরি করা যা পরে রানটাইমে সি # তে অনুবাদ হয় এবং রোজলিন ব্যবহার করে সংকলিত হয়।
  • প্রোগ্রামার-ভিত্তিক অ্যাপ্লিকেশন তৈরি করা যা সি # নেয়, এটি বিশ্লেষণ করে, অনুবাদ করে ইত্যাদি takes
  • সংকলনের পরে তাদের পার্থক্যের জন্য দুই অংশের কোডের তুলনা করা, যেমন "সাদা" জায়গার মতো কেবল "পৃষ্ঠ" পার্থক্যের বিপরীতে। এটি সিমেন্টিক ডিফ হিসাবে পরিচিত ।

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


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

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

@Penfold সবসময় নতুন ডেভেলপার টুলস জন্য রুম আছে ... :-)
RationalGeek

1
সিমেন্টিক ডিফ কেবল সংকলনের উদ্দেশ্যে নয়। প্রতিটি সংস্করণ নিয়ন্ত্রণ সিস্টেমের একটি আলাদা প্রয়োজন, এবং বেশিরভাগ বোকা ডিফ ব্যবহার করে।
সবেমাত্র

এখানে একটি বড়টি: ওয়েব অ্যাপটি পুনর্নির্মাণ ও পুনরায় প্রচারের ছাড়াই ASP.NET অ্যাপ্লিকেশনগুলি লেখার সময় স্বয়ংক্রিয় পুনঃসংকলন। পরিশেষে এএসপি.এনইটিভিএনেক্সট-এ ঘোষণা করা হয়েছে, এটি সি # তে একটি স্ক্রিপ্টিং ভাষার মতোই কাজ করবে ... এটি উভয় প্রকারভেদ এবং পারফরম্যান্ট বাদে # আমি এটিকে এই সাধারণ পদ্ধতির একেবারে সূচনা হিসাবে দেখছি, শেষ পর্যন্ত ধনী-ক্লায়েন্ট অ্যাপ্লিকেশনগুলিতে (মোবাইল, ডেস্কটপ) প্রবেশ করবে যাতে আপনি রানটাইমে আপনার কোডটি পরিবর্তন করতে পারেন। সংজ্ঞা অনুসারে প্রতিটি অনুরোধ রাষ্ট্রহীন - ওয়েব অ্যাপ্লিকেশনগুলির সাথে এটি অনেক সহজ but তবে সময় মতো এটি অন্যান্য অ্যাপ্লিকেশন আর্কিটেকচারেও প্রবেশ করবে।
Marchy

12

আমি নিশ্চিত যে সংস্থাগুলি যে সরঞ্জামাদি সরবরাহ করে (যেমন, জেটব্রেইনস *) রোজলিনের প্রতি খুব আগ্রহী। মাইক্রোসফ্ট টুলিং তৈরি করা সহজ করতে চায়, কারণ ভাল সরঞ্জামটি মাইক্রোসফ্টের ইকোসিস্টেমের ব্যবহারকে উত্সাহ দেয়।

* জেটব্রেইনস ব্লগ ( এই প্রবেশ ) অনুযায়ী, জেটব্রায়ানস ঘোষণা করেছে যে তারা রোজলিন ব্যবহার করবে না using তবে, আমি কল্পনা করি যে জেটব্রেইনসের যে কোনও নতুন প্রতিযোগী (যাদের কাজ করার জন্য পূর্ব-বিদ্যমান কোডবাস নেই) রোজলিন ব্যবহার করবেন; এটি তাদের একটি প্রধান সূচনা দেয়।

10 টি প্রশ্নের 6 টি প্রশ্ন, রোজলিনের 10 টি উত্তর :

:: রোজলিনের ব্যবহারিক কিছু ব্যবহার কী? এটি কীভাবে আমাকে বিকাশকারী হিসাবে সহায়তা করবে?

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

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

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


4
"অ্যাপ্লিকেশনটির মতো একই ভাষায় লিখিত ব্যবহারকারী ম্যাক্রোগুলি বিকাশকারীদের পক্ষে ব্যবসায়ের বিধিগুলির প্রতিনিধিত্বকারী ব্যবহারকারী ম্যাক্রোগুলিকে সমর্থন করা সহজ করবে" " - সম্ভাব্য ভুল গুলো কী কী হতে পারতো!
gbjbaanb

9

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

আমি একটি জীবিকার জন্য সংকলক লিখি। আমার গ্রাহকরা CaaS এ বিক্রি হয় কারণ এটি দুর্দান্ত নমনীয়তা, বহনযোগ্যতা এবং বিশ্লেষণের দ্বার উন্মুক্ত করে।

আমি সত্যিই হতাশ হয়েছি যে মাইক্রোসফ্ট দীর্ঘদিন আগে CaaS প্রয়োগ করে নি। উদাহরণস্বরূপ, এটি VB6 এর অন্য কোনও কিছুর কাছে বা।। নেট +++ এ স্থানান্তর পথ হিসাবে ব্যবহৃত হতে পারে।


1

এমএসএফটি কেন রোজলিনে বিনিয়োগ করছে তার সহজ উত্তর হ'ল সি # সংকলকের জন্য তাদের বিদ্যমান কোডবেস এখন 5 সংস্করণ পুরানো - এখন 11 বছর। যে কোনও কোডবেস ব্যবস্থাপনার জন্য এটি দীর্ঘ সময়। এছাড়াও, যেহেতু তারা পুনর্লিখন করছে, তাই তারা এটিতে বিনিয়োগ করার সিদ্ধান্ত নিয়েছে যাতে এর অভ্যন্তরীণ সমস্তগুলি API এর হিসাবে প্রকাশিত হয়।

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