একাডেমিক সিএস বিশ্বে "টাইপযুক্ত" এর অর্থ কি "গতিশীল টাইপড"?


166

আমি একটি স্লাইড ডেক পড়ছি যা জানিয়েছে যে "জাভাস্ক্রিপ্টটি টাইপযুক্ত নয়"। আমি যা সত্য বলে মনে করেছি তা এর বিপরীতে তাই আমি আরও চেষ্টা করার জন্য খনন শুরু করলাম।

জাভাস্ক্রিপ্টের প্রতিটি উত্তর কি একটি টাইপযুক্ত ভাষা? বলছেন যে জাভাস্ক্রিপ্ট হয় না যে ভাবেই যান ছিল না স্ট্যাটিক, ডায়নামিক, দৃঢ়, এবং দুর্বল টাইপিং বিভিন্ন ধরনের untyped এবং প্রদত্ত উদাহরণ যে আমি পরিচিত এবং খুশি .. তাই।

তাই আমি জাভাস্ক্রিপ্টের নির্মাতা ব্রেন্ডন আইচকে জিজ্ঞাসা করেছি এবং তিনি বলেছেন:

একাডেমিক প্রকারগুলি "স্ট্যাটিক প্রকার নয়" মানে "অবিরতবিহীন" ব্যবহার করে। মানগুলি ধরণের (ডু!) রয়েছে তা দেখতে তারা যথেষ্ট স্মার্ট। প্রসঙ্গ বিষয়।

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

আমি এটিকে নখ করতে চাই যাতে আমি আমার বোঝাপড়ার উন্নতি করতে পারি এবং কারণ উইকিপিডিয়াও এই বিকল্প ব্যবহারটি উল্লেখ করে না (যা আমি খুঁজে পেতে পারি)। আমি যদি ভুল হয়ে থাকি তবে এই শব্দটি ব্যবহার করে বা ভবিষ্যতে এই শব্দটির ব্যবহার নিয়ে প্রশ্নবিদ্ধ করতে চাই না :-)

(আমি একজন শীর্ষস্থানীয় স্মলথারকেও দেখেছি যে স্মলটালকটিও "টাইপড" নয়, তাই এটি একদমই নয় যা আমাকে এই অনুসন্ধানে সরিয়ে দিয়েছে! :-))


5
অন্যের নামকরণের অপব্যবহার আপনার অভ্যাসকে আকার দিতে হবে না - কেবল (আরও) সঠিক বাক্যাংশটি ব্যবহার করুন। পড়ার জন্য আপনাকে অবশ্যই বিষয়টি সচেতন করতে হবে, স্পষ্টতই।
রাফেল

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


1
এছাড়াও (কম্পিউটারের ভাষাগুলির চেয়ে আবার প্রাকৃতিক ভাষা সম্পর্কে আরও বেশি কিছু বলা হচ্ছে) "আনটাইপড" = "একক টাইপযুক্ত" (সমস্ত মানের জন্য এক প্রকার)
ফিলিপ্সি

উত্তর:


148

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

"ডায়নামিক টাইপিং" পরিভাষাটি অনেক পরে উদ্ভাবিত হয়েছিল - এবং এটি "টাইপ" শব্দের সাধারণ গাণিতিক ব্যবহারের ক্ষেত্রে পদগুলির মধ্যে একটি বৈপরীত্য।

উদাহরণস্বরূপ, এখানে "টাইপ সিস্টেম" এর সংজ্ঞা দেওয়া হয়েছে যা বেঞ্জামিন পিয়ার্স তার প্রমিত পাঠ্য বইয়ের ধরণ এবং প্রোগ্রামিং ভাষাতে ব্যবহার করেন :

একটি ধরণের সিস্টেম হ'ল তাদের গণনার মানগুলি অনুসারে বাক্যগুলিকে শ্রেণিবদ্ধ করে কিছু প্রোগ্রাম আচরণের অনুপস্থিতি প্রমাণের জন্য একটি ট্র্যাকটেবল সিনট্যাকটিক পদ্ধতি।

তিনি মন্তব্য করেছেন:

