Friday, June 20, 2014

Invention of Computer

clip_image002
Invention of Computer
An English mathematician named Charles Babbage (father of computing) invented analog computer first in 1830.
clip_image004

clip_image006
Then ‘Howard Aiken (1900-1973)’ from Harvard University made a mechanical computer(ENIAC).
clip_image008
clip_image010
Afterwards digital computer was invented which was 200 times speedier than the mechanical computer & eventually it is improved to today’s computer.
Daughter of Lord Byron ‘Lady Ada Lovelace Byron’ made the world’s first computer program.
clip_image012

Wednesday, June 18, 2014

Various Programming Languages : C++ Part 2

বিভিন্ন ধরনের প্রোগ্রামিং ল্যাংগুয়েজ
অ্যাসেম্বলী ল্যাংগুয়েজের বিভিন্ন সমস্যা কাটিয়ে সাধারন ব্যবহারকারীদের কথা চিন্তা করে প্রোগ্রামিং ল্যাংগুয়েজ ডেভেলপ এর কথা ভাষা হয় এবং একদিন সেটি সম্ভবও হয়। ইদানিং আমাদের সামনে প্রচুর প্রোগ্রামিং ল্যাংগুয়েজ বিদ্যমান। সব প্রোগ্রামিং ল্যাংগুয়েজের কিছু ব্যাপারে অবশ্যই মিল আছে। কিন্তু বিভিন্ন ধরনের কাজের জন্য বিভিন্ন রকম ডেটা প্রয়োজন হয়। সুতরাং কাজের উপর ভিত্তি করে বিভিন্ন সময়ে বিভিন্ন ধরনের ল্যাংগুয়েজ তৈরী করা হয়।
FORTRAN:- ১৯৫৭ সালে IBM কোম্পানীর ডঃ হেমস ব্যাকার এটি ডেভেলপ করেন। এর পুরোনাম হচ্ছে FORmula TRANslation. সাধারনত বৈজ্ঞানিক এবং ইঞ্জিনিয়ারিং কাজে বিভিন্ন ধরনের গানিতিক সূত্রের ব্যবহারের জন্য এটির প্রয়োজন হয়।
COBOL:- ১৯৬০ সালে COBOL নামে একটি ল্যাংগুয়েজ ডেভেলপ করা হয়। এর পুরা নাম হচ্ছে COmmon Business Oriented Language (CO_B_O_L) এটি দিয়ে সাধারনত ব্যবসায়িক সফ্টওয়ার ডেভেলপ করা হতো।
BASIC:- নির্দিষ্ট কোন কাজের গন্ডির বাইরে একটি প্রোগ্রামিং ল্যাংগুয়েজ দ্বারা মোটামুটি সব ধরনের কাজ করা যায়, এই উদ্দেশ্য নিয়েই BASIC এবং Pascal এই ল্যাংগুয়েজ দুটি তৈরী করা হয়। BASIC অর্থ হলো Beginers All Purpose Symbolic Instruction Code (B-A-S-I-C). ১৯৬০ সালে যুক্তরাষ্ট্রের ডাট মাইথ কলেজে সর্বপ্রথম এটির ব্যবহার করা হয়।
Pascal:- ১৯৭০ সালে সুইজারল্যান্ডের প্রফেসর নিকলাস হুইরথ Pascal নামে একটি প্রোগ্রামিং ল্যাংগুয়েজ ডেভেলপ করেন। এটি দিয়ে সবধরনের সফ্টওয়ার ডেভেলপ করা যায়। Pascal কে বলা হয় মডুলার (Modular) প্রোগ্রামিং ল্যাংগুয়েজ অর্থাৎ এতে প্রত্যেকটি বড় বড় প্রোগ্রামকে কয়েকটি সাব-প্রোগ্রামে ভাগ করা যায়। Pascal প্রথম মডুলার প্রোগ্রামিং হওয়ার জন্য বৈজ্ঞানিক, গানিতিক এবং ব্যবসায়িক ইত্যাদি কাজের ক্ষেত্রে কিছু সীমাবদ্দতা আছে। পরবর্তীতে C প্রোগ্রাম (১৯৭২ সালে) ডেভেলপ করা হয় যা দিয়ে বৈজ্ঞানিক, গানিতিক বা ব্যবসায়িক সব ধরনের সমস্যার সমাধান করা যায়।
C- প্রোগ্রামিং ল্যাংগুয়েজ
১৯৭২ সালে AT & T নামের কোম্পানির–Bell Laboratory-তে এটি ডেভেলপ করেন ডেনিস রিচি। তিনি DEC PDP-ΙΙ মেশিনে এবং UNIX অপারেটিং সিস্টেমে এটি তৈরী করেন। ১৯৭৮ সালে ডেনিস রিচির লেখা The C Programming language. বইটি প্রকাশিত হয় এবং মাইক্রো কম্পিউটারের জনপ্রিয়তা বাড়ার সাথে সাথে C এর ব্যাপক ব্যবহার শুরু হয়। যদিও প্রথমে UNIX অপারেটিং সিষ্টেম ব্যবহার করে C লেখা হয় কিন্তু পরবর্তীতে আবার C ব্যবহার করে UNIX কে নতুন ভাবে লেখা হয় এবং একাধিক অপারেটিং সিষ্টেমে C চলতে পারে। C নিদির্ষ্ট কোন কাজের জন্য তৈরী হয়নি, এটি এমন এক ধরনের প্রোগ্রামিং ল্যাংগুয়েজ, যা ব্যবহার করে যে কোন ধরনের সমস্যার সমাধান করা যায়। বর্তমানে একাধিক নতুন প্রোগ্রামিং ল্যাংগুয়েজের প্রচলন আছে তবুও C এর জনপ্রিয়তা ক্রমশ বাড়ছেই। বর্তমান বিশ্বে প্রচলিত 90% এরও অধীক কম্পাইলার সি ব্যবহার করে তৈরী করা হয়েছে।
C-এর ইতিহাস
COBOL ব্যবহার করা হতো ব্যবসায়িক সফ্টওয়ার তৈরীর উদ্দেশ্যে অপরদিকে FORTRAN-ব্যবহার করা হতো বৈজ্ঞানিক ও ইঞ্জিনিয়ারিং এর ক্ষেত্রে ব্যবহৃত গানিতিক সমস্যা সমাধানের সফ্টওয়ার তৈরীর উদ্দেশ্যে। তখন থেকেই প্রয়োজন হয় এমন একটি প্রোগ্রামিং ল্যাংগুয়েজ, যা দ্বারা সব ধরনের সমস্যার সমাধান দেওয়া যাবে অর্থাৎ কোন নিদির্ষ্ট কাজের জন্য না হয়ে সব ধরনের কাজ করা যাবে এমন একটি সফ্টওয়ার প্রয়োজন হয়ে পরে। ১৯৬০ সালে এই প্রয়োজন থেকেই তৈরী করা হয় ALGOL (Algorithmic Language) তাতেও কাঙ্খিত লক্ষ্য অর্জন সম্ভব হয়নি। ১৯৬৩ সালে ক্যামব্রীজ ইউনিভার্সিটিতে তৈরী করা হয় CPL (Combined Programming Language)। এটি ব্যবহারের ক্ষেত্রেও জটিলতা থেকে যায়। ১৯৬৭ সালে আবারও ক্যামব্রিজ ইউনিভার্সিটির মার্টিন রিচার্ড তৈরী করেন BCPL (Basic Combined Programming Language)। ১৯৭০ সালে AT & Tর Bell laboratory-র কেন থম্পসন তৈরী করেন B. এর পরপর ১৯৭২ সালে ডেনিস রিচি BCPL ও B এবং সংস্কার করে C তৈরী করেন। অনেক দিন ধরে সাধারনত একাডেমিক কাজে এটি ব্যবহৃত হয় এবং উত্তর উত্তর এর বিভিন্ন কম্পাইলার বাজারে আসে, বাণিজ্যিক ব্যবহারের জন্য এবং ধীরে ধীরে জনপ্রিয়তা ও ব্যবহারও বৃদ্ধি পায়।
বিভিন্ন ধরনের C
C এর ব্যবহার উপযোগী এবং জনপ্রিয়তার কারনে বিভিন্ন প্রতিষ্ঠান তাদের নিজস্ব C ল্যাংগুয়েজ তৈরী করতে শুরু করে। এক্ষেত্রে অবশ্যই বিভিন্ন ধরনের পার্থক্য তৈরী হয়, এই সমস্যা সমাধানের জন্য ১৯৮০ সালে ANSI (American National Standards Institute) কতৃক C এর একটি আদর্শ মান নির্ধারন করা হয়, অবশ্য এই Standard পূর্ণতা পায় ১৯৮৮ সালে বাজারে প্রচলিত অন্যান্য Compiler যেমন বোরল্যান্ড কোম্পানির Turbo C এবং মাইক্রোসফ্ট এর Borland C ইত্যাদি। কিছু পার্থক্য ছাড়া বর্তমানের সব C কম্পাইলার ANSI Standard অনুযায়ী তৈরী করা হয়। সামান্য কিছু পার্থক্য ছাড়া এক ভার্সনে লিখিত সি/সি ++ প্রোগ্রাম অন্য ভার্সনে চালনা করা যায়। যেহেতু সি ++ কম্পাইলার সি এর ফাইলকে চালাতে পারে তাই বর্তমানে অধিকাংশ কম্পাইলার হচ্ছে সি ++ কম্পাইলার।
C–এর অনন্য কিছু বৈশিষ্ট্যঃ
1) C-তে বড় একটি প্রোগ্রামকে ছোট ছোট module বা Function-এ ভাগ করে লেখা সম্ভব। আর প্রতিটি অংশের নাম Module বা Function. এই কারনে C কে বলা হয় Structured language. C-তে Loop ব্যবহার করা হয় যেমনঃ While, do-while, for ইত্যাদি। অপর দিকে Unstructured language–এ goto বা Jump কমান্ড ব্যবহার করা হয়। ফলে প্রোগ্রাম তার স্বাভাবিক কার্যধারা ব্যাহৃত হওয়ার সম্ভাবনা থাকে। FORTRAN, COBOL, BASIC ইত্যাদিকে বলা হয় Unstructured language এবং Pascal, C, Ada, Modula-2, Java, C++ ইত্যাদিকে বলা হয় Structured language. তবে সি ++ এর মত সি তে কোন Function বা Procedure এর মধ্যে আবার কোন Function বা Procedure লেখা যায় না। যেগুলিতে এগুলি করা যায় তাকে বলে Block Structured ল্যাংগুয়েজ। কাজেই সি Structured ল্যাংগুয়েজ হলেও Block Structured ল্যাংগুয়েজ নহে।
2) সি এর আর একটি বৈশিষ্ট্য হলো এটি general purpose language. যেমন COBOL বা FORTAN দিয়ে নির্দিষ্ট কিছু ধরনের কাজ করা যায়। এক্ষেত্রে সি দিয়ে যে কোন ধরনের সমস্যার সমাধান করা যায়। সুতরাং সি হচ্ছে একটি general purpose language.
3) সি হচ্ছে একটি Portable language কারন যে কোন এক কম্পিউটারের তৈরী সি প্রোগ্রাম অন্য কোন কোম্পানীর তৈরী কম্পিউটারে কম্পাইল এবং রান করানো যায়। অর্থাৎ এক OS-এ লেখা অন্য OS দিয়ে চালানো সম্ভব। যেমন DOS দিয়ে লেখা C প্রোগ্রাম Windows দিয়ে চালানো সম্ভব।
4) বিবিধ সুবিধার কারনে System Programming-তে একে ব্যবহার করা হয়ে আসছে বলে একে System Programming ল্যাংগুয়েজও বলা হয়। কম্পিউটার অপারেটিং সিষ্টেমের একটি অংশের গঠনই হচ্ছে System Program. যেমন নীচের যে কোন ধরনের প্রোগ্রামকেই System Program বলা যায় এবং এর সবগুলির C দ্বারা তৈরী করা সম্ভব।
  • Operating Systems
  • Interpreters
  • Editors
  • Compilers
  • File Utiliters
  • Performance enhancer
  • Real-time executives
