সি তে প্রোগ্রামিং শিখছি (পাইথন থেকে আগত) [বন্ধ]


22

যদি এই প্রশ্নটি জিজ্ঞাসা করার ভুল জায়গা হয় তবে দয়া করে আমাকে জানান।

আমি পেশায় পাইথন প্রোগ্রামার। আমি সি শিখতে পছন্দ করব Indeed সত্যই, আমি অনেকবার চেষ্টা করেছি, তবে আমি সর্বদা নিরুৎসাহিত হই। পাইথনে আপনি কয়েকটি লাইন লিখেন এবং প্রোগ্রামটি আশ্চর্য হয়ে যায়। সি তে, আমি দরকারী কিছু করতে সক্ষম হতে পারে বলে মনে হচ্ছে না।

এমনকি এটি ইন্টারনেটের সাথে সংযোগ করা খুব জটিল বলে মনে হচ্ছে।

সি শিখতে আমি কী করতে পারি সে সম্পর্কে আপনার কোনও পরামর্শ আছে? কোন ভাল ওয়েবসাইট আছে? কোন দুর্দান্ত প্রকল্প?

ধন্যবাদ


4
জিনিয়াসের কাঁধে দাঁড়াতে পেরে ভাল লাগছে তাই না? পাইথন ইন্টারপ্রেটার সি তে লেখা আছে এখন ডিজাইনাররা যা করেছে তার জন্য আপনার সত্যিকারের প্রশংসা আছে। এটা দুর্দান্ত চমত্কার।
পেমদাস

@ পেমডাস সি সাধারণত সিস্টেম প্রোগ্রাম তৈরির জন্য ব্যবহৃত হয়।
Searock

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

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

উত্তর:


31

হতাশ হবেন না।

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

বই

অনলাইন উপাদান


1
আপনি একটি প্রোগ্রামিং অনুশীলন পরামর্শ দিতে পারেন? অগ্রাধিকার হিসাবে দরকারী কিছু। ধন্যবাদ।
হুনজা পোকার্নি

12

আপনি যদি সি শিখতে চান তবে ইন্টারনেটে সংযোগ দিয়ে শুরু করবেন না। আপনি অন্য যে কোনও ভাষায় এটি করতে পারেন। এটি সি এর মধ্যে সবচেয়ে গুরুত্বপূর্ণ যা নয়

পরিবর্তে, এই সি টিউটোরিয়ালে পয়েন্টার, অ্যারে, রেফারেন্স, স্ট্রাক্ট একবার দেখুন । এটি আপনাকে মেমরি পরিচালনা এবং এমন অনেকগুলি বৈশিষ্ট্য বুঝতে সহায়তা করবে যা "আপনাকে মেশিনের নিকটে নিয়ে আসে"।

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

এই পয়েন্টার টিউটোরিয়ালটি পাশাপাশি সহায়ক বলে মনে হচ্ছে।


C_Tutorialলিঙ্কটি অসম্পূর্ণ ...
user3768495

11

এটা তোলে হয় খুব ইন্টারনেটে সংযুক্ত হতে জটিল! চিন্তা করুন:

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

  • আইপি ঠিকানাগুলি আইভিভি 4 বা আইপিভি 6 হতে পারে এবং আপনার উভয়কেই পরিচালনা করতে হবে able

  • সিস্টেমের জন্য কনফিগার করা প্রক্সি থাকতে পারে বা নাও থাকতে পারে।

  • আপনাকে এফটিপি, এইচটিটিপি বা অন্য কোনও প্রোটোকল সমর্থন করতে হবে।

  • আপনার ডায়াল-আপ ব্যবহারের প্রয়োজন হতে পারে, তাই আপনি ইতিমধ্যে সংযুক্ত না থাকলে আপনাকে পাসওয়ার্ড এবং ফোন নম্বর সহ একটি ফোন বই নির্দিষ্ট করতে হবে। ডাব্লুএলএলএন ব্যবহারকারীর নাম / পাসওয়ার্ড সহ।

  • আপনার কুকিগুলির সাথে কাজ করার প্রয়োজন হতে পারে।

  • সিস্টেমটি কিছু ডেটা ক্যাশে করতে পারে, তাই আপনি কি ক্যাশেটি ব্যবহার করতে চান না?

এবং তালিকাটি দিন দিন বৃদ্ধি পাচ্ছে.

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

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


সম্পাদনা করুন :

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

তাই বলা হয়, আমার মনে হয় সি একটি ক্র্যাশ কোর্স দরকারী হিসাবে একটি শুরুর স্থান মধ্যে তিড়িং লাফ হতে পারে সমুদ্র সি


8

আপনি যখন সি শিখছেন তখন কার্নেল কোডটি পড়বেন না এটির প্রতিটি শেষ বিট কর্ম সম্পাদন করার কৌশলগুলি পূর্ণ of এর কয়েকটি খুব মানক নয়। এটা আপনাকে পাগল করে দেবে

পরিবর্তে কয়েকটি ছোট, উচ্চ কোড মানের প্রকল্পগুলি দেখুন:

  • লুয়া - আপনি যদি প্রোগ্রামিং ভাষাগুলিতে আগ্রহী না হন তবে আপনি এটি এড়িয়ে যেতে চাইতে পারেন। অন্যথায়, এটি সত্যই সুন্দর কোড এবং তারা এত অল্প কিছু দিয়ে কী অর্জন করে তা আশ্চর্যজনক (আপনি পাইথন থেকে আসার পরে আপনি হতাশ হয়েছেন বলে মনে হচ্ছে)।
  • জিরো কিউ - আমি এই প্রকল্পটি ভালবাসি। এটি একটি হালকা ওজন, অতি দ্রুত মেসেজের সারি। আবার, উচ্চ মানের স্টাফ।
  • ডার্কএইচটিপিডি - সি এর একটি ২00০০ লাইনের ওয়েব সার্ভারে সকেট প্রোগ্রামিং, পার্সিং এবং প্রোটোকল নিয়ে কাজ করার মতো কয়েকটি মজার বিষয় রয়েছে।

0

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

ছোট ছোট পদক্ষেপ নিয়ে খাড়া পাহাড়ে যাওয়া আরও সহজ।


-3

যতদূর পর্যন্ত দেখতে শীতল প্রকল্পগুলি: ইউনিক্স কার্নেলগুলি সি-তে লেখা থাকে


আপনি কি একটি লিঙ্ক যুক্ত করার অর্থ দিয়েছিলেন?
jmort253

-3

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

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