গতিশীল ভাষার IDEs - আপনি কতদূর পেতে পারেন?


56

আইডিইগুলি তাদের স্থিতিশীল অংশগুলিতে আপনাকে দেবে এমন পরিপূরণ এবং অন্যান্য সম্পদের অভাবের ফলে গতিময় ভাষাগুলি যে বিকাশের গতি বর্ধন করবে তা হতাশার সাথে আমি খুঁজে পাই।

এটি কেবল কম টাইপ করা নয় - এটি সম্পাদকের সাথে সংহত না এমন ডকুমেন্টেশনকে ক্রমাগত উল্লেখ না করেই আপনি API ব্রাউজ করার মাধ্যমে উত্পাদনশীলতা বৃদ্ধি এবং সহজ মজা পান।

সমস্ত আইডিই + ডায়নামিক ভাষার সংমিশ্রণগুলি - যা সঠিক হতে হবে তা এতটা নয়- আমি চেষ্টা করেছি:

  • বগী
  • ধীর
  • ক্লুলেস / অভারেন্টুসিস্টিক (যতদূর সম্ভব সমস্ত পরিপূর্ণতা দেখানো হিসাবে)
  • বা কেবল বলা হয়, গ্রহন + জাভা এর মতো সম্পূর্ণ নয়।

আমি সচেতন যে গতিশীল কোড বিশ্লেষণ একটি তুচ্ছ কাজ নয়। তবে কেউ ভাবতে সহায়তা করতে পারে না - কোডের এই টুকরাটি কি এতোটাই কঠিন ?

সুতরাং আমার প্রশ্নটি হ'ল:

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


30
+1 প্রত্যেকটি পিএইচপি আইডিই আমি চেষ্টা করেছি ভিজ্যুয়াল স্টুডিও + সি # / সি ++ এর তুলনায় কেবল ভয়াবহ।
মাতাজ জাবস্কি

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

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

ইন্টেলিজ আইডিইএ, বা জেটব্রাইনগুলির যে কোনও ভাষা নির্দিষ্ট আইডিই।
sylvanaar

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

উত্তর:


21

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

এস। লট বলেছেন যে "গতিশীল ভাষাগুলিতে একই ধরণের কোড সমাপ্তি থাকতে পারে না যা স্থির ভাষাগুলি করে। এটি মূলত অসম্ভব।"

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

অবশ্যই ফেরো এবং সিকিয়াক সম্প্রদায়গুলি তাদের কোড সমাপ্তির সরঞ্জামগুলিতে খুব খুশি ।


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

16

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

স্থির ভাষার পিছনে আজ গতিশীল ভাষা রয়েছে। কিন্তু কেন?

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

আমি মনে করি আইডিইগুলির বৈশিষ্ট্যগুলি গতিযুক্ত টাইপ করা ভাষায় কম দরকারী are জাভা বা অবজেক্টিভ-সি-তে কাজ করার সময়, আমি অনুভব করি যে ভাষাটি নিয়ে কাজ করতে আমাকে সাহায্য করার জন্য আইডিই প্রয়োজনীয়, তবে গতিশীল ভাষার ক্ষেত্রে এটি একই নয় true

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


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

13
I think that the features for IDEs are less useful in dynamically typed languages- মজার, আমি ঠিক বিপরীত মনে করি। যেহেতু এতগুলি গতিশীল ভাষাগুলির আগে আপনাকে ভেরিয়েবলগুলি ঘোষণা করার প্রয়োজন হয় না , একটি ভেরিয়েবলের ভুল বানান একটি গুরুতর উদ্বেগ ... একটি উদ্বেগ যা একটি ভাল আইডিই দ্বারা হ্রাস করা। এদিকে, বাকী প্রধান বৈশিষ্ট্যগুলি - সিনট্যাক্স কালারিং, রিফ্যাক্টরিং সরঞ্জাম, ডিবাগিং বৈশিষ্ট্য - সমস্ত ভাষায় সমানভাবে কার্যকর ।
ব্লুরাজা - ড্যানি পিফ্লুঘুফুট

