পটভূমি: আমি অস্টিনে একটি প্রারম্ভকালে ডেটা বিজ্ঞানী এবং আমি গ্রেড স্কুল (পদার্থবিজ্ঞান) থেকে এসেছি। ডেটা বিশ্লেষণের জন্য আমি পাইথনকে প্রতিদিন ব্যবহার করি তবে কিছুটা আর ব্যবহার করি। আমি সি # /। নেট এবং জাভাও (প্রায় প্রতিদিনের প্রায়) ব্যবহার করি, গ্রেড স্কুলে আমি সি ++ বেশি ব্যবহার করি।
আমি মনে করি যে সংখ্যার (ওভার আর) জন্য পাইথন ব্যবহারের মূল সমস্যাটি ব্যবহারকারী সম্প্রদায়ের আকার। যেহেতু ভাষাটি চিরকাল থেকেই চলেছে তাই প্রচুর লোক এমন কাজ করেছে যা আপনি সম্ভবত করতে চাইবেন। এর অর্থ হ'ল কোনও কঠিন সমস্যার মুখোমুখি হয়ে গেলে আপনি কেবল প্যাকেজটি ডাউনলোড করে কাজ করতে পারেন। এবং আর "কেবলমাত্র কাজ করে": আপনি এটিকে একটি ডেটাসেট দিন এবং এটি জানে যে সংক্ষিপ্ত পরিসংখ্যানগুলি দরকারী। আপনি এটির কিছু ফলাফল দিয়েছেন এবং আপনি কী প্লট চান তা এটি জানে। আপনি যে সমস্ত সাধারণ প্লট তৈরি করতে চান তা সেখানে রয়েছে, এমনকি কিছু চমত্কার রহস্যজনক বিষয় যা আপনাকে উইকিপিডিয়ায় সন্ধান করতে হবে। স্কিপি / নম্পি / পান্ডা / স্ট্যাটাসমডেলস ইত্যাদির মতো দুর্দান্ত। পাইথনের জন্য, তারা আর স্ট্যান্ডার্ড লাইব্রেরির স্তরে নেই।
আরথন ওভার আর এর প্রধান সুবিধা হ'ল এটি সি পরিবারের একটি আসল প্রোগ্রামিং ভাষা। এটি সহজেই স্কেল করে, সুতরাং আপনার স্যান্ডবক্সে যা কিছু আছে তা উত্পাদনে ব্যবহার করা যায় এটি অনুমেয়। পাইথনের অবজেক্ট ওরিয়েন্টেশন বেকড রয়েছে, আর এর বিপরীতে যেখানে এটি অনুধাবনের মতো মনে হয় (কারণ এটি)। পাইথন এছাড়াও খুব সুন্দরভাবে কাজ করে এমন অন্যান্য স্টাফ রয়েছে: থ্রেডিং এবং সমান্তরাল প্রক্রিয়াকরণ বেশ সহজ, আর আমি নিশ্চিত নই যে এটি আর এর ক্ষেত্রেও ছিল And এবং পাইথন শেখা আপনাকে একটি শক্তিশালী স্ক্রিপ্টিং সরঞ্জামও দেয়। পাইথনের জন্য সত্যিই ভাল (ফ্রি) আইডিই রয়েছে, আপনি যদি (100 ডলারেরও কম) দিতে ইচ্ছুক হন তবে আরও ভাল, এবং আমি নিশ্চিত নই যে এটি আর এর ক্ষেত্রে - আমার জানা একমাত্র আর আইডিই হ'ল আর স্টুডিও, যা বেশ ভাল তবে আমার অভিজ্ঞতায় পাইডেভ + একলাইপসের মতো ভাল নয়।
আমি এটিকে কিছুটা কিকের হিসাবে যুক্ত করব: আপনি যেহেতু এখনও স্কুলে রয়েছেন তাই আপনার চাকরীর বিষয়ে চিন্তা করা উচিত। উচ্চ দক্ষ আর ডেভসদের চেয়ে আপনি উচ্চ দক্ষ পাইথন দেবদের চেয়ে আরও বেশি পোস্টিং পাবেন। অস্টিনে, জ্যাঙ্গো দেবদের চাকরি আকাশ থেকে পড়ে যাওয়ার মতো। আপনি যদি আর সত্যিই ভাল জানেন তবে কয়েকটি জায়গা রয়েছে যেখানে আপনি সেই দক্ষতাটিকে মূলধন করতে সক্ষম হবেন (উদাহরণস্বরূপ বিপ্লব বিশ্লেষণ), তবে প্রচুর দোকানগুলি পাইথন ব্যবহার করে বলে মনে হচ্ছে। এমনকি ডেটা বিশ্লেষণ / ডেটা সায়েন্সের ক্ষেত্রেও বেশি লোক পাইথনের দিকে ঝুঁকছেন বলে মনে হয়।
এবং আপনি যে জাভা কেবল জানেন (বলুন) জানেন তাদের সাথে / আপনি কাজ করতে পারেন এমনটি অবমূল্যায়ন করবেন না। এই লোকেরা আপনার পাইথন কোডটি খুব সহজেই পড়তে সক্ষম হবে। আপনি আর তে আপনার সমস্ত কাজটি করে ফেললে অগত্যা ক্ষেত্রে এটি হবে না (এটি অভিজ্ঞতা থেকে আসে))
পরিশেষে, এটি পৃষ্ঠহীন শোনাতে পারে তবে আমি মনে করি পাইথন ডকুমেন্টেশন এবং নামকরণের কনভেনশনগুলি (যা ধর্মীয়ভাবে মেনে চলে, এটি পরিণত হয়) ইউটিরিটিভ আর ডকের চেয়ে অনেক সুন্দর ic এটি উত্তপ্তভাবে বিতর্কিত হবে, আমি নিশ্চিত, তবে পাইথনে জোর দেওয়া পঠনযোগ্যতা। তার অর্থ যে পাইথন ফাংশনগুলিতে যুক্তিগুলির নাম রয়েছে যা আপনি পড়তে পারেন এবং এর অর্থ কিছু। আর-তে, যুক্তির নামগুলি প্রায়শই কাটা হয় --- আমি পাইথনে এটির চেয়ে কম সত্য খুঁজে পেয়েছি। এটি পেডেন্টিক শোনাতে পারে তবে এটি 'এক্স্ল্যাব' এর মতো জিনিসগুলি লিখতে আমাকে বাদ দেয় যখন আপনি সহজেই একটি যুক্তির নাম 'x_label' রাখতে পারেন (কেবল একটি উদাহরণ) --- আপনি যখন শেখার চেষ্টা করছেন তখন এর একটি বিশাল প্রভাব পড়ে নতুন মডিউল / প্যাকেজ এপিআই। আর ডক পড়া পড়া লিনাক্স ম্যান পেজগুলি পড়ার মতো --- যদি এটিই আপনার নৌকাকে ভাসিয়ে তোলে তবে আপনার কাছে আরও শক্তি power
এই সমস্ত কথাই বলা হচ্ছে, আমি নিম্নলিখিতগুলি প্রস্তাব করব (এটি আমার সাধারণ ওয়ার্কফ্লোও): যেহেতু আপনি পাইথনকে জানেন, সেটিকে আপনার প্রথম সরঞ্জাম হিসাবে ব্যবহার করুন। যখন আপনি পাইথনের অভাব দেখতে পান, তখন যা করতে চান তা করার জন্য পর্যাপ্ত পরিমাণে র শিখুন এবং তারপরে হয়:
- আর এ স্ক্রিপ্ট লিখুন এবং সাবপ্রসেস মডিউল ব্যবহার করে পাইথন থেকে চালনা করুন বা
- RPy মডিউলটি ইনস্টল করুন।
পাইথন যা ভাল তাতে পাইথন ব্যবহার করুন এবং উপরের যে কোনও একটি শূন্যস্থান পূরণ করুন। এটি আমার স্বাভাবিক কর্মপ্রবাহ --- আমি সাধারণত প্লট করার জন্য আর এবং ভারী উত্তোলনের জন্য পাইথন ব্যবহার করি।
সুতরাং সংক্ষিপ্তসার হিসাবে: পাঠযোগ্যতার উপর পাইথনের জোরের কারণে ("পাইথোনিক" এর জন্য অনুসন্ধান গুগল), ভাল, বিনামূল্যে আইডিইগুলির উপলব্ধতা, এটি যে ভাষাগুলির সি পরিবারে রয়েছে, আপনি আরও বেশি সম্ভাবনা অর্জন করতে পারবেন ভাষার দক্ষতা এবং চারদিকে আরও ভাল ডকুমেন্টেশন-স্টাইল, আমি পাইথনকে আপনার যেতে যেতে পরামর্শ দেব এবং প্রয়োজনে কেবল তখন আর এর উপর নির্ভর করব।
ঠিক আছে, এটি কোনও স্ট্যাক সাইটে আমার সবচেয়ে জনপ্রিয় উত্তর (এখন পর্যন্ত), এবং এটি # 1ও নয় :) আমি আশা করি এটি পথ চলতে কয়েকজনকে সহায়তা করেছে।
যে কোনও হারে, আমি ক্ষেত্রের বেশ কয়েক বছর পরে নিম্নলিখিত সিদ্ধান্তে পৌঁছেছি:
এটি সম্ভবত জিজ্ঞাসা করা ভুল প্রশ্ন।
"আমি কি এই বিশেষ প্রযুক্তিটি শিখি" জিজ্ঞাসা করা একটি খারাপ প্রশ্ন। কেন?
- প্রযুক্তি পরিবর্তন। আপনাকে সর্বদা অন্য প্রযুক্তি শিখতে হবে। আপনি যদি টুইটারে কাজ করতে যান তবে তারা স্কালা চালায়। কিছু জায়গা পাইথনের দোকান। কিছু জায়গায় যত্ন নেই। আপনি ভাড়া নেওয়া যাবেন না কারণ আপনি কিছু বিশেষ প্রযুক্তি জানেন বা জানেন না - আপনি যদি কোনও নতুন প্রযুক্তি শিখতে না পারেন তবে আপনি বরখাস্ত করতে পারেন (এবং হওয়া উচিত)। এটির মতো, যদি কোনও নতুন পাইপ রেঞ্চ বের হয় এবং আপনি একটি প্লাম্বার হন এবং নতুন পাইপ রেঞ্চ কীভাবে কাজ করে তা আপনি বুঝতে পারেন না, আপনি সম্ভবত বেশ লম্পট প্লাম্বার।
- "আমি কি এই প্রযুক্তিটি শিখি" বা "আমি কী প্রকৃত সমস্যা সমাধানে আরও বেশি সময় ব্যয় করি" বাছাইয়ের পরে আপনার ব্যতিক্রম ব্যতীত সর্বদা পরবর্তীটি বেছে নেওয়া উচিত।
ডেটা বিজ্ঞানী হিসাবে, আপনার কাজ সমস্যাগুলি সমাধান করা । জ্ঞানের এই একক বিটটি আপনি যে প্রতি সম্মেলনে বা মিটিংয়ে যান সর্বদা সর্বদা নষ্ট হয়ে যায় - আমি দেখেছি এমন প্রতিটি "বিগ ডেটা" আলাপ প্রযুক্তি সমাধানে মনোনিবেশ করেছে, সমস্যা সমাধানের দিকে নয়। আসল সমস্যা সমাধানটি সাধারণত শেষে কয়েকটি স্লাইডে প্রেরণ করা হয়:
[টক শিরোনাম = "দুর্দান্ত নতুন স্টার্টআপে গভীর শিক্ষা"] ... [৪৫ মিনিটের ডায়াগ্রাম এবং টেকনো-ব্যাবেল যার সময় আমি জোন আউট করি এবং আমার ফোনটি পরীক্ষা করি] ... এবং, আমাদের হাডোপ ক্লাস্টার এবং [বেন অঞ্চলগুলি কার্যকর করার পরে) আবার] আমরা আমাদের গভীর শিক্ষার রুটিন চালাতে পারি, [জাগ্রত করুন: এই কারণেই আমি এসেছি!] যার মালিকানাগুলি বিশদ। প্রশ্ন?
এটি একটি খারাপ ধারণা দেয় যে ক্ষেত্রটি প্রযুক্তি সম্পর্কে, এবং এটি ঠিক সত্য নয়। আপনি যদি স্কেলা, বা পাইথন বা আর তে সত্যিই ভাল হন তবে সমস্যা সমাধানে আপনি খুব খারাপ হন আপনি কোনও লস ডেটা বিজ্ঞানী তৈরি করবেন ।
প্যাকো নাথান কয়েক মাস আগে অস্টিনে একদিন ব্যাপী "বিগ ডেটা" সম্মেলনে এসেছিলেন এবং বলেছিলেন যে "রসায়ন টেস্ট টিউবগুলি সম্পর্কে নয়"। এটি মোটামুটি সমান করে তোলে - ডেটা সায়েন্স স্কাল, বা হাদুপ বা স্পার্ক বা অন্য-প্রযুক্তি-ডু-ভ্রমণ পপ আপ সম্পর্কে নয়। দিনের শেষে, আমি এমন লোকদের নিয়োগ করতে চাই যারা মনে করে, এমন লোকেরা নয় যারা স্ট্যাট ওভারফ্লো ব্যবহার করে সরঞ্জামদণ্ডগুলি শিখতে আগ্রহী।
তেমনিভাবে, আপনি যদি কোনও কাজের সাক্ষাত্কারে যান এবং আপনি কিছু প্রোগ্রামিং ভাষা জানেন না বলেই তারা আপনাকে নিয়োগ দেয় না, তবে সেই সংস্থাটি সফল হয় । তারা "ডেটা বিজ্ঞানী" এর অর্থ কী তা বুঝতে পারে না এবং এটি কার্যকর না হলে এটি সম্ভবত আপনার পক্ষে ভাল।
অবশেষে, যদি আপনার সমস্যা সমাধানের ক্ষমতাগুলি প্রান্তিক হয় (নিজের সাথে সৎ হন), বা আপনি সত্যিই কেবল জিনিসগুলির প্রযুক্তিগত দিকটি উপভোগ করেন, বা প্রযুক্তি শেখা হ'ল যা আপনি সত্যই পছন্দ করেন (আবার সত্যবাদী হোন) তবে প্রচুর প্রযুক্তি আবিষ্কার করুন। আপনি সর্বদা "ডেটা ইঞ্জিনিয়ার" টাইপের ভূমিকাগুলি সন্ধান করতে সক্ষম হবেন যা আপনার দক্ষতার সেটে ফিট করে। এটি কোনও খারাপ জিনিস নয়, ডেটা ইঞ্জিনিয়াররা চাকাগুলি গ্রিজ করে এবং ডেটা বিজ্ঞানী হিসাবে আপনার কাজটি সম্ভব করে তোলে। (পার্থক্যটি সফটওয়্যার আর্কিটেক্ট বনাম বনাম দলের মতো))