എപിഎൽ (പ്രോഗ്രാമിംഗ് ഭാഷ)
ശൈലി: | Array, functional, structured, modular |
---|---|
പുറത്തുവന്ന വർഷം: | നവംബർ 27, 1966[1] |
രൂപകൽപ്പന ചെയ്തത്: | Kenneth E. Iverson |
വികസിപ്പിച്ചത്: | Larry Breed, Dick Lathwell, Roger Moore and others |
ഡാറ്റാടൈപ്പ് ചിട്ട: | Dynamic |
പ്രധാന രൂപങ്ങൾ: |
|
സ്വാധീനിച്ചത്: | |
അനുവാദപത്രം: | Proprietary, open source |
വെബ് വിലാസം: | aplwiki |
1960-കളിൽ കെന്നത്ത് ഇ. ഐവർസൺ വികസിപ്പിച്ചെടുത്ത ഒരു പ്രോഗ്രാമിംഗ് ഭാഷയാണ് എപിഎൽ (എ പ്രോഗ്രാമിംഗ് ലാംഗ്വേജ് എന്ന പുസ്തകത്തിൻ്റെ പേരിലുള്ളത്)[3].മൾട്ടിഡൈമൻഷണൽ അറേയാണ് ഇതിൻ്റെ കേന്ദ്ര ഡാറ്റാ ടൈപ്പ്. ഒട്ടുമിക്ക ഫംഗ്ഷനുകളെയും ഓപ്പററ്റേഴസിനെയും പ്രതിനിധീകരിക്കുന്നതിന് ഇത് പ്രത്യേക ഗ്രാഫിക് ചിഹ്നങ്ങളുടെ ഒരു വലിയ ശ്രേണി ഉപയോഗിക്കുന്നു[4]. കൺസെപ്റ്റ് മോഡലിംഗ്, സ്പ്രെഡ്ഷീറ്റുകൾ, ഫങ്ഷണൽ പ്രോഗ്രാമിംഗ്,[5], കമ്പ്യൂട്ടർ മാത്ത് പാക്കേജുകൾ എന്നിവയുടെ വികസനത്തിൽ ഇത് ഒരു പ്രധാന സ്വാധീനം ചെലുത്തിയിട്ടുണ്ട്.[6]മറ്റ് നിരവധി പ്രോഗ്രാമിംഗ് ഭാഷകൾക്കും ഇത് പ്രചോദനം നൽകിയിട്ടുണ്ട്.[7][8]
ചരിത്രം
[തിരുത്തുക]മാത്തമാറ്റിക്കൽ നൊട്ടേഷൻ
[തിരുത്തുക]അറേകൾ കൈകാര്യം ചെയ്യുന്നതിനുള്ള ഒരു മാത്തമാറ്റിക്കൽ നൊട്ടേഷൻ കെന്നത്ത് ഇ. ഐവർസൺ വികസിപ്പിച്ചെടുത്തു, 1957-ൽ ഹാർവാർഡ് സർവകലാശാലയിൽ ഈ നോട്ടേഷൻ ഉപയോഗിച്ച് തുടങ്ങി. 1960-ൽ അദ്ദേഹം ഐബിഎമ്മിൽ ജോലി ആരംഭിച്ചു, അവിടെ അദ്ദേഹം ആദിൻ ഫാൽക്കോഫുമായി ചേർന്ന് ഈ നൊട്ടേഷൻ വികസിപ്പിക്കുകയും 1962-ൽ തൻ്റെ എ പ്രോഗ്രാമിംഗ് ലാംഗ്വേജ് എന്ന പുസ്തകത്തിൽ പ്രസിദ്ധീകരിക്കുകയും ചെയ്തു.[3]അതിൻ്റെ ആമുഖം ഇപ്രകാരം പറയുന്നു:
ഫങ്ഷൻസിന്റെ കൃത്യമായ അല്ലെങ്കിൽ ഏകദേശ മൂല്യങ്ങൾ കണക്കാക്കാൻ, അൽഗോരിതങ്ങൾ അല്ലെങ്കിൽ പ്രോഗ്രാമുകൾ എന്ന് വിളിക്കുന്ന ഘട്ടം ഘട്ടമായുള്ള നിർദ്ദേശങ്ങൾ സൃഷ്ടിക്കുന്നതിലും വിശകലനം ചെയ്യുന്നതിലും അപ്ലൈഡ് മാത്തമാറ്റിക്സ് ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു. പ്രോഗ്രാമിംഗ് ഭാഷ എന്നറിയപ്പെടുന്ന സ്ട്രക്ചേർഡ് നൊട്ടേഷൻ ഉപയോഗിച്ചാണ് ഈ അൽഗോരിതങ്ങൾ എഴുതിയിരിക്കുന്നത്, അത് അവയെ ഫലപ്രദമായി വിവരിക്കാൻ സഹായിക്കുന്നു. പ്രോഗ്രാമിംഗ് ഭാഷ സങ്കീർണ്ണമായ നടപടിക്രമങ്ങൾ ചിട്ടയായും മനസ്സിലാക്കാവുന്നതിലും പ്രകടിപ്പിക്കുന്നതിനുള്ള ഒരു മാർഗം നൽകുന്നു. അൽഗോരിതങ്ങളും പ്രോഗ്രാമിംഗ് ഭാഷകളും ഉപയോഗിക്കുന്നതിലൂടെ, ഗണിതശാസ്ത്രജ്ഞർക്കും മറ്റ് ശാസ്ത്രജ്ഞന്മാർക്കും എഞ്ചിനീയറിംഗ്, ഫിസിക്സ്, കമ്പ്യൂട്ടർ സയൻസ് തുടങ്ങിയ മേഖലകളിലെ പ്രശ്നങ്ങൾ കാര്യക്ഷമമായും കൃത്യമായും പരിഹരിക്കാൻ കഴിയും. അടിസ്ഥാനപരമായി, റിയൽ വേൾഡ് പ്രശ്നങ്ങളിലേക്ക് ഗണിതശാസ്ത്ര ആശയങ്ങളുടെ പ്രയോഗം പ്രാപ്തമാക്കുന്ന ഉപകരണങ്ങളാണ് പ്രോഗ്രാമിംഗ് ഭാഷകൾ.
വരാനിരിക്കുന്ന കമ്പ്യൂട്ടറുകൾക്കായി ഐബിഎം ബറോസ് ബി 5000, സ്റ്റാക്ക് മെഷീനുകൾ വേഴ്സസ് രജിസ്റ്റർ മെഷീനുകൾ എന്നിവ പോലുള്ള കമ്പ്യൂട്ടർ സിസ്റ്റങ്ങളെക്കുറിച്ചുള്ള ഹ്രസ്വ ഗവേഷണ റിപ്പോർട്ടുകൾക്കായി ഐബിഎമ്മിനുള്ളിൽ ഈ നൊട്ടേഷൻ ഉപയോഗിച്ചു.
1963-ൽ പ്രസിദ്ധീകരിക്കുന്ന ഫ്രെഡ് ബ്രൂക്സിനൊപ്പം ഓട്ടോമാറ്റിക് ഡാറ്റാ പ്രോസസ്സിംഗ് എന്ന പുസ്തകത്തിനായി എഴുതിയ എ പ്രോഗ്രാമിംഗ് ലാംഗ്വേജ് എന്ന അധ്യായത്തിൻ്റെ ഡ്രാഫ്റ്റിലും ഐവർസൺ തൻ്റെ നൊട്ടേഷൻ ഉപയോഗിച്ചു.[9][10]
1979-ൽ, എപിഎല്ലിലെ പ്രവർത്തനത്തിന് ഐവർസണിന് ട്യൂറിംഗ് അവാർഡ് ലഭിച്ചു.[11]
ഒരു കമ്പ്യൂട്ടർ പ്രോഗ്രാമിംഗ് ഭാഷയിലേക്കുള്ള വികസനം
[തിരുത്തുക]1962-ൽ തന്നെ, ഒരു സമ്പൂർണ്ണ കമ്പ്യൂട്ടർ സിസ്റ്റത്തെ വിവരിക്കുന്നതിനുള്ള നൊട്ടേഷൻ ഉപയോഗിക്കാനുള്ള ആദ്യ ശ്രമം നടന്നത്, ഫാൽക്കോഫ്, വില്യം സി കാർട്ടറുമായി ചർച്ച ചെയ്തതിന് ശേഷമാണ്, മെഷീനുകൾക്കായുള്ള നിർദ്ദേശങ്ങൾ സ്റ്റാൻഡേർഡൈസ് ചെയ്യുന്നതിനായാണ് പിന്നീട് ഐബിഎം സിസ്റ്റം/360 കുടുംബമായി മാറിയത്.
1963-ൽ, ഐബിഎം സിസ്റ്റംസ് റിസർച്ച് ഇൻസ്റ്റിറ്റ്യൂട്ടിൽ ജോലി ചെയ്യുന്ന ഹെർബർട്ട് ഹെല്ലർമാൻ, ഒരു ഐബിഎം 1620 കമ്പ്യൂട്ടറിൽ നൊട്ടേഷൻ്റെ ഒരു ഭാഗം നടപ്പിലാക്കി, സീരീസ് സമ്മേഷൻ വഴി ട്രാൻസെൻഡെന്റൽ പ്രവർത്തനങ്ങൾ കണക്കാക്കുന്നതിനായി ഒരു പ്രത്യേക ഹൈസ്കൂൾ കോഴ്സിലെ വിദ്യാർത്ഥികൾ ഇത് ഉപയോഗിച്ചു. വിദ്യാർത്ഥികൾ അവരുടെ കോഡ് ഹെല്ലർമാൻ്റെ ലാബിൽ പരിശോധിച്ചു. നൊട്ടേഷൻ്റെ ഒരു ഭാഗം നടപ്പിലാക്കുന്നതിനെ പേഴ്സണലൈസ്ഡ് അറേ ട്രാൻസ്ലേറ്റർ (PAT) എന്ന് വിളിക്കുന്നു.[12]
1963-ൽ ഐബിഎമ്മിലെ ഫാൽക്കോഫ്, ഐവർസൺ, സുസെൻഗുത്ത് എന്നിവർ ഐബിഎം സിസ്റ്റം/360 കമ്പ്യൂട്ടറുകൾ എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് വിവരിക്കുന്നതിന് വേണ്ടി ഒരു പ്രത്യേക നൊട്ടേഷൻ സൃഷ്ടിച്ചു. ഈ വിശദീകരണം 1964-ൽ ഐബിഎം സിസ്റ്റംസ് ജേണലിൽ പ്രസിദ്ധീകരിച്ചു. മെഷീൻ്റെ ആർക്കിടെക്റ്റും പ്രവർത്തനവും സ്റ്റാൻഡേർഡ് ചെയ്യാനും വ്യക്തമാക്കാനും അവരുടെ പ്രവർത്തനം സഹായിച്ചു. ഒരു കമ്പ്യൂട്ടർ സിസ്റ്റത്തിൽ നൊട്ടേഷൻ നടപ്പിലാക്കുന്നതിലേക്ക് ടീം ശ്രദ്ധ തിരിച്ചു. അവരുടെ സൃഷ്ടികൾ പ്രസിദ്ധീകരിച്ചതിന് ശേഷം, കംപ്യൂട്ടറുകളിൽ നൊട്ടേഷൻ നടപ്പിലാക്കുന്നതിനുള്ള പ്രവർത്തനങ്ങൾ സംഘം ആരംഭിച്ചു. ഇപ്പോൾ സയൻസ് റിസർച്ച് അസോസിയേറ്റ്സിലുള്ള ജോൺ എൽ. ലോറൻസ് ഇത് വിദ്യാഭ്യാസ ആവശ്യങ്ങൾക്കായി ഉപയോഗിക്കുന്നതിൽ താൽപ്പര്യം പ്രകടിപ്പിച്ചു. വിദ്യാഭ്യാസ കമ്പ്യൂട്ടർ ഉപകരണങ്ങൾ വികസിപ്പിക്കുന്നതിന് വേണ്ടി ഭാഷ ഉപയോഗിക്കുന്നതിലേക്കായി സഹായം നൽകാൻ അദ്ദേഹം ഐവർസണോടും അദ്ദേഹത്തിൻ്റെ ടീമിനോടും ആവശ്യപ്പെട്ടു.[13]
അവലംബം
[തിരുത്തുക]- ↑ "APL Quotations and Anecdotes". jsoftware.com. Retrieved April 14, 2018.
- ↑ "std::iota". cppreference.com.
- ↑ 3.0 3.1 കെന്നത്ത് ഇ ഐവർസൺ (1 ഡിസംബർ 1962), A Programming Language, Wiley, ISBN 978-0-471-43014-8, OL 26792153M, retrieved 2023-08-06, Wikidata Q105954505
- ↑ McIntyre, Donald B. (1991). "Language as an Intellectual Tool: From Hieroglyphics to APL". IBM Systems Journal. 30 (4): 554–581. doi:10.1147/sj.304.0554. Archived from the original on March 4, 2016. Retrieved January 9, 2015.
- ↑ "ACM Award Citation – John Backus". Awards.acm.org. 1977. Archived from the original on February 12, 2008. Retrieved February 3, 2010.
- ↑ Moler, Cleve. "The Growth of MATLAB" (PDF). Archived from the original (PDF) on April 11, 2009. Retrieved February 3, 2010.
- ↑ Hui, Roger. "A Bibliography of APL and J". jsoftware.com/jwiki. Retrieved March 2, 2010.
- ↑ "An Interview with Arthur Whitney". Kx Systems. January 4, 2004. Archived from the original on April 4, 2009. Retrieved March 2, 2010.
- ↑ Iverson, Kenneth E., "Automatic Data Processing: Chapter 6: A programming language" Archived June 4, 2009, at the Wayback Machine., 1960, Draft copy for Brooks and Iverson 1963 book, Automatic Data Processing.
- ↑ Brooks, Fred; Iverson, Kenneth, (1963), Automatic Data Processing, John Wiley & Sons Inc.
- ↑ "Turing Award Citation 1979". Awards.acm.org. Archived from the original on 2009-12-23. Retrieved February 3, 2010.
- ↑ Hellerman, H. (July 1964). "Experimental Personalized Array Translator System". Communications of the ACM. 7 (7): 433–438. doi:10.1145/364520.364573. S2CID 2181070.
- ↑ Falkoff, Adin D.; Iverson, Kenneth E., "The Evolution of APL", ACM SIGPLAN Notices 13, 1978-08.