2
@ উইনস্টন: তারপরে আপনি একাধিক ব্যক্তির সাথে অ-ঘোষণামূলক ভাষায় কোনও প্রকল্প কখনও করেননি :) বিশেষত বিরক্তিজনক যখন ভাষাটি কেস-সংবেদনশীল। ব্যক্তিগত অভিজ্ঞতা থেকে উদাহরণ: "ওয়ার্ক-অর্ডার" শব্দটি মাঝে মধ্যে একটি শব্দ হিসাবে ব্যবহৃত হয় ("ওয়ার্কর্ডার"), সুতরাং ভেরিয়েবল তৈরি করার সময়, কিছু লোক লিখবে workOrderএবং কিছু লিখবে workorder। এগুলি পাইথনের দুটি পৃথক ভেরিয়েবল> _ <
ব্লুরাজা - ড্যানি প্লেফুঘুফুট

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

2
"অনেক কোডার এই মুহুর্তে তাদের মন পরিবর্তন করেছেন।" কেন?
পাব্বি

10

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

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

  • প্যাথোজেন
  • দড়ি, পাইফ্লেকস এবং পাইডোক একীকরণের জন্য পাইথন-মোড
  • পাইথন ডিবাগারের জন্য ভিম্পডিবি
  • একটি প্রকল্পে ফাইলের তালিকা জন্য প্রকল্প
  • ট্যাগ জাম্পিং জন্য ট্যাগলিস্ট
  • ট্যাব-সমাপ্তির জন্য সুপারট্যাব
  • স্নিপেটের জন্য স্নিপমেট
  • একটি সমন্বিত শেলের জন্য কনক্টের্ম, হয় কমান্ড প্রম্পট, ব্যাশ, পাইথন বা আইপথন

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


4

কোনও নির্দিষ্ট আইডিই (বা কম-ইন-ওয়ান সেটআপগুলি) গতিশীল ভাষার জন্য সম্পূর্ণ অসামান্য সমর্থন অর্জন করেছে,

আপনার মূল্যায়নের বিষয়টি বিবেচনা করে বোঝা শক্ত ("সম্পূর্ণ অসামান্য"? "ক্লুলেস / ওভারেন্টুসিস্টিক"?)) সন্দেহজনক যে কোনও আইডিই অন্তর্নিহিত মানটির সাথে মেলে।

তীব্রভাবে Eclipse + জাভা এর সাথে তুলনা করা নিরীহ কারণ গতিময় ভাষা জাভা নয়।

বা এটি এখনও একটি 'অমীমাংসিত' সমস্যা?

বেশ না।

এটি সম্ভবত অলসযোগ্য। আপনার প্রয়োজনীয়তা ("সম্পূর্ণকরণ এবং অন্যান্য সম্পদের অভাব") আরও সুনির্দিষ্ট হওয়া কঠিন করে তোলে।

গতিশীল ভাষাগুলিতে একই ধরণের কোড সমাপ্তি থাকতে পারে না যা স্থির ভাষাগুলি করে। এটি মূলত অসম্ভব।

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


3

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


আসলে ইয়েগের উপস্থাপনাটিই আমার প্রশ্নের মূল কারণ: যদি হিউরিস্টিকস এবং অন্যান্য বর্ণিত কৌশলগুলি থাকে তবে সমস্ত দুর্দান্ত বাস্তবায়ন কোথায়? ইন্টেলিজজে: আমার মূল পোস্টে আমি যে মন্তব্যটি রেখেছি তা দেখুন (এবং আমি ভুল কিনা তা আমাকে জানান)
Vemv

2014 - এখনও সেরা স্থিতিশীল আইডিইগুলির জন্য কোনও মিল নেই
ডেন

3

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


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

