একটি সিস্টেম 100% ডেটা চালিত হতে পারে?


44

আমার নতুন বস বহু বছর ধরে এই প্রকল্পে কাজ করছেন। আমি এখানে কয়েক সপ্তাহ ছিলাম, তবে আমি নিশ্চিত নই যে এটি সম্ভব possible তিনি এমন একটি সিস্টেম ডিজাইন করতে চান যা "100% ডেটা চালিত"।

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

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

আমি জানি না আপনি কীভাবে ডেটা ব্যবহার করে যুক্তি সংজ্ঞায়িত করতে পারেন সিস্টেমটি এত জটিল হয়ে উঠছে না যে আপনি যেভাবেই প্রকৃত প্রোগ্রামিং করছেন।

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

যেমন একটি 100% ডেটা চালিত অ্যাপ্লিকেশন সম্ভব?


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

6
আমি মনে করি আপনাকে আরও নির্দিষ্ট উপায়ে 'ডেটা চালিত' বলতে আপনার অর্থ কী তা বোঝাতে হবে।
গ্র্যান্ডমাস্টারবি

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

20
অবশ্যই আপনি এটি করতে পারেন! ডেটা ফাইল সিস্টেমে জাভা উত্স ফাইল হিসাবে সংরক্ষণ করা হয়। আমরা কেবল সংকলন ও স্থাপন করি এবং আপনি সেখানে যান। 100% নমনীয়তা, 100% ডেটা চালিত।
জেরেমি স্টেইন 21

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

উত্তর:


46

আপনার বসকে এই টুকরোটি পড়তে হবে: খারাপ কারমা: "দৃষ্টি" প্রকল্প, অভ্যন্তরীণ প্ল্যাটফর্মের প্রভাব বা দ্বিতীয় সিস্টেমের প্রভাব সম্পর্কে একটি সতর্কতার কাহিনী tale

বিমূর্ত

আমরা যারা ইনফরমেশন টেকনোলজিতে (আইটি) কাজ করি তারা সকলেই এমন একটি প্রকল্পে এসেছি যেখানে গুরুত্বপূর্ণ কিছু ঠিক নয়। আমরা এটি জানি, বেশিরভাগই এটি জানেন, তবে কেউই দৃ nobody়প্রত্যয়কর উপায়ে সমস্যার দিকে তার আঙুলটি রাখতে পারেন না।

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

প্রকল্পটি 1990 এর দশকের গোড়ার দিকে ঘটেছিল এবং এটি একটি কাস্টম বিল্ট অর্ডার-এন্ট্রি এবং গ্রাহক-পরিষেবা অ্যাপ্লিকেশন ছিল, যা এখন গ্রাহক-সম্পর্ক ব্যবস্থাপনা বা সিআরএম হিসাবে উল্লেখ করা হয় তার সাথে সাদৃশ্যপূর্ণ। সিস্টেমের মূল কার্যকারিতা অন্তর্ভুক্ত:

  • অর্ডার প্রবেশ এবং তালিকা
  • গ্রাহক পরিষেবা, সহায়তা ডেস্ক
  • সাধারণ খাত্তর, গ্রহণযোগ্য, বিলিং এবং প্রাপ্য অ্যাকাউন্টগুলি accounts

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

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

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

আরো দেখুন

http://en.wikipedia.org/wiki/Inner-platform_effect


3
+1 অভ্যন্তরীণ-প্ল্যাটফর্ম প্রভাব। আমি মনে করি এই টিডিডব্লিউটিএফ এটি সুন্দরভাবে

4
মজার বিষয় যখন লোকেরা কিছুটা কোড লেখার ব্যয় পুরো প্ল্যাটফর্ম তৈরির চেয়ে অনেক কম দেখায় ব্যর্থ হয়।
bianfeucht

9
@ ব্রায়ানফুচ্ট: অসীম কনফিগারযোগ্য প্ল্যাটফর্মের ধারণাটি প্ররোচিত।
রবার্ট হার্ভে

