প্রোগ্রামিং ভাষাতে আকর্ষণীয় বা অনন্য প্রকারের? [বন্ধ]


20

আমরা সকলেই দেখেছি পূর্ণসংখ্যার, ভাসমান পয়েন্ট, স্ট্রিং এবং মাঝে মাঝে দশমিক প্রকার। আপনি সবচেয়ে কার্যকর বা অনন্য বা দরকারী ধরণের সম্মুখীন হয়েছিলেন, দরকারী বা না?


হাই ইউজার 10008, প্রোগ্রামার্স.এসই তে স্বাগতম! আপনি কি আমাদের প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী পরীক্ষা করে দেখেছেন ? কোনটি ছয় বিষয়ী নির্দেশিকা আপনি কি মনে করেন আপনার প্রশ্নের পূরণ করে না?

4
কেউ লিস্পের জন্য এন্ট্রি লিখতে চান?
সি সি

আমি ভেবেছিলাম এটি একটি ডুপ হতে পারে, তবে কেবলমাত্র আমার উত্তরটি দ্বৈত হয়ে থাকত, তাই আমি একটি লিঙ্ক পোস্ট করব এবং সম্ভবত আপনি কিছু ভাল উত্তর খুঁজে পাবেন: প্রোগ্রামার্স.স্ট্যাকেক্সেঞ্জঞ্জ
পিটার টার্নার

@ মার্ক: আমি চেষ্টা করেছিলাম, তবে টাইপগুলি সম্ভবত লিপ্প সম্পর্কে সবচেয়ে মজার বিষয়।
ল্যারি কোলম্যান

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

উত্তর:


18

আমি ছোট হব:

Maybe a

হাস্কেলে

এই সহজ নির্মাণের সাহায্যে, ভাষা ক্র্যাশগুলির সমস্যা সমাধান করে বা NullPointerExceptionএটি খুব সুন্দরভাবে টনি হোয়ের "ওয়ান মিলিয়ন ভুল" এর পাশ কাটিয়েছে :)

স্পষ্টভাবে, একটি ileচ্ছিক উপস্থিতি সংকলন সময়ে পরীক্ষা করা হয়েছে? এটি স্বপ্নের মতো ...


1
বা অপশন যেমন এটি অন্যান্য অনেক প্রোগ্রামিং ভাষায় বলা হয়।
জোনাস

@ জোনাস: আমার অবশ্যই Optionনামটি পছন্দ করতে হবে তা স্বীকার করতে হবে । কেন না Optional! এটি হতে পারে কারণ আমি কোনও স্থানীয় বক্তা নই, তবে আমার Optionকাছে "alচ্ছিক" অর্থটি প্রকাশ করে না।
ম্যাথিউ এম।

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

Maybeরুবির জন্য একটি মোনাড রয়েছে: লস্টেচিজস
জেসন লুইস

15

আমি বহুবার্ষিকভাবে পছন্দ করি void *। এটি সম্ভবত আমার মধ্যে গভীরভাবে ত্রুটিযুক্ত কোনও কিছুর লক্ষণ।


2
হ্যাঁ. আমি ভীত যে ঠিক এটি কি। :) ওহ, "অনন্য" এর চেয়ে "আকর্ষণীয়" জন্য +1 করুন। অবজেক্টিভ-সি স্পষ্টতই আছে void *এবং পাস্কল / ডেলফি আছে Pointer
ফ্রাঙ্ক শায়ারার

হাহা আরও একটি নন টাইপ, তবে আপনি তর্ক করতে পারবেন না যে এটি শক্তিশালী নয়
user10008

15
আমি প্রকাশিত সহজাত হতাশাবাদকে কেবল ভালোবাসি: 'আপনি কি সেই জিনিসটি সেখানে দেখতে পাচ্ছেন?' 'হ্যাঁ, এটা কী?', 'ধারণা নেই।'
বাইজিক্লপ

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

এ কারণেই প্যাস্কালে "পয়েন্টার" জেনেরিক পয়েন্টার বোঝাতে ব্যবহৃত হয় এবং "পদ্ধতি" দিয়ে বিভ্রান্ত হয় না।
umlcat

14

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

সারণীর প্রতিটি সূচী যে কোনও মূল ভাষার কাঠামো (সংখ্যা, বুলিয়ান, স্ট্রিং, ফাংশন-চোখ, ফাংশনগুলি লুয়া - এবং টেবিলগুলিতে প্রকারভেদ) পেতে পারে।