অবশ্য সি ++ এ একই ধরনের বৈশিষ্ট্যগুলো অক্ষুন্ন রাখে।

প্রোগ্রামিং ল্যাংগুয়েজের প্রকারভেদ
সমস্ত প্রোগ্রামিং ল্যাংগুয়েজকে ২টি ভাগে ভাগ করা যায়। যেমনঃ
clip_image002
Highest Level : এই প্রোগ্রামিং ল্যাংগুয়েজ গুলো সহজে বোধগম্য এবং সাধারনের জন্য ব্যবহার সহজ। এই ল্যাংগুয়েজে দক্ষতা অর্জনের জন্য মেশিন বিশেষজ্ঞ হওয়ার দরকার পরে না। যেমন - BASIC, PASCAL, COBOL ইত্যাদি।
Lowest Level : এ ধরনের প্রোগ্রামিং ল্যাংগুয়েজ গুলো ব্যবহারের জন্য মেশিনের গাঠনিক দিকে এক ধরনের বিশেষজ্ঞ হওয়ার প্রয়োজন পরে এবং এতে প্রোগ্রাম লেখার জন্য বাইনারী পদ্ধতি অবলম্বন করতে হয়। যেমনঃ Macro-Assembler, Assembler ইত্যাদি।
Middle Level : সি কে বলা হয় Middle Level ল্যাংগুয়েজ। এর অর্থ এই না যে সে কম ক্ষমতা সম্পন্ন, ব্যবহার জটিল এবং হাইয়েষ্ট লেভেল ল্যাংগুয়েজের তুলনায় কম উন্নত। হাইয়েষ্ট লেভেল ল্যাংগুয়েজের ভাল ভাল সমস্ত সুযোগ সুবিধা অটুট রেখে লোয়েষ্ট লেভেল ল্যাংগুয়েজের সাথে এর সমন্বয় করা সম্ভব। অথাৎর্ Assembler ল্যাংগুয়েজের মত Bit, Byte এবং Memory address-নিয়ে কাজ করার সাথে সাথে, হাইয়েষ্ট লেভেল ল্যাংগুয়েজের কমন ডাটা টাইপ যেমন Integer, Character and Real ইত্যাদি। যদিও সি তে বিল্ট-ইন বেসিক ৫টি ডাটা টাইপ বিদ্যমান। এমনকি সি তে এক ডাটা টাইপ থেকে অন্য ডাটা টাইপ কনভারশন সম্ভব। বিভিন্ন লেভেলের ল্যাংগুয়েজ যেমনঃ
Highest Middle Lowest
Ada
Modula -2
Pascal
COBOL
FORTRAN
BASIC