"স্থিতিশীল" শব্দটি মাঝে মাঝে স্পষ্টভাবে যুক্ত হয় - আমরা একটি "স্ট্যাটিকালি টাইপড প্রোগ্রামিং ভাষা" বলি, উদাহরণস্বরূপ - সংকলন-কালীন বিশ্লেষণগুলির বিভিন্ন প্রকারের মধ্যে আলাদা করার জন্য আমরা এখানে ভাষাগুলিতে প্রাপ্ত গতিশীল বা সুপ্ত টাইপিং থেকে বিবেচনা করছি as স্কিম (সুসমান এবং স্টিল, 1975; কেলসি, ক্লিঞ্জার এবং রিস, 1998; ডাইবিভিগ, 1996), যেখানে রান-টাইম টাইপ ট্যাগগুলি স্তূপের ডি-এরিয়েন্ট ধরণের কাঠামোর পার্থক্য করতে ব্যবহৃত হয়। "ডাইনামিকালি টাইপড" এর মতো পদগুলি যুক্তিযুক্ত ভুল ব্যবহারকারী এবং সম্ভবত "গতিশীল পরীক্ষা করা" দ্বারা প্রতিস্থাপন করা উচিত, তবে ব্যবহারটি মানসম্মত।

ক্ষেত্রের কাজ করা বেশিরভাগ লোক এই দৃষ্টিকোণটি ভাগ করে নিচ্ছেন।

দ্রষ্টব্য যে এর অর্থ এই নয় যে "টাইপযুক্ত" এবং "গতিশীল টাইপ করা" সমার্থক শব্দ। বরং, পূর্ববর্তীটি পূর্বের একটি বিশেষ মামলার (প্রযুক্তিগতভাবে বিভ্রান্তিকর) নাম।

পিএস: এবং এফডাব্লুআইডাব্লু, আমি টাইপ সিস্টেমে একাডেমিক গবেষক এবং জাভাস্ক্রিপ্টের একটি নন-একাডেমিক প্রয়োগকারী হতে পেরেছি, তাই আমাকে স্কিজমার সাথে থাকতে হবে। :)


5
এটা তোলে হয় খুব সহায়ক এবং এমনকি এটি কিছু ইতিহাস প্রদানের পরিপ্রেক্ষিতে আমার প্রিয় উত্তর হতে পারে।
পিটার কুপার

2
@ পিটারকুপার বিটিডব্লিউ আপনি জানতে আগ্রহী হতে পারেন যে আনুষ্ঠানিক শব্দার্থবিদ্যার একটি বড় শাখা টাইপড ল্যাম্বদা ক্যালকুলিতে পূর্বাভাস দেওয়া হয়েছে (হা পাং); যেমন মন্টগো সেমেন্টিকস। তবে একটি ঘোষিত, নন-জেনারেটরি সিস্টেম হিসাবে আমি ব্যক্তিগতভাবে সর্বদা মন্টগো সেমেন্টিক্সের মতো প্রোগ্রামিংগুলিতে প্রোগ্রামিং ভাষায় টাইপ করা থেকে বিরত রেখেছি।
জ্ঞাততত্ত্ব

+1 টি। "[dynamically typed] is a (technically misleading) name for a particular case of [untyped]"
স্টিভ

1
"প্রকার" এর ইতিহাস সম্পর্কে এটি পুরোপুরি সঠিক নয়। ল্যাম্বডা-ক্যালকুলাসে চার্চের কাজের চেয়ে তারা আরও পুরানো। রাসেল সেট তত্ত্বের নির্মাণে প্যারাডক্সটিকে এড়াতে প্রকারের ব্যবহার করেছিলেন।
স্যাম টোবিন-হচস্টাড্ট

1
@ সামটোবিন-হচস্টাড্ট, হ্যাঁ, ঠিক আছে। আমি কেবল ইতিহাসের সেই অংশের কথা বলেছিলাম যা সরাসরি পিএলগুলির ভিত্তি নিয়ে উদ্বেগ প্রকাশ করে। আমি স্পষ্ট করব।
আন্দ্রেয়াস রসবার্গ

68

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

বব হার্পার এই কথা বলতে পছন্দ করেন যে স্কিম, জাভাস্ক্রিপ্ট ইত্যাদির মতো ভাষাগুলি কেবল একটি একক প্রকার: মান সহ টাইপিত ভাষা হিসাবে বিবেচনা করা উচিত। আমি এই দৃষ্টিভঙ্গির প্রতি ঝুঁকেছি, কারণ এটি কেবলমাত্র এক ধরণের ফর্মালিজম ব্যবহার করে একটি সামঞ্জস্যপূর্ণ বিশ্বদর্শন নির্মাণ করা সম্ভব করে তোলে।

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

