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