Practical Computer Science (PCS)
Defining rationale
PCS is being defined here with following facets, as IT and CS do not convey our focus.
- 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.
- PCS 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.
- PCS 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
2. Tools
Office: Emacs, Orgmode, Libreoffice, mc (Midnight Commander)
Graphics: Imagemagick, Gimp, Graphviz
3. Programming
Languages
- Scripting: Shell (bash, zsh etc), Ruby
- 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)
- No Python:
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
- FP: Functional Programming
- Why no pure OO?
Best is to synergize best of both the OO and FP.
4. Applications
GTD:: Getting Things Done: Using Emacs Orgmode
For every one!
Data centered work: Disaster, Weather, Finance
Office: Automation
OS:: Linux: Close/proprietary OS to FOSS migration
Testing: Web
Education:: Synergetic learning with PicoLisp
- 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.
More on PCS
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 Practical Computer Science (PCS)?
- Universal application: Integral part of knowledge work. Science, Humanities, Finance, Medicine, Education, Law, Art, Technology etc.
- Unique innovative design: PCS framework "makes it possible!" As it facilitates and encourages you to enhance your productivity and participate in further development of PCS.
- 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), Practical Computer Science (PCS) by SANSKRIT 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 PCS: Guidance for customized solutions, migration, hand holding, integrated need assessment, inspiration to explore etc.
Inviting audience
- Problems
- Wishes
- Routine needs