যদি প্রতি বছর একটি নতুন প্রোগ্রামিং ভাষা শেখার হয় তবে তালিকাটি কী হওয়া উচিত? [বন্ধ]


19

"প্র্যাকমেটিক প্রোগ্রামার" এর প্রথম অধ্যায়ে প্রথম শিক্ষার লক্ষ্যটি হ'ল:

প্রতি বছর কমপক্ষে একটি নতুন ভাষা শিখুন। বিভিন্ন ভাষা বিভিন্নভাবে একই সমস্যা সমাধান করে। বিভিন্ন ভিন্ন পদ্ধতি শিখার মাধ্যমে, আপনি আপনার চিন্তাভাবনা আরও প্রশস্ত করতে এবং একটি ঝাঁকুনিতে আঘাত পাওয়া এড়াতে সহায়তা করতে পারেন। [...]

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

তবে একবার সেই তালিকার একটি যুক্তিসঙ্গত উপসেট শিখলে- এর পরে কী এবং কেন ?


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

@ সিমন: এখানে কেন এটিকে উত্তর দেবেন না?
রিচার্ড

1
আপনি জাভা থেকে সি # তে গিয়ে অনেক কিছু শিখতে পারবেন, তবে
অন্যভাবে ঘুরছেন না

@Richard। আমি সত্যিই এটির পুরো উত্তরটিকে ন্যায়সঙ্গত মনে করি নি, আমি আপনাকে অন্য যে কোনও জায়গায় প্রাসঙ্গিক লিখেছি relevant
সাইমন পি স্টিভেনস

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

উত্তর:


19

এটিকে আকর্ষণীয় করে তুলুন এবং প্রতি বছর আপনার নিজের প্রোগ্রামিং ভাষার জন্য এমন একটি দোভাষী বা সংকলক লেখার জন্য ব্যয় করুন যা আপনি কোনও প্রোগ্রামিং ভাষা ব্যবহার করেন নি। প্রতি বছর, আপনি আগের বছর যে ভাষাটি লিখেছিলেন তা ব্যবহার করে আপনার পরবর্তী সংকলক / দোভাষী লিখুন।


7
আমি কি আপনার অটোগ্রাফ পেতে পারি? :-)
খ্রিস্টান দাভেন

1
+1 উজ্জ্বল উত্তর, যদিও এটি সম্ভবত হাস্যকর উপায়ে বোঝানো হয়েছিল।
জো ডি

1
@ জো ডি সম্পূর্ণ হাস্যকর উপায়ে নয়। আপনি যদি এটি করতে পারেন তবে আপনি সমস্ত কুলুঙ্গিকে আয়ত্ত করেছেন।
বিকল্প

এটি সম্পূর্ণ হাস্যকর উপায়ে না বোঝার জন্য -1। (যেমন আমাদের কাছে প্রায় অর্ধেক পরিত্যক্ত ভাষা / বাস্তবায়ন নেই)
জেডজেআর

2
@ জেডজেআর তাই 99% হাস্যকর, 1% অ-হাস্যকরটি খারাপ? Cmon থেকে। এছাড়াও, আপনি কেন একটি মন্তব্যের উপর ভিত্তি করে উত্তরটি নিম্নচাপ করছেন?
বিকল্প

13