নোট করুন কীভাবে জাভাস্ক্রিপ্টটি খুব অনুরূপভাবে তৈরি করা হয়েছে এবং পাইথনটি একই ভিত্তিতে নির্মিত হয়েছে, সম্ভবত এটি রুবি।
9000

আমি মনে করি পার্ল এবং পিএইচপি এও সম্ভব, হ্যাঁ?
হতাশাহীন

লুয়ার টেবিল এবং অন্যান্য ভাষায় হ্যাশ পাত্রে পার্থক্য রয়েছে। লুয়া হ্যাশ মানগুলি যেভাবে বিতরণ করে তার টেবিলগুলি প্রায় magন্দ্রজালিকভাবে এমনভাবে কাজ করে তোলে তার মধ্যে একটি সূক্ষ্ম বাস্তবায়ন পার্থক্য রয়েছে। আমি বেশিরভাগ অজগরে প্রোগ্রাম করি এবং উপলক্ষে লুয়ায় টেবিলগুলি যেভাবে কাজ করবে সে সম্পর্কে আমার প্রত্যাশার ভিত্তিতে আমি অনুমানগুলি ব্যবহার করি না বলে মনে করি। এই ম্যাজিকটির একটি নির্দিষ্ট উদাহরণ হ'ল তাদের কাছে পূর্ণসংখ্যার হ্যাশ + ১। এর অর্থ হল যে পূর্ণসংখ্যার কীগুলি ঘনত্বপূর্ণভাবে প্যাক করা থাকে এবং +0.0 এবং -0.0-তে একই হ্যাশ থাকে (তারা সমান)
সিঙ্গেল নেজেশনএলিমিনেশন


8

লিস্পের দুটি আকর্ষণীয় প্রকার রয়েছে: tএবং nil। তাদের সম্পর্কে আকর্ষণীয় বিষয় হ'ল সবকিছু একটি tএবং কিছুই হ'ল না nil


আপনি গুরুতর? আমি যে জানি না।
সি

কি nilএকটি t?
জন হ্যারোপ


6

ফোর্টরানের সাধারণ ব্লক রয়েছে; এটি আধুনিক ভাষাগুলির মধ্যে অন্যতম একটি সাধারণ ডেটা, বা দক্ষতার সাথে ডেটা ভাগ করে নেওয়ার একটি অস্বাভাবিক উপায়।

ফোর্টরান 95 এর অন্তর অন্তর্নির্মিত ধরণের এবং অন্তর্নির্মিত বিরতি গণিত রয়েছে।

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


আহ, ইউনিডাটা / ইউনিবার্সি ডিবিগুলির অভ্যন্তরীণ ভাষাতে (ইউএনবিসিক) খুব সাধারণ ব্লক রয়েছে।
ড্যান ম্যাকগ্রা

একটি সাধারণ ব্লক কি কোডের একটি ব্লক যা প্রোগ্রামের বিভিন্ন অংশ দ্বারা ব্যবহৃত হয়?
সি সি

1
@ মার্কসি আইআইআরসি এটির মূলত বিশ্বব্যাপী ডেটা, তবে প্রতিটি ফাংশন যা অ্যাক্সেস করে তা স্পষ্টভাবে বলতে হয় এটি শীর্ষে চলেছে
জে কে।

5

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

এটি ডাটাবেসে একাধিক পরিবর্তনশীল বৈশিষ্ট্যগুলিকে একটি হাওয়া বাছাই করে তোলে: ডি


4

আমি এটা সত্যিই শুধুমাত্র অদ্ভুত একটি শাস্ত্রীয় আর্কিটেকচারের উপর প্রোগ্রামিং থেকে আসছে অনুমান, কিন্তু অবশ্যই কঠিন ধরনের কেউ আমায় আমার মাথার চারপাশে প্রথমে মোড়ানো ছিল কোয়ান্টাম রেজিস্টার , যা শো আপ QCL


3

পিএল / এসকিউএল আপনাকে প্রকারের ভেরিয়েবলগুলি ঘোষণা করতে দেয় my_table.some_column%type... আমি দেখতে পেয়েছি যে এটি বেশ জঘন্য।

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


4
তবে cursor%rowtypeএটি আরও মজাদার: এটি একটি গতিশীলভাবে তৈরি রেকর্ড টাইপ যা কার্সারের কোয়েরিটি কলামগুলিতে প্রত্যাবর্তন করে তা প্রতিফলিত করে।
9000

