একটি সম্পূর্ণ প্রোগ্রাম নির্মাণ?


15

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

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

আপনি কীভাবে সুপারিশ করবেন যে লোকেরা প্রোগ্রামিংয়ে অগত্যা নতুন নয়, তবে বাস্তব প্রোগ্রামিং এবং বাস্তব প্রোগ্রামারগুলিতে নতুন এটি বিকাশ করে? "বিকাশ প্রক্রিয়া" কী - বিশেষত একক প্রোগ্রামারদের (বা সম্ভবত 2-3- কিশোর)?

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

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


3
Reading books, watching videos, and reviewing tutorials is all very easy। হ্যাঁ, এগুলি পড়া সহজ, তাদের বোঝা শক্ত অংশ।
ইয়ানিস

@ ইয়ানিস রিজস আসলে, আমি সেগুলি বুঝতে পারি, এবং বাক্যটিতে আমি এটির পরে কথা বলি।
বব

@ بابি উপাদানগুলি শিখছেন এবং সত্যই বুঝতে পারছেন এটি আসলে বেশ আলাদা, দ্বিতীয়টি বেশ শক্ত। আমার "বোধগম্য" এর ব্যক্তিগত সংজ্ঞাটি যখন আমি দশ বছরের বয়সের লোকটিকে এভাবে উপায়ে ব্যাখ্যা করতে পারি। দ্রুত, "ইন্টারফেসগুলি" ব্যাখ্যা করুন :)
থানোস পাপাথানাসিউ

1
@ থানোসপাথানসিয়ো সফটওয়্যার, হার্ডওয়্যার বা ওও ধারণা? :)
ইয়ানিস

2
@ ইন্নিস রিজোস যা আপনার দশ বছরের বয়সের মতো জিনিসগুলি বোঝানোর সাথে সৌন্দর্য, আপনি একটি সরলীকৃত উদাহরণ ব্যবহার করতে বাধ্য হবেন যা তিনটিই আবদ্ধ করবে :)
থানোস পাপাথানাসিউ

উত্তর:


8

কীভাবে প্রোগ্রাম করবেন তা জানার মধ্যে এবং একটি প্রোগ্রাম (সফ্টওয়্যার আর্কিটেকচার) কীভাবে গঠন করবেন তা জানার মধ্যে পার্থক্য রয়েছে।

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

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

বিস্তৃত সংস্থানগুলির জন্য, এই প্রশ্নটি আপনার আগ্রহী হতে পারে।

এখনও পুরো প্রোগ্রামটি কীভাবে সঠিকভাবে গঠন করা যায় তা শেখার সর্বোত্তম উপায় হ'ল এটি করার সময় অভিজ্ঞতার হাত, এটি করার সময় পরামর্শ এবং নতুন কৌশলগুলির জন্য খুব উন্মুক্ত।


6

(ইন্ডি) গেম ডেভলপমেন্টের ক্ষেত্রে এটি একই সাধারণ সমস্যা: কীভাবে শেষ করবেন।

আপনি এটি করতে পারবেন তা নিশ্চিত করা ছাড়াও, আপনার কাছে প্রয়োজনীয় প্রয়োজনীয় জ্ঞান রয়েছে বা আপনি শিখতে ইচ্ছুক রয়েছেন - এবং আপনি পরীক্ষা করেছেন যে অন্যান্য লোকেরা এটি অসম্ভব নয় তা যাচাই করেছে ...

... মূল বিষয় যা "সমাপ্তি" সম্ভব করে তোলে তা হ'ল উদ্দেশ্য নির্ধারণ করা

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

আপনার উদ্দেশ্য কোথাও লিখুন। এটা লেখ.

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

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


4

সাঁতার সম্পর্কে প্রচুর পড়া একজনকে সাঁতারো করে না। অবশ্যই এটি একটি প্রয়োজনীয় জ্ঞান দিয়ে প্রস্তুত করে, একটি সাঁতারু হয়ে আপনাকে জলে ঝাঁপিয়ে পড়ে got

আমি দেখতে পাচ্ছি যে এটি করা সম্পর্কে চিন্তাভাবনা করা / পড়া করার চেয়ে যারা কেবল এটি করেছে তারা তারাই সফল হয়।

আপনি যদি একজন সাঁতারু হতে চান তবে কেবল পানিতে ঝাঁপুন এবং সাঁতার শিখুন, আপনি যদি প্রোগ্রামার হতে চান তবে কেবল একটি ধারণা দিয়ে প্রোগ্রামিং শুরু করুন এবং প্রোগ্রামিং শিখুন।

আমি বিশ্বাস করি পিটার নরভিগের প্রবন্ধটি এখানে প্রাসঙ্গিক: 10 বছরের মধ্যে নিজেকে প্রোগ্রামিং শেখান


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

1

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

আশাকরি এটা সাহায্য করবে..


0

সংক্ষিপ্ত উত্তর, আপনার লক্ষ্য নির্ধারণ করুন এবং শুরু করুন।

এটিকে শেখানোর কোনও বই বা উপায় নেই তবে অভিজ্ঞতার হাত ধরে।

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

আপনার প্রথম প্রকল্পটি শেষ করার পরে এবং প্রযুক্তিগত সমস্যাগুলি সম্পর্কে ভাল উপলব্ধি হওয়ার পরে সফটওয়্যার ইঞ্জিনিয়ারিংয়ের আরও বিমূর্ত এবং উচ্চতর লিভারের বিষয়গুলি সন্ধান করা শুরু করুন।

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

বই (সাধারণ সন্দেহভাজন):


0

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

আপনি কিছু কোড লিখেছেন, তারপরে প্রোগ্রামিং কৌশল সম্পর্কিত বইগুলির অনেক বেশি অর্থ হবে।


0

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

http://www.joelonsoftware.com/articles/DevelopmentAbstraction.html

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