পুরানো প্রোগ্রামিং ভাষার সংশোধন করা অবিরত থাকবে কেন?


46

এই প্রশ্নটি নয়, "লোকেরা এখনও পুরানো প্রোগ্রামিং ভাষা ব্যবহার করে কেন?" আমি এটা বেশ ভালভাবে বুঝতে পারি। প্রকৃতপক্ষে আমি যে দুটি প্রোগ্রামিং ল্যাঙ্গুয়েজকে ভালভাবে জানি সেগুলি হ'ল সি এবং স্কিম, উভয়ই 70 এর দশকের।

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

টাইপসেটিং সিস্টেম টেক্স এর পদ্ধতির সাথে এটি বিপরীতে করুন। ১৯৮৯ সালে, টেক্স ৩.০ প্রকাশের সাথে সাথে ডোনাল্ড নুথ ঘোষণা করেছিলেন যে টেক্সটি ফিচার-সম্পূর্ণ এবং ভবিষ্যতে প্রকাশে কেবল বাগ ফিক্স থাকতে পারে। এমনকি এর বাইরেও তিনি জানিয়ে দিয়েছেন যে তাঁর মৃত্যুর পরে, "সমস্ত অবশিষ্ট ত্রুটি বৈশিষ্ট্যগুলিতে পরিণত হবে" এবং একেবারে আর কোনও আপডেট করা হবে না। অন্যরা কাঁটাচামচ টেক্সের জন্য নিখরচায় রয়েছে এবং এটি করেছে, তবে ফলাফল প্রাপ্ত সিস্টেমগুলি এই নামকরণ করা হয়েছে যে তারা সরকারী টেক্স থেকে আলাদা different এটি নয় কারণ নথ টেক্সকে নিখুঁত বলে মনে করেন, তবে কারণ তিনি একটি স্থিতিশীল, ভবিষ্যদ্বাণীযোগ্য সিস্টেমের মূল্য বোঝেন যা পঞ্চাশ বছরে একই কাজ করবে যা এখন তা করে।

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

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

এটি একটি আসল প্রশ্ন, তর্ক করার আমন্ত্রণ নয় not স্পষ্টতই আমি এ সম্পর্কে একটি মতামত আছে, কিন্তু এই মুহূর্তে আমি কেবল কেন এটি ইতিমধ্যে জিনিসগুলি সম্পন্ন হয় না তা বোঝার চেষ্টা করছি। আমি মনে করি প্রশ্নটি হ'ল:

কোনও ভাষার মান আপডেট করার (বাস্তব বা অনুভূত) সুবিধাগুলি কী কী, পুরানো ভিত্তিতে নতুন ভাষা তৈরির বিরোধিতা হিসাবে?


2
অনেক সংকলক স্যুইচ দিয়ে আহ্বান করা যেতে পারে যা পুরানো মানকে কার্যকর করে (যেমন, জিসিসির --std=xস্যুইচ), সুতরাং এটি এমন নয় যে পুরানো কোডটি অস্থিতিশীল করে এমন সরঞ্জামগুলিতে নতুন স্ট্যান্ডার্ডের ফলাফল তৈরি হয়।
blrfl

2
আপনি কীভাবে "পুরাতন উপর ভিত্তি করে একটি নতুন ভাষা" সংজ্ঞা দেন? আমি যুক্তি দেব যে ফোর্টরান 90 পুরানো এফ 77 এর উপর ভিত্তি করে একটি "নতুন ভাষা"। এটি আপনার প্রোগ্রামটি কীভাবে সম্পূর্ণ পরিবর্তন হয়েছে - ফিক্স বনাম ফ্রি সোর্স, ডায়নামিক বনাম স্ট্যাটিক মেমরি ইত্যাদি You আপনি এটিও যুক্তি দিতে পারেন যে ফোর্টরান 2003 হ'ল F90 এর উপর ভিত্তি করে একটি "নতুন ভাষা" - এটি F90 এর সাথে সামঞ্জস্য বজায় রেখে অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং যুক্ত করেছে। সি ++ এবং সি এর মধ্যে সম্পর্কের মতো শোনাচ্ছে
tpg2114