2

আমি খুঁজে পেয়েছি যে পাইথনের জন্য উইং আইডিই'র সমর্থন সত্যিই অসামান্য। কোড সমাপ্তির সাথে এটি একটি ভাল কাজ করে এবং এর ডিবাগারটি ভিজুয়াল স্টুডিওর মতো শক্তিশালী যেমন নন-ডাইনামিক সি # হয়।

আমি প্রমাণ করতে পারি যে এটি বগি, ধীর বা অজ্ঞান নয়। আমি কখনইग्रहণ ব্যবহার করিনি, সুতরাং আমি সেই বিষয়ে অজ্ঞ, তবে আমি মনে করি যে বৃহত্তর প্রশ্ন হ'ল গতিশীল ভাষার জন্য একটি সম্পূর্ণ এবং উত্পাদনশীলতা-বর্ধনশীল আইডিই বিকাশের ক্ষেত্রে অন্তর্নিহিত কিছু বাধা আছে কি? পাইথন এবং উইংয়ের সাথে আমার অভিজ্ঞতা দেওয়া, আমি বলতে আগ্রহী যে এটি হয় না। এটি অবশ্য আরও কঠিন।


2

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

মন্তব্যের জবাবে, এফ # একটি প্রোগ্রামিং ভাষা।

এফ # (উচ্চারিত এফ শার্প) একটি বহু-প্যারাডিম প্রোগ্রামিং ল্যাঙ্গুয়েজ, .NET ফ্রেমওয়ার্ককে লক্ষ্য করে, যা কার্যকরী প্রোগ্রামিংয়ের পাশাপাশি অপরিহার্য এবং অবজেক্ট-ভিত্তিক প্রোগ্রামিং শাখাকে অন্তর্ভুক্ত করে। এটি এমএলটির একটি বৈকল্পিক এবং ওসিএএমএল বাস্তবায়নের সাথে মূলত সামঞ্জস্যপূর্ণ।

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

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

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

আপনি দেখতে চাইতে পারেন: কোন প্রোগ্রামিং ভাষার গতিশীল হিসাবে যোগ্যতা অর্জন করে?


4
"এফ # [...] একটি গতিশীল ভাষা" বলতে আপনার অর্থ কি আপনি ব্যাখ্যা করতে পারেন এবং এটি কীভাবে আরও গতিশীল যে, সি # বলুন?
আর্সেনী মোরজেঙ্কো

1
দ্বিতীয়ত, আমি এফ # কে একটি গতিশীল ভাষা বিবেচনা করব না। মুরগি, সি # হতে পারে (এফ # এর সহজেই উপলব্ধ সমতুল্য কিনা তা আমি নিশ্চিত নই) এতক্ষণে dynamicবিল্ট-ইন থাকা "আরও গতিশীল" । তবে যেভাবেই হয় না, সাধারণত গতিশীলভাবে টাইপ করা হয় না এবং "গতিশীল ভাষাগুলির" সাথে সম্পর্কিত বেশিরভাগ অন্যান্য বৈশিষ্ট্য (সংস্কৃতি বিষয়গুলির উল্লেখ না করা) খুব অনুপস্থিত।

2

স্থিতিযুক্ত টাইপ করা ভাষা এবং গতিশীল টাইপ করা ভাষার মধ্যে প্রধান পার্থক্য হ'ল সংকলনের সময় প্রতীক রেফারেন্সটির অর্থ কী তা নিশ্চিতভাবে সিস্টেম জানতে পারে।

এটি সংকলনের সময় সংকলক দ্বারা উত্পন্ন তথ্য থেকে সরাসরি একটি ভাল আইডিই করতে আপনার প্রয়োজনীয় তথ্য সংগ্রহ করা সত্যিই সহজ করে তোলে (যা বেশিরভাগ অংশের জন্য "সম্পাদনা" সময়ের জন্য কেবল সরানো হয়)।

