ദക്ഷിണേഷ്യൻ ഉപഭൂഖണ്ഡ ചരിത്രം: ഒരു അനുഭാവ്യചിത്രീകരണം
VED from VICTORIA INSTITUTIONS
It is foretold!
The torrential flow of inexorable destiny!
Vol 11. കാട്ടുതേനിന്റെ മധുരവും, കാട്ടുകടന്നലിന്റെ വിഷവും
18. Software എന്ന അദൃശ്യവേദിയെക്കുറിച്ച്
കഴിഞ്ഞ എഴുത്തിൽ സൂചിപ്പിച്ച 'ചില വ്യക്തികൾ ഒരു തരം computer virus കയറിവന്ന പ്രതീതി ഉളവാക്കാം' എന്ന കാര്യത്തെക്കൂടി ഇവിടെ ചർച്ചക്കെടുക്കാം എന്ന് വിചാരിക്കുന്നു. എഴുത്ത് കാര്യമായിത്തന്നെ പാതവിട്ടുപോകും എന്ന ഒരു സന്ദേഹം മനസ്സിൽ ഉണ്ട് എങ്കിലും എഴുത്തിന്റെ പാതയിൽ അതീന്ത്ര്യ സോഫ്ട്വേറുമായി ബന്ധപ്പെട്ട ഒരു കാര്യം വന്നുനിൽക്കുന്നു. അതിനെ കണ്ടില്ലാ എന്ന് നടിച്ച് എഴുത്തു മുന്നോട്ട് കൊണ്ടുപോകുന്നതിൽ അർത്ഥമില്ല.
ഈ എഴുത്തുകാരന് Software നിർമ്മിക്കാൻ ഉപയോഗിക്കുന്ന വിവിധ computer languageജുകളെക്കുറിച്ച് വളരെ പരിമിതമായ വിവരമേ ഉള്ളു എന്നു സമ്മതിച്ചുകൊണ്ടുതന്നെയാണ് ഈ എഴുത്ത് മുന്നോട്ട് കൊണ്ടുപോകുന്നത്.
ഈ എഴുതാൻ പോകുന്ന കാര്യങ്ങൾ ഈ എഴുത്തുകാരന്റെ ചില ഗ്രന്ഥങ്ങളിൽ സൂചിപ്പിക്കുകയും മറ്റ് ചിലതിൽ വളരെ വ്യക്തമായി പറയുകയും ചെയ്തകാര്യങ്ങൾ ആണ്. ആ വിധ പുസ്തകങ്ങളുടെ പേരുകൾ താഴെനൽകിയിട്ടുണ്ട്.
1. MARCH of the EVIL EMPIRES; ENGLISH versus the FEUDAL LANGUAGES (ഭാഗം 5) പ്രസിദ്ധീകരിച്ചത് 2002ൽ (First draft in 1989)
2. Software codes of Reality, Life and Languages! പ്രസിദ്ധീകരിച്ചത് 2007ൽ
3. Codes of reality! What is language? പ്രസിദ്ധീകരിച്ചത് 2010ൽ
4. The machinery of Homoeopathy! പ്രസിദ്ധീകരിച്ചത് 2014ൽ
5. Software codes of mantra, tantra, witchcraft, black magic, evil eye, evil tongue &c. പ്രസിദ്ധീകരിച്ചത് 2016ൽ
ഏതാണ്ട് 1985ൽ ആണ് ഈ എഴുത്തുകാരൻ ആദ്യമായി ഒരു കമ്പ്യൂട്ടർ കാണുകയും അതിന്റെ പ്രവർത്തന രീതി ശ്രദ്ധിക്കുകയും ചെയ്തത്. അന്ന് മൌസ് (Mouse) എന്ന ഉപകരണം നിലവിൽ ഇല്ല. മാത്രവുമല്ല, വ്യക്തികൾ കമ്പ്യൂട്ടറുമായി ഇടപഴകുന്നത് BASIC LANGUAGE മുഖേനയാണ്. വ്യക്തി ഇങ്ഗ്ളിഷിൽ കൃത്യമായ നിർദ്ദേശം അടങ്ങുന്ന വാക്കുകൾ കീ-ബോഡിലൂടെ ടൈപ്പ് ചെയ്താൽ, ആ നിർദ്ദേശപ്രകാരം കമ്പ്യൂട്ടർ പ്രവർത്തിക്കും.
1963ൽ വികസിപ്പിച്ചെടുത്ത ആദ്യകാല BASIC LANGUAGEലെ ചില Commandറ്റുകൾ ഈ വിധമായിരുന്നു എന്ന് കാണുന്നു:
HELLO — log in
BYE — log off
BASIC — start BASIC mode
NEW — name and begin writing a program
OLD — retrieve a previously named program from permanent storage
LIST — display the current program
SAVE — save the current program in permanent storage
UNSAVE — clear the current program from permanent storage
CATALOG — display the names of programs in permanent storage
SCRATCH — erase the current program without clearing its name
RENAME — change the name of the current program without erasing it
RUN — execute the current programs
STOP — interrupt the currently running program
ഇത് പകർത്തിയെടുത്തത് : Bellis, Mary. "[The History of the BASIC Programming Language ." ThoughtCo, Jan. 27, 2019.]
ഇതിന് മുൻപ്, കമ്പ്യൂട്ടറുകളിലേക്ക് Input വിവരങ്ങൾ നൽകിയിരുന്നത് കട്ടിയുള്ള cardകളിൽ ചില തുളകൾ ഇട്ടുകൊണ്ടായിരുന്നു. ഈ കാഡുകളെ Punch Card എന്നാണ് വിളിച്ചിരുന്നത്. ഈ തുളകളെ വായിച്ച് അതിൽ നിന്നും കമ്പ്യൂട്ടർ വിവരം മനസ്സിലാക്കുമായിരുന്നു. ഏതാണ്ട് കാഴ്ചയില്ലാത്തവർ Brailleലിപികൾ വായിച്ചിരുന്നതുപോലെയാവാം എന്ന് തോന്നുന്നു. കൃത്യമായി അറിയില്ല.
സാവധാനം കമ്പ്യൂട്ടർ LANGUAGEജുകൾക്ക് സങ്കീർണ്ണതയും പിന്നീട് അതിസങ്കീർണ്ണതയും വന്നു. പോരാത്തതിന്, മൌസും (Mouseഉം) കണ്ടുപിടിക്കപ്പെട്ടു. മൌസിന്റെ Left Clickക്കിലും Right Clickക്കിലും വ്യത്യസ്തങ്ങളായ കമ്പ്യൂട്ടർ നിർദ്ദേശങ്ങൾ ഉൾക്കൊള്ളുന്നുണ്ട് എന്ന് മനസ്സിലാക്കുന്നു. എന്നുവച്ചാൽ ഈ നിർദ്ദേശം Computer Languageൽ എഴുതുന്ന അതേ കാര്യമാണ് അതിന് വേണ്ടിയുള്ള മൌസ്-ക്ളിക്ക് നൽകുന്നത്.
ഇതൊക്കെപ്പറഞ്ഞാലും എന്താണ് Softwareഎന്ന് ഈ വിഷയവുമായി ബന്ധമില്ലാത്ത ഒരു വ്യക്തിക്ക് മനസ്സിലാകില്ലതന്നെ. ഏതാണ്ട് 1998ൽ CPSന്റെ ഒരു പരിചയക്കാരനായ ചെറുപ്പക്കാരൻ ഗൾഫിൽ കമ്പ്യൂട്ടർ ഓപ്പറെയ്റ്ററായി ജോലിചെയ്തിരുന്നു. ഈ ആൾ അന്ന് വീട്ടിൽ വന്നപ്പോൾ Softwareഎന്നാൽ എന്താണ് എന്ന് CPS ചോദിക്കുകയുണ്ടായി. അപ്പോൾ അത്, കുറേ പാക്കെജുകൾ (Packageജുകൾ) ആണ് എന്നും പറഞ്ഞുകൊണ്ട്, കമ്പ്യൂട്ടർ ടൈപ്പിങ്ങും DTPയും മറ്റുമായി ബന്ധപ്പെട്ട കുറേ കാര്യങ്ങൾ ഈ ആൾ പറഞ്ഞു.
അന്ന് ഈ എഴുത്തുകാരന് കമ്പ്യൂട്ടറുമായി കാര്യമായ ബന്ധമില്ലായിരുന്നു. എന്നാൽ ബന്ധം വന്നപ്പോൾ മനസ്സിലായത്, ഈ ആൾ അന്ന് പറഞ്ഞത് MS Word എന്ന Software applicationന്റെ കാര്യമാണ് എന്നാണ്. Software എന്ന മൌലികമായ കാര്യത്തെക്കുറിച്ചല്ല.
ഇലക്ട്രിക്ക് കറണ്ട് ആണ് കമ്പ്യൂട്ടറിനെ പ്രവർത്തിപ്പിക്കുന്നത് എന്ന് പറയാമെങ്കിലും, യഥാർത്ഥത്തിൽ അത് അതിനെ സ്വിച്ച്ഓൺ ആക്കുകയും ആ രീതിയിൽ പ്രവർത്തിപ്പിക്കുകയും ആണ് ചെയ്യുന്നത്. എന്നാൽ അതിനുമപ്പുറം ഒരു പ്രവർത്തനം കമ്പ്യൂട്ടറിൽ നടക്കുന്നുണ്ട്. ആ പ്രവർത്തനം നടത്തിപ്പു ചെയ്യുന്നത് സോഫ്ട്വേർ ആണ്.
സോഫ്ട്വേർ (Software) എന്നാൽ എന്താണ് എന്ന് പറയാനാണ് നോക്കുന്നത്. അതിന്റെ പൊതുവായുള്ള നിർവ്വചനമല്ല പറയുന്നത്.
ഒരു കമ്പ്യൂട്ടറിൽ രണ്ട് ഘടകങ്ങൾ ഉണ്ട് എന്ന് ചിന്തിക്കുക. Hardwareറും Softwareറും. Hardwareഎന്നത് അതിനുള്ളിൽ കാണാൻ പറ്റുന്ന ഭൌതിക പിണ്ഡം (mass) ഉള്ളകാര്യങ്ങൾ ആണ്. Harddisk, Processor തുടങ്ങിയവ.
ഇവയെ പ്രവർത്തിപ്പിക്കുന്ന അദൃശ്യമായ ഒരു ശക്തിയോ അസ്തിത്വമോ ആണ് ഈ Software. ഈ പറഞ്ഞത് Softwareന്റെ നിർവ്വചനമല്ല. മറിച്ച് അത് എന്താണ് എന്ന് വിശദ്ധീകരിക്കനായി ഒരുങ്ങുമ്പോൾ പറഞ്ഞകാര്യം മാത്രമാണ്.
ഈ Softwareഎന്നത് കുറേ നിർദ്ദേശങ്ങളുടെ ഒരു കൂട്ടമാണ്. കമ്പ്യൂട്ടറിലെ പ്രോസസറും മറ്റും ഈ നിർദ്ദേശങ്ങളെ വായിച്ച്, അത് പ്രകാരം ഓരോ കാര്യം ചെയ്യും. പലപ്പോഴും ലഭിക്കുന്ന നിർദ്ദേശങ്ങൾ വായിക്കുകയും, അവയിൽ നൽകിയിട്ടുള്ള വളരെ നിസ്സാരമായ ഗണിതശാസ്ത്ര കണക്കുകൾ കൂട്ടിയും, നൽകിയിട്ടുള്ള Logical നിർദ്ദേശങ്ങൾക്ക് അനുസൃതമായി പടിപടിയായി പ്രവർത്തിച്ചും കിട്ടുന്ന ഉത്തരങ്ങളെ ഓരോന്നായോ മൊത്തമായോ പുറത്തേക്ക് തരികയോ മറ്റ് സങ്കീർണ്ണമായ സോഫ്ട്വേർ പ്രവർത്തനങ്ങൾക്ക് നൽകുകയോ ചെയ്യുകാണ് ഈ പ്രോസസറുകളുടെ പ്രവർത്തനം.
ഈ പ്രോസസറുകൾ എങ്ങിനെയാണ് ഇവ വായിക്കുന്നതും, പ്രവർത്തിക്കുന്നതും എന്നതിലേക്ക് ഇപ്പോൾ പോകുന്നില്ല.
വളരെ നിസ്സാരമായി മനസ്സിലാക്കാനായി ഇത് നോക്കുക:
If a + b = greater than 5, turn left.
If a + b = lesser than 5, turn right.
If a + b = 5, do not do anything.
ഇത് ഇങ്ഗ്ളിഷിലാണ് എഴുതിയിരിക്കുന്നത്. കമ്പ്യൂട്ടർ സോഫ്ട്വേറുകൾ സൃഷ്ടിക്കുന്നതിന്റെ ഏറ്റവും തുടക്കത്തിൽ ഈ വിധ കാര്യങ്ങൾ Logical statementഓ Requirementഓ ആവാം എന്ന് തോന്നുന്നു. കൃത്യമായി അറിയില്ല. എന്നിരുന്നാലും വായക്കാരന് ചില കാര്യങ്ങൾ മനസ്സിലാവും.
ഇനി മനസ്സിലാക്കേണ്ടത്, ഇതുപോലുള്ളതും ഇതിനേക്കാൾ അനേകായിരം ഇരട്ടി സങ്കീർണ്ണതകൂടിയതുമായ കോടാനുകോടി ഈ വിധ statementന്റുകളുടെ ഒന്നിച്ചുള്ള പ്രവർത്തനമാവാം ഒരു കമ്പ്യൂട്ടറിൽ നടക്കുന്നത് എന്നാണ്.
ഇവയെ പടിപടിയായും പടിവിട്ട് മറ്റൊരു പടിയിലേക്ക് ചാടിയോ ഇറങ്ങിയോ വായിക്കുകയും അവയ്ക്ക് അനുസൃതമായി കമ്പ്യൂട്ടർ പ്രോസസർ പ്രവർത്തിക്കുകയും ചെയ്യുന്നത് മിന്നൽ വേഗത്തിലാണ് എന്ന് മനസ്സിലാക്കുക.
ഈ വിധ കോടാനുകോടി നിർദ്ദേശങ്ങൾ മിന്നൽവേഗത്തിൽ പടിപിടയായി പ്രവർത്തിക്കുന്നതാണ്, നാം ഇന്ന് കമ്പ്യൂട്ടറിലും സ്മാട്ട്ഫോണിലും മറ്റും കാണുന്ന പ്രവർത്തനങ്ങളും, നിറങ്ങളും ശബ്ദങ്ങളും ഫൈലുകളും മറ്റുംമറ്റും.
താഴെ നൽകിയിട്ടുള്ളത് Java program languageൽ എഴുതിയിട്ടുള്ള ഒരു സോഫ്ട്വേർ കോഡിൽ നിന്നും ഏതാനും statementന്റുകൾ പകർത്തിയെടുത്തതാണ്. ഇത് എന്താണ് എന്ന് വ്യക്തമായി ഈ എഴുത്തുകാരന് അറിയില്ല.
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;
public class SimpleWordCounter {
public static void main(String args) {
try {
File f = new File("ciaFactBook2008.txt");
Scanner sc;
sc = new Scanner(f);
// sc.useDelimiter("^a-zA-Z'+");
Map<String, Integer> wordCount = new TreeMap<String, Integer>();
while(sc.hasNext()) {
String word = sc.next();
if(!wordCount.containsKey(word))
wordCount.put(word, 1);
else
wordCount.put(word, wordCount.get(word) + 1);
C Programൽ എഴുതിയിട്ടുള്ള ചില സോഫ്ട്വേർ കോഡുകൾ ആണ് താഴെ.
#include <stdio.h>
int main() {
int n, i;
unsigned long long fact = 1;
printf("Enter an integer: ");
scanf("%d", &n);
// shows error if the user enters a negative integer
if (n < 0)
printf("Error! Factorial of a negative number doesn't exist.");
else {
for (i = 1; i <= n; ++i) {
fact = i;
ഇവിടെ ശ്രദ്ധിക്കേണ്ടകാര്യം ഈ കാര്യങ്ങൾ എഴുതിയിട്ടുള്ളത് ഇങ്ഗ്ളിഷിലാണ് എന്നതാണ്. ഈ വിധം എഴുതിയ ഒരു നിർദ്ദേശപ്പട്ടിക എങ്ങിനെയാണ് കമ്പ്യൂട്ടർ പ്രോസസർ മനസ്സിലാക്കിയെടുക്കുക എന്നതാണ് അടുത്ത വിഷയം.
അത് അടുത്ത എഴുത്തിലേക്ക് നീക്കുകയാണ്.
1. ഇങ്ഗ്ളിഷ് വാക്കുകളെ ഫ്യൂഡൽ ഭാഷകളിലേക്ക്
3. ദ്രാവിഡരെന്നും ആര്യന്മാരെന്നുമുളള
4. ഭാഷകളിലെ ലിപികളുമായി ബന്ധപ്പെട്ട്
6. മൌലികമായ ലിപി എന്ന സങ്കൽപ്പത്തെക്കുറിച്ച്
8. കാട്ടുതേനിന്റെ മധുരവും, കാട്ടുകടന്നലിന്റെ വിഷവും
9. സമൂഹത്തിന്റെ ഏറ്റവും മകുളിൽ തൂങ്ങിനിന്നും
10. സാമൂഹിക വീക്ഷണത്തിലും കാഴ്ചപ്പാടിലും
11. ഫ്യൂഡൽ ഭാഷകൾ മനസ്സിൽ അദൃശ്യമായ
12. സാമൂഹിക ഉയർച്ചത്താഴ്ചയിലുള്ള 'നീ - നീ'
13. ഉണക്കമലയുടെ മുകളിലെ അഗാധ ആഴം ഉള്ള
14. വിവാഹാലോചനയുടെ ഉള്ളറകളിലേക്ക്
15. ഫ്യൂഡൽ ഭാഷാ വിവാഹങ്ങളും ഇങ്ഗ്ളിഷ്
16. Honour killingന് (അഥവാ അഭിമാനഹത്യയ്ക്ക്)
17. വ്യക്തിത്വത്തിൽ മുകളിലോട്ടും കീഴിലോട്ടും
18. Software എന്ന അദൃശ്യവേദിയെക്കുറിച്ച്
19. ബൈനറി ഡിജിറ്റ്സിനെക്കുറിച്ച്
20. ഭൌതികലോക നിയമങ്ങൾക്ക് അതീതമായ
21. അതീന്ത്ര്യ സോഫ്ട്വേർ സംവിധാനത്തിലെ
22. അതീന്ത്ര്യ സോഫ്ട്വേറിൽ വാക്ക് കോഡുകൾ
23. അതീന്ത്ര്യ സോഫ്ട്വേറിനോട് താരത്മ്യം
24. മറ്റൊരു വ്യക്തിയുമായി ബന്ധപ്പെട്ട കോഡുകൾ
25. ഊർജ്ജസ്വലതയിൽ വേലിയേറ്റവും വേലിയിറക്കവും
26. ഭൌതിക സംഭവങ്ങൾക്ക് പിന്നണിയിൽ തട്ടുതട്ടായും
27. ചെറിയതോതിൽ മുതൽ അതിഗംഭീര നിലവാരം
28. ഉന്നതവ്യക്തിത്വം എന്നാൽ അടിയിൽ
30. ബഹുമാനമെന്ന കഠിന മതിൽകെട്ടുകളിൽനിന്നും
31. അയിത്തം എന്ന ഊരാക്കുടുക്കിൽനിന്നും മലബാറിൽ
32. സാമൂഹിക ഉച്ചനീചത്വങ്ങളിലെ പടിപടിയായുള്ള
33. നായർ സ്ത്രീകളിൽ ഒരു വൻ മാനസിക മാറ്റം
34. വ്യക്തിയുടെ ദേഹത്ത് എന്താണുള്ളത് എന്ന്
35. സാമൂഹിക ഘടനയുടെ അടിത്തറയും ഘടനയും
36. നമ്പൂതിരിമാർക്ക് ഭൂകമ്പം പോലുള്ളതും, കുഴിയിൽ
37. മലബാറിൽ നമ്പൂതിരിമാരേയും മോചിപ്പിച്ചത്
38. നമ്പൂതിരി സ്ത്രീകളുടെ ദുസ്സഹ
39. വാക്കുകളിലെ സ്വർണ്ണമയം ദേഹശോഭയ്ക്ക്
40. സ്വന്തം പണിക്കാരി ശരിക്കും ഒരു
41. ഫ്യൂഡൽഭാഷക്കാരായ കീഴ്ജനത്തിന്റെ സാന്നിദ്ധ്യം
42. ആത്മാവിൽ ചളിനിറക്കുന്ന പദങ്ങളുടെ
43. ഉണങ്ങിയും മെലിഞ്ഞും കരിവാളിച്ചും
44. ഇങ്ഗ്ളിഷിൽ യാതോരുവിധത്തിലും detectചെയ്യാൻ
45. അഗാധ ആഴം എന്നത് ഭയപ്പെടുത്തുന്ന ആഴം തന്നെ
46. ദിവ്യത്വത്തിന്റെ സാന്നിദ്ധ്യവും ബലവും
47. നമ്പൂതിരിമാരിലെ കീഴ്തട്ടുകാർ
48. ഷോഡശക്രിയകൾ എന്ന പതിനാറ് കർമ്മങ്ങൾ
49. പുംസവന സംസ്കാരം സീമന്തോന്നയനം എന്നിവ
50. പുതിയ മനസ്സിലേക്ക് ഇരച്ചുകയറിവരുന്ന