পিপিএস মূল পোস্টারে: যখন প্রোগ্রামিং ভাষা এবং বিশেষত টাইপ সিস্টেমের কথা আসে, উইকিপিডিয়ায় তথ্যগুলি নিম্নমানের হয়। এটি বিশ্বাস করবেন না।


12
আমি মনে করি সিএসে একটি বিস্তৃত সমস্যা আছে (একাডেমিয়া সহ) নামগুলি কঠোর সংজ্ঞা ছাড়াই ব্যবহৃত হয়। এটি গণিত এবং (সর্বাধিক?) বিজ্ঞানের সম্পূর্ণ বিপরীতে। বিপুল সংখ্যক বিরোধ (যেমন ওওপি সম্পর্কে) সঠিক সংজ্ঞাটির অভাব থেকে উদ্ভূত হয়েছে। খুবই বিরক্তিকর.
কনরাড রুডল্ফ

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

4
@ নরম্যান, আমি অবাক হয়েছি আপনি এটিকে অপব্যবহার বলেছিলেন - যেমন আপনি জানেন যে, টাইপের ধারণাটি তথাকথিত গতিময় টাইপ করা ভাষাগুলি কয়েক দশক আগে থেকেই প্রচার করে, এবং আধুনিক নামটির "প্রকার" এর সাথে পূর্বের সাথে সামান্য সম্পর্ক নেই। সুতরাং আমি মনে করি এটি সঠিকভাবে বলা যায় যে অপব্যবহারটি অন্যভাবে রাউন্ড।
Andreas রসবার্গ

5
@ নরম্যান: প্রোগ্রামিং ভাষা এবং বিশেষত টাইপ সিস্টেমের কথা যদি আপনি উইকিপিডিয়ায় তথ্যটি নিম্নমানের বলে মনে করেন তবে এটিকে একা ছেড়ে রাখুন এবং এটি উন্নত করবেন না। (কেবল
ট্রোলিং

3
@ জিওম আমি উইকিপিডিয়াকে উন্নত করার দিনটি যেদিন বুঝতে পেরেছিলাম যে দক্ষতা নয়, উইকিপিডিয়ান প্রক্রিয়া পুরষ্কারগুলি পরিবর্তন করে । আমার সময়টি SO :-) উন্নত করার জন্য আরও ভাল সময় কাটাচ্ছে
নরম্যান রামসে

43

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

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

[ লিঙ্ক ] (দ্রষ্টব্য: মূলত সাহসী হওয়া) এবং ঠিক "এভাবে" টাইপযুক্ত "ব্যবহার করতে চলেছে।

আমি এটি অবাক করে দিয়েছি (আফ্রিচস্ক এবং আদম মিহালসিন যে একই কারণে দিয়েছেন) তবে আপনি সেখানে আছেন there :-)


যুক্ত করতে সম্পাদিত:"untyped languages" গুগল বুক অনুসন্ধানে প্লাগ ইন করে আপনি আরও উদাহরণগুলি সন্ধান করতে পারেন । উদাহরণ স্বরূপ:

[…] এটি প্রাথমিক তথ্য-গোপন করার পদ্ধতিটি অনেকগুলি টাইপযুক্ত ভাষা। উদাহরণস্বরূপ, পিএলটি স্কিম [4] উত্পাদক ব্যবহার করে struct, […]

- জ্যাকব ম্যাথিউস এবং অমল আহমেদ, ২০০৮ [ লিংক ]

[…], আমরা একটি টাইপযুক্ত কার্যকরী ভাষার জন্য একটি বাধ্যতামূলক-সময় বিশ্লেষণ উপস্থাপন করি […]। […] এটি বাস্তবায়িত হয়েছে এবং স্কিমের পার্শ্ব-প্রতিক্রিয়া মুক্ত উপভাষার জন্য একটি আংশিক মূল্যায়নকারীতে ব্যবহৃত হয়। বিশ্লেষণ যথেষ্ট সাধারণ, তবে, হাস্কেলের মতো অ-কঠোর টাইপযুক্ত কার্যকরী ভাষার জন্য বৈধ হতে পারে। [...]