Java
C++
C
FORTH


Macro-Assembler
Assembler








মেমোরী
কম্পিউটারকে প্রদানকৃত সমস্ত ইনফরমেশন মেমোরীতে জমা হয় এবং এটি ’0’ এবং ’1’ এর সমান সমান ক্ষুদ্র ক্ষুদ্র অংশে বিভক্ত। যে ক্ষুদ্র যন্ত্রাংশটি কম্পিউটারের মেমোরীর কাজ করে তার নাম RAM(বা Random Access Memory) মনে করুন কম্পিউটারের পাউয়ার অফ আছে এক্ষেত্রে RAM সর্ম্পূন ফাঁকা থাকে আবার কম্পিউটারের পাউয়ার সুইচ অন করলে প্রথমে মেমরীতে বা RAM-এ সিষ্টেম লোড হয় এবং সেখান থেকেই কম্পিউটার পরিচালিত হয়। কাজেই মেমরী হচ্ছে এক ধরনের আধার, যেখানে সমস্ত ইনফরমেশন (ডাটা এবং ইন্সট্রাকশন) জমা থাকে।
Virus gard TC.
MS Word Audio
clip_image003OS

128 M. B. Memory
নিচে Ram এর অবস্থান অনুযায়ী NOVA লেখার অবস্থান দেখানো হলোঃ
7 6 5 4 3 2 1 0
0681
N