1
অভ্যন্তরীণ প্ল্যাটফর্মের প্রভাবটি আমাকে গুয়ারা যেমন গুয়ারা লাইব্রেরিগুলির স্মরণ করিয়ে দেয়, যেখানে স্টেটমেন্টগুলি ব্যবহারের পরিবর্তে কোডটি প্রচুর প্রেডিকেট দৃষ্টান্তে পূর্ণ হয়। ঠিক ভয়ঙ্কর।
luke1985

3
@ রবার্টহার্ভে এবং মজাদার যতক্ষণ না আমাকে শেষ ব্যবহারকারীদের সমর্থন করতে হবে না;)
ব্রায়ানফুচট

17

উত্তর হ্যাঁ, একটি সম্পূর্ণ ডেটা-চালিত সিস্টেম তৈরি করা সম্ভব এবং হ্যাঁ, এটি সাধারণত খুব খারাপ ধারণা।

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

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

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

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

এটি করে আপনি প্রতিটি ফর্ম, রিপোর্ট, সারণী এবং এগুলি প্রয়োগ করতে প্রয়োজনীয় লেখার পরিমাণ হ্রাস করুন। সিস্টেমটি ডেটা-চালিত বলে মনে হয়, তবে কেবলমাত্র একটি বিন্দুতে।

এই মুহুর্তে আপনি সদ্য একটি নতুন 4GL প্রয়োগ করেছেন। আপনি যদি হন তবে এটি সফলভাবে করুন, দয়া করে আমাকে জানান। বেশিরভাগ মানুষ হতাশায় ব্যর্থ হন। আমি আপনার কৃতিত্বের জন্য আপনাকে অভিনন্দন জানাচ্ছি।


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

@ টনি: ধন্যবাদ এসএপির সাথে আমার প্রথম অভিজ্ঞতা নেই তবে আমি বুঝতে পারি যে এসএপি / আর 3 এবং এএবিপি এই বর্ণনার নিকটে আসে এবং যুদ্ধ-কাহিনীর একটি প্রধান জেনারেটর: কী ভুল এবং কতবার বাজেট ফুরিয়েছে। তবুও সংস্থাকে অর্থের স্তুপ করে তোলে।
ডেভিড.পিএফএক্স

এসএপির প্রথম হাতের অভিজ্ঞতা থাকা ব্যক্তি হিসাবে আমি কেবল মন্তব্য করতে চাই ... (কেউ কি এখন আমাকে আশ্রয়ের পথে দেখিয়ে দিতে পারেন?)
শায়েটি

6

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

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

আছে ভাল কারণ কেন আপনি সাধারণত শেষের ব্যবহারকারীদের সরাসরি একটি ভাষা রানটাইম প্রকাশ করবেন না তা। মুখ্যতা হ'ল নমনীয়তা অপসারণ করা সুবিধা বাড়ায়।

আমি যদি কোনও এসও পোস্ট টাইপ করতে চাই তবে আমি কেবল এটি টাইপ করতে চাই। আমি আউটপুট দেওয়ার পরিবর্তে সি ++ প্রোগ্রাম লেখার পক্ষে পুরোপুরি সক্ষম, তবে আমি কোনও ওয়েব ব্রাউজার ব্যবহার করব না যা নিয়মিত পাঠ্য বাক্সের পরিবর্তে সি ++ প্রোগ্রাম সম্পাদককে প্রকাশ করে। যে লোকেরা সি ++ জানেন না তারা কেবল ব্রাউজারটি ব্যবহার করবেন না, তারা পারেননি।

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

সুতরাং আপনি যদি 100% ডেটা-চালিত সিস্টেমে প্রবেশ করতে চলেছেন, যা সঠিক তথ্য প্রদানে যে কোনও কিছু করতে পারে, আপনার নিজের কাছে জিজ্ঞাসা করার জন্য দুটি প্রশ্ন রয়েছে:

  1. আমরা কি প্রোগ্রামিং ল্যাঙ্গুয়েজ উদ্ভাবনের ব্যবসায় করছি, না আমাদের হওয়া উচিত?
  2. আমাদের নতুন প্রোগ্রামিং ল্যাঙ্গুয়েজটি আমাদের ইতিমধ্যে থাকা ভাষাগুলির চেয়ে ভাল (আমাদের উদ্দেশ্যে) আরও ভাল হতে পারে এবং আমরা এটির প্রয়োজন হিসাবে এটি সমর্থন করব এবং বিকাশ করব?

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

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

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