আপনার "প্রান্তিক প্রাসঙ্গিকতা" সর্বাধিক করা উচিত, অর্থাৎ সর্বদা এমন নতুন অঞ্চলে উদ্যোগ নেওয়া যেখানে আপনি এখনও দৃ yet় ​​নন। প্রোগ্রামিং ভাষা এবং ধারণাগুলি উভয়ই পৃথক করুন । আপনি যদি কোনও অবজেক্ট-ভিত্তিক ভাষা না জানেন তবে জাভা এবং কিছু হাই-অ্যাবস্ট্রাকশন কাঠামো যেমন হাইবারনেট চেষ্টা করুন। তারপরে পাইথন বা পার্লের মতো কোনও স্ক্রিপ্ট ভাষায় কিছু সিস্টেম প্রশাসনের স্টাফ লিখুন। তারপরে সি বা সি ++ এ কিছু নিম্ন-স্তরের দক্ষতা বেছে নিন, উচ্চ-কার্যকারিতা মাল্টিথ্রেডেড সার্ভার কোড লিখে। আপনি যদি ফাংশনাল প্রোগ্রামিং জানেন না, তবে পেগ সলিটায়ার সমাধানের মতো কিছু গ্রাফ তত্ত্বের সমস্যা নিয়ে হাস্কেল চেষ্টা করুন it এটি করা খুব সম্ভব হয় যাতে আপনি যতটা শিখেন তার তত্ক্ষণাত বাজার মূল্য থাকে, যতক্ষণ না আপনি তত্পরতা বা বিশেষ উদ্দেশ্যে স্টাফকে আঘাত করেন such যেমন অবজেক্ট সামর্থ্য নিরাপত্তা ,প্রোলোগ বা ভিএইচডিএল

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


9

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

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

এই দৃষ্টান্তগুলি কি? উন্নত বই ধারণা, কৌশল, এবং কম্পিউটার প্রোগ্রামিং মডেল একটি চমৎকার উপলব্ধ একটি গ্রাফিকাল মানচিত্র ওভারভিউ

সুতরাং, আপনি যদি কেবল সি-এর মতো অপরিহার্য ভাষাগুলি জানেন তবে স্কিম / লিস্প শেখা অত্যন্ত কার্যকর। আপনি যদি ইতিমধ্যে অপরিহার্য এবং কার্যকরী ভাষা জানেন তবে প্রোলোগ শেখা কার্যকর হবে ইত্যাদি

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

আপনি যখন অন্য একটি দৃষ্টান্ত তৈরি করেন, এটি সত্যিই একটি জেন ​​মুহুর্ত; অপরিহার্য থেকে ক্রিয়ামূলক প্রোগ্রামিংয়ে যাওয়া আমাকে সম্পূর্ণ নতুন আলোতে কম্পিউটিংয়ের জগতটি দেখে তোলে। সুখী শেখা!


এবং কোনও ভাষা আপনার চিন্তাভাবনাটিকে এতটা প্রভাবিত করে যা এটি আপনাকে প্রকাশ করতে দেয় তা দ্বারা নয়, তবে যা আপনাকে আপনাকে প্রকাশ করতে বাধ্য করে তার দ্বারা আরও বেশি।
ফ্লোরিয়ান এফ

9

সি - অপরিহার্য হিসাবে, "প্রোগ্রামিং ল্যাঙ্গুয়েজ" সমস্ত কিছু অন্তর্নিহিত করে

লিস্প (স্কিম) - অদ্ভুত তবে অবিশ্বাস্যভাবে শক্তিশালী উর-ভাষা যা দুর্দান্ত হ্যাকাররা শীতল সংজ্ঞা দেয় বলে মনে করে

স্মার্টটাক - কারণ ওও হ'ল এটিই ছিল

অভিনেতাগুলি বোঝার জন্য এরলং (বা অন্যান্য অভিনেতার ভাষা)

হাস্কেল - মনডস বোঝার জন্য

জাভাস্ক্রিপ্ট - কারণ এটি সর্বত্র এবং ব্রাউজারের স্ক্রিপ্টিংয়ের জন্য প্রয়োজনীয়

পাইথন / রুবি / পার্লগুলির মধ্যে একটি (তবে এটি যা আসলেই কিছু যায় আসে না) - তাই আপনি জানেন যে ভাল লাইব্রেরি সমর্থন সহ একটি জনপ্রিয়, আধুনিক, উচ্চ-স্তরের স্ক্রিপ্টিং ভাষাটি কেমন অনুভব করে

এসকিউএল - যাতে আপনি রিলেশনাল ডাটাবেসের সাথে কথা বলতে পারেন

