পাইথনকে এন্ট্রি স্তরের প্রোগ্রামিং ভাষা হিসাবে সুপারিশ করা হয় কেন? [বন্ধ]


16

আমি এখানে পি.এসইতে আরও প্রশ্ন পড়েছি যেখানে প্রাথমিক প্রোগ্রামারদের পাইথনকে তাদের প্রথম প্রোগ্রামিং ভাষা হিসাবে বেছে নেওয়ার পরামর্শ দেওয়া হয়।

আমাকে ভুল করবেন না, আমি পাইথন পছন্দ করি। আমি এটা প্রচুর পছন্দ করি! তবে এর দর্শনটি "আমরা সকলেই এখানে প্রাপ্তবয়স্কদের সম্মতি দিচ্ছি" এর চারদিকে ঘোরে।

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

আমি ভাবছি যে "আরও স্থিতিশীল" ভাষায় নিজেকে পায়ে গুলি করা আরও কঠিন হবে কারণ এটি আরও প্রতিরোধী হবে।

আমার প্রশ্ন ফিরে। পাইথনকে এন্ট্রি স্তরের প্রোগ্রামিং ভাষা হিসাবে সুপারিশ করা হয় কেন?

প্রোগ্রামিং ল্যাঙ্গুয়েজ শেখানোর জন্য এটি কী পয়েন্টগুলি ভাল করে তোলে। বা ... এটি কি পরামর্শদাতার ব্যক্তিগত পছন্দ?


17
I'm thinking that in a "more static" language it would be harder to shoot yourself in the foot- ঠিক আছে, সি এবং সি ++ স্ট্যাটিকালি টাইপ করা হয়েছে এবং আপনি কীভাবে বিভিন্ন
পদক্ষেপের

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

1
আমি মনে করি সি ++ একটি ভাল আরম্ভের ভাষা, কারণ এটি আমাকে অন্য মাতৃভাষাগুলির জিনিসগুলি আরও ভালভাবে বুঝতে সাহায্য করেছে।
systemovich

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

2
@ মাহমুদহসাম আমি সম্মত আমি আমার অভিজ্ঞতা থেকে কিছু স্টিকিং পয়েন্ট হাইলাইট করছিলাম। জাভা, সি #, লিস্প ইত্যাদিতে তাদের সমস্যা আছে। এগুলি হ'ল প্রথম প্রধান প্রোগ্রামারগুলিকে অজগর শেখানোর জন্য আমি প্রধান সমস্যার মুখোমুখি হয়েছিল।
রিগ

উত্তর:


30

আইএমও, সর্বাধিক বিশিষ্ট পয়েন্টগুলি যা পাইথনের পক্ষে এন্ট্রি-লেভেলের ভাষা হিসাবে কথা বলে সেগুলি হ'ল:

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

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

12
আপনার শেষ পয়েন্টে: লোকেরা প্রায়শই দুর্বল টাইপিংয়ের সাথে ডায়নামিক টাইপিং মিশ্রিত করে। পাইথনটি ডায়নামিকভাবে টাইপ করা হয় (ভেরিয়েবলের পরিবর্তে মানগুলির সাথে সম্পর্কিত) তবে
দৃ strongly়ভাবে

@ মিসিংগো আমি দ্বিতীয় - agগল চোখ তোমার রয়েছে;)
ইয়াতী সাগাদ

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

"মন্তব্যগুলি স্বচ্ছ" দ্বারা আপনার মন্তব্য থেকে বিচার করা আপনার বোঝানো সহজ নিয়মগুলির যে নিয়মগুলি পরিচালনা করে? আপনি ঠিক কী বলতে চান?
ফ্যান্ট 0 ই

8

অজগরের হ্যালো ওয়ার্ল্ড:

 print "Hi there"

জাভায় হ্যালো ওয়ার্ল্ড:

 class HelloWorldApp {
  public static void main(String[] args) {
    System.out.println("Hello World!"); // Display the string.
    }
  }

হ্যালো ওয়ার্ল্ড সি তে:

  #include<stdio.h>
  int main(int argc, char** argv)
  {
    printf("Hello World");
   }

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


15
আপনি "ফিরতি 0" ভুলে গেছেন আপনার সি বাস্তবায়নে বিবৃতি :) সংকলক সতর্কতা!
স্টিফেন গ্রস

