ഈഫൽ (പ്രോഗ്രാമിങ് ഭാഷ)
ശൈലി: | Object-oriented, Class-based, Generic, Concurrent |
---|---|
പുറത്തുവന്ന വർഷം: | 1986[1] |
രൂപകൽപ്പന ചെയ്തത്: | Bertrand Meyer |
വികസിപ്പിച്ചത്: | Eiffel Software |
ഡാറ്റാടൈപ്പ് ചിട്ട: | static |
പ്രധാന രൂപങ്ങൾ: | EiffelStudio, LibertyEiffel, SmartEiffel, Visual Eiffel, Gobo Eiffel, "The Eiffel Compiler" tecomp |
സ്വാധീനിക്കപ്പെട്ടത്: | Ada, Simula, Z |
സ്വാധീനിച്ചത്: | Ada 2012, Albatross, C#, D, Java, Lisaac, Racket, Ruby,[2] Sather, Scala |
ഓപറേറ്റിങ്ങ് സിസ്റ്റം: | FreeBSD, Linux, Mac OS X, OpenBSD, Solaris, Windows |
അനുവാദപത്രം: | dual and enterprise |
വെബ് വിലാസം: | www |
ബെർട്രാൻഡ് മേയർ ഡിസൈൻ ചെയ്ത ഒരു ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് പ്രോഗ്രാമിങ് ഭാഷയാണ് ഈഫൽ. (ഇത് ഒരു ഒബ്ജക്റ്റ് ഓറിയന്റേഷൻ പ്രോപ്പോണന്റും ഒബ്ജക്റ്റ് ഓറിയന്റഡ് സോഫ്റ്റ്വേർ കൺസ്ട്രക്ഷനുമാണ്), ഈഫൽ ഒരു സോഫ്റ്റ്വേർ കൂടിയാണ്. വാണിജ്യ സോഫ്റ്റ്വെയറിൻറെ വികസനത്തിൽ വിശ്വസനീയത വർദ്ധിപ്പിക്കുന്നതിനുള്ള ലക്ഷ്യത്തോടെ 1985 ൽ മേയർ ഈ ഭാഷ രൂപപ്പെടുത്തുകയും[3] 1986 ൽ ആദ്യ പതിപ്പ് ലഭ്യമാകുകയും ചെയ്തു. 2005 ൽ, ഈഫൽ ഒരു ഐഎസ്ഒ (ISO) നിലവാരമുള്ള ഭാഷയായി മാറി.
ഈഫൽ പ്രോഗ്രാമിങ് രീതിക്ക് ഭാഷയുടെ രൂപഘടനയുമായി വളരെ അടുത്ത് ബന്ധമാണുള്ളത്. രണ്ടും ഒരു കൂട്ടം ആശയങ്ങളെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്, കരാർ പ്രകാരമുള്ള ഡിസൈൻ, കമാൻഡ്-ക്വറി വിഭജനം, ഏകീകൃത പ്രവേശന നയം, എക തെരഞ്ഞെടുപ്പ് തത്ത്വം, തുറന്ന-അടച്ച തത്ത്വം, ഓപ്ഷൻ-ഓപ്പറന്റ് വേർതിരിക്കൽ മുതലായവ.
തുടക്കത്തിൽ ഈഫൽ അവതരിപ്പിച്ച പല ആശയങ്ങളും പിന്നീട് ജാവ, സി#, മറ്റ് ഭാഷകൾ കടം കൊണ്ടു.[4]പുതിയ ഭാഷാ ഡിസൈൻ ആശയങ്ങൾ, പ്രത്യേകിച്ച് ഇക്മാ / ഐഎസ്ഒ(Ecma/ISO) നിലവാരമുള്ള പ്രക്രിയ വഴി, ഈഫൽ ഭാഷയിൽ ഉൾപ്പെടുത്തുന്നത് തുടരുകയാണ്.
സ്വഭാവഗുണങ്ങൾ
[തിരുത്തുക]ഈഫൽ ഭാഷയുടെ പ്രധാന സവിശേഷതകൾ ചുവടെ ചേർക്കുന്നു:
- ഒരു ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് പ്രോഗ്രാം ഘടന ഡികോമ്പോസിഷന്റെ അടിസ്ഥാന യൂണിറ്റായി ഒരു ക്ലാസ്സ് പ്രവർത്തിക്കുന്നു.
- കരാർ പ്രകാരം രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്, മറ്റ് ഭാഷാ നിർമ്മാണവുമായി സമഗ്രമായി സംയോജിപ്പിച്ചിരിക്കുന്നു.
- ഓട്ടോമാറ്റിക് മെമ്മറി മാനേജ്മെന്റ്, സാധാരണയായി ഗാർബേജ് ശേഖരത്തിൽ നടപ്പിലാക്കുന്നു.
- ഇൻഹെറിറ്റൻസ്, പുനർനാമകരണം, പുനർനിർമ്മിക്കുക, "തെരഞ്ഞെടുക്കുക", മൾട്ടിപ്പിൾ ഇൻഹെറിറ്റൻസ്, സുരക്ഷിതമാക്കാൻ ഉദ്ദേശിക്കുന്ന മറ്റ് സംവിധാനം എന്നിവ ഉൾപ്പെടെയുള്ള ഇൻഹെറിറ്റൻസ്.
- മൂല്യവും റെഫറൻസ് സെമാന്റിക്സും കൈകാര്യം ചെയ്യുന്ന യൂണിഫോം ടൈപ്പ് സിസ്റ്റം, അതിൽ INTEGER പോലുള്ള അടിസ്ഥാന തരങ്ങൾ ഉൾപ്പെടുന്ന എല്ലാ തരങ്ങളും ക്ലാസ് അടിസ്ഥാനമാക്കിയുള്ളതാണ്.
- പരിമിതമായതും അനിയന്ത്രിതവുമായ പൊതുവായ പ്രോഗ്രാമിങ്.
- സ്റ്റാറ്റിക് ടൈപ്പിംഗ്
- ഘടിപ്പിച്ചിട്ടുള്ള തരം മെക്കനിസം വഴി ശൂന്യമായ റെഫറൻസുകൾക്കുള്ള കോളുകൾക്കെതിരെ സുരക്ഷ അല്ലെങ്കിൽ സ്ഥിര പരിരക്ഷ ശൂന്യമാക്കുക.
- ഏജന്റുകൾ, അല്ലെങ്കിൽ കണക്കുകൂട്ടലുകൾ, ക്ലോസ്സേഴ്സ്, ലാംഡ കാൽകുലസ് എന്നിവയുമായി അടുത്ത ബന്ധം.
ഡിസൈൻ ഗോളുകൾ
[തിരുത്തുക]നടപടിക്രമ കോഡിനെക്കുറിച്ചുള്ള പ്രഖ്യാപന പ്രസ്താവനകൾക്ക് ഈഫൽ പ്രാധാന്യം നൽകുകയും ബുക്ക് കീപ്പിംഗ് നിർദ്ദേശങ്ങളുടെ ആവശ്യകത ഇല്ലാതാക്കാൻ ശ്രമിക്കുകയും ചെയ്യുന്നു. കംപൈലറിലേക്കുള്ള ഒപ്റ്റിമൈസേഷൻ സൂചനകളായി ഉദ്ദേശിച്ചുള്ള കോഡിംഗ് തന്ത്രങ്ങളോ കോഡിംഗ് ടെക്നിക്കുകളോ ഈഫൽ ഒഴിവാക്കുന്നു. കോഡ് കൂടുതൽ വായിക്കാൻ സഹായിക്കുന്ന ലക്ഷ്യം ഉണ്ടാക്കുക മാത്രമല്ല, എന്നാൽ പ്രോഗ്രാമർമാരെ നടപ്പാക്കൽ വിശദാംശങ്ങളിൽ വീഴാതെ ഒരു പ്രോഗ്രാമിന്റെ പ്രധാന വശങ്ങളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കാൻ അനുവദിക്കുന്നു. കമ്പ്യൂട്ടിംഗ് പ്രശ്നങ്ങൾക്ക് ലളിതവും വിപുലീകരിക്കാവുന്നതും പുനരുപയോഗിക്കാവുന്നതും വിശ്വസനീയവുമായ ഉത്തരങ്ങൾ പ്രോത്സാഹിപ്പിക്കുന്നതാണ് ഈഫലിന്റെ ലാളിത്യം. ഈഫലിൽ എഴുതിയ കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകൾക്കുള്ള കംപൈലറുകൾക്ക് വിപുലമായ ഒപ്റ്റിമൈസേഷൻ ക്ലേശത്തിന്റെ ഭാഗമായ പ്രോഗ്രാമറെ ഒഴിവാക്കുന്ന ഓട്ടോമാറ്റിക് ഇൻ-ലൈനിംഗ് പോലുള്ള ഒപ്റ്റിമൈസേഷൻ ടെക്നിക്കുകൾ നൽകുന്നു.
പശ്ചാത്തലം
[തിരുത്തുക]ഈഫൽ യഥാർത്ഥത്തിൽ ബെർട്രാൻഡ് മേയർ സ്ഥാപിച്ച ഒരു കമ്പനിയായ ഈഫൽ സോഫ്റ്റ്വേർ വികസിപ്പിച്ചെടുത്തതാണ്. ഒബ്ജക്റ്റ് ഓറിയന്റഡ് സോഫ്റ്റ്വേർ നിർമ്മാണത്തിൽ ഈഫലിന്റെ രൂപകൽപ്പനയിലേക്ക് നയിച്ച ഒബ്ജക്റ്റ് സാങ്കേതികവിദ്യയുടെ ആശയങ്ങളെയും സിദ്ധാന്തത്തെയും കുറിച്ചുള്ള വിശദമായ ആവിഷ്ക്കാരശൈലി അടങ്ങിയിരിക്കുന്നു.[5]
അവലംബം
[തിരുത്തുക]- ↑ "Eiffel in a Nutshell". archive.eiffel.com (in ഇംഗ്ലീഷ്). Retrieved 24 August 2017.
- ↑ Cooper, Peter (2009). Beginning Ruby: From Novice to Professional. Beginning from Novice to Professional (2nd ed.). Berkeley: APress. p. 101. ISBN 1-4302-2363-4.
To a lesser extent, Python, LISP, Eiffel, Ada, and C++ have also influenced Ruby.
- ↑ "Eiffel — the Language". Retrieved 6 July 2016.
- ↑ Formal Specification Languages: Eiffel, Denotational Semantics, Vienna Development Method, Abstract Machine Notation, Petri Net, General Books, 2010
- ↑ Object-Oriented Software Construction, Second Edition, by Bertrand Meyer, Prentice Hall, 1997, ISBN 0-13-629155-4