- চার্লস কনসেল, 1990 [ লিঙ্ক ]

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

অনুসন্ধানটি যা বলে না , তা হ'ল এমন গবেষক রয়েছে কিনা যারা এই পরিচয়টি প্রত্যাখ্যান করেছেন এবং এই ভাষাগুলিগুলিকে "টাইপযুক্ত" হিসাবে বিবেচনা করবেন না । ভাল, আমি এটি খুঁজে পেয়েছি:

আমি তখন বুঝতে পারি যে আসলে কোনও বৃত্তাকারতা নেই, কারণ গতিশীলভাবে টাইপ করা ভাষাগুলি টাইপ করা ভাষা নয় - এটি কেবলমাত্র প্রোগ্রামের পাঠ্য থেকে প্রকারের সাথে সাথে স্পষ্ট হয় না।

- কেউ (আমি কে বলতে পারি না), 1998 [ লিঙ্ক ]

তবে স্পষ্টতই বেশিরভাগ লোক যারা এই পরিচয় প্রত্যাখ্যান করে তারা স্পষ্টভাবে এটি বলার প্রয়োজন বোধ করবে না।


2
কি দারুন. জঘন্য. তথ্যের জন্য ধন্যবাদ।
আফ্রিচকে

হুবহু আমি উদ্ধৃত করার ধরণটি খুঁজছিলাম, ধন্যবাদ! কিন্ডা আমাকে ভয় পান যে বইটিতে অ্যামাজনে গড়ে 2 টি তারকা রয়েছে যদিও আরও উত্সাহাবলি স্বাগত জানিয়েছে, তবে এটি দুর্দান্ত শুরু।
পিটার কুপার

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

"ডায়নামিকালি টাইপড" এর সাথে বিভ্রান্ত "টাইপযুক্ত" অযৌক্তিক। বিকাশকারীদের অযৌক্তিক হওয়া উচিত নয়।
রটম্যান

10

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

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


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

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

একাডেমিয়ার বাইরের লোকদের জন্য কেবল যুক্ত করতে চেয়েছিলেন: সমাবেশের মতো জিনিসগুলিও টাইপযুক্ত হিসাবে গণ্য হবে।
কফি টেবিলস্প্রেসো

6

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

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

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


5
আমি মনে করি মূল পার্থক্যটি মান এবং ভেরিয়েবলের মধ্যে নয় , তবে মান এবং এক্সপ্রেশনগুলির মধ্যে : একটি স্ট্যাটিকালি-টাইপিত ভাষায়, এক্সপ্রেশনগুলির বিভিন্ন ধরণের থাকে, তবে গতিশীল টাইপযুক্ত ভাষায়, কেবল মান থাকে। (পরিবর্তনশীল-নামগুলি অবশ্যই এক ধরণের অভিব্যক্তি))
রুখ

4

এই প্রশ্নটি সমস্ত শব্দার্থবিজ্ঞান সম্পর্কে

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

যদি আমি আপনাকে একটি কাল্পনিক ভাষা দিই যা আপনাকে এই ডেটা এবং "সংযুক্তি" এর মতো অপারেটরগুলি ব্যবহার করতে দেয় এবং "ডেটা" টাইপের কিছু স্বেচ্ছাসেবী কিছুটা অপ্রাসঙ্গিক (আমার কাল্পনিক ভাষায়) (উদাহরণস্বরূপ) : সম্ভবত add(12, a)ফলন 109যা এর চেয়ে 12বেশি আসকি মান a)।

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

তবে - এবং ব্রেন্ডনের বক্তব্যটি গ্রহণ করা - যদি আমি আপনাকে বলেছিলাম যে "আমার বয়স 12" - তবে 12একটি প্রকার আছে - কমপক্ষে আমরা জানি এটি সংখ্যাসূচক। প্রসঙ্গের সাথে ভাষা নির্বিশেষে সব কিছুরই এক ধরণ রয়েছে।

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