7 6 5 4 3 2 1 0
0682
0

7 6 5 4 3 2 1 0
0683
V

7 6 5 4 3 2 1 0
0 1 0 0 0 0 0 1
0684
A

clip_image005





































Tuesday, June 17, 2014

Learn C ++ Programing

Part-1

নিশ্চয়! আপনি প্রস্ত্তত, আপনার কম্পিউটারের (PC) BOSS হবার জন্য। মানে বলতে চাচ্ছি, আপনার কম্পিউটার আপনার ইচ্ছানুযায়ী কাজ করবে অর্থাৎ আপনি যেভাবে নির্দেশ দিবেন ঠিক ঠিক সেই নির্দেশ পালন করবে। এক্ষেত্রে একটা কথা বলা দরকার, আপনি যখন আপনার কী বোর্ড থেকে A লেখা বোতামটি চাপ দিচ্ছেন তখন মনিটরে ‘A’ লেখা ভেসে উঠছে। কী বোর্ড থেকে A লেখা বোতামটি চাপ দেওয়ার অর্থ হচ্ছে মনিটরে A লিখতে বলা। অথচ কম্পিউটারের ক্ষেত্রে সমস্যা হচ্ছে A,B,C,D-ইত্যাদির কিছুই সে চেনে না। আপনি যতবারই তাকে ‘A’ লিখতে বলবেন ততবারই সে তার ভিতরে রক্ষিত প্রোগ্রাম থেকে জেনে নিচ্ছে, আমার বস একটি নির্দেশ পাঠিয়েছে, এর মানে কি? আপনারই মতো কোন প্রোগ্রামার আগে থেকেই একগুচ্ছ নির্দেশ লিখে রেখেছে যে, কোন্ বোতাম চাপ দিলে মনিটরে কি লিখতে হবে। সুতরাং তাঁর কাছ থেকে সাহায্য নিয়ে কম্পিউটার নির্দেশ পালন করছে এবং নির্দেশ পালনের পরপর আবার ভুলে যাচ্ছে। আবার নির্দেশ পেলে প্রোগ্রামের কাছ থেকে আবার সাহায্য নিয়ে নির্দেশ পালন করছে এবং যথারীতি আবার ভুলে যাচ্ছে। ব্যাপারটা অন্যভাবে বলা যাক যেমন আপনি কম্পিউটার (PC) কে নির্দেশ নিলেন ২+২=?। সে দ্রুত নির্দেশটি পেল এবং ভিতরে যেখানে প্রোগ্রাম আছে তার কাছে গিয়ে শুনলো এর মান কি? উত্তর পেল ‘4’ এবং তৎক্ষনাত সে মনিটরে লিখে দিল 4 আর যথারীতি পুরো ব্যাপারটি ভুলে গেল। দ্বিতীয় বার আবার যখন আপনি জানতে চাইলেন ২+২?। আবারও সে একই কাজ করলো। এভাবেই চলতে থাকলো। আরও একটা গোপন কথা হলো কম্পিউটার A, B, C, D ইত্যাদি সহ 1, 2, 3 ইত্যাদি কোন অক্ষরই চেনে না। সে শুধুমাত্র 0 এবং 1 এই দুইটি অক্ষরই চেনে সুতরাং কিবোর্ড থেকে A অথবা 1 লিখলে সে সেটাকে 0 এবং 1 এ রূপান্তরিত করে নেয় এবং কাজ সমাধান করে সেই একই প্রক্রিয়ায় এবং শেষে ফলাফল দেখানোর সময় আবার সাধারন ইংরেজী যেমন A বা 1 এ রূপান্তরিত করে দেয়। ব্যাপার গুলো নিয়ে আমরা বিস্তর আলোচনা করবো। আপাতত আপনি আপনার কম্পিউটারের বস হবার জন্য একটি নির্দেশ বা প্রোগ্রাম তৈরী করুন। সুতরাং বইটির সাথে আপনার সময় শেয়ার করুন এবং একজন রিয়েল BOSS হউন।

আপনার কম্পিউটার থেকে C/C++ প্রোগ্রাম রান করুন এবং নিচের কোডগুলো হুবুহু লিখুন।

clip_image002

প্রোগ্রাম লেখা শেষ হলে কীবোর্ড থেকে Ctrl+F9 প্রেস করুন। রেজাল্ট নিজেই দেখুন।

clip_image004

যদি এই প্রোগ্রাম বুঝতে এবং করতে অসুবিধা হয় তবে কোন সমস্যা নাই একটু পরেই আমরা এটা নিয়ে বিস্তারিত আলোচনা করবো তাঁর আগে চলুন নিম্নলিখিত বিষয়গুলো নিয়ে একটু সাধারন ধারনা নেওয়া যাক।

ধানমন্ডির একটি বড় ডিপার্টমেন্টাল ষ্টোরের নাম Stop Mall. আমার বন্ধু মুন্না ওখানে কাজ করে এবং প্রতিদিনের ট্রানজেকশনের বিস্তারিত বিবরন তাকে রাখতে হয়। প্রতিটি কাষ্টমারের লেনদেনের বিলও তাকেই তৈরী করতে হয়।

মনে করি বিলের নমুনা নিম্নরূপ:

Customer Name:-.................................................

Date:- ..................

Item

Rate

QTY

Price

Video CD

Tk 150/=

2 units

Tk 300/=

Jelly

Tk 250/=

