NARS System Developer Suggested Knowledge Prerequisites: Difference between revisions

From NARS2000
Jump to navigationJump to search
(created page NARS System Developer Suggested Knowledge Prerequisites)
 
(added text, links to suggested prerequisite level-of-accomplishment tests)
Line 3: Line 3:
== Background ==
== Background ==


All existing computer systems generally require some basic level of programming knowledge in order to better understand their system(s), how they work, maintain those systems and improve their functionality.  If you are an APL programmer and want to learn more about how the NARS APL Interpreter works, by all means, jump right in and start looking at NARS '''C Programming Language''' source code.  This is not necessary if you just want to perform programming in NARS highly evolved APL but -- if you want to take the next step toward 'improving NARS functionality' and better understanding how NARS Interpreter works - then read more on this web page.
All existing computer systems generally require <u>some basic level or prerequisite of programming knowledge</u> in order to better understand their systems, interoperability, platform dependencies, how those systems work, maintain systems and most importantly - improve functionality.  If you are an APL programmer yet want to further learn more about how NARS APL Interpreter works, by all means, jump right in and start looking at NARS '''C Programming Language''' source code; strong C/C++ language familiarity is not necessary if you merely want to do APL programming in NARS highly evolved APL.  Again and however, if you want to take a giant next step toward 'improving <u>NARS system functionality</u>' and better understanding how NARS APL Nested Arrays (in C) Interpreter works - then continue reading on.


== Strong Recommended Knowledge Prerequisites ==
== Strongly Recommended C/C++ Programming Knowledge Prerequisites ==


NARS APL Interpreter is technically written in the C programming language, although its code also and in many important ways resembles the C++ programming language.  Therefore a strong working knowledge of C/C++ is highly suggested if you are seriously interested in NARS source code.
NARS APL Interpreter is technically written in the C programming language, although its source code also and in many important ways resembles the C++ programming language.  Therefore a strong working knowledge of C/C++ is highly recommended and suggested, particularly if you are seriously interested in NARS <u>source code</u>.


Further, NARS makes intensive use of pointers.  Without a very detailed comprehensive and broad-based knowledge of working with Pointers in C/C++ you will find it extraordinarily difficult to comprehend much of NARS C Source Code - even to the point where you might give up or abandon an otherwise fascinating APL and nested arrays system, written using a high-level programming language.
Further, NARS makes intensive use of <b><u>Pointers.</u></b> Without a highly detailed, comprehensive and broad-based knowledge of working with Pointers in C/C++ you will find it extraordinarily difficult to comprehend much of NARS C Source Code - even to the point where you might give up or abandon an otherwise fascinating APL and '''nested arrays system''' exploration, written using a high-level programming language.
 
As a first step and to test your knowledge of Pointers, try taking the following C/C++ Pointers tests at '''[http://www.sanfoundry.com/ SanFoundry]:'''
# '''[http://www.sanfoundry.com/c-plus-plus-aptitude-question-answer-pointers/ SanFoundry Aptitude Questions and Answers on Pointers].'''
# '''[http://www.sanfoundry.com/c-plus-plus-language-interview-questions-pointers-into-arrays/ C++ Programming Questions and Answers – Pointers into Arrays].'''
# '''[http://www.sanfoundry.com/c-programming-questions-and-answers-pointer-to-function-1/ Pointers to Functions].'''
If you can score 95% or higher on the above combined tests, your knowledge of Pointers in C/C++ is probably sufficient to better understand and work with pointers in NARS source code.  Additionally, it is not just good enough to memorize the answers at the above exercises/links.  Take any and all time necessary to fully explore and deeply comprehend how and why the given exercise <b>answers</b> apply, including all syntax involved and what each item of syntax attempts to perform/create/solve.  Expert, successful programming - is all about getting the details right, as well as correctly implementing overall desired functionalities.
 
Obviously, a B.S./B.A. degree in Computer Science would be very helpful to better understand NARS source code - although equivalent and or more experience time actually programming in C/C++ and or other computer languages is/are very helpful.
 
The above requirements are '''not''' designed to block or deter any serious or determined programmer from working with or augmenting NARS C Source Code.  It is something, however, to seriously consider.
 
NARS in its entirely represents a highly evolved, '''very''' machine-efficient and <u>expert</u> APL programming system, originally conceived of and developed [primarily even solely] by Bob Smith.  If you are serious about improving APL/NARS - then a serious, thorough working knowledge of C/C++ is a minimum prerequisite, to effectively work with NARS' '''professional,''' virtuoso level, '''standards-compliant''' source code and APL/nested arrays system.
 
In short, beginners are welcome, experts-highly-in-demand.  This by the way is also true of programming workplaces, and the programming world generally.

Revision as of 23:46, 11 December 2015

NARS Systems Developer Suggested Knowledge Prerequisites:

Background

All existing computer systems generally require some basic level or prerequisite of programming knowledge in order to better understand their systems, interoperability, platform dependencies, how those systems work, maintain systems and most importantly - improve functionality. If you are an APL programmer yet want to further learn more about how NARS APL Interpreter works, by all means, jump right in and start looking at NARS C Programming Language source code; strong C/C++ language familiarity is not necessary if you merely want to do APL programming in NARS highly evolved APL. Again and however, if you want to take a giant next step toward 'improving NARS system functionality' and better understanding how NARS APL Nested Arrays (in C) Interpreter works - then continue reading on.

Strongly Recommended C/C++ Programming Knowledge Prerequisites

NARS APL Interpreter is technically written in the C programming language, although its source code also and in many important ways resembles the C++ programming language. Therefore a strong working knowledge of C/C++ is highly recommended and suggested, particularly if you are seriously interested in NARS source code.

Further, NARS makes intensive use of Pointers. Without a highly detailed, comprehensive and broad-based knowledge of working with Pointers in C/C++ you will find it extraordinarily difficult to comprehend much of NARS C Source Code - even to the point where you might give up or abandon an otherwise fascinating APL and nested arrays system exploration, written using a high-level programming language.

As a first step and to test your knowledge of Pointers, try taking the following C/C++ Pointers tests at SanFoundry:

  1. SanFoundry Aptitude Questions and Answers on Pointers.
  2. C++ Programming Questions and Answers – Pointers into Arrays.
  3. Pointers to Functions.

If you can score 95% or higher on the above combined tests, your knowledge of Pointers in C/C++ is probably sufficient to better understand and work with pointers in NARS source code. Additionally, it is not just good enough to memorize the answers at the above exercises/links. Take any and all time necessary to fully explore and deeply comprehend how and why the given exercise answers apply, including all syntax involved and what each item of syntax attempts to perform/create/solve. Expert, successful programming - is all about getting the details right, as well as correctly implementing overall desired functionalities.

Obviously, a B.S./B.A. degree in Computer Science would be very helpful to better understand NARS source code - although equivalent and or more experience time actually programming in C/C++ and or other computer languages is/are very helpful.

The above requirements are not designed to block or deter any serious or determined programmer from working with or augmenting NARS C Source Code. It is something, however, to seriously consider.

NARS in its entirely represents a highly evolved, very machine-efficient and expert APL programming system, originally conceived of and developed [primarily even solely] by Bob Smith. If you are serious about improving APL/NARS - then a serious, thorough working knowledge of C/C++ is a minimum prerequisite, to effectively work with NARS' professional, virtuoso level, standards-compliant source code and APL/nested arrays system.

In short, beginners are welcome, experts-highly-in-demand. This by the way is also true of programming workplaces, and the programming world generally.