PROGRAMMING ENVIRONMENTS…
PROGRAMMING ENVIRONMENTS
Programming Environment என்பது ஒரு program-ஐ write, edit, compile, execute, test, debug, maintain செய்ய programmer பயன்படுத்தும் complete set of tools and facilities. Simple Tamil: Program எழுதுவதற்கு மட்டும் அல்ல; அதை உருவாக்க ஆரம்பித்தது…
Programming Environment என்பது ஒரு program-ஐ write, edit, compile, execute, test, debug, maintain செய்ய progr……
SIMPLE IDEA
ஒரு C++ program develop செய்ய programmer-க்கு என்னென்ன தேவை? Source Code எழுத வேண்டும் ↓ Code Edit செய்ய வேண்……
PROGRAMMING ENVIRONMENT FLOW
Programmer ↓ Editor / IDE ↓ Source Program ↓ Compiler ↓ Object Code ↓ Linker ↓……
PROGRAMMING ENVIRONMENT-ன் MAIN COMPONENTS
ஒரு typical programming envir……
1. Text Editor 2. Compiler 3. Interpreter 4. Assembler 5. Linker 6.……
இவற்றை inch-by-inch பார்க்கலா……
TEXT EDITOR
Program source code எழுதவும் modify செய்யவும் பயன்படுத்தப்படும் software = Text Edi……
SOURCE CODE
Programmer high-level language-ல் ……
int a = 10; int b = 20;…
இந்த human-readable program s……
SOURCE FILE
C++ source program பொதுவாக: .cpp extension-ல் save செ……
COMPILER
High-level language source program-ஐ lower-level/object/machine-oriented code-ஆக translate செ……
1. COMPILER என்ன செய்கிறது?…
Compiler பொதுவாக: Source code read செய்கிறது ↓ Syntax check செய்கி……
COMPILER ERROR EXAMPLE
int x = ; இது invalid syntax. Compiler error detect ச……
INTERPRETER
Program-ஐ execution நேரத்தில் translate செய்து execute செய்யும் language processor = Interpreter. Conceptual ……
COMPILER VS INTERPRETER
C++ பொதுவாக compiled language.…
ASSEMBLER
Assembly language-ஐ machine code-ஆக convert செய்யும் translator = Assembler. Flow: Ass……
LINKER
இது மிகவும் important exam co……
Different object files மற்றும் required library code-ஐ combine செய்து executa……
SIMPLE LINKER EXAMPLE
Suppose: main.cpp math.cpp compile செய்தால்: main……
1. WHY LINKER?…
Suppose main.cpp: int add(int……
LINKING
இதன் process: Linking Two com……
STATIC LINKING
Required library code executable ……
+ Library Code ↓ Single Executable Advantag……
DYNAMIC LINKING
Library code executable-க்குள் முழுவதும் copy செய்யாமல் runtime/load time-ல் shared l……
LOADER
Executable program-ஐ secondary storage-ல் இருந்து main memory-க்கு load செய……
LINKER VS LOADER
இந்த இரண்டு terms exam-ல் con……
Memory: Linker → Links Loader……
DEBUGGER
Program-ல் உள்ள errors / bugs கண்டுபிடித்து analyze செய்ய உதவும் tool = Debugger. Debugger மூ……
1. BUG என்றால் என்ன?…
Program-ல் உள்ள error அல்லது ……
int a = 10; int b = 0;…
இங்கு divide-by-zero issue ஏற்பட……
DEBUGGING
Program-ல் bugs கண்டுபிடித்து remove செய்வது: D……
BREAKPOINT
Program execution ஒரு குறிப்பிட்ட line-ல் temporary-ஆக stop ஆக வேண்டிய location: Breakp……
STEP EXECUTION
Debugger-ல் program one statement at a time e……
STEP INTO
Function call இருந்தால் அந்த fu……
Step Into: add() function-க்க……
STEP OVER
Function call-ஐ execute செய்யும்; ஆனால் function-க்குள……
STEP OUT
Current function-ன் remaining state……
WATCH WINDOW
Program execution போது ஒரு variable value எப்படி c……
Watch window continuous chang……
LIBRARY
Already written reusable functions/classes கொண்ட……
cmath fstream…
sqrt() already library function.……
HEADER FILE
C++-ல் declarations மற்றும் l……
iostream input/output stream ……
BUILD TOOL
Large project-ல் source files compile, dependencies mana……
1. WHY BUILD TOOLS?…
Suppose project: main.cpp student.cpp teacher.cpp database.cpp report.cpp ஒவ்வொரு f……
IDE
மிகவும் important.…
IDE = Integrated Development Environment Program development-க்கு தேவையான பல tools-ஐ ஒ……
IDE COMPONENTS
IDE | +-- Code Editor | +-- Compiler | +-- Build Tool | +-- Debugge……
IDE EXAMPLES
C++: Visual Studio Code::Blocks CLion Dev-C++ Qt Creator Visual Studio Code full IDE அல……
IDE ADVANTAGES
Code எழுத easy Syntax highlighting Automatic completion ……
COMMAND-LINE ENVIRONMENT
Programming IDE மட்டும் பயன்படுத்த வேண்டும் ……
Editor ↓ Terminal ↓ g++ program.cpp ↓ Exe……
IDE VS COMMAND LINE
RUNTIME ENVIRONMENT
Program execution நேரத்தில் required services, librarie……
Executable Program ↓ Runtime ……
RUNTIME SUPPORT
Runtime environment provide செய்யக்கூடிய features: Memory alloc……
COMPILE TIME VS RUN TIME
Compile Time Compiler source code process செய்யும் period. ……
File missing Invalid input Division e……
DEVELOPMENT ENVIRONMENT
Programming environment-க்கு broader term: Software Development Environment இ……
VERSION CONTROL SYSTEM
Program source code changes-ஐ……
Git Git மூலம்: Previous versions பார்க்கலாம் Changes ……
LOCAL DEVELOPMENT ENVIRONMENT
Programmer-ன் own computer-ல் development tools install ச……
HOST ENVIRONMENT
Language implementation / development tools run ஆகும் actual ……
TARGET ENVIRONMENT
Generated program எந்த system-ல் execute ஆக வேண்டும் என்று int……
HOST VS TARGET
இந்த concept cross compiler-க……
CROSS COMPILER
ஒரு host system-ல் run ஆகி வேறு target archi……
Windows PC ↓ ARM Cross Compil……
PROGRAMMING ENVIRONMENT TYPES
1. Batch Environment 2. Interactive Environment 3. Integrated Environment 4.……
User interaction இல்லாமல் jobs groups/batches-ஆக process செய்யப்படும் envir……
INTERACTIVE PROGRAMMING ENVIRONMENT
Programmer system-உடன் direct interaction செய்யும் environment. Ent……
REPL
Important term.…
Flow: Read input ↓ Evaluate ↓……
30 C++ traditional workflow compiled;……
INTEGRATED PROGRAMMING ENVIRONMENT
Editor, compiler, debugger போன்ற tools integ……
CLOUD PROGRAMMING ENVIRONMENT
Development tools browser/cloud system மூலம் கிடைக்கும் environment. Example co……
PROGRAM DEVELOPMENT LIFE CYCLE
Programming environment இந்த முழு cycle-ஐ support செய்கிறது. Pr……
TRANSLATION ENVIRONMENT
Programming language implementation perspective-ல்: Source Program……
C++ TRANSLATION FLOW
General stages: C++ Source File ↓ Preprocessi……
PREPROCESSOR
Compiler proper translation-க்கு முன்பு so……
#if #ifdef…
C++ DEVELOPMENT FLOW - INCH BY INCH
Suppose file: hello.cpp…
Step 1: Editor ↓ hello.cpp cr……
Step 3: Compiler ↓ C++ translated Step 4: Assembler ↓ Machine-oriented object code Step……
இதுதான் complete programming ……
PROGRAMMING ENVIRONMENT AND OPERATING SYSTEM
Programming environment தனியாக hardware-ஐ usually control செய்யாது. Flow: Programmi……
LANGUAGE PROCESSING SYSTEM
Compiler மட்டும் தனியாக language processing system அல்ல. Complete system: Pr……
TOOL CHAIN
Development-ல் tools sequence: Toolchain Example C++ toolchain: Editor ↓ Prepr……
PROGRAMMING ENVIRONMENT vs PROGRAMMING LANGUAGE
C++ = Programming Language Vi……
PROGRAMMING ENVIRONMENT vs IDE
இந்த இரண்டையும் same என்று always சொல்லக்கூடாது. Programming Environment broader concept. Programming Environ……
இந்த sequence கட்டாயம் நினைவில் வைத்துக்கொள்ளுங்கள்: Edit ↓ Compile ↓ Link ↓ Load ↓ Execute……
Confuse செய்ய வேண்டாம்: Compiler ≠ Linker Linker ≠ Loader Editor ……
E → Editor → Enter code C → Compiler → Convert code L → Linker → Link files L……
1. A collection of tools used……
Answer: Programming Environme……
1. Which tool converts source……
Answer: Compiler…
1. Which tool combines object……
Answer: Linker…
1. Which tool loads executabl……
Answer: Loader…
1. Which tool is used to loca……
Answer: Debugger…
IDE stands for:
Answer: Integrated Developmen……
1. A compiler running on one ma……
Answer: Cross Compiler…
1. The system where a compile……
Answer: Host…
1. The system for which code ……
Answer: Target…
C++ source files commonly use:
Answer: .cpp…
Which component combines obje……
Which tool places an executab……
IDE stands for:…
Which software converts assem……
Which tool helps execute a pr……
A compiler generating code fo……
Which is normally processed b……
Which is a C++ source file ex……
Step Into is associated with:…
Which sequence is logically c……
ஒரு 5-mark question: Explain Programming Environment. Answer structure: Definition ↓ Editor ↓ Compiler ↓ Asse……
Programming Environment என்பது program development-க்கு required complete ecosystem. Programming Environment ……