শুরুতে আমার উদাহরণটিতে ফিরে আসা - এমন একটি ভাষা যা "প্রকারের বিষয়ে চিন্তা করে না" (প্রতি সে-সে) আপনাকে সিন্ট্যাক্স ত্রুটি তৈরি না করেই "" একটি "বয়স" এবং "নাম" যুক্ত করতে দেয় ... তবে তা এর অর্থ এই নয় যে এটি যৌক্তিকরূপে কার্যকর অপারেশন।

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

একটি সিস্টেম / ভাষা যা সংকলন / বিল্ড / ব্যাখ্যার সময় "টাইপযুক্ত" বা "গতিশীল টাইপড" টাইপ সুরক্ষা প্রয়োগ করে না?

শব্দার্থবিদ্যা।

সম্পাদনা

আমি এখানে কিছু যুক্ত করতে চেয়েছিলাম কারণ কিছু লোক "হ্যাঁ, তবে জাভাস্ক্রিপ্টের কিছু" প্রকার "রয়েছে বলে মনে হচ্ছে।

অন্য কারও জবাব সম্পর্কে আমার মন্তব্যে আমি বলেছিলাম:

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

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

সি # এর সাথে একই ক্রিয়াকলাপটি সম্পাদন করতে, উদাহরণস্বরূপ, আমি একটি ইন্টারফেস ICreatureWithArmsবা অন্য কিছু অনুরূপ দরকার হয়েছিল। জাভাস্ক্রিপ্টে তেমন নয় - সি বা এএসএম তেমন নয়।

স্পষ্টতই, জাভাস্ক্রিপ্টে "প্রকারের" আদৌ কোনও বোঝাপড়া আছে কিনা তা অপ্রাসঙ্গিক।


4
-1। প্রশ্নটি জিজ্ঞাসা করে যে কোনও নির্দিষ্ট শব্দটি নির্দিষ্ট বৃত্তে একটি নির্দিষ্ট অর্থ সহ ব্যবহৃত হয়, এবং আপনার প্রতিক্রিয়াটি বোঝাতে হবে যে এটি শব্দের অর্থ আছে কিনা তা একটি প্রশ্ন? সত্যিই, আমি মনে করি আপনি কোনও নতুন কিছু যুক্ত না করেই ওপি ইতিমধ্যে জানে বলে মনে হয়েছে এমন সমস্ত কিছু ব্যাখ্যা করার জন্য একটি প্রশংসনীয় কাজ করেছেন। । ।
রুখ

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

@রুখ - আমি আপনার দৃষ্টিভঙ্গি বুঝতে পারি যাইহোক, ওপি জিজ্ঞাসা করেছিল: is there something deeper to this that I am missingএবং, আমি মনে করি, এটি বুঝতে পারার ব্যর্থতা হ'ল এটি একটি সিনেমিক সমস্যাটি গভীরতর বিষয় - তাই আমি যতটুকু টিডবিট করতে পারব তাতে চিপ করার জন্য যথাসাধ্য চেষ্টা করেছি।
স্টিভ

@ পিটারকুপার - আমার সম্পাদনা দেখুন এবং তা আপনার জন্য কিছু যুক্ত করে কিনা তা আমাকে বলুন (যেহেতু আপনি JavaScript has typesআপনার জবাবে বলেছিলেন )।
স্টিভ

2
'স্পষ্টতই, জাভাস্ক্রিপ্টে "প্রকারের" আদৌ কোনও বোঝাপড়া আছে কিনা তা অপ্রাসঙ্গিক।' সত্য না. আমি আমার উত্তরে যেমন ইঙ্গিত দিয়েছিলাম, প্রসঙ্গ যাই হোক না কেন, আপনি 12 কে একটি ফাংশন হিসাবে বিবেচনা করতে পারবেন না। যেহেতু জাভাস্ক্রিপ্টের কোনও ফাংশনের ধরণ রয়েছে (বা আপনার দৃষ্টিভঙ্গির উপর নির্ভর করে একাধিক ফাংশনের ধরণ), এটি একটি গুরুত্বপূর্ণ পার্থক্য।
অ্যাডাম মিহলসিন

4

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

আমি সেখানে 3 ধরণের [এসআইসি] ভাষা হিসাবে বিবেচনা করি:

শিরোনামহীন - কেবল অপারেটর মানটির ব্যাখ্যা নির্ধারণ করে - এবং এটি সাধারণত যে কোনও বিষয়ে কাজ করে। উদাহরণ: এসেমব্লার, বিসিপিএল