.NET "নলেবল" আসলে নিজের মধ্যে একটি (জেনেরিক) টাইপ।
কোনামিমন

3

আমি যখন ছোট ছিলাম তখন ইউফোরিয়ার ডেটা টাইপের জন্য আমার হৃদয়ে একটি নরম জায়গা ছিল

এটি যেমন গঠিত হয়:

Object
-> Atom
-> Sequence
  • পরমাণু = একটি একক সংখ্যার মান
  • সিকোয়েন্স = অবজেক্টের ক্রম

    -- examples of atoms:
    
    0
    98.6
    -1e6
    
    -- examples of sequences:
    
    {2, 3, 5, 7, 11, 13, 17, 19}
    {1, 2, {3, 3, 3}, 4, {5, {6}}}
    {{"jon", "smith"}, 52389, 97.25}
    {}                        -- the 0-element sequence
    

    দেখুন: রেফ ম্যানুয়াল

দ্রষ্টব্য: "জন" আসলে ASCII মানগুলির ক্রম লেখার একটি ছোট্ট উপায়। যেমন "ABCDEFG"হিসাবে একই{65, 66, 67, 68, 69, 70, 71}


7
এটি এলআইএসপি-এর মতো অনুভব করে ...
হতাশাগ্রস্ত

প্রকৃত ডেটা ধরণের একমাত্র বিট।
ড্যান ম্যাকগ্রা

1
@ ফ্রাস্ট্রেটেড উইথফোর্ডস একই কথা, আমি ভেবেছিলাম, "আরে, তিনি বলেছিলেন, 'পরমাণু'! এটি দেখতে এ (ক) লিপ্প তবে অপ্রয়োজনীয় বিভাজক সহ।: পি
মার্ক সি

3

ফেলিক্সের বেনামে যোগফল রয়েছে। টাইপটি এমনভাবে লেখা:

typedef il = int + long;

এটি তত্ত্ব হিসাবে হবে। মানগুলি কুৎসিত:

case 0 of il (1)
case 1 of il (2L)

সম্ভবত একটি ইউনিট যোগ ব্যতীত 3 = 1 + 1 + 1

case 0 of 3
case 1 of 3 

যা দুর্ভাগ্যক্রমে "সি সামঞ্জস্য" এর জন্য শূন্য উত্স গণনা ব্যবহার করে। কাঠামোগত টাইপযুক্ত বীজগণিত ধরণের জন্য বেনামে যোগফলগুলি প্রয়োজনীয়, উদাহরণস্বরূপ:

(1 + T * li) as li

টি-এর একটি (এককভাবে সংযুক্ত) তালিকা, আমি নামমাত্র টাইপড পরিমাণের বিষয়ে জানি অন্য সমস্ত ভাষাগুলি, যেখানে নিজেই টাইপ এবং কনস্ট্রাক্টর উভয়েরই নাম দিতে হবে।

উপরে ব্যবহৃত শর্টহ্যান্ড 3টি দুর্দান্ত, নিম্নলিখিতটি গ্রন্থাগারে রয়েছে:

typedef void = 0;
typedef unit = 1;
typedef bool = 2;

এবং এই স্বরলিপি:

 T ^ 3

স্থির দৈর্ঘ্য 3 এর অ্যারে .. 3 একটি পূর্ণসংখ্যা নয় 3 টি ইউনিটের যোগফল। কত দুঃখজনক বিষয় সাহসী নয় :)


2

q / kdb + এর মধ্যে অন্তর্নির্মিত টেবিল রয়েছে। এটি যেহেতু এটি একটি প্রোগ্রামিং ভাষা এবং একের মধ্যে কলাম-ভিত্তিক ডাটাবেস, তাই লিনকিউ বা ওআরএমের দরকার নেই।

উদাহরণস্বরূপ, এটির মতো একটি সারণী তৈরি করতে পারেন ( বেশিরভাগ ভাষার :চেয়ে অ্যাসাইনমেন্টটি আলাদা করা হয় =):