প্রোলোগ - কারণ আপনার এখনও আপনার মন উড়িয়ে দেওয়া দরকার


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

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

1
প্রোলোগ - কারণ আপনার এখনও আপনার মন উড়িয়ে দেওয়া দরকার - সেরা মন্তব্যটি এখন পর্যন্ত +1
জাচারি কে

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

4
  • গো (কনস্ট্রেনসি এবং ধারণাগুলি এতটা traditionalতিহ্যবাহী নয়) এর জন্য ভাল সমর্থন সহ নতুন সিস্টেম স্তরের প্রোগ্রামিংয়ের ভাষা)
  • লুয়া (স্ক্রিপ্টিং ল্যাঙ্গুয়েজ সহজ, এক্সপ্রেশনাল, অত্যন্ত নমনীয় এবং ভারসাম্যপূর্ণ দৃষ্টান্ত অপরিহার্য, কার্যকরী এবং মেটা প্রোগ্রামিং, ওওপি অনুমোদিত)
  • ডি (সি / সি ++ সঠিকভাবে সম্পন্ন হয়েছে)
  • গ্রোভি (জাভা বিশ্বে এক্সপ্রেশনেস এবং মেটা প্রোগ্রামিং)
  • আইফেল (চুক্তি অনুসারে নকশা করা এবং ওওপি-র ভিন্ন পদ্ধতির)
  • প্রোলোগ (লজিক প্রোগ্রামিং ভাষা)

1
কেন কেউ এই শিখতে হবে? ( কেন এখানে আকর্ষণীয় কিছু, সত্যই অনন্য কয়েকটি প্রোগ্রামিং ভাষা রয়েছে: প্রতিটি দৃষ্টান্ত একাধিকবার প্রয়োগ করা হয়েছে।)
রিচার্ড

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

@ জোনাস: আমাদের এখনও সঠিক একটি সরল ভাষা দরকার, যদিও এই ভাষাটি আসে না ডি কেবল প্রয়োজনীয়ভাবে সুন্দরভাবে ব্যবহার করা যেতে পারে। আপনার কাছে, ডি 2 আরও কার্যকরী, সম্পূর্ণ হওয়ার পরে এটি সম্ভবত প্রাথমিকভাবে অপরিহার্য একটি ভাষায় দৃষ্টান্তের সর্বোত্তম বাস্তবায়ন হবে।
মেনিরিও

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

@ জোনাস: এরলং একটি ভাল ভাষা তবে এটি সি / সি ++ সঠিকভাবে করা হয়নি, এটি সম্পূর্ণ ভিন্ন বিষয়।
ম্যানারিও

2

1) প্রোলোগ: আপনি এখন পর্যন্ত যে সমস্ত অত্যাবশ্যকীয় ভাষা ব্যবহার করছেন তা সম্পূর্ণ আলাদা এবং এটি সমস্যার বিষয়ে আপনার চিন্তাভাবনা বদলে দেবে

2) লিস্প: এটি ব্যতীত, আপনি পাশাপাশি vi ব্যবহার করতে পারেন

3) এরল্যাং: আবার এটি সম্পূর্ণ আলাদা, এটিও বেশ ফ্যাশনেবল বলে মনে হয়।

৪) টিউরিং টারপিট থেকে কিছু (যেমন ব্রেনফাক), এবং সম্ভবত এটির জন্য একটি সংকলক বা দোভাষী লিখুন: আমি এটি করার কারণটি ভাবতে পারি না তবে এটি একটি ভাল ধারণা বলে মনে হয়।


1
"এটি না করে আপনিও সম্ভবত vi ব্যবহার করছেন"। আমি অবাক হয়েছি যে কেউ
এটিকে তুলেনি

আমি vi ব্যবহার করি! (ভাল gvim)
জাচারি কে

1

আপনি তালিকাবদ্ধ করা ছাড়াও,

হাস্কেল, এফ #, ক্লোজার, ওক্যামেল, লুয়া, গো, ডি, এরলং, উদ্দেশ্য সি


1

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

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