2 Nos

Tk 500/=

Hanger

Tk 25/=

10Nos

Tk 250/=

   

Total

 

বিলটি তৈরী করার জন্য মুন্না যে কাজগুলি করে সেগুলি হচ্ছেঃ

কি কি আইটেম এবং কয়টি বিক্রি হলো

প্রতি আইটেমের রেট কত

প্রতিটি আইটেম এর সাথে ইউনিটের গুন করে দাম বের করা এবং

প্রতিটি রেট কে যোগ করে মোট (total) বের করা।

সংক্ষেপে যে কাজটি করতে হয় তা হলোঃ

§ প্রতিটি লেনদেন সম্বন্ধে বিস্তারিত বিবরন সংগ্রহ করতে হয় (Input)

§ প্রয়োজনীয় ক্যালকুলেশন করতে হয় (Process)

§ সবমিলিয়ে একটি ফলাফল দাঁড় করতে হয় (Output)

কম্পিউটার ঠিক একইভাবে কাজ করে থাকে। প্রথমত কোন ইনফরমেশন কম্পিউটারে Input দিতে হয়, সে Process করে এবং ফলাফল Output করে। এটিকে বলে I.P.O cycle.

Input clip_image005   Process        clip_image006 Output

আসুন নিচের ব্যাপারটি বিবেচনা করা যাক। মনে করি নিচের কাজগুলো করতে হবে।

a. দুইটি সংখ্যার যোগ ফল (Sum) বের করতে হবে।

b. তিনটি সংখ্যার গড় (Average) বের করতে হবে।

c. একটি সংখ্যা জোড় না বিজোড় বের করতে হবে।

নিম্নলিখিত প্রক্রিয়ায় কাজটি করা সম্ভব।

 

Input

Process

Output

a

২টি সংখ্যা

সংখ্যা ২টি যোগ করা

যোগফল

b

৩টি সংখ্যা

গড় বের করা

গড়

c

১টি সংখ্যা

জোড় না বিজোড় পরীক্ষা করা

জোড় অথবা বিজোড়

Input-Process-Output – এই প্রক্রিয়ায় কাজ করার জন্য কম্পিউটারের বিভিন্ন অংশ ব্যবহৃত হয়। যাকে বলা হয় হার্ডওয়ার এবং সফ্টওয়ার।

হার্ডওয়ার এবং সফ্টওয়্যারঃ

কম্পিউটারের বিভিন্ন যন্ত্রাংশকে হার্ডওয়ার বলে। যেমন - Mouse, Keyboard, Microprocessor, Monitor, RAM ইত্যাদি। আর কম্পিউটারে ব্যবহৃত প্রোগ্রামগুলি হচ্ছে সফ্টওয়ার।

প্রোগ্রামিং ল্যাংগুয়েজ

সাধারনত আমরা বাংলা, ইংরেজী, হিন্দি, ফ্রেঞ্চ ইত্যাদি ভাষা বুঝে থাকি। কিন্তু কম্পিউটার শুধুমাত্র ইলেকট্রনিক্স সিগন্যাল বুঝে থাকে। এই ইলেকট্রনিক্স সিগন্যাল কে বলা হয় মেশিন ল্যাংগুয়েজ। একথা বলাই বাহুল্য যে কম্পিউটার এক ধরনের ইলেকট্রনিক্স যন্ত্র এবং এতে অসংখ্য লজিক গেট (Logic gate) রয়েছে। আর এ কেবলমাত্র ২টি লজিক বোঝে একটি হলো 0 (শুন্য) অর্থাৎ বিদ্যুত প্রবাহের অনুপস্থিতি এবং অপরটি হলো ১ (এক) অর্থাৎ বিদ্যুৎ প্রবাহের উপস্থিতি। এই শুন্য (0) এবং এক (১) এর এই পদ্ধতিকে বলে বাইনারী (Binary) পদ্ধতি। আমরা যেমন গানিতিক কার্যাবলী সম্পাদানের ক্ষেত্রে ০-৯ এই দশটি সংখ্যা নিয়ে কাজ করে থাকি। বাইনারী পদ্ধতিতে তেমনি শুন্য (০) এবং এক (১) এই দু’টি সংখ্যা ব্যবহার করা হয়। যেমন A কে কম্পিউটার 1000001 এবং B কে 1000010 হিসেবে রূপান্তরিত করে নেয়।