1
আমি মনে করি এই প্রশ্নটি খুব গুরুত্বপূর্ণ এবং কেন কেউ কেউ এটি বন্ধ করতে চান তা আমি বুঝতে পারি না। এটি একটি খুব আকর্ষণীয় ঘটনা যার সম্ভবত কিছু ব্যাখ্যা রয়েছে। কয়েক (20?) বছর আগে আমি ফোর্টরানের নতুন বৈশিষ্ট্যগুলি সম্পর্কে পড়ছিলাম এবং নিজেকে জিজ্ঞাসা করেছি: ফোর্টরান প্রোগ্রামারদের যদি এই বৈশিষ্টগুলির প্রয়োজন হয় তবে তারা কেবল সিটিতে স্যুইচ করেন না কেন? সাম্প্রতিককালে আমার সি ++ সংক্রান্ত একই ধারণা ছিল: সি ++ বিকাশকারীরা যদি ল্যাম্বডাস ব্যবহার করতে চান তবে ওসিএএমএল ( linux-nantes.org/~fmonnier/ocaml/ocaml-wrapping-c.php ) এ স্যুইচ করবেন না কেন ? তারা কেন নতুন ভাষা তৈরি করতে পছন্দ করে এবং এখনও এটিকে সি ++ বলে?
জর্জিও

3
@ tpg2114 (ফরট্রান 77:: ফোর্টরান ৯০) এবং (সি: সি ++) এর মধ্যে পার্থক্যটি হ'ল ফোর্টরান ৯০ ফোরট্রান supers 77 কে ছাড়িয়ে গেছে বলে মনে করা হয়, যেখানে লোকদের বলা হয়, "আপনি যদি ফোর্টরান শিখতে চান তবে ফোর্টরান 2003 শিখুন বা কমপক্ষে 90, কারণ এখন এটি স্ট্যান্ডার্ড। " কেউ এমন কিছু বলতে চাইবে না, "আপনি যদি সি শিখতে চান তবে সি ++ শিখুন কারণ এটিই নতুন মান," কারণ এগুলি দুটি ভিন্ন ভাষা হিসাবে উপস্থাপিত হয়েছে। যেমনটি আমি বলেছি, অর্থের পরিণতি রয়েছে।

6
সি কখনও মারা যায় না
অ্যাডেল

উত্তর:


13

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

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

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

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

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

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

বিঃদ্রঃ

কিছু উত্তর এবং মন্তব্য থেকে আমি বুঝতে পারি যে কিছু পাঠক এই প্রশ্নের ব্যাখ্যা করেছেন "প্রোগ্রামিংয়ের ভাষা কেন বিকশিত হওয়া দরকার"।

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


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

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

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

1
ভাষাগুলি মারা যায় না, কেবল সেই প্রোগ্রামাররা এটি ব্যবহার করে।
ইভান প্লেইস

@ সুনাভাটার: এমন সম্প্রদায়গুলিও রয়েছে যা আলাদা নীতি অনুসরণ করার চেষ্টা করে: একটি নাম একটি ভাষা চিহ্নিত করে এবং সম্প্রদায়ের কোনও অংশ যদি একটি উপভাষা তৈরি করে যা খুব বেশি বিচ্যুত হয় তবে বিভ্রান্তি এড়াতে তারা একটি নতুন নাম ব্যবহার করে। উদাহরণস্বরূপ র‌্যাকেট-lang.org/new-name.html
জর্জিও

21

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

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

নূথ যতদূর যান, মনে রাখবেন তিনি একজন শিক্ষানবিস এবং টেক্সটি শুধুমাত্র সঠিক প্রমাণিত, আপডেট হয়নি।


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

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

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

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

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

5

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


