Sanskrit Computer Science
Rationale - Definition - Facets
- Free (Libre) and Open Source FLOSS components only because closed source software can be a security hazard and block creativity, understanding & innovation.
- Strictly refrains from bloatware of Defective by Design software such as commonly found in closed source proprietary software.
- Sanskrit Computer Science remains novel effort with immediate benefits for all.
- Minimal (to be understandable) yet complete (to be useful) ecosystem or school of thought.
- Based on practical use of Computer Science.
- Sanskrit Computer Science is the best introduction to IT/CS after which the student can understand own aptitude/taste and subjects, and only then specialize in IT or CS.
- Demystifies IT/CS.
- Joyfully learn by doing. One can excel in what one enjoys. Excellence is strength.
- Creativity, innovation, inclusive, leadership, application, research and learning.
- Comprises of general standard, small, understandable, controllable, adjustable, adaptable, robust and reliable components.
Components
1. Platforms
OS: LiGNUx
Others: Archbang, Gentoo (System Rescue CD) and Debian
Why no xyz?:
- Ubuntu, Redhat and Suse etc.
- Corporate backed: Vendor locking
- Heavy systems: Need more resources
- More problems!
- Knoppix
- Broke Debian apt compatibility.
2. Tools
Office: Emacs, Orgmode, Libreoffice, mc (Midnight Commander)
Graphics: Imagemagick, Gimp, Graphviz
3. Programming
Languages
Lisps: PicoLisp, CHICKEN Scheme, Newlisp
Web: JavaScript, HTML
Statistics: R
Why no xyz?
- No Python:
- Ruby is better. 2. Broke backward compatibility in 2to3 jump! 3. Corporate backing.
- No Perl:
- Ruby is better. 2. Difficult syntax.
- No Java:
- Clojure is better interface to use Java libraries. 2. Industrial languages stifle creative freedom. 3. OO enforced.
- No Racket:
Too big to understand, and feel comfortable to commit life! Opposite of PicoLisp philosophy.
Perfection is attained
not when there is nothing left to add
but when there is nothing left to take away.
(Antoine de Saint-Exupéry)
IDE: Emacs Org Babel
- Emacs Org-babel, oldest yet novel and extremely adaptable general purpose IDE.
- Offers multilingual programming environment to allow arbitrary domain optimized language blocks in single file!
Paradigms
LP: Literate Programming and Wikipedia article on LP
Our own example and project: .emacs in Org babel
Why no pure OO?
Best is to synergize best of both the OO and FP.
4. Applications
Getting Things Done: Using Emacs Orgmode
Data centered work: Disaster, Weather, Finance
Collecting: Sampling and Data bases collating
Management: Automation
Presentation: Graph plotting
Analysis: Time series
Forecasting: Bayesian, Heuristics
Web interface: Analytics
Office: Automation
OS:: Linux: Close/proprietary OS to FOSS migration
Testing: Web
Education:: Synergetic learning with PicoLisp
Why PicoLisp: Pure Mathematical Timeless Futuristic
PicoLisp Works (PDF) is a compilation of (almost) all available information about the technological gem PicoLisp - a programming language and environment that definitely deserves wider attention.
Built on the unique characteristics of Lisp (almost no syntax, code is equivalent to data), PicoLisp combines powerful abstractions with simplicity and purity.
In a software world that is driven by hypes and disillusions, a language like PicoLisp almost appears as timeless as mathematics. With its roots in the very beginning of programming language development (Lisp was, together with Fortran, among the very first of its kind), PicoLisp may well represent the future too - as a candidate for being the hundred-year language, that all programming languages finally converge into.
Synergetic Learning
- Physics concepts/problems solutions through programming in PicoLisp in Org Babel.
- Beneficial for all Engineering students who should be given thorough grounding in Physics/Math/Programming with live, hands-on practical examples.
- Similar to SICM (Structure and Interpretation of Classical Mechanics) by MIT professors who also did seminal work as SICP (Structure and Interpretation of Computer Programs) in Lisp dialect Scheme.
PicoLisp for Education: https://www.picolisp.com
- Makes CS easy to learn!
- Suitable for general purpose programming with all modern bells and whistles upto AI (Artificial Intelligence) level applications.
- PicoLisp happens to be hot area in CS language research/design.
- Individuals/Institutions can get instant academic recognition as contribution can be published online on PicoLisp website.
- PicoLisp is a suitable modern dialect of Lisp.
PicoLisp by Example (PDF).
More on Sanskrit Computer Science
Orgmode on a typical day.
- Heterogenous random inputs and interrupts.
- Prioritize. Agenda. Overview.
OS: Slax
- Portable: Small (fits on pen drive), modular (understandable), fast (efficient), easily customizable (productivity enhancement).
- Proven foundation: Slackware (simplest, old stable)
- Can install any software from any distribution using pkgs.org.
- Usual POSIX/LiGNUx benefits.
LaTeX for Science
FLOSS in various forms depending on understanding and integrity
Need for FOSS policy by governments
FOSS adoption by Government of India
Implications
- Availability of funds for migration to FLOSS
- Huge savings in IT budget. No virus, no loss of productive time.
Why Sanskrit Computer Science?
- Universal application: Integral part of knowledge work. Science, Humanities, Finance, Medicine, Education, Law, Art, Technology etc.
- Unique innovative design: Sanskrit Computer Science framework "makes it possible!" As it facilitates and encourages you to enhance your productivity and participate in further development of Sanskrit Computer Science.
- Need based innovations - Break traditional boundaries: Official academic qualifications do not matter anymore! Computer/machine does not ask your degree. One needs to have passion, everything else follows from psychology as even the competence (knowledge, skill) is developed automatically. Examples: Internet/HTTP (CERN Physicist), Orgmode developed by (Carsten Dominik - Astrophysicist), Sanskrit Computer Science by https://sanskrit.org.in and others.
- Instant Productivity Boost: Proof of the pudding lies in eating. It is Practical. Let's use and see for ourselves.
- What we provide in Sanskrit Computer Science: Guidance for customized solutions, migration, hand holding, integrated need assessment, inspiration to explore etc.
Symbolic Expression Based Virtual Machine: Programming Model
Pointers to Memory
Cons Pair of Pointers
to from, inwards outwards
- Abstraction: Fixed - Dynamic
- Structure: List
Symbolic Expression S-exp
s-exp = (car cdr) = (first-s-exp rest-s-exp)
Interpretations
- General Specific.
- Function Object.
- Fixed Changing.
- Transformation Transaction.
- Core Shell.
- Intensive Extensive.
- Private Public.
- Implicit Explicit.
- Internal External.
- Intrinsic Extrinsic
- Single Multiple.
- Intent Result.
- Truth Illusion.
- Heart Mind.
- Consciousness Gross.
- Spirit Matter.
- Purush Prakruti.
- Nirgun Sagun.
- Satvik Rajasik.
- Genotype Phenotype.
Program: Network from target/result to Libraries
Four Sanskrit Programming Sutras
Development = Creation of Network
Execution = Evaluation
program execution = evaluation of s-exp = eval s-exp = eval (car cdr) = (eval car eval cdr) = ((eval first-s-exp) (eval rest-s-exp))