যদি আপনার একা একা পদ্ধতিতে স্বাক্ষর থাকে যা কেবলমাত্র বলে যে পদ্ধতিতে "জিনিস" লাগে তবে কীভাবে কোনও সম্পাদক আপনাকে কী পাঠাতে হয় তা জানতে সহায়তা করতে পারে? কীভাবে জিনিসটি ব্যবহার করার উপায়গুলি পরামর্শ দিতে সহায়তা করবে?

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

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

আপনার গতিময় সংকলকটির চেয়ে আরও বুদ্ধিমান কিছু দিয়ে আপনি পুরো কোডবেসটির সম্পূর্ণ স্ক্যান করতে না পারলে তথ্য কেবল গতিযুক্ত টাইপযুক্ত ভাষার সাথে সম্পর্কিত নয়।


1
"স্ট্যাটিক্যালি টাইপ করা ভাষা এবং গতিশীল টাইপ করা ভাষার মধ্যে প্রধান পার্থক্য হ'ল সিস্টেমটি নিশ্চিতভাবে জানতে পারে, সংকলনের সময় প্রতীকী রেফারেন্সটি কী বোঝায় what" - হ্যাঁ, তবে তা করার দরকার নেই। আইডিই যদি সংকলন সময়ের পরিবর্তে রানটাইম এ কাজ করে তবে সংকলনের সময় এই তথ্যটি জানা দরকার নেই। রানটাইমের সময় তথ্য পাওয়া যায়, অন্যথায় প্রোগ্রামটি চালানোও যায়নি।
Jörg ডব্লু মিত্তাগ

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

@ বিল্ক অনুশীলনে, আইডিই রানটাইমে ঠিকঠাক কাজ করে। আপনি যদি পরীক্ষার জন্য প্রথম কাজ করেন আপনার রান-টাইমটি আপনি যে প্রত্যাশাটি করছেন তা জানে। কিছুক্ষণের জন্য একটি ছোট্ট টাল চেষ্টা করুন।
স্টিফান এগগারমন্ট

0

কমপক্ষে পিএইচপি করার জন্য অনেক আইডিই এর মতো "বোঝে"

/** @var $foo ClassA **/

যদি আপনি একটি প্রমিত পদ্ধতিতে নথী করেন (এই ক্ষেত্রে phpDocamentor ) IDE এর বেশিরভাগ অংশ তৈরি করবে।


2
সুতরাং আপনি বলছেন যে আপনি যদি স্ট্যাটিকালি সংকলিত ভাষার জন্য যে সমস্ত টাইপ করতে হয় তার জন্য যদি আপনি টাইপ করতে চান তবে আপনি এটি সম্পর্কে একই তথ্য পেতে পারেন যা কোনও স্ট্যাটিকালি টাইপ করা ভাষার সাথে আপনি করতে পারেন - সত্য আমি মনে করি তবে কেন কেবল অতিরিক্ত পদক্ষেপটি এড়িয়ে যাবেন না এবং একটি স্ট্যাটিকালি টাইপ করা ভাষায় যান?
বিল কে

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

@ এ্যাকএনবি: প্রচুর "স্ট্যাটিক" ভাষাও স্বয়ংক্রিয়ভাবে ingালাই এবং টাইপ হ্রাস করতে দেয়। যেমন, সি ++, সি #, এবং এর মতো the
আরাফাঙ্গিয়ন

0

গতিশীল ভাষার জন্য সমস্ত আইডিই থেকে (যে ভাষাগুলি রানটাইমের সময় টাইপ সমাধান করে) সেগুলির মধ্যে অন্যতম সেরা ... পাইথনের জন্য ভিজ্যুয়াল স্টুডিও

  • ইন্টেলিসেন্সের জন্য বুলিং ধরণের তথ্য
  • ন্যাভিগেশন
  • Debuging

এটি চেষ্টা করার মতো মূল্য।


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