2
এই কারণেই বেসিকের অবস্থান প্রথম স্থানে ছিল। 10 প্রিন্ট "হ্যালো ওয়ার্ল্ড!" 20 এন্ড অতিরিক্ত creditণের জন্য পাইথন প্রোগ্রামটি ব্যর্থ হয় "এটি কি 'হ্যালো ওয়ার্ল্ড বলেছিল!'?" ইউনিট পরীক্ষা :-)
রস প্যাটারসন

3
এফ # তে একই: printfn "হ্যালো ওয়ার্ল্ড!"। হ্যাঁ, F # নতুনদের জন্য ভাল!
ডেন

7

এটি একটি অস্বাভাবিক দৃষ্টিভঙ্গি।

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

অন্যান্য বিষয়গুলির মতো, যেমন "স্পষ্টকৃত প্রকৃতির চেয়ে আরও ভাল", "জটিলের চেয়ে সহজ সরল", এবং "পঠনযোগ্যতা গণনাগুলি" পাইথনের অনেক বেশি কেন্দ্রীভূত এবং কেন পাইথন একটি ভাল প্রথম ভাষা show

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


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

@ জনডোডো, সি # বা জাভাতে, আমি privateক্ষেত্রগুলিকে publicচারপাশে হ্যাক করতে রূপান্তর করার সিদ্ধান্ত নিয়েছি তবে তাতে কী পার্থক্য হবে? পাইথনের বিটিডাব্লু, আপনি সম্পত্তিটিকে আন্ডারস্কোর দিয়ে প্রাইফিক্স করতে পারেন এটি ব্যক্তিগত করার জন্য (যদিও এটি সত্যই লুকানো নেই)
অনেসিমাসউনবাউন্ড

4

দুটি ভিন্ন কয়েকটি পয়েন্ট রয়েছে। শিশুকে বড় করার সময়, আপনি কি তাদের এমন বুদবুদে রেখে দিতে পারেন যাতে কেবল এতে নিরাপদ জিনিস রয়েছে বা তাদের উঠোনে খেলা দেওয়া উচিত যেখানে তারা ভ্রমণ করতে পারে এবং পড়ে যেতে পারে?

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

পাইথনে এটির অস্তিত্ব নেই। আপনি যদি "হ্যালো ওয়ার্ল্ড" বলতে চান, আপনি ঠিক print "Hello World"। পাইথনটিকে এন্ট্রি পয়েন্ট হিসাবে ব্যবহারের ফলে কেউ কাউকে গ্রাউন্ডে দৌড়তে দেয় এবং কেবল যা ঘটেছিল তা করার জন্য তাদের প্রয়োজনীয় কোডটি লিখতে দেয়। প্রথম বারের প্রোগ্রামার প্রোগ্রামিংয়ের বেসিকগুলি বোঝার আগে এনক্যাপসুলেশনের মান বুঝতে পারে না।

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

অন্যান্য লাভ:

  • প্রচুর লাইব্রেরি যা প্রচুর কাজ করে
  • অবজেক্ট ওরিয়েন্টেড এবং ফাংশনাল প্রোগ্রামিং উভয় কৌশলই শেখানোর নমনীয়তা এটিকে দেখে মনে হচ্ছে না যে একজনকে অন্যটিকে তৈরির জন্য ডিজাইন করা একটি ভাষাতে ফিট করতে বাধ্য করা হয়েছে।

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

1
@ জনডোডো - তাহলে তাকে জ্বলতে দেওয়া হোক ... এটি সেরা স্কুল এবং কে ছোটবেলায় ম্যাচে জ্বলে উঠেনি? এটি তাকে মেরে ফেলবে না ...
রুক

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

3

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

  • সাধারণ প্রোগ্রামগুলির জন্য বয়লারপ্লেট কোডের একটি পরম সর্বনিম্ন।

  • আবর্জনা সংগ্রহ.

  • গতিশীল টাইপিং

  • পরিষ্কার, সরল বাক্য গঠন।

এর সাথে তুলনা করুন যেমন জাভা বা সি ++ এবং "হ্যালো, ওয়ার্ল্ড" প্রোগ্রামের সাথে জড়িত সমস্ত ধারণাটি ব্যাখ্যা করতে অসুবিধা। জটিল জিনিসগুলির মধ্যে রয়েছে:

  • ইন্ট্রোস্পেকশন (পাইথনের প্রতিফলনের সমতুল্য)।

  • বানর প্যাচিং।

  • বিশাল স্ট্যান্ডার্ড লাইব্রেরি দিয়ে কাজগুলি করা যায়।

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