স্ট্যাটিকালি টাইপ করা - এক্সপ্রেশন / ভেরিয়েবলের সাথে তাদের সাথে প্রকারের সম্পর্ক রয়েছে এবং এই টাইপটি সংকলন-সময় অপারেটরের ব্যাখ্যা / বৈধতা নির্ধারণ করে। উদাহরণ: সি, জাভা, সি ++, এমএল, হাস্কেল

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

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

এগুলির সমস্তই অযৌক্তিক দাবির দিকে পরিচালিত করে, যেমন সি ++ পাইথনের চেয়ে নিরাপদ কারণ এটি (স্ট্যাটিকালি টাইপড), তবে সত্যটি সত্য যে পাইথন অভ্যন্তরীণভাবে নিরাপদ যখন আপনি সি ++ দিয়ে আপনার পা ছাঁটাই করতে পারেন।


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

সম্মত। (1) "সমস্ত গতিশীল টাইপযুক্ত ভাষা টাইপ-সেফ হয়" তা জানতে পেরে আনন্দিত, তবে জাভাস্ক্রিপ্টটি গতিশীল টাইপযুক্ত এবং দুর্বল টাইপযুক্ত , স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 64৪ .৯১০ / দেখুন দেখুন । (২) "তবে স্ট্যাটিক্যালি টাইপ করা ভাষার ক্ষেত্রেও এটি একই নয়", আপনি কি বোঝাতে চেয়েছেন যে সমস্ত বা বেশিরভাগ স্ট্যাটিক্যালি টাইপ করা ভাষা টাইপ-অনিরাপদ?
টিম

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

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

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

2

আমি কোনও কম্পিউটার বিজ্ঞানী নই, তবে আমি বরং অবাক হব যদি সিএস সম্প্রদায়ের (অন্তত বৈজ্ঞানিক প্রকাশনাতে) "গতিময় টাইপড" এর প্রতিশব্দ হিসাবে "টাইপড" ব্যবহার করা হত তবে এই দুটি শব্দই বিভিন্ন ধারণার বর্ণনা দেয় describe একটি গতিশীল টাইপ করা ভাষার বিভিন্ন ধরণের ধারণা থাকে এবং এটি রানটাইমের সময় টাইপের সীমাবদ্ধতাগুলি প্রয়োগ করে (উদাহরণস্বরূপ আপনি ত্রুটি না পেয়ে লিস্পে একটি স্ট্রিং দ্বারা একটি পূর্ণসংখ্যকে বিভাজন করতে পারবেন না) অন্যদিকে টাইপ না করা ভাষাতে টাইপের কোনও ধারণা নেই all (যেমন এসেম্বলার)। এমনকি প্রোগ্রামিং ভাষাগুলি সম্পর্কে উইকিপিডিয়া নিবন্ধ (http://en.m.wikedia.org/wiki/Pramramming_language# টাইপড_ভারসাস_টিন্টাইপড_এলংয়েজস) এই পার্থক্য তৈরি করে।

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


1
এসেম্বলারের ধরণের কিছু খুব দুর্বল ধারণা রয়েছে। কমপক্ষে x86-এ, সবকিছুই একটি পূর্ণসংখ্যা, তবে কিছু পূর্ণসংখ্যা অন্যের থেকে আলাদা আকার। এটি এমএমএক্স, x87, এবং অন্যান্য এক্সটেনশানগুলিতে আসার আগে x x স্পেকের আগে
অ্যাডাম মিহালসিন

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

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

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

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

1

ব্রেন্ডনের সাথে একমত - প্রসঙ্গ সবকিছু everything

আমার গ্রহণ:

আমি মনে করি বিভ্রান্ত হয়ে পড়েছি, প্রায় 2004, কারণ রুবি টাইপড ছিল কিনা বা গতিশীলভাবে টাইপ করা হয়েছিল তা নিয়ে বিতর্ক তৈরি হয়েছিল। পুরাতন স্কুলের সি / সি ++ লোকেরা (যার মধ্যে আমি একজন ছিল) সংকলকটি সম্পর্কে চিন্তাভাবনা করছিল এবং বলছিল রুবিটি টাইপ করা হয়নি।

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

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

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

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

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