একজন প্রোগ্রামার কতটা প্রোগ্রামিং ভাষার বিশেষজ্ঞ হতে পারে বলে আশা করা হয়? [বন্ধ]


21

বেশিরভাগ প্রোগ্রামাররা কি অন্য জিনিসগুলি রেখে একটি একক স্ট্যাকের উপর বিশেষজ্ঞ, বা তারা একই সাথে একাধিক ভাষায় বিশেষজ্ঞ? যদি এটি একের বেশি হয় তবে স্ট্যান্ডার্ডটি কত?

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


2
আমি মনে করি না এই প্রশ্নের কোনও উদ্দেশ্য (বা এমনকি বিষয়গত) উত্তর আছে। আপনি যত বেশি বিশেষজ্ঞ, আপনার পক্ষে এটি তত ভাল - আপনি কি বলতে চেয়েছিলেন "একজন প্রোগ্রামারকে আদর্শভাবে বিশেষজ্ঞ হওয়ার জন্য কতটি প্রোগ্রামিং ল্যাঙ্গুয়েজ দৃষ্টান্ত তৈরি করতে হবে?"
ট্যালনক্স

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

1
আপনি কীভাবে কোনও ভাষায় ভাবেন, যদি আপনার অভিধানের অর্থটি বোঝার জন্য আপনার অভিধানের একটি অভিধানে সন্ধান করতে হয়?
ব্লুবেরিফিল্ডস

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

2
@blueberryfields: ভাষা / প্ল্যাটফর্মের উপর নির্ভর করে , একটু জ্ঞান একটি ভয়ঙ্কর জিনিস হতে পারে । আমার অর্থটি হ'ল: যদি কোনও ব্যক্তি হৃদয় দিয়ে অনেকগুলি গ্রন্থাগার ফাংশন জানার দাবি করে এবং ডকুমেন্টেশনটি পড়ার প্রয়োজন না হয় তবে আমি প্রত্যাশা করব যে সেই ব্যক্তিরও সমস্ত প্রত্যাবর্তনের মান, ব্যতিক্রম শর্ত এবং ক্ষতিগুলি / সতর্কতাগুলি জানা থাকতে পারে Ray লা রেমন্ড চেন হৃদয় দিয়ে, এবং একটি বই লিখতে এবং মাইক্রোসফ্ট / গুগল ইত্যাদিতে একটি বক্তৃতা দিতে সক্ষম হও এর সংক্ষেপে, ব্যক্তিটি অনেক মজার ছোট্ট ভুল করে শেষ করে।
rwong

উত্তর:


33

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

একটি প্রোগ্রামিং ভাষা যা আপনার প্রোগ্রামিং সম্পর্কে চিন্তাভাবনা পরিবর্তন করে না তা জানার মতো নয়। -আলান পার্লিস

এটি আরও একটি ভাষা পরীক্ষা করা বা এটি আপনার জীবনবৃত্তান্তের উপর রাখার বিষয়ে নয়; পুরো বেনিফিট পাওয়ার জন্য আপনার কেবলমাত্র এর অন্তর্নিহিত ধারণাগুলি বুঝতে হবে যাতে এটিতে প্রোগ্রাম করার জন্য যথেষ্ট। সিনট্যাক্স সম্পর্কে প্রাথমিক ধারণা থাকা থেকে আপনি তা পাবেন না।

আরও সরাসরি উত্তর "এটি নির্ভর করে"।

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

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


3
হ্যাঁ এটি আমার দিগন্তকেও প্রসারিত করে - অনেক সমস্যার জন্য সমস্যাটি মোকাবেলায় ভাবতে
maz3tt

3
সকলের কাছেই +1 ইনাইমথী ড। একটি প্রোগ্রামিং ভাষাটিকে একটি সরঞ্জাম হিসাবে ভাবেন। হ্যাঁ আমাদের আমাদের সরঞ্জামটি খুব ভালভাবে জানা উচিত তবে যখন আপনি কেবল হাতুড়িটি ব্যবহার করতে জানেন তবে সমস্ত কিছুই পেরেকের মতো দেখাবে
Liviu T.

14

আপনার একটি খুব আকর্ষণীয় প্রশ্ন রয়েছে:

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

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

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

আপনার মত আমার ধারণা আশা করি!


+1 "ভাল প্রোগ্রামাররা কেবল কোড লিখেন ... ভাষা এবং প্রযুক্তিবিদগুলি এত গুরুত্বপূর্ণ নয়" - খুব সত্য, যদিও এই সিদ্ধান্তে পৌঁছতে এটি এক্সপোজারকে অনেক বেশি লাগে।
45 এ Orbling

কথাগুলি, এবং আপনি এটি সঠিকভাবে পেয়েছেন: 11 বছর এবং গণনা ... :)
ডেভিড কনডে

3

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


3

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

প্রাক্তন হিসাবে আপনি বিশেষজ্ঞ, গুরু, বিশেষজ্ঞ হবেন। আধুনিক হিসাবে আপনি আরও সাধারণ ব্যবহারে এবং বিভিন্ন পরিস্থিতিতে ব্যবহারের সম্ভাবনা থাকবেন তবে সম্ভবত কোনও বিষয়ে গভীর বা দীর্ঘস্থায়ী হতে পারবেন না।



2

এক

আপনার সামনে একটি।


1
+1 আপনার যে ভাষাতে বিশেষজ্ঞ হতে হবে তার সংখ্যা কমপক্ষে আপনাকে ব্যবহার করতে হবে এমন সংখ্যা। ;-)
অরব্লিং

1

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


1

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

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


1

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


1

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

strcat (একটি, "হ্যালো"); strcat (A, "WOrld"); strcat (A, "আমি হাই বলি!");

এটি কারণ প্যাসকাল স্ট্রিংয়ের দৈর্ঘ্য প্রথম স্থানে সংরক্ষণ করে এবং তাই শেষ স্থানে লাফানো সহজ। সিতে স্ট্রিংয়ের সমাপ্তি '\ 0' হয় এবং সুতরাং স্ট্রাইক্যাট অপারেশনের জন্য আপনাকে অবশ্যই পুরো স্ট্রিংটি অতিক্রম করতে হবে।


0

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

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