সুতরাং মেশিন ল্যাংগুয়েজ ব্যবহার করেও কম্পিউটারে প্রোগ্রাম লেখা যায় সেক্ষেত্রে ব্যাপারটি সময়সাপেক্ষ এবং কষ্টকরও বটে। এছাড়া মেশিন ল্যাংগুয়েজ ব্যবহার করে তৈরীকৃত প্রোগ্রাম বিভিন্ন মেশিনে চালানোর ক্ষেত্রে সীমাবদ্ধতা আছে। কাজেই পরবর্তীতে অর্থসূচক কিছু ইংরেজী সংকেত যেমন: SUM, ADD, LOAD, NULL ইত্যাদি ব্যবহার করে এক ধরনের ল্যাংগুয়েজ প্রবর্তন করা হয় যাকে বলা হয় অ্যাসেম্বলী ল্যাংগুয়েজ। এক্ষেত্রে 0 এবং 1 ব্যবহার না করে ইংরেজী সংকেত ব্যবহার করা হয়। তবে সাধারন ইংরেজীতে লেখা হলেও সেটি আবারও বাইনারী পদ্ধতিতে রূপান্তরিত হয় এবং বাইনারীতে প্রসেস হবার পর রেজাল্ট দেবার আগে আবারও ইংরেজীতে রূপান্তরিত হয়। এই রূপান্তরের কাজ করে যে প্রোগ্রাম বা সফ্টওয়ার তাকে বলা হয় অ্যাসেম্বলার। অ্যাসেম্বলী ল্যাংগুয়েজ তৈরীর সময়ই এর সাথে বিল্ট-ইন ভাবে অ্যাসেম্বলার তৈরী করা হয়েছে। সুতরাং আমরা অ্যাসেম্বলী ল্যাংগুয়েজে ইংরেজী সংকেত ব্যবহার করে প্রোগ্রাম লিখলে, অ্যাসেম্বলর তা মেশিন ল্যাংগুয়েজে রূপান্তর করে প্রয়োজনীয় কাজের সমাধান দিবে। তবে অ্যাসেম্বলী ল্যাংগুয়েজে প্রোগ্রাম লিখতে হলে একজন প্রোগ্রামারের কম্পিউটারের গঠন সম্বন্ধে প্রচন্ড ভাল জ্ঞান থাকা দরকার এবং তাকে একজন মেশিন বিশেষজ্ঞ হওয়ার দরকার হয়। তাই পরবর্তীতে কম্পিউটার ল্যাংগুয়েজকে সাধারনের ব্যবহার উপযোগী করে আরও প্রচুর প্রোগ্রামিং ল্যাংগুয়েজ তৈরী করা হয়। যারই উত্তরসূরী আজকের সি/সি ++ অথবা জাভা। এই জাতীয় ল্যাংগুয়েজে কাজ করার জন্য একজন প্রোগ্রামারের মেশিন বিশেষজ্ঞ হওয়ার দরকার হয় না। সাধারন ইংরেজী ভাষার মত করে এবং কিছু লজিক মেনে চলে এই প্রোগ্রামগুলে দিয়ে প্রোগ্রাম রচনা করা হয়ে থাকে।

কম্পাইলার ও ইন্টারপ্রেটর

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

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

কম্পাইলার এবং ইন্টারপ্রেটর এর পাথর্ক্য

কম্পাইলার এবং ইন্টারপ্রেটর - এর মধ্যে কাজের দিক থেকে বেশ কিছু পার্থক্য রয়েছে।

কম্পাইলার

কম্পাইলার হাইলেভেল ল্যাংগুয়েজে লিখিত প্রোগ্রামকে সর্ম্পূন রূপে মেশিন ল্যাংগুয়েজে রূপান্তরিত করে। কম্পাইলার কোন একটি প্রোগ্রামের সম্পূর্ন Source Code-কে পড়ে, কোন ভুল না থাকলে Machine Code–এ রূপান্তরিত করে এবং প্রয়োজনীয় সাহায্যকারী ফাইল যুক্ত করে এক্সিকিউটেবল (বা.exe) ফাইলে রূপান্তরিত করে। পরবর্তীতে কম্পাইলার ছাড়াই অপারেটিং সিস্টেম থেকে প্রোগ্রামটি সরাসরি রান করানো যায়। যেমন আমরা যদি MS-Word এর Icon-এ ক্লিক করি তবে সরাসরি MS-Word চালু হয়। কারন WINWORD.exe নামে একটি exe ফাইল আগেই তৈরী করে রাখা হয়। কাজেই MS-Word কোন্ প্রোগ্রামিং ল্যাংগুয়েজ দ্বারা তৈরী এবং তাঁর কম্পাইলারের কোন প্রয়োজন হয় না। মনে করুন সি/সি ++ দিয়ে আপনি একটি গেম তৈরী করে ফাইলটির একটি নাম দিয়ে কম্পাইল করে .exe (এক্সিকিউটেবল) ফাইল তৈরী করলেন এবং ডেক্সটপে একটি Icon তৈরী করে রাখলেন। পরবর্তীতে বিভিন্ন সময়ে ওই Icon-এ ক্লিক করলেই গেমটি চালু হবে। এক্ষেত্রে আপনার মেশিনে সি/সি++ বা তাঁর কম্পাইলার না থাকলেও চলবে।

ইন্টারপ্রেটর

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

Contunue…..

Tuesday, June 3, 2014

Earning Money from Internet

ইন্টারনেটে অর্থ উপার্জন
ইন্টারনেটে অর্থ উপার্জন খুবই সম্ভব। তবে একটু সময় দিতে হবে। সর্বোচ্চ ২/৩ মাস তো চেষ্টা চালাতেই হবে। কিছু বিষয় জানতে/বুঝতে হবে। একটা বিষয় ভেবে দেখুন তো, আপনি H.S.C পাশ করতে পড়াশোনার পিছনে সময় দিলেন ১২ বছর+অনার্স ৪ বছর+মাষ্টার ২ বছর = মোট ১৮ বছর। এরপর আপনি কনফার্ম চাকরী পাবেন একথা আপনি বলতে পারেন ? আমি বলবো ইন্টারনেটে অর্থ উপার্জনের জন্য ৩ থেকে ৬ মাস সময় দিন। নিরাশ হবেন না।
এ বিষয়ে বিস্তারিত জানার জন্য আমার লেখা মাষ্টারিং  Web Design and Development Part1, Part 2, Office Traning Guide, Word, Excel, Graphics Design(Photoshop , Illustrator) ইত্যাদি বইগুলো সংগ্রহ করে পড়ে নিন। তবে ইন্টারনেটে অর্থ উপার্জনের জন্য যে কোন একটি বিষয়ে ভাল জানা থাকলে ভাল হয় এবং অন্য সমস্ত বিষয়ে চোখ-কান খোলা রাথতে হবে। কম্পিউটারের কোন বিষয়ে বিশেষজ্ঞ না, এরকম মানুষদের জন্যও কাজের অভাব নেই। বিষয়টি সম্বন্ধে একটু কৌতুহল নিয়ে জানুন।