সুতরাং যদি "যথেষ্ট লোকেরা পুরানো ভাষাগুলির প্রতি যত্নশীল হন", তবে আপনি কি বলবেন যে আপনার উত্তরটিকে "বিদ্যমান ভাষার প্রতি সংবেদনশীল সংযুক্তি" হিসাবে পুনঃব্যবস্থা করা যেতে পারে? আমি এটুকু বলছি না, কেবল আপনার উত্তরটি বোঝার চেষ্টা করছি।
অব্নার শাহর-কাশতান

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

1

সাধারণ উদ্দেশ্যে ভাষা প্রায়শই নির্মিত মৌলিক ধারণা বা লক্ষ্যগুলি প্রাসঙ্গিকতা হারাবে না; তবে কাজের পরিবেশ বা হার্ডওয়্যারের সামান্য পরিবর্তনগুলি একটি ভাষাতে আপডেট বা ছোট বৈশিষ্ট্য যুক্ত করার দাবি করে।

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

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


1
দ্বিতীয় অনুচ্ছেদে আপনি যে পরিবর্তনগুলি বর্ণনা করছেন তা বেশ আপত্তিজনক (যার দ্বারা আমি বোঝাতে চাইছি যে আমি কেবল আপত্তি করি না, তবে কেউ গুরুত্ব সহকারে আপত্তিও জানাতে পারে না)। ল্যাম্বডাসের ক্ষেত্রে, আমি সি ++ তে তাদের দরকারীতার বিষয়ে মন্তব্য করতে পারি না, তবে অ্যালগোরিদমগুলি প্রকাশ করার উপায়টি পরিবর্তন না করে কেন তাদের যুক্ত করা বিরক্ত করবেন ?

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

"ল্যাম্বডাসের ক্ষেত্রে, আমি সি ++ তে তাদের দরকারীতার বিষয়ে মন্তব্য করতে পারি না, তবে অ্যালগরিদমগুলি প্রকাশের উপায়টি পরিবর্তন না করে কেন তাদের যুক্ত করা কেন বিরক্ত করব?": আমি আরও আরও এগিয়ে যাচ্ছি: কেন কোনও ভাষায় স্যুইচ করার পরিবর্তে সেগুলিকে সি ++ এ যুক্ত করা যায় না যে? তাদের শুরু থেকেই আছে?
জর্জিও

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

@ মাইক: "ক্যাশে বৈশিষ্ট্যগুলি" বলতে কী বোঝ?
জর্জিও

-2

এটি কিছুটা কথ্য ভাষার বিবেচনার মতো।

অতীতে সেখানে যে শব্দগুলি এখন ব্যবহৃত হয় ততবার ব্যবহৃত হত না (বা অন্য অর্থের জন্য ব্যবহৃত হয়েছিল)।

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

খারাপ: খুব বেশিদিন আগে খারাপের একমাত্র অর্থ ছিল, এখন এর অর্থ এমন কিছু হতে পারে যা "সুপার আশ্চর্যজনক" (এটি একটি উত্সাহী উপায়ে ব্যবহার করা হয় (আমি সম্ভবত বানানটিকে খুব মিস করি))!

আর একটি নতুন বিকাশ হ'ল লিখিত ভাষার জন্য মোবাইল ফোন 'টেক্সট স্পিক'।

আমি ব্যক্তিগতভাবে দেখতে পাই না কেন প্রোগ্রামিং ভাষা একইভাবে বিকশিত হচ্ছে না, শব্দ এবং ফানকিশনের নির্দিষ্ট অর্থ / ক্রিয়া রয়েছে এবং নতুন ধারণা, নতুন পদ্ধতি অন্তর্ভুক্ত করার জন্য এটির পরিবর্তন প্রয়োজন change

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

আমি জানি না এমন প্রোগ্রামার আছে কিনা যাদের একইরকম অভিজ্ঞতা রয়েছে, আমি থাকলে হতবাক হব না।

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

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

যাইহোক যে এই আমার গ্রহণ।


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