people:([]name:`Joe`Amy`Sarah; age:17 15 18; GPA:3.5 3.8 3.33)

এখন আমি আমার টেবিলটি দেখতে পারি:

q)show people
name  age GPA 
--------------
Joe   17  3.5 
Amy   15  3.8 
Sarah 18  3.33

এবং আমি এটি জিজ্ঞাসা করতে পারেন:

q)select from people where GPA>3.4
name age GPA
------------
Joe  17  3.5
Amy  15  3.8

2

আমি প্রথম ইউনিয়নটি সি ++ এ পেয়েছি যখন তাদের সম্পর্কে প্রথম শুনলাম তখন 'কৌতূহলপূর্ণ' হতে পারি। আমি এখনও এমন দৃশ্যে পৌঁছুতে পারি নি যেখানে তারা বাস্তবায়নের সুস্পষ্ট পছন্দ।


3
ইউনিয়ন সি থেকে এসেছিল একটি ভাল উদাহরণ পিএইচপি মধ্যে zval কাঠামো।
মার্টিন উইকম্যান

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

@ggambett: আমি আমার জেড 80 প্রোগ্রামের জন্য ঠিক একই কাজ করেছি! কেবলমাত্র আমি এফ রেজিস্টারটিতে পৃথক পতাকা অ্যাক্সেস করার জন্য একটি বিটফিল্ড যুক্ত করেছি।
কোনামিমন

2

মাল্টি-প্যারামিটার ফাংশনটি F # এবং অন্যান্য কার্যকরী ভাষায় কী হয়ে যায় তার চারপাশে আমি এখনও আমার মাথা গুটিয়ে দেওয়ার চেষ্টা করছি। মূলত ইন্ট এফ (ফু, বার) ফানক এফ (ফু) হয়ে যায়

এটি দুটি পরামিতি ফাংশন যা একটি ফু এবং একটি বার নেয় এবং একটি পূর্বাবস্থায় ফিরে আসে আসলে একটি প্যারামিটার ফাংশন যা একটি ফু নেয় এবং একটি প্যারামিটার ফাংশন দেয় যা একটি বার নেয় এবং কোন পূর্বে ফিরে আসে। তবে আপনি যদি চান তবে দুটি পরামিতি সহ এটি কল করতে পারেন। আমি এটি সম্পর্কে এখানে একটি পোস্ট লিখেছিলাম


8
বরং, একটি ফাংশন f(Foo, Bar)ফাংশন হিসাবে একই f(Foo)আরেকটি ফাংশনটি যে f'(Bar)যা মান কত ফেরৎ f(Foo, Bar)ফিরে আসবে। এটি হ'ল যদি আপনি 'ফু' যুক্তিটি ঠিক করেন তবে 'বার' নয়, আপনার একটি ফাংশন রয়েছে যা 'ফু' উপর নির্ভর করে না তবে এখনও 'বার' যুক্তির উপর নির্ভর করে। এটি কার্যকরী ভাষার জন্য সাধারণ; একে বলা হয় 'কারিটিং'।
9000

2

নিয়মিত অভিব্যক্তি:

এগুলি অত্যন্ত শক্তিশালী তবুও কমপ্যাক্ট অবজেক্ট।
যে ভাষাগুলি এগুলি তৈরি করেছে সেগুলির পাঠ্যগুলি ম্যানিপুলেট করার দুর্দান্ত ক্ষমতা রয়েছে (পার্স শব্দটি শুনতে পাবে না তারা এতো ভাল নয়)।


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


@ মার্ক সি: শীর্ষের উত্তরটি রয়েছে (৪৩২০ ভোটে রেকর্ড ভঙ্গ করে)। আপনি পারবেন না
মার্টিন ইয়র্ক

হ্যাঁ, এটি হাস্যরসের জন্য ছিল। আমি যখন ম্যাথিউয়ের মন্তব্য পড়ি তখন এটি মনে পড়ে যায়।
সি সি

2

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

এগুলি দরকারী, যদিও এগুলি পৃথক প্রকারের। যেহেতু আপনি স্পষ্টভাবে এক unityক্য প্রকার থেকে অন্য unityক্য প্রকারে রূপান্তর করতে পারবেন না, তাই আপনি খুব দক্ষ এবং অভিব্যক্তিক উপায়ে কাজ করার জন্য স্থিতিশীল প্রকারের পরীক্ষা করতে পারেন।

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

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

NULLUnityক্যের অন্যান্য আকর্ষণীয় উদাহরণগুলি বর্গ এবং undefinedজাভাস্ক্রিপ্টে অন্তর্ভুক্ত , তবে voidসি বা সি ++ এ নয়। voidব্যর্থ। যদিও এটি কোনও তথ্যের মান বর্ণনা করে তবে কোনও প্রকৃত মান টাইপ হতে পারে না void


আমি মনে করি আপনি "ইউনিট টাইপ" বলতে চাইছেন।
জেসন বাকের

2

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


ও (1) কী তুলনার জন্য মানচিত্রের কী হিসাবেও।
জেরেমি হিলার

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

1

ব্যবসায়িক কাজে ব্যবহৃত এক বিশেষ ধরনের কম্পিউটার ভাষা। মূলত মাত্র দুটি মৌলিক ডেটা টাইপ, স্ট্রিং এবং সংখ্যা, তবে আপনাকে সেটিকে ঠিক কীভাবে মেমোরিতে রেখে দেওয়া হয়েছে তা নির্দিষ্ট করতে হবে , যেমন PIC S9(5)V99 COMP-3


আমি এটা মারতে পারি। বিসিপিএলের একটি ডাটা টাইপ রয়েছে - শব্দ; দেখতে en.wikipedia.org/wiki/BCPL
স্টিফেন সি

বিভিন্ন ধরণের সংখ্যা রয়েছে (COMP, COMP-1, COMP-2, COMP-3)
ডেভিড থর্নলি

ভয়াবহ শোনাচ্ছে। আপনি কি এই বিবরণগুলির অর্থ ব্যাখ্যা করতে পারেন?
সি সি

S= স্বাক্ষরিত, 9(5)= 5 টি সংখ্যা, V= অন্তর্ভুক্ত দশমিক বিন্দু, 99= 2 আরও সংখ্যা, COMP-3= বিসিডি + চিহ্ন নিবিবল।
dan04

1

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


0

ভিএইচডিএল শারীরিক প্রকারের আছে। এই জাতীয় ধরণের আক্ষরিকের মধ্যে একটি মান এবং একক উভয়ই থাকে। আপনি পাশাপাশি subunits সংজ্ঞায়িত করতে পারেন। উদাহরণস্বরূপ, একটি পূর্বনির্ধারিত শারীরিক ধরণ হ'ল time:

type time is range <machine dependant> to <machine dependant> 
units
  fs;
  ps = 1000 fs;
  ns = 1000 ps;
  us = 1000 ns;
  Ms = 1000 us;
  sec = 1000 ms;
  min = 60 sec;
  hr = 60 min;
end units;

অপারেটর ওভারলোডিংয়ের সাথে একসাথে আপনি খুব আকর্ষণীয় জিনিস সংজ্ঞায়িত করতে পারেন।


0

Clojure আকর্ষণীয় কারণ এটি "বিমূর্ত" একটি মেটা ধারণা ধারণ করে যা ভাষাটি বিস্তৃত করে। উদাহরণ:

  • সংগ্রহগুলি
  • সিকোয়েন্সস (অলস এবং অলস)
  • উচ্চতর আদেশ ক্রিয়াকলাপ
  • Multimethods
  • প্রোটোকল
  • পরিচালিত রেফারেন্স
  • ম্যাক্রো
  • বিভিন্ন অন্য .....

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

উদাহরণস্বরূপ, যদি আপনি উত্তরাধিকার সহ কোনও শ্রেণিভিত্তিক ওওপি সিস্টেম চান, আপনি তুলনামূলকভাবে দ্রুত এই মূল বিমূর্ততাগুলির মধ্যে একটি তৈরি করতে পারেন।

অনুশীলনে, বিমূর্তিগুলি নিজেই এমনভাবে ডিজাইন করা হয় যে একাধিক বাস্তবায়ন সম্ভব হয়, যেমন ক্লোজার.আলং এর মতো নির্দিষ্ট ইন্টারফেসের মাধ্যমে sequ

এই বিষয় সম্পর্কে একটি আকর্ষণীয় ভিডিও আছে: অ্যাবস্ট্রাকশন আর্ট


0

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


0

গুগলস গোতে একটি "চ্যানেল" টাইপ রয়েছে যা বেশ অনন্য।


1
চ্যানেলগুলি অনন্য নয়। অনেক ভাষা তাদের আছে। গুগলের অস্তিত্বের 10 বছর পূর্বে ফেলিক্স তাদের রেখেছিল :) ওকলম তাদের কাছে ফেলিক্সের অস্তিত্বের 10 বছর আগে ছিল had
Yttrill

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