ইন্টানেটে অর্থ উপার্জনের জন্য সবচেয়ে ভাল উপায় হচ্ছে আপনার একটি ভাল ওয়েবসাইট থাকা। আপনি নিজে যদি এটি করতে না পারেন তবে কিছু অর্থ ব্যয় করে একটি ওয়েবসাইট তৈরি করে নিন। আর যদি ওয়েবসাইট না থাকে তাহলেও চিন্তার কোন কারন নাই, আপনার জন্য আছে ফ্রিল্যান্সিং। চলুন এ বিষয়ে আলোকপাত করা যাক।
(১) ওয়েব পেজ
(২) ফ্রিল্যান্সিং
(ক) গ্রাফিক্স ডিজাইন (খ) SEO (গ) অ্যাফিলেটেড মার্কেটিং, ইত্যাদি।
ধরে নিচ্ছি আপনি কম্পিউটারে শুধু মাউস ক্লিক করতে পারেন আর কিছুই পারেন না। আপনার জন্যও কাজ আছে। কম্পিউটারে দক্ষ না মোটামুটি দক্ষ বা বেশ দক্ষ সবার জন্যই কাজ আছে।
PTC পেইড টু ক্লিক এর মাধ্যমে আয়
শুধু বিজ্ঞাপনে ক্লিক করুন এবং ইনকাম করুন। এজন্য http://www.neobox.com সাইটে একটি অ্যাকাউন্ট খুলে login করুন। আপনার সামনে neobox আসলে View Advertisement অপশনে তিনটি বাটন পাবেন। যে কোনটিতে ক্লিক করুন। নিচে যে বক্সগুলো পাবেন সেগুলিই বিজ্ঞাপন। আবারও কোন একটিতে ক্লিক করুন একটি লাল বাটন আসবে।
clip_image003
লাল বাটনে ক্লিক করে কিছুক্ষন অপেক্ষা করুন লেখা আসবে Advertisement Validated। ব্যাস্ আপনার কাজ শেষ। Dolar জমা হবে আপনার Account এ।
clip_image006
আবার Neobox এ এসে অন্য আরেকটি বিজ্ঞাপনে ক্লিক করুন। আবার ডলার জমা হবে। তবে এই ধরনের সাইটে অর্থের পরিমান খুবই কম এবং বিশ্বাসযোগ্য নহে। আপনি পরীক্ষামূলকভাবে এবং নিজের আত্ম-বিশ্বাস জন্মানোর জন্য করে দেখুন।
Sign Up এর কাজ
শুধুমাত্র Account খুলবেন যেমন: Facebook, twitter, youtube, digg ইত্যাদিতে এবং আপনার Account এ ডলার জমা হবে। এগুলি বিশ্বস্ত। যেমন: www.microworkers.com সাইটে অ্যাকাউন্ট খুলে logon করুন। (Account খোলার সময় আপনার IP Address অলরেডি ব্যবহৃত হচ্ছে ম্যাসেজ আসলে অন্য কম্পিউটারে অন্য মডেম দিয়ে বা কয়েকদিন পর আবার চেষ্টা করুন) এইমাত্র আমি Microworker এ login করে দেখলাম Random Game এর সাইটে Sign Up করার জন্য 0.10 ডলার (১০ সেন্ট-৭/৮ টাকা) একটি কাজ রয়েছে।
clip_image009
কাজটিতে ক্লিক করে একটি সাইটের Address পাবেন সেখানে গিয়ে Sign Up করুন এবং Username এবং Confirmation ই-মেইলটি পাঠিয়ে দিন। কাজ শেষে আবার বলি এখানে স্বল্প পরিসরে ব্যাপারটি শুরু করা হচ্ছে মাত্র..
বিস্তারিত জানতে আমার লেখা (বাপ্পি আশরাফ) ইন্টারনেট ও ওয়েব পেজ সংক্রান্ত বইগুলি সংগ্রহ করে নিন।





Article লেখা
নিজস্ব বিষয় নিয়ে মৌলিক, কোন কাট/পেস্ট নয়, আর্টিকেল লিখেও আয় করতে পারেন। এজন্য অনেক সাইট আছে। মনে করুন Edine আর্টিকেল একটি সাইট ০.৫ ডলার থেকে ৫ ডলার পর্যন্তু ; এখানে আর্টিকেল থেকে আপনি আয় করতে পারবেন। আর্টিকেল লিখে এখানে সাবমিট করে রাখুন। কর্তৃপক্ষ সন্তুষ্ট হলে এটি পাবলিশ হবে এবং আপনার অ্যাকাউন্ট-এ টাকা জমা হবে।
www.ezinearticles.com সাইটে একটি অ্যাকাউন্ট খুলে login করুন এবং Article Manager মেনু থেকে Submit A New Article বাটনে ক্লিক করুন। আবারও Submit an article বাটনে ক্লিক করুন।
clip_image012
এখন একটি ফর্ম আসবে Category ও Subcategory সিলেক্ট করুন। Article এর একটি Title দিন এবং 200 Word এর মধ্যে আপনার আর্টিকেলের একটি সামারি লিখুন এবং শেষে Article Body তে আপনার Article লিখুন। শেষে Submit this Article বাটনে ক্লিক করুন।
clip_image014