2

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


1

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

ভাল প্রোগ্রামারদের অবশ্যই সি / সি ++ বা এমনকি অ্যাসেমবিলিটি অবশ্যই জানতে হবে। এবং তাদের মানসিকতা পাশাপাশি থেকে আসতে হবে। এবং না - "ওহ, জিসি, এটি ম্যাজিক (টিএম) করে আমরা দুর্দান্ত, এবং কেন সি ++ এর জিসি নেই, এটি বোকা।" মনোভাব।


1

একটি শিক্ষানবিস প্রোগ্রামারের জন্য, স্ট্যাটিক ধরণের অভাব একটি বৈশিষ্ট্য, কোনও বাগ নয়!

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

একটি শিক্ষামূলক সেটিংয়ে গতিশীল টাইপিংয়ের কিছু ধারণাগত সুবিধা রয়েছে:

  1. প্রকারগুলি ভেরিয়েবলের সাথে নয়, মানগুলির সাথে সম্পর্কিত। এটি যুক্তিযুক্তভাবে আরও স্বজ্ঞাত যেহেতু এটি প্রোগ্রামগুলির প্রকৃত ক্রাশের কারণ প্রতিফলিত করে।

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

    সংকলক নিয়ে কাজ করা শিক্ষার্থীরা কেবলমাত্র তারা সম্পূর্ণরূপে বুঝতে পারে এমন প্রোগ্রামগুলিতে কাজ করতে পারে, পাছে তারা সমাধান করতে পারে না এমন সংকলনের ত্রুটির মুখোমুখি।

  3. রানটাইম ত্রুটি পরীক্ষা করা আপনাকে অসম্পূর্ণ প্রোগ্রামগুলি চালানোর অনুমতি দেয়। এটি আরও বর্ধমান প্রোগ্রামগুলির জন্য মঞ্জুরি দেয় যেখানে শিক্ষার্থী প্রথমে প্রোগ্রামের শুরুটি সঠিক করার বিষয়ে চিন্তা করতে পারে এবং কেবল তখনই ঘটে দেখুন see

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

শেষ অবধি, আপনাকে এখনও একই জটিলতাটি পরিচালনা করতে হবে, আপনি প্রোগ্রাম শুরু করার সময় স্ট্যাটিক টাইপিংয়ের সমস্ত সুবিধা পাবেন না:

  • শিক্ষানবিস প্রোগ্রামগুলি ছোট এবং অনেকগুলি কোড পাথ থাকে না (তাই আপনাকে খুব কমই কোডের অ্যাক্সেস বিটগুলিতে টাইপ বাগগুলি নিয়ে বেশি চিন্তা করতে হবে না)

  • শিক্ষানবিস প্রোগ্রামগুলি উচ্চ স্তরের ইন্টারফেস এবং ফাংশন ব্যবহার করে না যা "প্রোগ্রাম ডিজাইনের জন্য টাইপ সিস্টেমটি ব্যবহার করুন" বিভাগে অর্জন করার মতো অনেক কিছুই নেই।


1

সেখানে এক খুব, এর খুব , খুব বৈধ খাঁজ অত্যাচার: প্রোগ্রামারদের শুরু করার জন্য পাইথন সম্পর্কে গুরুত্বপূর্ণ জিনিস সবাই মনে হচ্ছে যে উপেক্ষিত হয়েছে।

অন্যান্য কমেন্টারদের মতো আমি কয়েক বছরের জন্য নতুনদের শিখিয়েছি। এই জাতীয় জিনিস দেখতে অস্বাস্থ্যকরভাবে সাধারণ ছিল:

#include <stdio.h>

int main(char *args[])
                                                                     {
   int A = 1, B = 1, C;
for (int X = 0;X < 20;X++)
{
   printf("%d\n", A);
C = B + A;
      A = B;  B = C;
}
        }

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

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

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


0

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

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

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


-1

পাইথনকে প্রথম ভাষা হিসাবে মূল সমস্যাটি হ'ল গতিশীল টাইপিং এবং পরিবর্তনশীল ঘোষণার অভাব। আইএমএইচও তারা ভাষার সাথে একমাত্র প্রধান সমস্যা।

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

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