ভাল করা. 100% ডেটা-চালিত সিস্টেমের নিকটতম জিনিসটি একটি প্রোগ্রামিং ভাষা language এবং আমাদের ইতিমধ্যে সেগুলি রয়েছে, সুতরাং এখন আমাদের কাজটি হ'ল পাঠ্য বিবৃতি আকারে তাদের একজনকে প্রকৃত তথ্য সরবরাহ করা, এটি বর্তমানে আমাদের প্রয়োজন প্রকৃত কার্যকারিতা সরবরাহ করার জন্য এটি পাওয়া।
আরবেরি ইউং

4

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

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

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


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

4

আপনি বলতে চাইছেন যে আপনার বস আপনি এটি লিখতে চান:

[
  {
    "statement": "Assignment ",
    "variable": "App",
    "value": {
      "type": "Function",
      "arguments": [],
      "function-body": [
        {}
      ]
    }
  },
  {
    "statement": "Assignment",
    "variable": "App.prototype.action",
    "value": {
      "type": "Function",
      "arguments": [
        "data"
      ],
      "function-body": [
        {
          "statement": "Call",
          "function-name": "console.log",
          "arguments": [
            "data"
          ]
        }
      ]
    }
  }
]

এটি তৈরি করতে:

var App = function () {};
App.prototype.action = function ( data ) {
    console.log( data );
}

প্রথমটি জেএসএন এবং দ্বিতীয়টি জাভাস্ক্রিপ্ট

Clearification

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

যেমন একটি 100% ডেটা চালিত অ্যাপ্লিকেশন সম্ভব?

এখানেই আমি সবে শুরু করেছি। আমার উত্তর দিয়ে আমি মূল পোস্টটির সাথে একমত হওয়ার চেষ্টা করছি যে: এটি সম্ভব, তবে আপনি সঠিক, এটি কোনও [সুস্পষ্ট] সুবিধার জন্য সমস্যাটিকে এক স্তর উচ্চতর স্থানান্তরিত করবে


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

@gnat মন্তব্যের জন্য ধন্যবাদ; আমি আমার উত্তর আপডেট করেছি, আরও স্পষ্ট করার চেষ্টা করছি। এটি এখনও যথেষ্ট পরিস্কার বলে মনে হচ্ছে না দয়া করে আমাকে জানান।
মাহদি

0

আপনি দৃ conv়তার সাথে তর্ক করতে পারেন, আমার ধারণা, যে কোনও ওয়েব ব্রাউজার অ্যাপ্লিকেশনটিকে 100% ডেটা চালিত 1 হিসাবে বিবেচনা করা যেতে পারে ।

অবশ্যই এটি ওয়েবে অ্যাপ্লিকেশন তৈরি করা সহজ বা সহজ করে না, বাস্তবে এটি তাদের আরও শক্ত করে তোলে।

আপনার বসকে বলুন যে তিনি ওয়েব ব্রাউজারটি পুনরায় উদ্ভাবন করছেন এবং যুক্তিযুক্ত জটিল কিছু তৈরি করতে তাকে শেষ পর্যন্ত জাভাস্ক্রিপ্ট পুনরায় উদ্ভাবন করতে হবে।

1 ভাল, আপনি যদি প্লাগইন, জাভাস্ক্রিপ্ট এবং এইচটিএমএল 5 উপেক্ষা করেন ।


-1

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

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

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


1
এই পোস্টটি পড়ার চেয়ে শক্ত (পাঠ্যের প্রাচীর)। আপনি এটিকে আরও ভাল আকারে সম্পাদনা করতে আপত্তি করবেন ?
gnat
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.