oDesk Account খোলা
আমরা প্রথমে কারা ইনকাম করছে তাদের সম্বন্ধে ধারনা নেব পরে কিভাবে নিজেরা ইনকাম করতে পারি সেই বিষয়টি শিখবো। আসুন অনলাইনে মানুষ কিভাবে ইনকাম করছে সেটি জানার জন্য www.odesk.com এ একটি অ্যাকাউন্ট খুলুন এবং log-in করুন। এই বইতে বিস্তারিত দেওয়া সম্ভব না বলে সংক্ষেপে আলোচনা করছি।
১. Browser এ Odesk.com লিখে Enter দিন নিচের মত উইন্ডো আসবে।
clip_image016
২. Siqn up এ ক্লিক করুন।
clip_image019
৩. আবারও উইন্ডো আসলে I need a job বাটনে ক্লিক করুন বা Sing up বাটনে ক্লিক করুন।
clip_image022
৪. আবারও Window আসবে। সবঘর পুরন করুন।
clip_image024

যেমন
First Name : mebin
Last Name : jahan
Email : mebinjahan@yahoo.com
City : Dhaka
County : Bangladesh
User Name : mebinbd
Password : mebin1234
Re-type Password : mebin1234 ( আবার লিখুন )
How did you here about oDesk : Friend ( স্ক্রল করে সিলেক্ট করুন ) এটি Optinal না দিলেও
চলবে।
Enter the Code Shown : সংকেতিক অক্ষর বা capta লিখুন যেমন dafdc.
Yes! Sand me genuinely useful email is every now and than to help me get the most out
of oDesk অপশনে টিক চিহ্ন না থাকলে টিক দিন। শেষে Get Started বাটনে ক্লিক করুন।
৫. এখানে আপনাকে email account খুলে দেখতে বলা massageসহ একটি ম্যাসেজ উইন্ডো আসবে।
clip_image026
৬. Mail box খুলুন। Odesk থেকে পাঠানো একটি ম্যাসেজ পাওয়া যাবে। সেটিতে ক্লিক করুন।
clip_image028
৭. একটি লিংক পাওয়া যাবে সেখানে ক্লিক করুন।
clip_image031
৮. Odesk এ যাবে এবং Sign in এর জন্য বক্স আসবে Use name ও Password দিয়ে Sign In বাটনে ক্লিক করুন।
clip_image035
৯. একটি Welcome উইন্ডো আসবে Let Get to work বাটনে ক্লিক করুন ।
clip_image037
তো চলুন বাংলাদেশের প্রত্যন্ত অঞ্চল থেকে মানুষ সত্যিই আয় করছে কিনা, করলে কত টাকা আয় করছে এবং কি পরিমাণ সময় দিচ্ছে এর কয়েকটি বাস্তব উদাহরণ দেখা যাক:
1. এখন odesk থেকে Find Contractors & Job বাটনে ক্লিক করে Find Contractors বাটনে ক্লিক করুন।
2. এখন Search বাটনের পাশে Bangladesh লিখে Search বাটনে ক্লিক করুন।
clip_image041
বিভিন্ন মানুষের লিস্ট আসবে ডান দিকের Category অপশনে All Categories এর বদলে Writing & Translation অপশন সিলেক্ট করুন। দেখুন প্রচুর বাংলাদেশীদের লিস্ট আসবে, যারা ঘরে বসে ইনকাম করছে। এভাবে বিভিন্ন Category এবং Sub-category সিলেক্ট করে দেখুন। আমি অল্প সময়ে ২/১ জনের প্রোফাইল দেখাচ্ছি।
দেখুন Taslima Karim ইনি Document conversion, Data Entry, Excel ও Word এ কাজ করে থাকেন। শেষ কাজ করেছেন ৪ দিন আগে। এ পর্যন্তু কাজ করেছেন 46 ঘন্টা এবং 3$ প্রতি ঘন্টায়। আয় করেছেন 10,350 টাকা। প্রোফাইলে ক্লিক করে দেখুন, বিস্তারিত বিবরণ পাবেন।
clip_image044

দেখুন আর একজন হচ্ছেন Mirza Sahria Kamal শুধুমাত্র Article লেখেন। ২ দিন আগে শেষ কাজ করেছেন, সুদূর দিনাজপুরে বসে কাজ করছেন 9,55,764 টাকা (নয় লাখ পঞ্চান্ন হাজার সাত শত চৌষট্টি টাকা)। শুধুমাত্র Article Write করে। স্বপ্ন নয় ঘটনাটি সত্য ; তাই আপনিও পারবেন শুধুমাত্র মনস্থির করে নিন।
clip_image046
General সাবজেক্ট নিয়ে শুধুমাত্র High School ডিগ্রিকে সঙ্গী করে এবং কঠোর অধ্যবসায়ের মাধ্যমে Norjahan D কাজ করেছেন 3588 ঘন্টা- ইনকাম করেছেন 11,94,504 (এগার লাখ চুরানববই হাজার আট শত ৪ টাকা মাত্র)।
clip_image048